Ethereum Starks è una delle possibili soluzioni per aumentare la capacità della rete di Ethereum sviluppata dal team di 0x. In particolare, l’obiettivo è rendere gli exchange decentralizzati realmente fruibili su Ethereum.

Read this article in the English version here.

Proprio in questi ultimi giorni, il protocollo sviluppato da 0x destinato agli exchange decentralizzati è stato collaudato sulla testnet di Ethereum, consentendo di arrivare sino a 550 transazioni al secondo.

Matt Taylor di 0x ha così affermato:

“StarkDEX è un’infrastruttura di exchange decentralizzato che utilizza STARKs per rimuovere gli attuali vincoli di custodia degli exchange, consentendo dunque agli utenti di fare trading su larga scala in piena sicurezza utilizzando piattaforme decentralizzate. Oggi, il sistema alla massima capacità può raggruppare 8.000 transazioni per blocco, ovvero oltre 550 transazioni al secondo, risultando 200 volte più economico in termini di costi del gas per le transazioni”.

Ethereum Starks: compressione delle transazioni per una maggiore capacità

Starks utilizza un modello ormai piuttosto familiare di exchange decentralizzato, in cui si depositano i propri fondi su di uno smart contract mediante un proprio account tenuto off-chain. A questo punto, entrano in gioco le prove basate su Starks, che verificano che nessun utente stia imbrogliando.

Il DEX (in alpha si tratta di un simulatore) invia un lotto di ordini 0x al servizio StarkDEX, gestito da StarkWare. Tale servizio controlla le firme di ogni transazione del lotto e la loro validità. StarkDEX memorizza dunque i dati off-chain e li aggiunge al servizio di tracciamento in esecuzione.

StarkDEX crea dunque una prova della validità dell’intero lotto e lo invia insieme alla più recente State Root, allo smart contract di verifica on-chain. Esso controlla e verifica la prova di validità ed invia la State Root allo smart contract del DEX così da venir archiviato sulla blockchain.

A questo punto, lo smart contract di verifica si collega alla pipeline dello smart contract di 0x, il quale sposta il lotto da confermare sulla blockchain di Ethereum.

La vera novità in questo meccanismo consiste nell’uso del protocollo Starks per la compressione delle transazioni. Nessun altro progetto ad oggi infatti, utilizza un meccanismo affine.

E’ stato dunque trovato un modo per sfruttare gli ZK-snark senza necessitare di un trusted setup. Le Starks, quindi, si sono rivelate essere un nuovo meccanismo di zero knowledge proof, offrendo un metodo matematico in grado di dimostrare qualcosa senza rivelare che cosa. Per esempio, si può dunque dimostrare che un indirizzo ha 1 ETH senza rivelare se ne 1.1 o 1000 ETH.

Vitalik Buterin, co-fondatore di Ethereum, ha affermato:

“Le STARK sono più veloci da creare di almeno un ordine di grandezza rispetto agli snark, ma secondo un altro sviluppatore di ETH tali prove occupano molto più spazio e sono più impegnative da verificare.”

I risultati della simulazione sulla testnet

Durante la simulazione di exchange decentralizzato basato su Starks eseguita sulla testnet, sono stati pagati 0,12 ETH di fee, pari a 28 dollari, per 1024 ordini, dunque, transazioni vere e proprie.

Ethereum Stark 0x testnet transazioni

Facendo due rapidi calcoli, si tratta di 2 centesimi per transazione contro i reali 10 centesimi per transazione necessari in queste ultimi giorni. Tutti i 1024 ordini hanno assorbito 6.240.131 unità di gas, vicino al limite di blocco pari ad 8 milioni.

Le transazioni semplici arrivano ad un massimo di 21.000 unità di gas, mentre per i token tale limite sale a 50.000. Quindi l’aumento di capacità è compreso tra un modesto x4 e quasi un x10, ma, stando al team del progetto, alla massima capacità potrebbero venir incluse circa 8.000 transazioni.

Ciò si traduce in un aumento di scalabilità di circa cento volte. Sfortunatamente Etherscan non mostra quanti byte sono stati necessari per l’archiviazione ma pare esserci una compressione significativa delle transazioni.

Ethereum Starks potrebbe offrire una soluzione molto simile ad un layer di secondo livello, ma senza il tradeoff dei canali, assai limitanti all’interno degli exchange decentralizzati.