Che cos’è un algoritmo di consenso Blockchain?
Introduzione
Un algoritmo di consenso è un meccanismo che consente agli utenti o alle macchine di coordinarsi in un’impostazione distribuita. Deve garantire che tutti gli agenti del sistema possano concordare un’unica fonte di verità, anche se alcuni agenti falliscono. In altre parole, il sistema deve essere fault-tolerant (vedi anche: Byzantine Fault Tolerance Explained).
In una configurazione centralizzata, una singola entità ha il potere sul sistema. Nella maggior parte dei casi, possono apportare modifiche a loro piacimento – non esiste un sistema di governance complesso per raggiungere il consenso tra molti amministratori.
Ma in una configurazione decentralizzata, è tutta un’altra storia. Diciamo che stiamo lavorando con un database distribuito – come raggiungiamo un accordo su quali voci vengono aggiunte?
Superare questa sfida in un ambiente in cui gli estranei non si fidano l’uno dell’altro è stato forse lo sviluppo più cruciale che ha aperto la strada alle blockchain. In questo articolo, daremo un’occhiata a come gli algoritmi di consenso sono vitali per il funzionamento delle criptovalute e dei registri distribuiti.
Algoritmi di consenso e criptovaluta
Nelle criptovalute, i saldi degli utenti sono registrati in un database: la blockchain. È essenziale che tutti (o più precisamente, ogni nodo) mantengano una copia identica del database. Altrimenti, finiresti presto con informazioni contrastanti, minando l’intero scopo della rete di criptovaluta.
La crittografia a chiave pubblica garantisce che gli utenti non possano spendere le rispettive monete. Ma ci deve ancora essere un’unica fonte di verità che i partecipanti alla rete si basano su, per essere in grado di determinare se i fondi sono già stati spesi.
Satoshi Nakamoto, il creatore di Bitcoin, ha proposto un sistema Proof of Work per coordinare i partecipanti. Entreremo nel modo in cui PoW funziona a breve – per ora, identificheremo alcuni dei tratti comuni dei molti algoritmi di consenso esistenti.
In primo luogo, richiediamo che gli utenti che desiderano aggiungere blocchi (li chiameremo validatori) forniscano una puntata. La posta in gioco è una sorta di valore che un validatore deve proporre, che li scoraggia dall’agire in modo disonesto. Se imbrogliano, perderanno la loro quota. Gli esempi includono potenza di calcolo, criptovaluta o persino reputazione.
Perché dovrebbero preoccuparsi di rischiare le proprie risorse? Beh, c’è anche una ricompensa disponibile. Questo di solito consiste nella criptovaluta nativa del protocollo ed è costituito da commissioni pagate da altri utenti, unità di criptovaluta appena generate o entrambi.
L’ultima cosa di cui abbiamo bisogno è la trasparenza. Dobbiamo essere in grado di rilevare quando qualcuno sta imbrogliando. Idealmente, dovrebbe essere costoso per loro produrre blocchi, ma economico per chiunque convalidarli. Ciò garantisce che i validatori siano tenuti sotto controllo dagli utenti regolari.
Tipi di algoritmi di consenso
Proof of Work (PoW)
Proof of Work (PoW) è il padrino degli algoritmi di consenso blockchain. È stato implementato per la prima volta in Bitcoin, ma il concetto attuale è in circolazione da qualche tempo. Nella prova di lavoro, i validatori (indicati come minatori) cancellano i dati che vogliono aggiungere finché non producono una soluzione specifica.
Un hash è una stringa apparentemente casuale di lettere e numeri che viene creata quando si eseguono i dati attraverso una funzione hash. Ma, se esegui di nuovo gli stessi dati, finirai sempre con lo stesso output. Cambia anche un dettaglio, però, e il tuo hash sarà completamente diverso.
Guardando l’output, non è possibile dire quali informazioni sono state inserite nella funzione. Sono quindi utili per dimostrare che conoscevi un dato prima di un certo tempo. Puoi dare a qualcuno il suo hash, e quando in seguito riveli i dati, quella persona può eseguirlo attraverso la funzione per assicurarsi che l’output sia lo stesso.
Nella prova di lavoro, il protocollo stabilisce le condizioni per ciò che rende valido un blocco. Potrebbe dire, ad esempio, solo un blocco il cui hash inizia con 00 sarà valido. L’unico modo per il minatore di crearne uno che corrisponda a quella combinazione è quello di input a forza bruta. Possono modificare un parametro nei loro dati per produrre un risultato diverso per ogni ipotesi fino a quando non ottengono l’hash giusto.
Con le principali blockchain, la barra è incredibilmente alta. Per competere con altri minatori, è necessario un magazzino pieno di hardware di hashing speciale (ASIC) per avere la possibilità di produrre un blocco valido.
La tua quota, quando si estrae, è il costo di queste macchine e l’elettricità necessaria per eseguirle. Gli ASIC sono costruiti per uno scopo, quindi non hanno alcun uso in applicazioni al di fuori del mining di criptovaluta. Il tuo unico modo per recuperare il tuo investimento iniziale è il mio, che produce una ricompensa significativa se aggiungi con successo un nuovo blocco alla blockchain.
È banale per la rete verificare di aver effettivamente creato il blocco giusto. Anche se hai provato trilioni di combinazioni per ottenere l’hash giusto, hanno solo bisogno di eseguire i tuoi dati attraverso una funzione una volta. Se i tuoi dati producono un hash valido, saranno accettati e riceverai una ricompensa. Altrimenti, la rete lo rifiuterà e avrai perso tempo ed elettricità per niente.
Proof of Stake (PoS)
Proof of Stake (PoS) è stato proposto nei primi giorni di Bitcoin come alternativa alla Prova di lavoro. In un sistema PoS, non esiste un concetto di minatori, hardware specializzato o un consumo energetico massiccio. Tutto ciò che serve è un normale PC.
Beh, non tutti. Hai ancora bisogno di mettere un po ‘ di pelle nel gioco. In PoS, non si propone una risorsa esterna (come elettricità o hardware), ma uno interno – criptovaluta. Le regole differiscono con ogni protocollo, ma in genere c’è un importo minimo di fondi che devi tenere per essere idoneo al picchettamento.
Da lì, blocchi i tuoi fondi in un portafoglio (non possono essere spostati mentre stai puntando). In genere sarai d’accordo con altri validatori su quali transazioni andranno nel blocco successivo. In un certo senso, si sta scommettendo sul blocco che verrà selezionato, e il protocollo sceglierà uno.
Se il tuo blocco è selezionato, riceverai una percentuale delle commissioni di transazione, a seconda della tua puntata. Più fondi hai bloccato, più hai da guadagnare. Ma se tenti di imbrogliare proponendo transazioni non valide, perderai una parte (o tutta) della tua puntata. Pertanto, abbiamo un meccanismo simile a PoW-agire onestamente è più redditizio che agire in modo disonesto.
Generalmente, non ci sono monete appena create come parte della ricompensa per i validatori. La valuta nativa della blockchain deve quindi essere emessa in qualche altro modo. Questo può essere fatto tramite una distribuzione iniziale (cioè un ICO o IEO) o facendo avviare il protocollo con PoW prima di passare successivamente al PoS.
Ad oggi, pure Proof of Stake è stata implementata solo in criptovalute più piccole. Pertanto, non è chiaro se possa servire come valida alternativa a PoW. Mentre sembra teoricamente suono, sarà molto diverso nella pratica.
Una volta che il PoS viene implementato su una rete con una grande quantità di valore, il sistema diventa un campo di gioco di teoria dei giochi e incentivi finanziari. Chiunque abbia il know-how per “hackerare” un sistema PoS probabilmente lo farebbe solo se potesse guadagnarne – quindi, l’unico modo per scoprire se è fattibile è su una rete live.
Vedremo presto PoS testato su larga scala-Casper sarà implementato come parte di una serie di aggiornamenti alla rete Ethereum (collettivamente noto come Ethereum 2.0).
Altri algoritmi di consenso
Proof of Work e Proof of Stake sono gli algoritmi di consenso più discussi. Ma c’è una grande varietà di altri, tutti con i propri vantaggi e svantaggi. Controlla i seguenti articoli:
- Ritardato la Prova di Lavoro, ha Spiegato
- Leasing Prova di Palo Consenso Spiegato
- Prova di Autorità Spiegato
- Prova di Bruciare Spiegato
- Delegati Prova di Palo Spiegato
- Ibrido PoW/PoS Consenso Spiegato
Pensieri di chiusura
Meccanismi per raggiungere il consenso, sono di vitale importanza per il funzionamento di sistemi distribuiti. Molti credono che la più grande innovazione in Bitcoin sia stata l’uso della Prova di lavoro per consentire agli utenti di concordare un insieme condiviso di fatti.
Gli algoritmi di consenso oggi sostengono non solo i sistemi monetari digitali, ma le blockchain che consentono agli sviluppatori di eseguire codice su una rete distribuita. Ora sono una pietra angolare della tecnologia blockchain e sono fondamentali per la redditività a lungo termine delle varie reti esistenti.
Di tutti gli algoritmi di consenso, Proof of Work rimane l’offerta dominante. Un’alternativa più affidabile e sicura deve ancora essere proposta. Detto questo, c’è un’enorme quantità di ricerca e sviluppo in sostituzioni per PoW, e probabilmente ne vedremo più di superficie nei prossimi anni.