Un ecosistema incentrato su L2 è sharding in senso tecnico.

Scritto da: Vitalik Buterin

Compilato da: Peng Sun, Foresight News

Due anni e mezzo fa nell'articolo "Endgame" ho accennato al fatto che i diversi percorsi di sviluppo della blockchain in futuro sembrano molto simili, almeno tecnicamente. In entrambi i casi, sulla catena è presente un gran numero di transazioni e l'elaborazione di queste transazioni richiede: (1) molti calcoli (2) molta larghezza di banda dei dati; I normali nodi Ethereum (come il nodo di archivio reth da 2 TB in esecuzione sul mio computer ora), anche con potenti prestazioni di ingegneria del software e alberi Verkle, non sono sufficienti per verificare direttamente l'enorme quantità di dati e calcoli. Al contrario, sia negli schemi di “sharding L1” che in quelli incentrati sul rollup, ZK-SNARK viene utilizzato per verificare i calcoli e DAS viene utilizzato per verificare la disponibilità dei dati. Che si tratti di sharding L2 o Rollup, il DAS è lo stesso e la tecnologia ZK-SNARKs è la stessa. Sono sia codice di contratto intelligente che una funzione del protocollo. In senso tecnico, Ethereum è sharding e Rollup lo è.

Ciò solleva naturalmente la domanda: qual è la differenza tra i due? Uno di questi è che le conseguenze delle vulnerabilità del codice sono diverse: in Rollup, i token verranno rubati nello sharding, il consenso verrà interrotto; Ma mi aspetto che man mano che il protocollo si stabilizzerà e le tecniche di verifica formale miglioreranno, l’impatto delle vulnerabilità del codice diventerà sempre più ridotto. Quindi quali altre differenze esistono tra queste due opzioni potenzialmente a lungo termine?

Diversità negli ambienti di esecuzione

Un'idea di cui abbiamo discusso brevemente su Ethereum nel 2019 riguardava gli ambienti di esecuzione. Essenzialmente, Ethereum avrà diverse "zone" che possono avere regole diverse per gli account (inclusi metodi completamente diversi come UTXO), come funziona la macchina virtuale e altre funzioni. Ciò consente la diversità dei metodi in varie parti dello stack, cosa che sarebbe difficile da ottenere se Ethereum provasse a riunire più funzioni in una sola.

Alla fine abbiamo abbandonato alcuni dei piani più ambiziosi e mantenuto solo l’EVM. Tuttavia, si può dire che Ethereum L2 (compresi rollup, valdium e Plasma) funzioni in definitiva come un ambiente di esecuzione. Attualmente ci concentriamo spesso sull’equivalente EVM L2, ma ignoriamo la diversità apportata da molti altri metodi:

  • Arbitrum Stylus, che aggiunge un secondo oracolo basato su WASM oltre a EVM;

  • Fuel, che utilizza un'architettura basata su UTXO simile a Bitcoin (ma con funzionalità più complete);

  • Aztec, che introduce un nuovo linguaggio e un nuovo paradigma di programmazione progettato attorno a contratti intelligenti che preservano la privacy basati su ZK-SNARK.

Architettura basata su UTXO, fonte: documentazione Fuel

Possiamo provare a costruire l'EVM in una super macchina virtuale che copra tutti i paradigmi possibili, ma così facendo si ridurrà notevolmente l'efficienza di ciascuna funzione. È meglio lasciare che queste piattaforme facciano le loro cose professionali.

Compromesso in termini di sicurezza: scalabilità e velocità di transazione

Ethereum L1 offre una sicurezza molto elevata. Se il blocco finale completato su L1 contiene determinati dati, l'intero consenso (incluso il consenso sociale in casi estremi) lavorerà duramente per garantire che questi dati non vengano modificati e che qualsiasi esecuzione innescata da questi dati non venga annullata hanno ancora accesso ai dati. Per ottenere questa garanzia di sicurezza, Ethereum L1 è disposto ad accettare un costo elevato. Al momento in cui scrivo, le commissioni di transazione sono relativamente basse: Layer2 addebita meno di 1 centesimo per transazione e, anche su L1, un trasferimento ETH di base costa meno di 1 dollaro. Se la tecnologia avanza abbastanza velocemente e la crescita dello spazio disponibile a blocchi tiene il passo con la domanda, allora queste tariffe potrebbero rimanere basse in futuro, ma potrebbero non esserlo. Anche 0,01 dollari per transazione sono troppo alti per molte applicazioni non finanziarie, come i social media o i giochi.

Ma i social media e i giochi non richiedono lo stesso modello di sicurezza di L1. Non importa se per un milione di dollari qualcuno può ripristinare il record di perdite in una partita a scacchi o far sembrare che uno dei tuoi tweet sia stato pubblicato tre giorni dopo la pubblicazione effettiva. Pertanto, queste app non dovrebbero pagare gli stessi costi di sicurezza. Gli schemi L2 raggiungono questo obiettivo supportando una gamma di metodi di disponibilità dei dati, dai rollup al plasma ai validium.

Diversi tipi L2 sono adatti a diversi casi d'uso. Altro da leggere.

Un altro compromesso emerge sulla questione del trasferimento di attività da L2 a L2. Prevedo che nei prossimi 5-10 anni tutti i Rollup saranno ZK Rollup e sistemi di prova ultra efficienti come Binius e Circle STARK con ricerche, accoppiati con uno strato di aggregazione di prova, consentiranno a L2 di fornire la radice dello stato finale in ogni slot diventa possibile. Ma attualmente possiamo combinare solo in modo complicato Optimistic Rollup e ZK Rollup e utilizzare finestre temporali di prova diverse. Se implementiamo l'execution sharding nel 2021, il modello di sicurezza per mantenere onesti gli shard sarà Optimitic Rollup, non ZK, quindi L1 dovrà gestire la complessa logica a prova di frode del sistema on-chain, e i tempi di prelievo saranno fino a un week , per trasferire risorse tra shard. Ma come i bug del codice, penso che questo problema sia in definitiva temporaneo.

La velocità delle transazioni è il terzo e più permanente aspetto del compromesso di sicurezza. Ethereum produce blocchi ogni 12 secondi e non può andare più veloce, altrimenti il ​​livello di centralizzazione sarebbe troppo alto. Tuttavia, molti L2 stanno esplorando la possibilità di comprimere i tempi di blocco a centinaia di millisecondi. 12 secondi non sono poi così male: in media gli utenti devono attendere circa 6-7 secondi dopo aver inviato una transazione per essere inclusi in un blocco (e non solo 6 secondi, poiché il blocco successivo potrebbe non includerli). Questo è paragonabile al tempo di attesa che devo aspettare quando pago con carta di credito. Tuttavia, molte applicazioni richiedono velocità più elevate e L2 può fornirle.

Per renderlo più veloce, L2 ha un meccanismo di preconferma: i validatori di L2 promettono digitalmente di includere una transazione in un momento specifico e vengono puniti se la transazione non viene inclusa. Il meccanismo StakeSure porta questo meccanismo ancora oltre.

Preconferma L2

Ora possiamo provare a implementare tutte queste funzionalità in L1. L1 può includere un sistema di "preconferma veloce" e di "conferma finale lenta". Può contenere diversi frammenti con diversi livelli di sicurezza. Tuttavia, ciò aumenta la complessità del protocollo. Inoltre, svolgere tutto il lavoro in L1 corre il rischio di sovraccaricare il consenso, poiché molti approcci su scala più ampia o con un throughput più elevato presentano rischi di centralizzazione più elevati o richiedono forme di “governance” più forti se eseguiti in L1. L’impatto di queste richieste più forti si diffonderà altre parti dell'accordo. Ethereum può in gran parte evitare questi rischi fornendo un compromesso con L2.

Vantaggi del livello 2 per le organizzazioni e la cultura

Immaginate un paese diviso in due, con una metà che diventa un paese capitalista e l’altra metà che diventa un paese fortemente dominato dal governo (a differenza di quanto accade nella realtà, supponiamo in questo esperimento mentale che questo non sia il risultato di una guerra traumatica, Ma un giorno il confine appare naturale e basta). Nella parte capitalista, i ristoranti sono tutti costituiti da diverse proprietà decentralizzate, blockchain e diritti di voto. In un paese dominato dal governo, sono tutti rami del governo, proprio come il dipartimento di polizia. Il primo giorno non cambierà molto. Le persone seguiranno in gran parte le abitudini esistenti e ciò che funziona e ciò che non funziona dipende da realtà tecniche come le competenze lavorative e le infrastrutture. Tuttavia, dopo un anno, si vedono enormi cambiamenti, poiché diverse strutture di incentivi e di controllo portano a enormi cambiamenti nel comportamento, che influenzano chi arriva e resta, cosa viene costruito, cosa viene mantenuto e cosa viene abbandonato.

La teoria dell’organizzazione industriale ha molto da dire su queste distinzioni: parla non solo della differenza tra un’economia gestita dal governo e un’economia capitalista, ma anche di un’economia dominata da grandi franchising e di un’economia in cui ogni supermercato è gestito da un imprenditore indipendente. Penso che la differenza tra un ecosistema L1-centrico e un ecosistema L2-centrico sia simile.

C'è un grosso problema con l'architettura "gli sviluppatori principali gestiscono tutto".

Essendo un ecosistema incentrato su L2, credo che i principali vantaggi di Ethereum siano i seguenti:

Poiché Ethereum è un ecosistema incentrato su L2, hai la libertà di costruire in modo indipendente un sottoecosistema con le sue caratteristiche uniche pur essendo parte del più grande Ethereum.

Se stai semplicemente costruendo un client Ethereum, fai parte dell'Ethereum più grande e, sebbene tu abbia un po' di spazio per l'innovazione, non è neanche lontanamente paragonabile a L2. E se stai costruendo una catena completamente indipendente, hai molto spazio per la creatività, ma perdi anche i vantaggi della sicurezza condivisa e degli effetti di rete condivisi. L2 è un buon equilibrio.

Non solo fornisce opportunità tecniche per provare nuovi ambienti di esecuzione e compromessi di sicurezza che consentono scalabilità, flessibilità e velocità, ma fornisce anche un meccanismo di incentivi che incentiva sia gli sviluppatori a creare e mantenere, sia il supporto della comunità.

Il fatto che ogni L2 sia isolata significa anche che la distribuzione di nuovi metodi è senza autorizzazione: non è necessario convincere tutti gli sviluppatori principali che il nuovo metodo è "sicuro" per il resto della catena. Se il tuo L2 fallisce, è tua responsabilità. Chiunque può avere un’idea strana (ad esempio, l’approccio Plasma di Intmax) e, anche se gli sviluppatori principali di Ethereum non prestano alcuna attenzione, possono continuare a costruirla ed eventualmente a distribuirla. Questo non è il caso delle funzionalità di L1 e della precompilazione, e anche in Ethereum il successo o il fallimento dello sviluppo di L1 spesso finisce per essere politico in misura maggiore di quanto vorremmo. Indipendentemente da ciò che può essere costruito in teoria, i diversi incentivi creati da un ecosistema L1-centrico e da un ecosistema L2-centrico alla fine avranno un impatto serio su ciò che viene effettivamente costruito, sul livello di qualità e sull’ordine in cui viene costruito. .

Quali sfide deve affrontare l’ecosistema L2-centrico di Ethereum?

Qualcosa è terribilmente sbagliato nell'architettura L1 + L2.

Fonte immagine: Reddit

Questo approccio L2-centric affronta una sfida chiave che gli ecosistemi L1-centric raramente affrontano: il coordinamento. In altre parole, sebbene Ethereum abbia molti L2, la sfida è come farlo sembrare ancora "Ethereum" e avere gli effetti di rete di Ethereum, piuttosto che N catene indipendenti. Oggi questa situazione è insoddisfacente sotto molti aspetti:

  • Le catene incrociate tra L2 richiedono solitamente un ponte incrociato centralizzato, il che è molto complicato per gli utenti comuni. Se disponi di token su Optimism, non puoi incollare l'indirizzo Arbitrum di qualcun altro nel tuo portafoglio per inviare fondi.

  • Il supporto del portafoglio di contratti intelligenti multicatena non è molto buono sia per i portafogli di contratti intelligenti personali che per i portafogli organizzativi (inclusi i DAO). Se cambi la tonalità su un L2, devi cambiare la tonalità anche sull'altro L2.

  • Spesso manca un’infrastruttura di verifica decentralizzata. Ethereum sta finalmente iniziando ad avere client leggeri decenti, come Helios. Tuttavia, non ha senso se tutta l'attività avviene in L2 e richiede un proprio RPC centralizzato. In linea di principio non è difficile costruire un client leggero per L2 una volta che si ha l’intestazione del blocco Ethereum, ma in pratica si presta troppo poca attenzione a questo punto;

La comunità sta lavorando duramente per migliorare queste tre aree. Per lo scambio di token a catena incrociata, lo standard ERC-7683 è una nuova soluzione, a differenza dei "ponti a catena incrociata centralizzati" esistenti, non prevede nodi, token o governance centralizzati fissi. Per gli account cross-chain, l'approccio adottato dalla maggior parte dei portafogli consiste nell'utilizzare messaggi riproducibili cross-chain per aggiornare le chiavi a breve termine e i rollup del keystore a lungo termine. Stanno iniziando ad apparire client leggeri per L2, come Beerus per Starknet. Inoltre, i recenti miglioramenti all’esperienza dell’utente attraverso i portafogli di prossima generazione hanno risolto problemi più fondamentali, come ad esempio il fatto che gli utenti non devono cambiare manualmente rete per accedere alle DApp.

Rabby ha una visione completa dei saldi patrimoniali multi-catena, cosa che i precedenti portafogli non potevano fare!

Ma è importante rendersi conto che gli ecosistemi L2-centric hanno difficoltà a cercare di coordinarsi in una certa misura. Perché non esiste un incentivo economico naturale affinché una singola L2 costruisca l’infrastruttura per il coordinamento: le L2 su piccola scala non lo faranno, perché vogliono ottenere solo una piccola parte dei benefici, né le L2 su larga scala, perché possono farlo; trarre vantaggio dal rafforzamento degli effetti della propria rete locale. Ottenere lo stesso o più beneficio. Se ogni L2 pensa solo a se stesso e nessuno pensa a come si inserisce nel più ampio sistema Ethereum, allora falliremo, proprio come l’utopia urbana nelle immagini di qualche paragrafo sopra.

È difficile dire che esista una soluzione perfetta a questo problema. Tutto quello che posso dire è che l’ecosistema deve riconoscere più pienamente che l’infrastruttura cross-L2 è un tipo di infrastruttura Ethereum tanto quanto i client L1, gli strumenti di sviluppo e i linguaggi di programmazione, e quindi dovrebbe essere valutata e finanziata. Abbiamo la Gilda del protocollo, forse abbiamo bisogno della Gilda dell'infrastruttura di base.

Riassumere

In varie discussioni pubbliche, “L2” e “sharding” sono spesso considerati due strategie opposte per l’espansione della blockchain. Tuttavia, se guardi alla tecnologia sottostante, ti imbatterai in un enigma: i metodi di scaling effettivi sottostanti sono esattamente gli stessi. Che si tratti di data sharding, validatori di frode o validatori ZK-SNARK, o di soluzioni che comunicano attraverso "rollup, shard", la differenza principale è: chi è responsabile della creazione e dell'aggiornamento di questi componenti e quanta autonomia hanno?

Un ecosistema incentrato su L2 è sharding in senso tecnico, ma all'interno dello sharding puoi creare i tuoi frammenti con le tue regole. Questa è una creatività molto potente e illimitata e può ottenere molta innovazione indipendente. Ma presenta anche alcune sfide chiave, soprattutto in termini di coordinamento. Affinché un ecosistema incentrato su L2 come Ethereum abbia successo, deve comprendere queste sfide e affrontarle frontalmente al fine di raccogliere il maggior numero possibile di vantaggi di un ecosistema incentrato su L1 e avvicinarsi al meglio di entrambi.