Algorand (ALGO)

Pro

Scalabilità

Transazioni per secondo >1000, tempo di validazione blocco minore di 5 secondi, tempo di conferma transazione è istantaneo grazie all’assenza di incertezza in quanto non vi sono fork, commissioni molto basse, pari a 0,001 Algo, architettura dual layer per l’elaborazione off-chain delle attività onerose (es. funzioni complesse di smart contract).

Decentralizzazione

La partecipazione alla generazione dei blocchi è estesa a tutti. Grazie all’accessibilità che Algorand fornisce ogni possessore di Algo può infatti partecipare alla generazione dei blocchi con costi hardware ed energetici irrisori e senza dover vincolare in alcun modo gli Algo in proprio possesso. Inoltre, Algorand dal 01/10/2021 ha introdotto la Governance, ovvero un modello decentralizzato di governo nel quale la comunità partecipante, attraverso delle votazioni, si fa carico delle decisioni riguardanti il futuro dell’intero ecosistema Algorand.

Sicurezza

La decentralizzazione garantisce la sicurezza del protocollo e della rete. Un account per partecipare al protocollo di consenso non deve usare le proprie spending keys (usate per le transazioni). La selezione del comitato per la selezione dei blocchi è randomica e segreta, i membri non sono corruttibili, in quanto nessuno può sapere chi siano i membri del comitato prima che questi abbiano pubblicato i propri voti. Assenza di fork, protezione da attacchi Sybil, robustezza al network partitioning e possibilità di evoluzione evitando hard fork. Gli smart contracts su Algorand sono tutti allo stesso livello del protocollo di consenso (layer-1), quindi la sicurezza dipende dall’efficacia del protocollo di consenso. Il protocollo può tollerare utenti malintenzionati, raggiungendo il consenso senza un’autorità centrale, purchè la maggioranza qualificata (2/3) di tutti gli Algo risulti in mani non-disoneste.

Sostenibilità e sociale

La blockchain di Algorand è carbon neutral (‘emissioni zero’). Infatti proprio per come è stata progettata, è estremamente efficiente dal punto di vista energetico e, tramite la collaborazione con diversi partner dell’ecosistema, mantiene l’impegno carbon negative risultando pienamente ecosostenibile. In aggiunta, Algorand è coinvolta attivamente in diversi progetti a impatto sociale, quali iniziative di inclusione finanziaria, sostenibilità ambientale e accesso universale all’apprendimento a livello globale.

Contro

Dimensione registro

Considerando che la MainNet è stata lanciata nel giugno 2019, le dimensioni del registro, attualmente pari a più di 700 gb, potranno rivelarsi una tematica non trascurabile nel lungo termine.

Linguaggio di programmazione TEAL molto selettivo

Gli smart contracts su Algorand sono attualmente scritti in un linguaggio chiamato TEAL, acronimo di “Transaction Execution Approval Language”, che ha la particolarità di essere Non-Turing complete. Se da un lato l’utilizzo di questo linguaggio aumenta la sicurezza, dall’altro risulta maggiormente limitato in termini di operazioni da poter far eseguire agli smart contracts e soprattutto più complicato e oneroso in termini di programmazione. Questo fattore è risultato in una sorte di freno in termini di adozione e, proprio per far fronte a ciò, Algorand ha in previsione un update che porterà all’adozione di diversi linguaggi di programmazione alternativi da poter utilizzare.

Meno decentralizzato nel breve termine

Algorand è stato lanciato e viene gestito da un’organizzazione centrale (Algorand Foundation) con un fondatore ben noto (Silvio Micali), a differenza, per esempio, di Bitcoin in cui mancano figure centrali. L’Algorand Foundation detiene un’ingente quantità di Algo, che verranno impiegati da qui al 2030 per varie iniziative. Va specificato però che non partecipa alle votazioni, nelle quali avrebbe un peso troppo decisivo, vista la percentuale di Algo detenuti. Il piano per il lungo termine di Algorand prevede una decentralizzazione via via crescente, si pensi alla recente introduzione della governance, quindi questo aspetto dovrebbe andare a migliorare col tempo.

Indice

Storia

Algorand nasce nel 2017 dalla mente dell’italiano Silvio Micali, professore del MIT e vincitore del Turing Award.

Nel medesimo anno Silvio, in collaborazione con Steve Kokinos, fonda la Algo Capital e, già nel successivo 2018, vengono raccolti fondi per più di 60 mln di dollari coinvolgendo diverse società di investimento.

Nel 2019 il team di Algorand rilascia Algorand Vault, una tecnologia di compressione blockchain che consente da un lato una riduzione del costo di archiviazione della blockchain e dall’altro una distribuzione tramite la rete mantenendo un elevato livello di sicurezza.

Nel 2020 Algorand viene listato su Coinbase.

Come funziona

Algorand è un protocollo layer-1 che  si propone come LA tecnologia in grado di superare il famosissimo trilemma della blockchain, il quale afferma che una blockchain può offrire al più due tra le seguenti proprietà:

  • Sicurezza
  • Scalabilità
  • Decentralizzazione

Le tre proprietà appena citate non sono delle variabili indipendenti tra loro, bensì strettamente correlate, e la value proposition di Algorand è quella di aver dato vita a una Blockchain che si dichiara in grado di fornire simultaneamente tutti questi tre attributi.

Come ciò risulta possibile?

Tramite l’utilizzo di diverse tecnologie alla base della crittografia (Pseudo-Random Number Generation, Zero Knowledge Proofs, Verifiable Random Functions, Digital Signatures) e l’introduzione fondamentale di un nuovo protocollo di consenso, che prende il nome di PPoS, acronimo di “Pure Proof of Stake”.

Il protocollo PPoS è basato su un “Byzantine Agreement decentralizzato”, rimandiamo al seguente articolo qualora non si conoscesse, ed è in grado di tollerare utenti malintenzionati, raggiungendo il consenso senza un’autorità centrale, purchè la maggioranza qualificata (2/3) di tutti gli Algo risulti in mani non-disoneste.

Come funziona il protocollo?

Questo nuovo protocollo di consenso non si basa sulla risoluzione di puzzle criptografici, come nel caso di Bitcoin, che richiedono grandi risorse computazionali.

In Algorand, ogni utente che possegga la coin Algo, ovvero la cryptovaluta di Algorand,  può partecipare al  protocollo di consenso.

Quindi non vi sono soglie minime, deleghe o grandi investimenti richiesti, siamo davanti ad una situazione pienamente inclusiva: ogni singolo possessore della coin Algo può partecipare alla validazione dei blocchi.

Per parteciparvi, non viene usata la spending key (con la quale si approvano le transazioni), ma bisogna generare e registrare una chiave di partecipazione (più avanti riportiamo il dettaglio del processo).

Con questa chiave di partecipazione è quindi possibile partecipare alle proposte e alle votazioni dei nuovi blocchi da aggiungere alla blockchain di Algorand. Ma come avviene il processo?

Algoritmo di consenso

Se volessimo utilizzare una metafora, è una sorta di lotteria pesata: è come se ogni Algo in un account avesse un suo biglietto per partecipare.

Ne consegue che, maggiore è la quantità di Algo in possesso, maggiori sono le possibilità che un account venga scelto per partecipare.

Questo processo di selezione viene effettuato segretamente e randomicamente, senza comunicazione tra gli utenti: ogni holder (possessore di Algo) viene selezionato in maniera randomica e segreta con un peso probabilistico proporzionale al numero di Algo detenuti.

Quindi nessuno sa chi è stato selezionato, si può solo sapere se si è stati selezionati oppure no. La sicurezza è inoltre rafforzata dal fatto che quando i selezionati diventano pubblici, questi hanno già inviato il loro voto, e quindi è ormai troppo tardi per corromperli. Se a questo aggiungiamo inoltre che la totalità del processo ha una durata inferiore ai 5 secondi, quindi ogni 5 secondi viene aggiunto un nuovo blocco alla blockchain di Algorand, in termini di sicurezza siamo davanti ad un protocollo particolarmente sicuro.

Di seguito riportiamo un dettaglio più tecnico, ma comunque semplificato, delle fasi del processo:

algo_overview_img1
  1. Proposta del nuovo blocco: vengono selezionati degli account per proporre nuovi blocchi al network. Ogni nodo, per ogni account che gestisce e che è online e partecipa, effettua la VRF (“Verifiable Random Function”, vedesi glossario per il dettaglio tecnico) per vedere se è stato selezionato per proporre un nuovo blocco. Una volta che viene selezionato, ogni nodo propaga nella blockchain il nuovo blocco proposto e l’output della VRF che certifica che sia stato selezionato. Ogni nodo della blockchain riceve queste informazioni.
  2. Voto soft: ogni nodo esegue la VRF per ogni account che gestisce per vedere se è stato selezionato per il comitato di soft vote. Ogni account scelto filtra i blocchi proposti fino a sceglierne uno da votare (così si evitano biforcazioni della chain) e invia alla rete il blocco votato con la VRF proof. Ogni nodo valida la VRF proof degli altri. Quando è raggiunto il quorum per il soft vote, si passa allo step successivo.
  3. Voto di certifica: viene selezionato un nuovo comitato per controllare il blocco proposto nel soft vote e viene verificato che non ci siano overspending, double-spending o altri problemi. Se il blocco proposto risulta valido, il comitato vota di nuovo per certificare il blocco in modo simile al soft vote. Raggiunto il quorum si passa allo step successivo.
  4. Aggiornamento registro: ogni nodo riceve un certificato che attesta la validità del nuovo blocco creato e lo aggiunge al proprio registro della blockchain.
  5. Nuovo round: inizia un nuovo round, si riparte dal primo step e così all’infinito.

Rimandiamo alla sezione Pro e Contro per verificare l’impatto dell’utilizzo del protocollo PPoS sulle 3 variabili del trilemma: Sicurezza, Scalabilità e Decentralizzazione.


Algorand network

Il network di Algorand è composto da tre reti principali:

algo_overview_img2
  • MainNet: è la chain principale, ovvero il network dove vengono scambiati gli Algo e gli assets principali.
  • TestNet: è il luogo dove vengono testate tutte le applicazioni che verranno sviluppate successivamente nella MainNet, per controllarne a priori la correttezza.
  • BetaNet: viene aggiornata ogni settimana circa, viene utilizzata per aggiornare determinate caratteristiche future, ad esempio a livello di protocollo di consenso.

La rete Algorand supporta 2 tipi di nodi per essere allo stesso tempo decentralizzata, ma veloce:

  • Relay nodes: servono da central network hubs e mantengono le connessioni con molti altri nodi. Hanno un network di connessioni con grande larghezza di banda che permette percorsi di comunicazione efficienti, riducendo il numero di hops nella comunicazione. Sono in grado di fare ciò accumulando messaggi di protocollo dai partecipation nodes e gli altri relay nodes connessi a loro, facendo deduplication, signature checks e altri step di validazione e poi ri-propagando i messaggi validi. Inoltre, i Relay nodes sono spesso locati nei punti di scambio di internet per diminuire il tempo di propagazione.
  • Partecipant nodes: sono connessi a molti meno nodi, molti dei quali sono relay nodes. Rappresentano un indirizzo stake e hanno partecipation keys per proporre e votare i blocchi con l’algoritmo di consenso.

Ogni user può registrarsi come uno dei due nodi.

Molte organizzazioni hanno deciso di installare Relay nodes e rappresentano una vasta gamma di background geografici, tecnici e politici.

Tra queste organizzazioni ci sono università, oranizzazioni no-profits, membri dell’ecosistema crypto, internet e financial providers.

Per informazioni su come installare un nodo, vedere qui.

Algorand layers

L’architettura di Algorand si presenta come “dual layer”, ovvero prevede un layer-1 e un layer-2 integrati nativamente sulla chain di Algorand.

Il layer-1 prevede l’esecuzione di operazioni “di base”, come le transazioni, che sono quelle più importanti per portare avanti l’attività on-chain e sono anche quelle meno onerose dal punto di vista computazionale e di carico del network.

Il layer-2, al contrario, viene utilizzato per eseguire le operazioni più onerose, che vengono prima elaborate off-chain e per le quali solo successivamente viene riportato il loro risultato finale on-chain comprensivo di una certificazione della validità di quest’ultimo.

algo_overview_img3

Un’altra funzionalità offerta da Algorand è la possibilità di creare le cosiddette “Co-Chain” sfruttando la struttura e l’architettura di Algorand. Le Co-Chain sono delle chain secondarie dotate di caratteristiche proprie, che ognuno può stabilire e customizzare in fase di progettazione e sviluppo (es. Co-Chain private per aziende/istituzioni).

A differenza delle altre chain private su altri network, le Co-Chain di Algorand sono altamente interoperabili con tutto il mondo Algorand, quindi sia con le altre cochain, compatibilmente con le regole della Co-Chain in questione, sia con la stessa chain principale di Algorand.


Algorand accounts

In Algorand ci sono due tipi di Account:

  • Account “Offline”: sono quelli che detengono gli Algo nel wallet , raccolgono reward, non partecipano al protocollo di consenso, ma possono effettuare qualsiasi transazione.
  • Account “Online”: per partecipare al protocollo di consenso PPoS non basta detenere i propri Algo nel wallet, ma bisogna registrare gli Algo “online”. Al momento della registrazione, un account genera una chiave di partecipazione, ovvero la partecipation key citata in precedenza: questa serve perchè così non occorre utilizzare la propria chaive privata con cui di solito si frimano le transazioni e in tal modo si riduce l’esposizione del proprio account.
    Per generare la chiave di partecipazione bisogna avere un nodo, per avere un nodo ognuno può installarlo sul proprio pc tramite il seguente link. L’accessibilità è garantita dal fatto che è’ possibile utilizzare un nodo che non scarichi tutto il registro, pesante in termini di spazio di archiviazione, ma che consenta di partecipare al protocollo di consenso (non-relay node).

Ricompense

Nel caso di Algorand non vi sono reward per chi partecipa alla validazione blocchi.

  • Participation reward: ogni account Algorand infatti, che sia “Online” o “Offline”, solamente per il fatto di fare parte dell’ecosistema, è ricompensato alla creazione di ogni nuovo blocco in modo proporzionale in base al numero di Algo che detiene.
    L’APY della ricompensa varia in base al periodo (se volessimo fare un’approssimazione si parla di circa una ricompensa in Algo pari al 5,6% annuo):
  • Governance reward: oltre alle ricompense di partecipazione all’ecosistema, dal 01/10/2021 Algorand ha introdotto la Governance, ovvero un modello decentralizzato di governo nel quale la comunità partecipante, attraverso delle votazioni, si fa carico delle decisioni riguardanti il futuro dell’intero ecosistema Algorand. Tutti i possessori degli Algo possono partecipare alla Governance, rimandiamo alla seguente lezione per ulteriori dettagli.
    Anche la governance prevede un sistema di ricompense che dipenderà da tre fattori:
    • Quantità di Algo committati quando ci si iscrive a una sessione;
    • Quantità totali di Algo committati;
    • Ricompense totali.

L’ammontare indicativo delle ricompense è quindi  molto variabile, ma indicativamente un Governor, ovvero colui che partecipa alla Governance, può ottenere delle ricompense annualizzate, derivanti esclusivamente dalla partecipazione alla governance, tra il 6% e il 24% degli Algo committati per la governance.
Se sommiamo queste ricompense al 5.6% delle ricompense tradizionali di partecipazione, si ottiene un’APY complessiva variabile tra il 12% e il 30%.

algo_overview_img5



Algo supply

Il numero massimo di coin Algo esistenti coniati nel blocco di genesi risulta pari a 10 miliardi.

Questa quantità fissa e immutabile nel tempo è stata distribuita secondo lo schema seguente:

Nel dettaglio abbiamo quindi:

  • 3 miliardi ai relay nodes (devono avere caratteristiche hardware molto potenti);
  • 2,5 miliardi allocati ai venture capitals, ovvero i primi investitori, coloro che per primi hanno appoggiato ed investito in Algorand;
  • 1,75 miliardi come incentivi alla partecipazione;
  • 0.25 miliardi come supporto ed incentivo per l’ecosistema Algorand;
  • 2 miliardi sono dell’azienda Algorand inc;
  • 0.5 miliardi sono della fondazione Algorand.

Nonostante la diversa allocazione non tutti gli Algo risultano già in circolazione, alcuni sono “Bloccati” in attesa di rilascio a valle di determinate condizioni, per fare un esempio le ricompense per la partecipazione al network o alla governance.

Come si può vedere dal grafico seguente ad oggi solo una quantità di Algo risulta attualmente in circolazione, mentre è stato stabilito che entro il 2030 verrà rilasciata tutta la totalità degli Algo esistenti:

fc761297-08b2-456c-966d-499713316015_Long+Term+Algo+Dynamics+Supply+Schedule

Smart contracts

Gli Smart Contracts (ASC1s) di Algorand sono linee di codice salvate nella blockchain immutabile ed eseguite automaticamente quando certi termini sono verificati e validati autonomamente. Eliminano il bisogno di una validazione da parte di terzi.

Algorand ha Smart Contracts:

  • Stateful: formano la spina dorsale per costruire dapp sulla blockchain di Algorand. Forniscono accesso allo stato di valori on-chain e possono essere combinati con altre features layer-1 di Algorand per implementare app dinamiche.
  • Stateless: non hanno stato. Usati principalmente per rimpiazzare la firma di autorità per transazioni.

Gli Smart Contract di Algorand, a differenza di quelli tradizionali, sono a layer-1, quindi sono tutti allo stesso livello del protocollo di consenso.

Gli smart contract su Algorand sono attualmente scritti in un linguaggio di programmazione chiamato TEAL, acronimo di “Transaction Execution Approval Language”, che ha la particolarità di essere non-turing complete.

Se da un lato l’utilizzo di questo linguaggio aumenta la sicurezza, dall’altro risulta maggiormente limitato in termini di operazioni da poter far eseguire agli smart contract e soprattutto più complicato e oneroso in termini di programmazione.

Al fine di incrementare il livello di adozione, Algorand ha in previsione tramite un update l’introduzione di diversi linguaggi di programmazione alternativi, anche turing complete per eseguire tutte le operazioni possibili, a disposizione da utilizzare oltre al TEAL.

Di seguito riportiamo alcuni esempi:



Altre funzionalità layer-1

  • Asset tokenization: Algorand’s Standard Assets (ASAs) è un nuovo modo di rappresentare assets sulla blockchain di Algorand. Ciò include fungible, non fungible, restricted fungible e restricted non fungible assets.
  • Atomic Transfers: trasferiscono simultaneamente un numero di asset attraverso più parti istantaneamente in un modo sicuro senza bisogno di affidarsi a contratti time-locked.
  • Rekeying: offre la flessibilità per gli users e i custody providers di cambiare le Private Spending Keys ogni volta senza cambiare il Public Address, dando al Public Address maggiore permenenza.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Pure Proof of Stake (PPoS) | Spiegazione del consenso in Algorand

Master
di Tomàs Daniel Avila Visintin

Come si vota per la governance di algorand

di Tomàs Daniel Avila Visintin

La prima votazione di Algorand | Spiegazione dettagliata

di Tomàs Daniel Avila Visintin

Guida completa alla governance di Algorand

di Tomàs Daniel Avila Visintin

WHITE PAPER
Il white paper di Algorand è stato pubblicato il 26 maggio 2017 da Jing Chen e Silvio Micali, il creatore di Algorand.

Abstract: “Algorand è un registro pubblico è una sequenza di dati a prova di manomissione che può essere letta e aumentata da tutti. I registri pubblici hanno innumerevoli e convincenti usi. Possono garantire, in piena vista, tutti i tipi di transazioni, come titoli, vendite e pagamenti, nell’esatto ordine in cui si verificano. I registri pubblici non solo frenano la corruzione, ma consentono anche applicazioni molto sofisticate, come criptovalute e contratti intelligenti. Stanno per rivoluzionare il modo in cui opera una società democratica. Allo stato attuale, tuttavia, hanno una scarsa scalabilità e non possono raggiungere il loro potenziale. Algorand è un modo veramente democratico ed efficiente per implementare un registro pubblico. A differenza delle implementazioni precedenti basate sulla prova del lavoro, richiede una quantità trascurabile di calcolo e genera una cronologia delle transazioni che non si ‘sforzerà’ con probabilità estremamente elevate.”