Il Nakamoto Consensus è il nome del primo sistema di consenso generato per le criptovalute, il cui nome deriva dal suo creatore, Satoshi Nakamoto, che ha anche sviluppato Bitcoin.
Questo sistema è ciò che rende possibile il funzionamento di Bitcoin e, come sistema di consenso, riunisce una serie di funzioni fondamentali per rendere possibile lo sviluppo e il funzionamento di questa criptovaluta.
Cos'è il consenso di Nakamoto?
Il Nakamoto Consensus è in realtà l'unione di vari algoritmi che, applicati nel loro insieme, permettono a Bitcoin di funzionare come rete decentralizzata alimentata da un protocollo di comunicazione P2P, un sistema di mining per la generazione di criptovalute, la convalida delle operazioni e la generazione di una cronologia delle operazioni all'interno della rete.
Quindi fondamentalmente il Nakamoto Consensus comprende:
- El Algoritmo Proof of Work (PoW)., considerato il primo algoritmo di consenso basato su una prova di lavoro con un costo computazionale associato.
- Un Sistema di comunicazione P2P. Inizialmente, Bitcoin utilizzato un sistema basato sul protocollo kademlia, ma attualmente si è evoluto e utilizza un sistema derivato dal Protocollo Gossip.
- Un set di regole incentrate sulla convalida del lavoro realizzato dai minatori che fanno parte della rete P2P. Queste regole sono ciò che i minatori devono rispettare affinché il loro lavoro venga accettato dalla rete di nodi. I nodi hanno l'obbligo di convalidare detto lavoro, qualsiasi blocco che è al di fuori di queste regole viene scartato. L'idea è che tutti i nodi gestiscano le stesse regole e le applichino, creando un consenso sulla storia e permettendo di generare una rete con resistenza agli attacchi bizantini (BFT).
In questo modo, il Nakamoto Consensus è responsabile di fornire a Bitcoin le funzioni e le capacità necessarie affinché possa funzionare in modo decentralizzato e sicuro.
Come funziona il Nakamoto Consensus
Ora, analizziamo un po' come funziona il Nakamoto Consensus, partendo dal suo punto più basilare: l'inizio della generazione di un blocco per la rete.
Quando Bitcoin si prepara a generare un nuovo blocco, la rete comunica questo evento attraverso un messaggio che dice ai minatori di iniziare a generare un nuovo blocco, tenendo conto del livello di difficoltà della rete e del target.
A questo punto, i nodi e i minatori sanno che il file difficoltà e obiettivo Sono elementi che fanno parte delle regole di validazione dei blocchi all'interno del Nakamoto Consensus. Infatti, questi valori devono essere presi in considerazione quando si genera un nuovo blocco per la rete.
A questo punto, i miner hanno già gli elementi necessari per iniziare il loro lavoro utilizzando l'algoritmo PoW. Durante il loro lavoro, organizzeranno le transazioni da convalidare all'interno del blocco e, parallelamente, lo faranno generando gli hash SHA256, che deve raggiungere l'obiettivo indicato dalla rete.
Alla fine del tuo lavoro, i minatori creano il blocco seguendo le regole di generazione e consegnarlo alla rete per la verifica da parte dei nodi.
Solo una volta verificato il blocco viene aggiunto alla copia della blockchain del nodo e viene inviato un messaggio al resto della rete che indica che è stato aggiunto un nuovo blocco, insieme a una serie di metadati che aiutano il resto della rete a verificare che i dati di generazione di quel blocco siano disponibili e quindi poter ricreare e validare individualmente detto blocco.
Il processo di selezione del blocco
Tuttavia, la selezione del blocco è possibile grazie al rispetto di una serie di regole.
La prima regola per selezionare un blocco valido è fondamentalmente una gara. Solo del gruppo di minatori all'interno della rete quello che completa un blocco che raggiunge l'obiettivo dato dalla rete sarà il vincitore della gara. Il premio? Emetti il blocco in modo che venga aggiunto alla blockchain e quindi richieda le commissioni e il coinbase di detto blocco.
Tuttavia, questo risultato sarà valido solo se la seconda regola è vera: il blocco verrà aggiunto solo se è soddisfatto all'interno della catena più lunga. Ogni volta che un blocco viene emesso e convalidato, viene aggiunto alla blockchain, facendo crescere la rete.
Ad esempio, se la rete Bitcoin ha un'altezza di 663.700 blocchi e risulta che un nuovo blocco viene generato e convalidato, la rete avrà un'altezza di 663.701 blocchi.
Ma c'è un problema. La rete è decentralizzata, ci sono migliaia di nodi e minatori che lavorano tutti in parallelo, quindi ci sono momenti in cui una parte della rete può avere un'altezza (663.699 blocchi) e l'altra può essere diversa (663.700 blocchi). A questo punto, le regole del Nakamoto Consensus sono molto chiare: vince la rete più lunga, quindi il minatore che ha dato il suo lavoro nella rete con un'altezza di 663.700 blocchi, è colui che potrà davvero aggiungere il suo blocco alla rete e richiedere la ricompensa.
Questa regola della “catena più lunga” si applica non solo ai minatori e al loro lavoro, ma anche ai nodi e alla loro sincronizzazione per creare consenso. Se i nodi rilevano un hard fork della rete, dove sono presenti due reti con altezze e storie differenti, i nodi della rete decideranno di mantenere quello con l'altezza più alta e quindi una storia più confermata e un maggiore potenziale computazionale. In questo modo, la rete mantiene un consenso su quale cronologia tracciare e proteggere.
D'altra parte, le regole di validazione assicurano che i blocchi proposti abbiano rispettato tutto quanto necessario per l'algoritmo PoW. Vale a dire, il blocco deve avere i dati e un hash valido, oppure viene rifiutato.
Con queste semplici regole, il Nakamoto Consensus non solo protegge la storia della rete, ma se ne prende anche cura eliminare quelle storie che possono essere manipolate o che non soddisfano gli standard necessari per il corretto funzionamento di Bitcoin.
Incentivi e scarsità
Inoltre, il Nakamoto Consensus si basa su due concetti chiave: il incentivi e carenza.
Il primo mantiene l'attività mineraria nella rete, poiché gli incentivi sono ciò che guida il lavoro dei minatori attraverso il commissioni e ricompense in blocco.
Su questi incentivi pesa il secondo concetto: la scarsità. Bitcoin è deflazionistico, con a emissione massima di 21 milioni di monete. Ciò porta a incentivi limitati e all'emissione di denaro, il che rende tali risorse più apprezzate. Di conseguenza, i minatori cercano di accumulare quanta più potenza di calcolo possibile per garantire i massimi guadagni dalla rete e, di conseguenza, proteggere la rete.
In tutto questo, Bitcoin applica un sistema deflazionistico che rriduce i premi in blocco ogni 4 anni circa, in quello che conosciamo come halving. Pertanto, durante i suoi primi 4 anni, la ricompensa del blocco Bitcoin è passata da 50 BTC a 25, e attualmente detta ricompensa è di 6,25 BTC.
La riduzione delle emissioni e l'enorme potenza computazionale accumulata, ha il compito di rendere il Nakamoto Consensus più robusto e la sicurezza della rete più forte che mai.
Consenso Nakamoto oltre Bitcoin
Il Nakamoto Consensus è considerato il primo algoritmo di consenso in grado di offrire a piena tolleranza ai guasti bizantina applicato a una valuta digitale decentralizzata. Un tale risultato non è passato inosservato, non solo nel mondo dell'informatica, ma anche nella generazione di nuovi progetti di criptovaluta.
Pertanto, il Nakamoto Consensus è stato replicato in altri progetti, ad esempio, Litecoin e anche lo stesso Ethereum, che ha utilizzato il Nakamoto Consensus nella sua implementazione PoW e attualmente utilizza una versione modificata nella sua implementazione Proof of Stake.