Polygon vs Arbitrum vs Optimism: gara tra Layer 2 di Ethereum
4 luglio, 2022
11 min
L’ecosistema di Ethereum, dopo la “DeFi Summer” 2020, si è popolato di applicazioni decentralizzate (dapp) e altri protocolli smart contract. Tuttavia, questa improvvisa crescita nei servizi ha messo a dura prova il suo network, congestionato da una mole immensa di transazioni. Come ottenere la necessaria scalabilità? Usando blockchain e protocolli di supporto: scopriamo cosa sono i Layer 2 e le loro caratteristiche. In particolare, faremo un confronto tra Arbitrum e Optimism e capiremo le loro differenze con Polygon, una sidechain con diverse soluzioni di scalabilità per Ethereum.
Cosa sono i Layer 2
Il trilemma della scalabilità ha messo in luce la relazione esistente tra 3 proprietà della blockchain: scalabilità, sicurezza e decentralizzazione. In particolare, è Vitalik Buterin ad aver affermato che, nella costruzione di un network di nodi, almeno una di queste caratteristiche risulterà sacrificata per favorire le altre due. Questo è il limite che ogni sviluppatore di blockchain Layer 1 ha dovuto affrontare.
Ad esempio, Bitcoin è sicuro e decentralizzato, ma non scalabile. Quindi, si è pensato ad una prima soluzione: affiancare alla blockchain principale (il Layer 1) una seconda catena di “supporto”, detta Layer 2. Questa avrebbe supportato il grande volume di transazioni che congestionava il network, ecco spiegato cosa sono i Layer 2. Così nasce il Lightning Network (LN), che amministra gli scambi off-chain ed in seguito invia i risultati alla Mainnet di Bitcoin.
Layer 2
I Layer 2 sono infrastrutture, o semplici protocolli, costruiti su una blockchain già esistente, chiamata Layer 1. I Layer 2 sono una possibile soluzione al trilemma della scalabilità: permettono di aumentare le transazioni per secondo e in generale le prestazioni di una blockchain. Esistono diversi tipi di Layer 2, ma solitamente gestiscono le operazioni off-chain, inviando solo i risultati di queste o forme più compatte dei dati al Layer 1.
Tuttavia, la finanza decentralizzata (DeFi) non è solo scambi p2p: Ethereum ha creato il primo grande ecosistema di applicazioni decentralizzate (Dapp), basate su smart contract e linguaggi condivisi, come i token standard. Gli utenti interagiscono con questi servizi proprio attraverso la blockchain: come gestire migliaia di richieste contemporaneamente?
Uniswap, l’exchange decentralizzato (DEX) nonché principale dapp di Ethereum, ha implementato la V3 del suo protocollo in Layer 2, in particolare su Arbitrum, Optimism e Polygon.
Ethereum, infatti, ha le sue soluzioni Layer 2, divisibili in 4 grandi categorie: Sidechain, Nested Blockchain (Plasma), Rollup e i già citati State Channel. Questi tipi di Layer 2 possono essere implementati anche contemporaneamente (come in Polygon), ma presentano caratteristiche differenti. Scopriamo, quindi, cos’è una sidechain ed introduciamo ai tipi di Rollup, soluzione adottata da Arbitrum e Optimism.
Cos’è Polygon: molto più di una sidechain
Le Sidechain sono di fatto blockchain che affiancano i Layer 1. Esse sono collegate alla Mainnet da bridge bidirezionali, smart contract in grado di trasportare informazioni dalla blockchain primaria alla sidechain e viceversa. Tuttavia, le Sidechain, possono avere parametri diversi dal Layer 1: differenze, ad esempio, nel meccanismo di consenso o nella grandezza dei blocchi. Ciò significa che la sicurezza potrebbe non riflettere quella della blockchain principale: l’indipendenza delle Sidechain, secondo ethereum.org, le allontana dalla definizione di Layer 2; tuttavia, l’obiettivo di scalabilità li accomuna.
Polygon è nata proprio come Sidechain con il nome di Matic Network: si differenzia dai Layer 2 perché il suo algoritmo di consenso è autonomo, quindi indipendente da Ethereum. Infatti, Polygon usa da sempre un meccanismo Proof-of-Stake per validare le transazioni, beneficiando di commissioni minori e transazioni per secondo maggiori: più di 65 mila, in confronto alle 15 tps massime di Ethereum, almeno prima del suo passaggio al PoS con il Merge.
Inoltre, la sidechain PoS di Polygon gode di interoperabilità con l’ecosistema Ethereum: interagisce con la Ethereum Virtual Machine (EVM), ovvero può supportare gli smart contract scritti in Solidity, il linguaggio di programmazione di Ethereum, così come gestire i token standard ERC. In poche parole, per risolvere i problemi di scalabilità di una dapp, è sufficiente spostare l’esecuzione dei relativi smart contract nella sidechain di Polygon.
Il framework di Polygon fornisce anche gli strumenti per sviluppare altre soluzioni di scalabilità, già implementate nel suo network. Stiamo parlando delle tecnologie Layer 2 Plasma e Rollup, quest’ultima divisa tra Zero Knowledge-rollup e Optimistic rollup. I Rollup sono la soluzione di scalabilità adottata da Arbitrum e Optimism, scopriamo cosa sono i Rollup e come funzionano.
Cosa sono i Rollup: Optimistic vs Zero Knowledge
Prima di definire le differenze tra Arbitrum e Optimism, scopriamo il funzionamento di base dei Rollup: le transazioni, eseguite off-chain, vengono raggruppate e trasferite alla main chain, al fine di essere registrate immutabilmente. L’azione di raccogliere molte transazioni in un unico blocco è riflessa nel nome di “Rollup”, ma quest’ultimo è solitamente accompagnato da una seconda specificazione: Optimistic o Zero-Knowledge.
Gli Optimistic Rollup (OR) sono il livello fondamentale sia di Arbitrum che di Optimism. In poche parole, un “aggregator” raccoglie le transazioni in un blocco di Rollup, inviato poi ad uno specifico smart contract Ethereum. Le transazioni contenute in questo blocco, però, non sono verificate, ma semplicemente registrate nel Layer 1, entrando così a far parte della cronologia di Ethereum. Infatti, le informazioni sono assunte a priori come valide, presupponendo la buona condotta degli aggregatori, per questo la soluzione di scalabilità è detta “Optimistic” (ottimistica). Tuttavia, esiste sempre una misura di sicurezza.
Ogni blocco di OR include un codice detto “state root”, ovvero la “radice” della struttura che lega tutte le informazioni contenute (Merkle Tree). Questa radice crittografica è simile ad un hash: univoca e riassuntiva dei dati a cui fa riferimento. Perciò, chiunque può fornire prova che una “state root” sia invalida, così che lo smart contract di Rollup “riapra” il blocco per permettere al network di verificare. Questa “Fraud Proof” può avvenire entro un certo periodo di tempo, a seguito del quale il blocco verrà comunque finalizzato. Un aggregator che si rivela disonesto perde la garanzia (detta “bond”) bloccata nello smart contract per partecipare all’OR, conferita come premio a chi invece ha scoperto la truffa.
Questa soluzione di scalabilità, insomma, non ha uno standard di sicurezza all’altezza degli algoritmi di consenso Proof-of-Work e Proof-of-Stake, ma effettuare le verifiche solo quando necessario permette di risparmiare diverso tempo. Arbitrum e Optimism hanno, appunto, adottato questa misura di scalabilità, ma esiste un’alternativa di Rollup: i cosiddetti Zero-Knowledge (zk).
Gli zk Rollup agiscono come gli OR nel raggruppare le transazioni, tuttavia al Layer 1 non inviano informazioni compresse, ma solo una prova della loro validità. In poche parole, off-chain viene già verificato che tutte le transazioni siano valide, in modo tale da trasmettere solo il codice crittografico che lo dimostri: uno SNARK (succinct non-interactive argument of knowledge) o uno STARK (scalable transparent argument of knowledge).
In sostanza, gli ZK Rollup permettono transazioni instantanee, in quanto la loro validità è subito verificata on-chain attraverso gli SNARK/STARK, mentre gli OR alle volte comportano tempi di attesa per le eventuali “fraud proof”. Tuttavia, Arbitrum e Optimism hanno preferito gli OR per la loro compatibilità con l’EVM, che garantisce assoluta interoperabilità con Ethereum. Inoltre, i codici di validità zk sono complessi da produrre, perciò non sono adatti a dapp con bassa attività on-chain.
Arbitrum vs Optimism e le differenze con Polygon
Arbitrum e Optimism sono Layer 2 che sfruttano la soluzione di scalabilità degli Optimistic Rollup, tuttavia presentano alcune differenze:
- Token e Governance: sia Arbitrum che Optimism sono compatibili con i token Ethereum, ma solo il secondo ha un proprio token di governance: gli OP token, distribuiti tra gli “early users” attraverso l’airdrop di Optimism nel giugno 2022. I possessori possono, quindi, votare a proposito di aggiornamenti del protocollo o piani di incentivo. Tuttavia, 20 milioni di OP token sono subito stati rubati da uno smart contract di market making: l’hacker, dopo aver venduto un milione di token e ad averne trasferiti altrettanti a Vitalik Buterin, ne ha restituiti 17 M.
- Fraud Proof: la verifica della validità di un OR, quando richiesta, in Optimism avviene in un solo round. Infatti, l’intero blocco viene ri-elaborato on-chain, quindi dal Layer 1, per valutare la correttezza del codice “radice” (state root). Questo, sebbene istantaneo, richiede talvolta elevate commissioni. In Arbitrum, invece, il blocco soggetto a Fraud Proof viene prima processato off-chain per individuarne la parte sospetta, così da inviarla singolarmente al Layer 1 per essere verificata. Questo, sebbene richieda più tempo, abbassa le commissioni e aumenta la capacità delle transazioni.
- Virtual Machine: Arbitrum ha la sua versione di “macchina virtuale” (Arbitrum Virtual Machine), ovvero la componente di ogni nodo che permette l’esecuzione degli smart contract. Optimism, invece, è solo compatibile con la Ethereum Virtual Machine (EVM), non ne ha creata una propria. Ciò significa che Optimism dipende strettamente dagli aggiornamenti nel consenso di Ethereum per determinare la validità dei blocchi. Tuttavia, Arbitrum dovrà “tradurre” ogni smart contract da EVM a AVM.
Avendo capito cosa sono i layer 2 e le differenze tra Arbitrum e Optimism, il confronto più immediato da fare è quello con Polygon. Questa non è solo una sidechain di Ethereum con Rollup (optimistic e zero knowledge) e Plasma, ma una blockchain indipendente che scala sul meccanismo Proof-of-Stake ed è più flessibile a ulteriori cambiamenti per migliorare le sue prestazioni.
Aggiungiamo quindi un tassello al mosaico della scalabilità: le Plasma chain sono ancorate alla blockchain di Ethereum ed utilizzano le “Fraud Proof” per risolvere le dispute di validità, come Arbitrum e Optimism. Tuttavia, ogni plasma chain è inserita in una gerarchia “parent-child”: ogni chain “figlia” alleggerisce il carico di operazioni della madre a cui è subordinata, costruendo così una struttura di blockchain innestate le une sulle altre. Ogni plasma chain ha il suo meccanismo di consenso per la validazione dei blocchi e può essere adibita ad un caso d’uso specifico.
A tal proposito, ricordiamo che Polygon ha una propria versione del Proof-of-Stake, mentre Arbitrum e Optimism dipendono dall’algoritmo di consenso di Ethereum, anch’esso PoS dopo il Merge. I validatori di Polygon bloccano in staking token MATIC per validare i blocchi (e ricevere poteri di governance). Questo porta a dei vantaggi per quanto riguarda le transazioni al secondo: se Polygon, come detto, supporta 65 mila tps, gli OR di Optimism e Arbitrum non possono andare oltre le 2000 tps, sebbene Arbitrum sostenga di avere un livello base di 4500 tps.
In ultimo, il tempo di attesa per il prelievo dei token varia molto tra i 3 protocolli: il meccanismo di Fraud Proof di Arbitrum e Optimism impone un periodo minimo di 1-2 settimane, necessario a risolvere potenziali dispute, mentre il bridge della chain PoS di Polygon permette ai token di raggiungere Ethereum in meno di 3 ore.
Ethereum 2.0: scalabilità Layer 1
I Layer-2 non sono l’unica opzione possibile per migliorare le prestazioni del network: modificare il funzionamento della blockchain principale, così da risolvere le probabilità di congestione già a livello del Layer 1, è complesso ma vantaggioso. Abbiamo detto che il trilemma della scalabilità ostacola la definizione di blockchain come contemporaneamente sicura, decentralizzata e scalabile. Tuttavia, non è un confine invalicabile: l’innovazione può raggiungere il risultato anche senza catene di supporto Layer 2.
Ovviamente questo richiede tempo e intensi sforzi di programmazione, tuttavia sembra che il Layer 1 di Ethereum possa finalmente raggiungere, in autonomia, l’ambita scalabilità. Infatti, la mainnet Ethereum ha realizzato la transizione che pianificava da sempre: la versione 2.0 promette 100.000 tps, sostanzialmente avendo cambiato il meccanismo di consenso da Proof-of-Work a Proof-of-Stake.
Il “Merge” della Beacon Chain, la versione di Ethereum con staking, e della “vecchia” blockchain di Ethereum è avvenuto il 15 settembre 2022. Tuttavia, questa non sarà la forma finale: la scalabilità sarà ulteriormente potenziata dallo sharding e da protocolli zero-knowledge!
Quale sarà il futuro dei Layer 2? Affiancheranno anche Ethereum 2.0 o diventeranno superflui?