StarkDEX è un motore scalabile per la verifica degli scambi su blockchain. Realizzato da 0x e StarkWare, si basa sul protocollo crittografico zero-knowledge proof. Una soluzione fino a 20 volte più veloce di Ethereum grazie alla gestione off-chain del processo.
Com’è noto, uno dei problemi legati al paradigma della blockchain è la lentezza con cui gli scambi vengono processati e validati. È un problema concettuale, prima ancora che tecnico. Nel modello basato su authority centralizzata gli scambi sono molto più veloci, ma meno sicuri. Il modello decentralizzato della blockchain garantisce maggiore sicurezza, a discapito della velocità di esecuzione delle verifiche. Ethereum, per esempio, riesce a gestire circa tre scambi al secondo.
Velocità e limiti della blockchain
La blockchain è, a tutti gli effetti, un libro mastro contabile. La sua peculiarità consiste nel fatto che le transazioni sono registrate attraverso una rete di natura decentralizzata. E il decentramento rende la blockchain lenta. Alcuni sistemi transazionali legacy possono elaborare decine di migliaia di transazioni al secondo, mentre la blockchain può gestire solo poche transazioni al secondo. Un esempio limite, in questo senso, è costituito dalle transazioni Bitcoin, che arrivano a impiegare diverse ore per essere completate. È per questa ragione che molti osservatori non considerano la blockchain utilizzabile per applicazioni su larga scala.
È chiaro il grande interesse per ogni tentativo, in ambito blockchain, di superare questo limite. Vale dunque la pena di tenere d’occhio 0x, una startup creata nel 2017 con l’obiettivo di mettere a punto un protocollo per lo scambio peer-to-peer di token basati su standard Ethereum (ERC-20 e ERC-721). Quella di 0x è un’infrastruttura di servizio, disponibile per chiunque voglia scambiare asset utilizzando token Ethereum. Ebbene, 0x ha recentemente avviato una collaborazione con StarkWare, per implementare un nuovo approccio crittografico finalizzato ad aumentare la velocità delle transazioni di 20 volte.
StarkDEX gestisce la verifica in batch
Il lavoro di 0x e StarkWare ha portato allo sviluppo di StarkDEX, un motore scalabile per la verifica degli scambi su blockchain, al momento disponibile in versione alfa. Il “segreto” di StarkDEX sta nella gestione off-chain del workload. In pratica il processo si sviluppa n modalità batch, con conseguente alleggerimento della catena. In sintesi, questo è lo schema:
- anziché essere processate individualmente, le transazioni da validare sono inviate al servizio StarkDEX e inserite in un processo batch;
- StarkDEX verifica le firme, controlla che le transazioni possano essere eseguite correttamente e aggiorna i saldi dei token nello stato off-chain;
- una volta che il batch è completo, il servizio genera una prova che attesta l’integrità computazionale del batch stesso e lo invia al modulo di verifica del contratto;
- tale modulo riceve la richiesta di modifica dello stato, verifica la prova e autorizza la transizione di stato solo dopo che la prova è stata accettata;
- al termine del processo l’intero lotto da confermare viene spostato sulla blockchain Ethereum attraverso la pipeline di 0x che gestisce gli smart contract.
Dimostrazione a conoscenza zero
La soluzione di StarkWare ricorre al protocollo crittografico zero-knowledge proof (“dimostrazione a conoscenza zero”), che rimanda al grande mondo della matematica del paradosso. Le prove a conoscenza zero possono essere utilizzate per dimostrare la veridicità di un fatto, per esempio l’età di un individuo o la quantità di denaro depositata sul suo conto bancario, senza rivelare altre informazioni, nemmeno il fatto stesso.
Il co-fondatore di StarkWare, Eli Ben-Sasson, non è uno di primo pelo. Lo studioso israeliano ha applicato il modello zero-knowledge proof anche nella progettazione della criptovaluta Zcash. I pagamenti in Zcash sono pubblicati su una blockchain pubblica, tuttavia mittente, ricevente e valore della transazione possono rimanere privati.