10.1 Cos’è
Nel capitolo 8.6.5 abbiamo parlato in modo approfondito dell’algoritmo di consenso e distribuzione, ma abbiamo deciso di dedicare questo capitolo per trattare dell’argomento in modo più descrittivo, con l’obiettivo di far capire al lettore i motivi e le sfide che hanno portato Affidaty a creare un algoritmo di consenso e distribuzione dedicato a T.R.I.N.C.I.
Per T.R.I.N.C.I., Affidaty, ha dovuto sviluppare un proprio algoritmo di consenso non ereditato da altre blockchain, questo perché le tante innovazioni che ha portato, le tante novità costruite (ad esempio l’Eurs ed il BitBël) sono vere e proprie soluzioni disruptive che non esistevano (e non esistono) in altri ambienti.
Questo ha costretto Affidaty a lavorare ad un algoritmo di consenso che è risultato realmente più efficiente di tanti altri, Proof Of Work in primis: non sono stati usati sistemi tecnologici energivori sia per scelte etiche attorno al consumo energetico, sia per scelte tecnologiche e di business.
L’algoritmo di consenso è come il motore di una vettura, quindi è fondamentale capire l’obiettivo da raggiungere per poi calibrarlo finemente in relazione allo scopo. Il ruolo fondamentale di un algoritmo di consenso in blockchain è “cercare di garantire vita eterna alla tecnologia blockchain stessa” (tecnicamente un algoritmo di consenso è uno strumento necessario ad allineare e coordinare un sistema distribuito).
Nelle blockchain private esiste un modo molto semplice per creare un algoritmo di consenso: definire chi sono i Miners, i validatori. Un'implementazione statica come quella sopra illustrata però non è fault tolerant ed inoltre nel caso in cui l’azienda dietro all'infrastruttura decidesse di abbandonare il progetto lascerebbe gli utenti alla loro sorte causando probabilmente grosse perdite.
In Bitcoin esiste un algoritmo di consenso preciso, secondo il quale in un determinato tempo e modo i computers si auto coordinano per eleggere un leader ogni volta che è necessario: se oggi la rete di BitCoin fosse composta da 1.000 nodi, essi si organizzerebbero per trovare un leader ogni 10 minuti per portare avanti la blockchain. Tra 1.000 anni questi 1.000 nodi saranno tutti distrutti, ce ne saranno altri. Nel tempo, mano a mano che i nodi vecchi muoiono e quelli nuovi nascono c’è continuamente una elezione costante del nuovo leader che farà sì che da qui a 1.000 anni esisterà sempre un leader “fresco” per portare avanti il tutto.
L’algoritmo creato da Affidaty fa proprio questo: garantisce tutte le caratteristiche che abbiamo costruito all’interno della tecnologia, effettua un coordinamento molto efficiente tramite RAFT (algoritmo di distribuzione di classe Enterprise molto proficuo che viene generalmente usato per allineare tecnicamente i sistemi distribuiti) come principio di distribuzione.
RAFT non ha però nulla a che vedere con la distribuzione dei profitti: non è stato costruito per distribuire monete, bensì per far sì che tanti computers sparsi per il mondo lavorassero in concerto pur avendo delay di tempo legati alla rete e legati alla propria potenza di elaborazione intrinseca.
La blockchain può distribuire anche profitti. Affidaty ha modificato RAFT non aggiungendogli caratteristiche, bensì dividendo in 2 la validazione del blocco: uno strato dedicato alla validazione tecnica; uno strato dedicato alla distribuzione dei profitti delle singole transazioni.
Questo algoritmo è un prodotto molto complesso ed altrettanto sperimentale, che però ha prodotto risultati realmente importanti dal punto di vista della statistica dell’utilizzo.