Questa è la prima parte di una serie in tre parti in cui Andrew Levine delinea i problemi che devono affrontare le blockchain legacy e propone soluzioni a questi problemi. Leggi la Parte 2 sulla crisi del ridimensionamento verticale e la Parte 3 sulla crisi della governance mentre saranno attive il 24 e 25 settembre.

È nostra convinzione che ci siano tre problemi fondamentali, o crisi, che ostacolano l’adozione della blockchain: aggiornabilità, scalabilità verticale e governance. In questo articolo, esploreremo la crisi della aggiornabilità e come i sistemi operativi dei computer potrebbero servire come un’analogia utile che detiene il segreto per risolvere questa crisi e consentire alle blockchain di raggiungere l’adozione mainstream.

Il concetto più potente per comprendere il problema della aggiornabilità è “antifragilità”. Proposto da Nassim Taleb, l’antifragilità è una proprietà dei sistemi che migliorano se stressati. I sistemi fragili possono sembrare che funzionino alla grande per la maggior parte del tempo, ma quando sono stressati, cadono a pezzi o “esplodono”.

L’antifragilità è una proprietà che emerge da sistemi gerarchici multistrato che contengono fragili subunità che rompendosi / morendo / facendo esplodere si traducono in un sistema complessivo più sano. In natura, chiamiamo questo processo evoluzione. L’evoluzione si verifica quando una specie sostituisce un tratto meno efficace con un tratto più riuscito. In informatica, chiamiamo tali miglioramenti “aggiornamenti”.

Il problema con le principali blockchain che conosciamo oggi è che non sono state progettate per essere aggiornate, il che significa che non possono evolversi. Il motivo per cui l’evoluzione è così importante è che consente ai sistemi di sopravvivere ai “cigni neri”, eventi altamente imprevedibili con gravi conseguenze. Non solo i sistemi antifragili possono sopravvivere ai cigni neri, ma addirittura migliorano.

Nelle blockchain, non ci sono praticamente strati separati con sottosistemi fragili che consentono un sano adattamento ai fattori di stress. Invece di progettare da una prospettiva di umiltà, i creatori cercano di presentarsi come visionari infallibili che hanno progettato un sistema perfetto che merita immediatamente una valutazione elevata.

Mappe disegnate prima dell’esplorazione del territorio

Non c’è prova maggiore di ciò che fare affidamento su hard fork per gli aggiornamenti del sistema. Un hard fork è l’opposto di un percorso di aggiornamento. Sta buttando via il vecchio sistema e lo sostituisce con uno nuovo.

C’è, tuttavia, un lato positivo in questa analisi, che è che la soluzione non è superare le barriere tecniche che superare le barriere psicologiche. Non stiamo progettando blockchain dai principi primi, ma stiamo ancora iterando principalmente su architetture preesistenti come quelle in Bitcoin ed Ethereum.

Esistono molti modi per implementare una blockchain, ma spesso assumiamo che il modo in cui questi protocolli implementano alcuni componenti della blockchain sia per impostazione predefinita il “modo giusto”. Questi protocolli inquadrano totalmente il modo in cui guardiamo a questi problemi, portandoci a creare “mappe” mentali dei problemi che sono stati “disegnati” prima ancora di aver iniziato ad esplorare questo nuovo territorio.

Bitcoin ed Ethereum sono stati essenzialmente i primi computer decentralizzati. Come con qualsiasi nuovo paradigma di elaborazione, nelle fasi iniziali, ingegneri e sviluppatori stanno concentrando la loro attenzione sulla possibilità di utilizzare la tecnologia per risolvere un problema specifico e, in tal caso, utilizzarla per creare la loro applicazione. Non ci sono strumenti e piattaforme da cui possono trarre vantaggio, quindi devono creare tutto da zero e ottimizzare lo stack per la loro specifica applicazione.

Il risultato finale è un pezzo di codice monolitico che alimenta un’applicazione progettata per risolvere un problema specifico.

Primi motori e sistemi fragili

Queste prime applicazioni possono avere un discreto successo grazie al vantaggio del first mover, ma quando si tratta di sviluppo del software, il successo che deriva dall’essere un first mover è illusorio. I primi motori nel software trovano le funzionalità, o “comportamenti”, che gli utenti troveranno più preziosi, convalidando così la nuova tecnologia.

Ma mantenere questo vantaggio è quasi impossibile perché l’applicazione è costruita su una montagna di vecchio codice che poche persone capiscono o sono in grado di aggiornare. I bug sono un incubo da risolvere e il semplice mantenimento del codice esistente diventa un compito di Sisifo; dimentica di migliorarlo.

In questa fase, le app possono morire per una serie di motivi, ma la causa di morte è che sono fragili. Il cigno nero che alla fine distrugge le app esistenti è lo sviluppo del sistema operativo. I sistemi operativi rendono un ordine di grandezza più facile per gli sviluppatori lanciare lo stesso tipo di applicazioni, con gli stessi comportamenti fondamentali presenti nei primi motori.

L’avvento dei sistemi operativi consente alla tecnologia di scalare al livello successivo rendendo più facile e veloce per gli sviluppatori il rilascio di programmi migliori che penetrano in una parte maggiore del mercato e raggiungono più utenti. Inoltre, ci dà un altro livello nella pila. Ora, se un’applicazione esplode, i livelli inferiori più critici rimangono inalterati.

Quindi, problema risolto, giusto? Sebbene i sistemi operativi di prima generazione forniscano un enorme vantaggio competitivo agli sviluppatori di applicazioni che adottano quelli giusti, soffrono anche dello stesso problema di aggiornabilità delle applicazioni di prima generazione. Emergono come mezzo per fornire funzionalità di base, sicurezza e una base di utenti condivisa, ma non per massimizzare la possibilità di aggiornamento. Quindi, alla fine diventano ricchi di funzionalità, complessi e difficili da aggiornare.

L’analogia del sistema operativo

L’aggiornamento del sistema richiede un riavvio del sistema e un processo di ricarica che diventa più lungo e più distruttivo quanto più diventa grande e complicato. Mentre uno strato (il sistema operativo) è isolato dagli errori commessi in un altro (il livello dell’applicazione), il sistema operativo stesso rimane fragile.

Blockchain come Ethereum ed EOS sono stati progettati come questi primi sistemi operativi. Forniscono funzionalità di base, sicurezza, una base di utenti condivisa e uno “spazio utente” programmabile che gli sviluppatori possono sfruttare per aggiungere le funzionalità personalizzate di cui hanno bisogno per alimentare le loro applicazioni specifiche.

Nel caso delle blockchain, i problemi che affliggono i sistemi operativi di prima generazione sono amplificati a causa dell’immutabilità; sono in costante crescita di dimensioni, il che pone ulteriore stress sull’infrastruttura e crea una sfida di scalabilità distinta.

Inoltre, poiché sono decentralizzati, gli aggiornamenti devono farsi strada attraverso un processo di governance che si conclude, nelle migliori circostanze, nell’esecuzione di uno sforzo coordinato in cui tutti i computer smettono di eseguire il vecchio software e iniziano a eseguire il nuovo software ( una nuova “forcella”) allo stesso tempo. Questo è tutt’altro che facile, motivo per cui definirlo un fork “duro” è particolarmente appropriato.

Quando alcune modifiche richiedono un hard fork, le persone sono costrette a raggruppare tali modifiche perché la loro implementazione frammentaria comporterebbe tempi di inattività della rete aggiuntivi. Ciò si traduce in un “problema pilota” simile a quello che vediamo nei sistemi governativi in ​​cui cambiamenti non correlati si associano a cambiamenti importanti. In altre parole, c’è una centralizzazione nel tempo problema. Poiché ogni cosa importante deve essere fatta allo stesso tempo, e poiché le persone non sono d’accordo su ciò che è importante, il momento in cui queste modifiche devono essere implementate crea un vettore di attacco.

Indipendentemente da ciò, gli hard fork finiscono per essere grandi, politici, rischiosi e, soprattutto, abbattono la rete! Ciò rallenta drasticamente il tasso di progresso e, poiché tutte le principali blockchain funzionano in questo modo, il settore nel suo complesso ristagna.

Antifragilità grazie all’aggiornamento

Ciò di cui abbiamo bisogno è un altro livello sotto il sistema operativo che consenta all’intero sistema di evolversi. Nei sistemi operativi, quel livello è chiamato BIOS, un sistema di input / output di base. Ma è importante ricordare che stiamo usando solo i sistemi operativi come analogia. Dobbiamo costruire questo livello dai primi principi specificamente per l’uso nelle blockchain. Quello strato, come ogni altro strato, deve essere costituito da fragili subunità che possono in qualche modo “rompersi” senza far saltare in aria il sistema nel suo insieme.

La creazione del BIOS è stato un passaggio fondamentale per il mainstreaming dei computer perché ha consentito agli sviluppatori di creare, testare e iterare rapidamente le applicazioni che avrebbero reso i personal computer utili ai consumatori ordinari.

Se vogliamo attraversare lo stesso burrone, non abbiamo solo bisogno di un sistema operativo blockchain migliore, abbiamo bisogno di un sistema operativo costruito su un BIOS equivalente per lo scopo specifico dell’aggiornamento.

Dobbiamo essere in grado di aggiungerne qualsiasi funzionalità per la blockchain senza richiedere un hard fork. Ciò consentirà alla blockchain di adattarsi a fattori di stress (attacchi, bug, funzionalità mancanti, ecc.), Migliorarsi e ridimensionarsi per soddisfare le esigenze delle masse.

Fino a quel giorno, la qualità delle applicazioni basate su blockchain continuerà a ristagnare e lo spazio rimarrà dominato da progetti che potrebbero sembrare funzionanti in superficie ma che non sono ampiamente adottati, sono intrinsecamente fragili e lo faranno giorno “saltare in aria”.

Le opinioni, i pensieri e le opinioni qui espresse sono esclusivamente dell’autore e non riflettono né rappresentano necessariamente le opinioni e le opinioni di Cointelegraph.

Andrew Levine è il CEO di OpenOrchard, dove lui e l’ex team di sviluppo dietro la blockchain di Steem creano soluzioni basate su blockchain che consentono alle persone di assumere la proprietà e il controllo del proprio sé digitale. Il loro prodotto fondamentale è Koinos, una blockchain ad alte prestazioni costruita su un framework completamente nuovo progettato per fornire agli sviluppatori le funzionalità di cui hanno bisogno al fine di fornire le esperienze utente necessarie per diffondere l’adozione della blockchain alle masse.



Source link

LEAVE A REPLY

Please enter your comment!
Please enter your name here