Una guida per comprendere gli algoritmi di consenso Blockchain
Pubblicato: 2019-10-21Blockchain è una rete distribuita decentralizzata che offre maggiore trasparenza, sicurezza e immutabilità.
Lo sappiamo tutti !!
Ma vi siete mai chiesti come riesca a realizzare tutto questo?
Chi governa questa rete e verifica ogni transazione, a condizione che non vi sia un'autorità centralizzata?
Sembra Interessante vero!
Bene, sono gli algoritmi di consenso Blockchain: la parte fondamentale del mondo di sviluppo Blockchain di cui parleremo in questa guida completa.
SOMMARIO:
- Definizione di algoritmo di consenso Blockchain
- Obiettivi di un meccanismo di consenso
- Algoritmi di consenso Blockchain che sono popolari nel mercato
- Proprietà di un buon meccanismo di consenso Blockchain
- Conseguenze del fare affidamento su un protocollo di cattivo consenso
- Domande frequenti
- Conclusione
Che cos'è l'algoritmo di consenso Blockchain?
La risposta più semplice a cos'è l'algoritmo di consenso Blockchain è che si tratta di una procedura attraverso la quale tutti i peer di una rete Blockchain ottengono l' accettazione o il consenso comune sullo stato in tempo reale del libro mastro distribuito.
Un meccanismo di consenso consente alla rete blockchain di raggiungere l'affidabilità e creare un livello di fiducia tra i diversi nodi, garantendo al contempo la sicurezza nell'ambiente. Questo è il motivo per cui è una delle parti vitali di ogni guida allo sviluppo di app Blockchain e di ogni progetto dApp nell'ambiente di contabilità distribuita.
Questi algoritmi operano sulla base di obiettivi diversi, alcuni dei quali tratteremo nella prossima sezione di questo articolo.
Obiettivi del meccanismo di consenso Blockchain
1. Accordo unificato
Uno degli obiettivi principali dei meccanismi di consenso è il raggiungimento di un accordo unificato.
A differenza dei sistemi centralizzati in cui è necessario avere fiducia nell'autorità , gli utenti possono operare anche senza creare fiducia reciproca in modo decentralizzato. I protocolli incorporati nella rete blockchain distribuita assicurano che i dati coinvolti nel processo siano veritieri e accurati e lo stato del libro mastro pubblico sia aggiornato.
2. Allineare l'incentivo economico
Quando si tratta di costruire un sistema trustless che si autoregola da solo, è d'obbligo allineare gli interessi dei partecipanti alla rete.
Un protocollo blockchain di consenso , in questa situazione, offre ricompense per il buon comportamento e punisce i cattivi attori. In questo modo garantisce anche la regolamentazione degli incentivi economici .
3. Giusto ed equo
I meccanismi di consenso consentono a chiunque di partecipare alla rete e di utilizzare le stesse basi. In questo modo, giustifica la proprietà open source e di decentralizzazione del sistema blockchain.
4. Prevenire la doppia spesa
I meccanismi di consenso funzionano sulla base di determinati algoritmi che assicurano che nel libro mastro pubblico trasparente siano incluse solo quelle transazioni verificate e valide. Questo risolve il tradizionale problema della doppia spesa, ovvero il problema di spendere due volte una valuta digitale.
5. Tollerante ai guasti
Un'altra caratteristica del metodo Consensus è che garantisce che la blockchain sia tollerante agli errori, coerente e affidabile. Ciò significa che il sistema governato funzionerebbe a tempo indeterminato anche in caso di guasti e minacce.
Attualmente, ci sono una miriade di algoritmi di consenso Blockchain nell'ecosistema e molti altri stanno per entrare nel mercato. Ciò rende imperativo per ogni società di sviluppo Blockchain e imprenditore entusiasta di avere familiarità con i fattori che definiscono un buon protocollo di consenso e il possibile effetto di andare con uno scadente.
Dopo aver coperto le basi dei metodi di consenso Blockchain , approfondiamo l'argomento e guardiamo i tipi popolari di meccanismo di consenso.
Algoritmi di consenso blockchain popolari nel mercato
1. Prova di lavoro (PoW)
Sviluppato da Satoshi Nakamoto , Proof of Work è il più antico meccanismo di consenso utilizzato nel dominio Blockchain. È anche noto come mining in cui i nodi partecipanti sono chiamati minatori.
In questo meccanismo, i minatori devono risolvere complessi enigmi matematici utilizzando una potenza di calcolo completa. Usano diverse forme di metodi di mining, come mining GPU, mining CPU, mining ASIC e mining FPGA. E quello che risolve il problema al più presto riceve un blocco come ricompensa.
Tuttavia, il processo non è così facile. Un puzzle può essere risolto solo tramite il metodo per tentativi ed errori. Inoltre, il livello di complessità del puzzle aumenta con la velocità con cui vengono estratti i blocchi. Quindi, diventa obbligatorio creare un nuovo blocco entro un certo lasso di tempo per far fronte al livello di difficoltà.
Il meccanismo Proof of Work è utilizzato da più criptovalute come Bitcoin, Litecoin, ZCash, Primecoin, Monero e Vertcoin per citarne alcune.
L'algoritmo Bitcoin spiegato in questo meccanismo utilizza il nonce come valore casuale per variare l'output del valore hash. Nell'algoritmo di consenso bitcoin ogni blocco ha lo scopo di generare un valore hash e il nonce è il parametro utilizzato per generare quel valore hash.
In termini di implementazione, il Proof of Work (PoW) non ha influenzato solo il settore finanziario, ma anche l'assistenza sanitaria, la governance, la gestione e altro ancora. Ha, infatti, offerto l'opportunità di pagamenti multicanale e transazioni multi-firma su un indirizzo per aumentare la sicurezza.
2. Proof of Stake (PoS)
La Proof of Stake è l'alternativa più semplice ed ecologica del protocollo di consenso PoW.
In questo metodo blockchain, i produttori di blocchi non sono minatori, ma agiscono come validatori. Hanno l'opportunità di creare un blocco su tutti che consente di risparmiare energia e ridurre il tempo. Tuttavia, per diventare un validatore, dovrebbero investire una certa quantità di denaro o puntata.
Inoltre, a differenza di quanto avviene nel caso di PoW, i minatori hanno il privilegio di prendere le loro commissioni di transazione in questo algoritmo poiché non esiste un sistema di ricompensa in questo modello di consenso.
Questo, nel complesso, ha incoraggiato marchi come Ethereum ad aggiornare il proprio modello da PoW a PoS nel loro aggiornamento Ethereum 2.0 . Inoltre, ha aiutato vari ecosistemi Blockchain come Dash, Peercoin, Decred, Reddcoin e PivX a funzionare correttamente.
Ora, mentre PoS ha risolto vari problemi precedentemente associati a PoW, c'erano molte sfide ancora non risolte nel mercato. Per mitigare queste sfide e fornire un ambiente blockchain migliorato, sono nate diverse varianti di PoS.
Le due varianti popolari di Proof of Stake (PoS) sono DPoS e LPoS.
- Proof of Stake delegata (DPoS)
Nel caso del Delegato Proof of Stake (DPoS), i partecipanti scommettono la loro moneta e votano per un certo numero di delegati in modo tale che più investono, più peso ricevono. Ad esempio: se l'utente A spende 10 monete per un delegato e l'utente B ne investe 5, il voto di A ottiene un peso maggiore di quello di B.
I delegati vengono anche ricompensati sotto forma di commissioni di transazione o una certa quantità di monete.
A causa di questo meccanismo di voto ponderato per posta, DPoS è uno dei modelli di consenso blockchain più veloci e altamente preferito come democrazia digitale. Alcuni dei casi d'uso nella vita reale di questo meccanismo di consenso blockchain sono Steem, EOS e BitShares.
- Leased Proof of Stake (LPoS)
LPoS è una versione avanzata del meccanismo di consenso PoS che opera sulla piattaforma Waves .
A differenza del normale metodo Proof-of-Stake in cui ogni nodo con una certa quantità di criptovaluta ha il diritto di aggiungere la blockchain successiva, gli utenti possono affittare il proprio saldo a nodi completi in questa blockchain dell'algoritmo di consenso. E quello che affitta l'importo maggiore al nodo completo ha una probabilità maggiore di generare il blocco successivo. Inoltre, il locatario viene quindi ricompensato con una percentuale della commissione di transazione che è stata riscossa dal nodo completo.
Questa variante PoS è un'opzione efficiente e sicura per lo sviluppo di criptovalute pubbliche.
3. Prova dell'autorità
Proof of Authority è una versione modificata di Proof of Stake in cui sono in gioco le identità dei validatori nella rete. In questo, per verificare l'identità del validatore, l'identità è la somiglianza tra l'identificazione personale del validatore e la sua documentazione ufficiale. Questi validatori mettono la loro reputazione in rete. In Proof of Authority, i nodi (che diventano validatori) sono gli unici autorizzati a produrre nuovi blocchi. I validatori la cui identità è a rischio sono incentivati a proteggere e preservare la rete blockchain. In questa prova, il numero di validatori è abbastanza piccolo, circa 25 o meno.
4. Tolleranza ai guasti bizantina (BFT)
La tolleranza ai guasti bizantina, come suggerisce il nome, è usata per affrontare la faglia bizantina (chiamata anche problema dei generali bizantini), una situazione in cui gli attori del sistema devono concordare una strategia efficace in modo da aggirare il fallimento catastrofico del sistema, ma alcuni dei sono dubbi.
Scopri di più sul problema dei generali bizantini attraverso questo video: -
Le due varianti del modello di consenso BFT che sono prime nell'arena Blockchain sono PBFT e DBFT.
- Pratica tolleranza ai guasti bizantina (PBFT)
PBFT è un algoritmo blockchain leggero che risolve i problemi del generale bizantino consentendo agli utenti di confermare i messaggi che sono stati consegnati loro eseguendo un calcolo per valutare la decisione sulla validità del messaggio.
Il partito annuncia quindi la sua decisione ad altri nodi che alla fine elaborano una decisione su di essa. In questo modo, la decisione finale si basa sulle decisioni recuperate dagli altri nodi.
Stellar, Ripple e Hyperledger Fabric sono alcuni casi d'uso di questo meccanismo di consenso blockchain.
- Tolleranza ai guasti bizantina delegata (DBFT)
Introdotto da NEO, il meccanismo di tolleranza ai guasti bizantina delegata è simile al modello di consenso DPoS. Anche qui, i possessori di token NEO hanno l'opportunità di votare per i delegati.
Tuttavia, questo è indipendente dalla quantità di valuta che investono. Può diventare delegato chiunque soddisfi i requisiti di base, ovvero identità verificata, attrezzatura adeguata e 1.000 GAS . Uno di questi delegati viene quindi scelto come relatore a caso.
L'oratore crea un nuovo blocco dalla transazione che è in attesa di essere convalidata. Inoltre, invia una proposta ai delegati votati che hanno la responsabilità di supervisionare tutte le transazioni e registrarle in rete. Questi delegati hanno la libertà di condividere e analizzare le proposte per verificare l'accuratezza dei dati e l'onestà del relatore. Se, quindi, 2/3 dei delegati lo convalidano, il blocco viene aggiunto alla blockchain.
Questo tipo di protocollo di consenso Blockchain è anche chiamato "Ethereum of China" e può essere una risorsa utile per costruire una "economia intelligente" digitalizzando risorse e offrendo contratti intelligenti sulla blockchain.
5. Grafico aciclico diretto (DAG)
Un altro modello di consenso blockchain di base ma fondamentale con cui ogni azienda di servizi di sviluppo di app mobili che lavora con Blockchain deve avere familiarità è DAG.
In questo tipo di protocollo di consenso Blockchain, ogni nodo stesso si prepara a diventare i "miner". Ora, quando i miner vengono sradicati e le transazioni vengono convalidate dagli utenti stessi, la tariffa associata si riduce a zero. Diventa più facile convalidare le transazioni tra i due nodi più vicini, il che rende l'intero processo leggero, veloce e sicuro.
I due migliori esempi di algoritmi DAG sono IOTA e Hedera Hashgraph .
Sebbene questi siano i principali modelli di consenso nell'ambiente di sviluppo, molti diversi meccanismi di consenso blockchain hanno iniziato lentamente e gradualmente a guadagnare slancio, come ad esempio:-
6. Prova di capacità (PoC)
Nel meccanismo Proof of Capacity (PoC), le soluzioni per ogni complesso puzzle matematico vengono accumulate in archivi digitali come i dischi rigidi. Gli utenti possono utilizzare questi dischi rigidi per produrre blocchi, in modo che coloro che sono più veloci nella valutazione delle soluzioni abbiano maggiori possibilità di creare blocchi.
Il processo che segue si chiama Plotting. Le due criptovalute che si basano sul protocollo di consenso blockchain PoC sono Burstcoin e SpaceMint.
7. Proof of Burn (PoB)
Considerato una soluzione alternativa a PoW e PoS in termini di consumo energetico, il modello di consenso Proof of Burn (PoB) funziona sul principio di lasciare che i minatori "brucino" o "rovinino" i token di criptovaluta virtuale, il che fornisce loro ulteriormente il privilegio di scrivere blocchi in proporzione alle monete. Più monete bruciano, maggiori sono le possibilità di scegliere il nuovo blocco per ogni moneta che ottengono.
Ma, per bruciare monete, sono tenuti a inviarlo all'indirizzo in cui non potrebbe essere speso per la verifica del blocco.
Questo è ampiamente utilizzato nel caso del consenso distribuito. E il miglior esempio di questo meccanismo di consenso è la moneta Slim.
8. Prova di identità (PoI)
Il concetto di PoI (Proof of Identity) è proprio come quello di identità autorizzata. È un pezzo di conferma crittografica per la chiave privata di un utente che viene allegata a ogni particolare transazione. Ogni utente identificato può creare e gestire un blocco di dati che può essere presentato ad altri nella rete.
Questo modello di consenso blockchain garantisce l'autenticità e l'integrità dei dati creati. E quindi, è una buona scelta per l'introduzione di città intelligenti.
9. Prova di attività (PoA)
PoA è fondamentalmente un approccio ibrido progettato attraverso la convergenza di modelli di consenso blockchain PoW e PoS.
Nel caso del meccanismo PoA, i minatori corrono per risolvere un puzzle crittografico al più presto utilizzando hardware speciale ed energia elettrica, proprio come in PoW. Tuttavia, i blocchi che incontrano contengono solo le informazioni sull'identità del vincitore del blocco e sulla transazione del premio. È qui che il meccanismo passa a PoS.
I validatori (azionisti preposti alla convalida delle transazioni) verificano e garantiscono la correttezza del blocco. Se il blocco è stato controllato più volte, i validatori si attivano per un blocco completo. Ciò conferma che le transazioni aperte sono processi e sono finalmente integrate nei contenitori di blocchi trovati.
Inoltre, la ricompensa del blocco è divisa in modo che i validatori ne guadagnino quote.
Le due implementazioni nel mondo reale di questo meccanismo sono le monete Espers e Decred .
10. Prova del tempo trascorso (PoET)
PoET è stato introdotto da Intel con l'intento di rilevare gli enigmi crittografici coinvolti nel meccanismo PoW, considerando il fatto che l'architettura della CPU e la quantità di hardware di mining sanno quando e con quale frequenza un minatore vince il blocco.
Si basa sull'idea di distribuire ed espandere equamente le quote per una frazione più ampia di partecipanti. E così, a ogni nodo partecipante viene chiesto di attendere un determinato momento per partecipare al successivo processo di mining. Al membro con il tempo di attesa più breve viene chiesto di offrire un blocco.
Allo stesso tempo, ogni nodo presenta anche il proprio tempo di attesa, dopodiché entra in modalità di sospensione.
Quindi, non appena un nodo diventa attivo e un blocco è disponibile, quel nodo viene considerato il "vincitore fortunato". Questo nodo può quindi diffondere le informazioni in tutta la rete, mantenendo la proprietà del decentramento e ricevendo la ricompensa.
11. Prova dell'importanza (PoI)
Introdotto da NEM , PoI è una variazione del protocollo PoS che considera il ruolo degli azionisti e dei validatori per il suo funzionamento. Tuttavia, questo non è influenzato solo dalla dimensione e dalla possibilità delle loro azioni; vari altri fattori come reputazione, equilibrio generale e no. anche le transazioni effettuate tramite un determinato indirizzo svolgono un ruolo in esso.
Le reti basate sul modello di consenso POI sono costose da attaccare e premiano gli utenti per aver contribuito alla sicurezza della rete.
Le informazioni condivise finora ti avrebbero aiutato a differenziare i vari protocolli di consenso Blockchain.
Tuttavia, per semplificarti, ecco una tabella di confronto degli algoritmi di consenso blockchain.
Ora, iniziamo con la determinazione di ciò che rende buono un consenso Blockchain.
Proprietà di un buon meccanismo di consenso Blockchain
1. Sicurezza
In un buon meccanismo di consenso, tutti i nodi sono in grado di generare risultati validi secondo le regole del protocollo.
2. Compreso
Un buon meccanismo blockchain di consenso assicura che ogni particolare nodo della rete partecipi al processo di votazione.
3. Partecipativo
Un meccanismo di consenso in cui tutti i nodi partecipano attivamente e contribuiscono all'aggiornamento dei database su Blockchain è chiamato modello di buon consenso.
4. Egualitario
Un'altra caratteristica di un buon meccanismo è che attribuisce uguale valore e peso a ogni voto ricevuto dal nodo.
Con questo in mente , scopriamo cosa succede quando non consideri questi fattori e introduci un modello di scarso consenso nel tuo processo di sviluppo.
Conseguenze della scelta di un protocollo di cattivo consenso
1. Forks Blockchain
La scelta di un metodo di consenso blockchain scadente aumenta la vulnerabilità della catena. Una di queste vulnerabilità affrontata dagli appassionati e dagli sviluppatori di blockchain è Blockchain Forks.
I fork della blockchain, in un linguaggio profano, sono una situazione o circostanze in cui una singola catena diverge in due o più. Una spiegazione dettagliata sul fork Blockchain e sui suoi tipi è disponibile nel video incorporato di seguito.
Quando si verifica un fork Blockchain, l'applicazione inizia a funzionare in modo imprevedibile, creando due o più nodi divergenti in anticipo.
2. Scarse prestazioni
Quando viene considerato un meccanismo blockchain di consenso errato , il nodo subisce un malfunzionamento o soffre di partizione di rete. Ciò ritarda il processo di scambio di messaggi tra i nodi e aumenta la latenza dell'applicazione, che alla fine riduce il livello di prestazioni.
3. Mancato consenso
Un altro effetto dell'incorporazione di un cattivo meccanismo di consenso nel tuo modello di business è il fallimento del consenso. In questa situazione, una frazione di nodi non riesce a partecipare ad alcun processo e quindi, in assenza dei loro voti, il consenso non riesce a fornire risultati accurati e desiderati.
Con le basi dei metodi di consenso Blockchain ora coperte, approfondiamo l'argomento e guardiamo i tipi popolari di meccanismo di consenso.
Domande frequenti sugli algoritmi di consenso Blockchain
D. Che cos'è il protocollo di consenso in Blockchain?
Un protocollo di consenso è un insieme di regole o procedure che regolano il modo in cui due o più nodi interagiscono, scambiano informazioni ed eseguono processi associati nell'ecosistema Blockchain .
D. Quale modello di consenso utilizza Ethereum?
In precedenza, Ethereum stava lavorando con il modello di consenso PoW (Proof of Work). Ma ora è passato all'algoritmo di consenso blockchain PoS (Proof of Stake) .
I pensieri finali
Alla fine tutte queste componenti hanno un obiettivo simile che è quello di avere consenso in una rete decentralizzata. Tuttavia, anche dopo avere un obiettivo condiviso, questi meccanismi differiscono nel modo in cui si avvicinano al raggiungimento del consenso. Anche se il consenso ideale non esiste ancora, è affascinante e commovente vedere come i meccanismi di consenso si siano sviluppati e adattati nel lungo periodo alle mutevoli esigenze di un protocollo come questo, e sarà senza dubbio emozionante osservare la concretizzazione di idee rivoluzionarie .
È importante scegliere saggiamente quello in base alle necessità della rete aziendale poiché le reti Blockchain non possono funzionare correttamente senza gli algoritmi di consenso per confermare ogni singola transazione che viene eseguita.