Vai al contenuto principale

Ultimo aggiornamento pagina: 6 marzo 2024

Danksharding

Il Danksharding è il metodo tramite cui Ethereum diventa una blockchain realmente scalabile ma, per arrivarci, sono necessari diversi aggiornamenti del protocollo. Il Proto-Danksharding è un passaggio intermedio, lungo tale percorso. Entrambi mirano a rendere le transazioni sul Livello 2 quanto più possibile economiche per gli utenti e dovrebbero ridimensionare Ethereum a >100.000 transazioni al secondo.

Cos'è il Proto-Danksharding?

Il Proto-Danksharding, anche noto come EIP-4844(opens in a new tab), è un metodo per i rollup per aggiungere dati più economici ai blocchi. Il nome proviene dai due ricercatori che hanno proposto l'idea: Protolambda e Dankrad Feist. Al momento, i rollup sono limitati, relativamente all'economicità a cui possono compiere le transazioni degli utenti, dal fatto che pubblicano le proprie transazioni in CALLDATA. Ciò è costoso poiché è elaborato da tutti i nodi di Ethereum e risiede per sempre sulla catena, anche se i rollup necessitano dei dati soltanto per un breve periodo. Il Proto-Danksharding introduce i blob di dati, inviabili e collegabili ai blocchi. I dati in tali blob non sono accessibili all'EVM e sono eliminati automaticamente dopo un periodo di tempo fisso (1-3 mesi). Ciò significa che i rollup possono inviare i propri dati in modo molto più economico, trasferendo i risparmi agli utenti finali nella forma di transazioni più economiche.

Come sono verificati i dati dei blob?

I rollup pubblicano le transazioni che eseguono nei blob di dati. Inoltre, pubblicano un "impegno" ai dati. Lo fanno fissando una funzione polinomiale ai dati. Questa è valutabile su vari punti. Ad esempio, se definiamo una funzione estremamente semplice f(x) = 2x-1, possiamo valutarla per x = 1, x = 2, x = 3, che danno i risultati 1, 3, 5. Un dimostratore applica la stessa funzione ai dati, valutandoli sugli stessi punti. Se i dati originali vengono modificati, la funzione non sarà identica e quindi i valori non sono valutati in ciascun punto. In realtà, l'impegno e la prova sono più complicati poiché sono avvolti in funzioni crittografiche.

Cos'è KZG?

KGZ sta per Kate-Zaverucha-Goldberg, i nomi dei tre autori originali(opens in a new tab) di uno schema che riduce un blob di dati a un piccolo "impegno" crittografico(opens in a new tab). Il blob di dati inviato da un rollup dev'essere verificato per assicurarsi che il rollup si stia comportando correttamente. Ciò richiede la ri-esecuzione delle transazioni nel blob da un dimostratore, per verificare che l'impegno sia valido. Questo equivale, concettualmente, al metodo con cui i client d'esecuzione verificano la validità delle transazioni di Ethereum sul livello 1, utilizzando le prove di Merkle. KZG è una prova alternativa che adatta un'equazione polinomiale ai dati. L'impegno valuta la polinomiale a determinati punti di dati segreti. Un dimostratore si adatterebbe alla stessa polinomiale sui dati, valutandola agli stessi valori e verificando che i risultati corrispondano. Questo è un modo per verificare che sia compatibile con le tecniche di conoscenza zero, utilizzate da alcuni rollup ed, eventualmente, da altre parti del protocollo di Ethereum.

Cos'è la cerimonia KZG?

Una cerimonia KZG è un metodo, per molte persone da tutta la community di Ethereum, di generare una stringa casuale segreta di numeri, utilizzabile per verificare dei dati. È molto importante che tale stringa di numeri non sia nota e non possa essere ricreata da nessuno. Per assicurarlo, ogni partecipante alla cerimonia riceve una stringa dal partecipante precedente. Quindi, possono creare dei nuovi valori casuali (ad esempio, consentendo al proprio browser di misurare il movimento del proprio mouse) e mischiandoli con il valore precedente. Quindi, inviano il valore al partecipante successivo e lo eliminano dalla propria macchina locale. Finché una persona nella cerimonia lo fa onestamente, il valore finale sarà sconosciuto a un utente malevolo. La cerimonia KZG dell'EIP-4844 è stata aperta al pubblico e decine di migliaia di persone hanno partecipato per aggiungere la propria entropia. Affinché la cerimonia sia compromessa, il 100% di questi partecipanti avrebbe dovuto essere attivamente disonesto. Dalla prospettiva dei partecipanti, se sanno di essere onesti, non è necessario fidarsi di nessun altro, poiché sanno di aver protetto la cerimonia (soddisfacendo individualmente il requisito del partecipante onesto "1 di N").

Né il Danksharding, né il Proto-Danksharding seguono il modello di "frammentazione" tradizionale, che mirava alla divisione della blockchain in più parti. Le catene di frammenti non fanno più parte della tabella di marcia. Invece, il Danksharding utilizza il campionamento dei dati distribuiti tra blob, per ridimensionare Ethereum. Ciò è molto più semplice da implementare. Questo modello, talvolta, è stato indicato come "frammentazione dei dati".

Cos'è il Danksharding?

Il Danksharding è la piena realizzazione del ridimensionamento del rollup, avviata con il Proto-Danksharding. Il Dankshaarding comporterà enormi quantità di spazio su Ethereum, dove i rollup potranno riversare i dati compressi delle loro transazioni. Ciò significa che Ethereum potrà supportare centinaia di rollup individuali con facilità, rendendo realtà milioni di transazioni al secondo.

Ciò funziona espandendo i blob collegati ai blocchi da 1 nel Proto-Danksharding a 64 nel Danksharding completo. Il resto delle modifiche necessarie sono tutti gli aggiornamenti al metodo di operazione dei client del consenso, per consentire loro di gestire i nuovi, grandi blob. Svariate di queste modifiche sono già sulla tabella di marcia per altri scopi, indipendenti dal Danksharding. Ad esempio, il Danksharding richiede la separazione del propositore e del costruttore, per essere implementata. Questo è un aggiornamento che separa le mansioni di costruzione e proposta dei blocchi, tra validatori differenti. Similmente, il campionamento della disponibilità dei dati è necessario per il Danksharding, ma è anche necessario per lo sviluppo di client molto leggeri, che non memorizzano molti dati storici ("client privi di stato").

Stato attuale

Il Danksharding completo dista svariati anni. Tuttavia, il Proto-Danksharding dovrebbe arrivare relativamente presto. Al momento della scrittura (Feb 2023), la cerimonia KZG è ancora aperta e finora ha attirato oltre 50.000 collaboratori. L'EIP(opens in a new tab) per il Proto-Danksharding è matura, le specifiche sono concordate e i client hanno implementato dei prototipi, attualmente in fase di prova e preparazione alla produzione. La prossima fase è implementare le modifiche su una rete di prova pubblica. Puoi tenerti aggiornato utilizzando la lista di controllo di prontezza dell'EIP-4844(opens in a new tab).

Letture consigliate

Questo articolo è stato utile?