Un algoritmo di consenso è un meccanismo che permette a utenti o dispositivi di coordinarsi in un contesto distribuito. Deve garantire che tutti gli agenti nel sistema possano concordare su una singola fonte di verità, anche se alcuni agenti falliscono. In altre parole, il sistema deve essere fault-tolerant (vedi anche: La Byzantine Fault Tolerance Spiegata).
In una configurazione centralizzata, una singola entità ha potere sul sistema. In gran parte dei casi, possono apportare modifiche come vogliono – non esiste un complesso sistema di governance per raggiungere il consenso tra diversi amministratori.
In una configurazione decentralizzata, invece, è tutta un'altra storia. Supponiamo di avere un database distribuito – come facciamo a raggiungere un accordo su quali voci debbano essere aggiunte?
Superare questa sfida in un ambiente in cui sconosciuti non si fidano gli uni degli altri è stato forse lo sviluppo più cruciale per aprire la strada alle blockchain. In questo articolo, andremo a illustrare come gli algoritmi di consenso sono vitali per il funzionamento delle criptovalute e dei registri distribuiti.
Fonte: https://academy.binance.com/it/articles/what-is-a-blockchain-consensus-algorithm
1. LA BLOCKCHAIN - COS'È UN ALGORITMO DI CONSENSO?
A CURA DELLA BINANCE ACADEMY
FONTE: HTTPS://ACADEMY.BINANCE.COM/IT/ARTICLES/WHAT-IS-A-BLOCKCHAIN-CONSENSUS-ALGORITHM
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
2. INTRODUZIONE
Un algoritmo di consenso è un meccanismo che permette a utenti o dispositivi di coordinarsi in
un contesto distribuito. Deve garantire che tutti gli agenti nel sistema possano concordare su
una singola fonte di verità, anche se alcuni agenti falliscono. In altre parole, il sistema deve
essere fault-tolerant (vedi anche: La Byzantine Fault Tolerance Spiegata).
In una configurazione centralizzata, una singola entità ha potere sul sistema. In gran parte dei
casi, possono apportare modifiche come vogliono – non esiste un complesso sistema di
governance per raggiungere il consenso tra diversi amministratori.
In una configurazione decentralizzata, invece, è tutta un'altra storia. Supponiamo di avere un
database distribuito – come facciamo a raggiungere un accordo su quali voci debbano essere
aggiunte?
Superare questa sfida in un ambiente in cui sconosciuti non si fidano gli uni degli altri è stato
forse lo sviluppo più cruciale per aprire la strada alle blockchain. In questo articolo, andremo a
illustrare come gli algoritmi di consenso sono vitali per il funzionamento delle criptovalute e dei
registri distribuiti.
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
3. ALGORITMI DI CONSENSO E CRIPTOVALUTE
Nelle criptovalute, i saldi degli utenti vengono registrati in un database – la blockchain. E' fondamentale che tutti (o, più
precisamente, tutti i nodi) mantengano una copia identica del database. Altrimenti, finiresti presto con informazioni contrastanti,
compromettendo totalmente lo scopo del network di criptovaluta.
La crittografia a chiave pubblica garantisce che gli utenti non possono spendere le monete di altri, ma deve comunque
esserci una singola fonte di verità su cui i partecipanti al network si basano, per riuscire a 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. Spiegheremo
come funziona la PoW tra poco – per ora, andremo a identificare alcuni dei tratti che accomunano i vari algoritmi di consenso
esistenti.
Per prima cosa, chiediamo agli utenti che vogliono aggiungere blocchi (chiamiamoli validatori) di fornire una stake. La stake è
una qualche sorta di valore che il validatore deve mettere in gioco, con l'obiettivo di dissuaderlo dall'agire in modo disonesto. Se
imbroglia, perderà la sua posta in gioco. Esempi di questa stake includono potenza computazionale, criptovaluta o
persino reputazione.
Perché i validatori dovrebbero rischiare le proprie risorse? Beh, c'è anche una ricompensa in palio. Questa consiste
solitamente nella criptovaluta nativa del protocollo ed è composta dalle commissioni pagate da altri utenti, unità di criptovaluta
appena generate o entrambi.
L'ultimo elemento di cui abbiamo bisogno è la trasparenza. Dobbiamo essere in grado di scoprire quando qualcuno sta
imbrogliando. Idealmente, dovrebbe essere costoso produrre blocchi ma economico per chiunque verificarli. Ciò garantisce che
i validatori sono tenuti sotto controllo dagli utenti regolari.
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
4. TIPI DI ALGORITMI DI CONSENSO
PROOF OF WORK (POW)
La Proof of Work (PoW) è il padrino degli algoritmi di consenso blockchain. E' stato implementato per la prima volta in Bitcoin,
ma il concetto è in circolazione da ben prima. Nella Proof of Work, i validatori (denominati miner) elaborano tramite hash i dati
che vogliono aggiungere fino a quando non producono una soluzione specifica.
Una hash è una stringa apparentemente casuale di lettere e numeri generata dall'elaborazione di dati attraverso una funzione di
hash. Tuttavia, elaborando gli stessi dati nella stessa funzione, si otterrà lo stesso output. Cambiando anche un solo dettaglio,
però, porterà a una hash completamente differente.
Esaminando l'output, non è possibile sapere quale informazione è stata immessa nella funzione. Quindi, sono utili per dimostrare
la conoscenza di un certo dato prima di un certo momento. Puoi dare a qualcuno una hash, e quando più tardi riveli i dati,
questa persona può immetterla nella funzione per verificare che l'output sia lo stesso.
Nella Proof of Work, il protocollo stabilisce le condizioni per ciò che rende un blocco valido. Potrebbe dire, per esempio, solo un
blocco la cui hash inizia con 00 sarà valido. L'unico modo che il miner ha per creare un blocco che corrisponda a questa
combinazione è il brute force di input. Possono modificare un parametro nei dati per produrre un esito differente ad ogni
tentativo fino a quando non ottengono la hash corretta.
Nelle blockchain più grandi, l'asticella è incredibilmente alta. Per competere con gli altri miner, avresti bisogno di un magazzino
pieno di hardware appositamente dedicato all'hashing (ASIC) per avere una possibilità di produrre un blocco valido.
La tua stake, quando fai mining, è il costo di questi dispositivi e l'elettricità necessaria per operarle. Le ASIC sono costruite per un
unico scopo, quindi non hanno nessun utilizzo al di fuori del mining di criptovalute. L'unico modo di recuperare il tuo
investimento iniziale è fare mining, in cui puoi ottenere una ricompensa significativa se riesci ad aggiungere un nuovo blocco alla
blockchain.
E' facilissimo per il network verificare se hai creato davvero il blocco giusto. Anche se hai provato trilioni di combinazioni per
ottenere la hash corretta, a tutti gli altri basta immettere i tuoi dati in una funzione una volta sola. Se i tuoi dati producono una
hash valida, saranno accettati, e tu riceverai una ricompensa. Altrimenti, il network li respingerà e avrai sprecato tempo ed
elettricità per niente. 18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
5. PROOF OF STAKE (POS)
La Proof of Stake (PoS) è stata proposta nei primi tempi di Bitcoin come alternativa alla Proof of Work. In un sistema PoS, non esiste il
concetto di miner, hardware specializzato o consumo massiccio di energia. Tutto quello che ti serve è un normale PC.
Beh, non è esattamente tutto. Devi comunque mettere la posta in gioco. Nella PoS, non metti in gioco una risorsa esterna (come elettricità
o hardware), ma una interna – criptovaluta. Le regole variano per ogni protocollo, ma in genere c'è un importo minimo di fondi che devi
possedere per poter partecipare allo staking.
Da qui, bloccherai i tuoi fondi in un wallet (non possono essere spostati mentre fai staking). Solitamente ti coordinerai con altri validatori
per decidere quali transazioni vengono inserite nel blocco successivo. In un certo senso, stai scommettendo sul blocco che verrà
selezionato, e il protocollo ne sceglierà uno.
Se il tuo blocco viene selezionato, riceverai una percentuale delle commissioni di transazione, a seconda della tua stake. Più fondi hai
bloccato, più puoi guadagnare. Se invece tenti di imbrogliare proponendo transazioni non valide, perderai una porzione (o la totalità)
della tua stake. Quindi, abbiamo un meccanismo simile alla PoW – agire onestamente è più redditizio che agire disonestamente.
In genere, la ricompensa dei validatori non comprende monete appena create. La valuta nativa della blockchain deve quindi essere
emessa in qualche altro modo. Questo può essere fatto tramite una distribuzione iniziale (ovvero, ICO o IEO) oppure lanciare il protocollo
con la PoW prima di passare in un secondo tempo alla PoS.
Ad oggi, la Proof of Stake pura è stata implementata solo in criptovalute minori. Pertanto, non è chiaro se può essere una valida
alternativa alla PoW. Anche se sembra essere solida sotto il profilo teorico, nella pratica sarà molto diverso.
Quando la PoS verrà implementata su un network con una grande quantità di valore, il sistema diventerà una combinazione di teoria dei
giochi e incentivi finanziari. E' probabile che chiunque abbia le giuste competenze per “hackerare” un sistema PoS lo farà solo se può
guadagnarci – quindi, l'unico modo per scoprire se è valido è su un network attivo.
Presto vedremo la PoS testata su larga scala – Casper verrà implementato come parte di una serie di aggiornamenti al network di
Ethereum (conosciuti collettivamente come Ethereum 2.0).
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
6. ALTRI ALGORITMI DI CONSENSO
La Proof of Work e la Proof of Stake sono gli algoritmi di consenso più discussi,
ma esiste un'ampia gamma di altre opzioni, ciascuna con i propri vantaggi e
svantaggi.
Dai un'occhiata ai seguenti articoli:
• La Delayed Proof of Work Spiegata
• Il Consenso Proof of Stake a Noleggio Spiegato
• La Proof of Authority Spiegata
• La Proof of Burn Spiegata
• La Delegated Proof of Stake Spiegata
• Il Consenso Ibrido PoW/PoS Spiegato
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/
7. IN CONCLUSIONE
I meccanismi per raggiungere il consenso sono vitali per il funzionamento dei sistemi distribuiti.
Molti credono che la più grande innovazione di Bitcoin sia stato l'uso della Proof of Work per
consentire agli utenti di accordarsi su una serie di fatti condivisa.
Oggi, gli algoritmi di consenso sono alla base non solo di sistemi di moneta digitale, ma anche
di blockchain che permettono agli sviluppatori di eseguire codice attraverso un network
distribuito. Sono un caposaldo della tecnologia blockchain e sono fondamentali per la validità
nel lungo termine dei vari network esistenti.
Tra tutti gli algoritmi di consenso, la Proof of Work rimane l'opzione dominante. Un'alternativa
più affidabile e più sicura non è ancora stata proposta. Detto questo, c'è un'impressionante
quantità di ricerca e sviluppo in corso per trovare sostituti alla PoW, ed è probabile che ne
vedremo altri emergere negli anni a venire.
18/02/2023
HTTPS://WWW.BRAVECONSULTING.NET/ HTTPS://GBSI.LUTINX.COM/