@Walrus 🦭/acc

Presentiamo Walrus, un terzo approccio per lo storage decentralizzato di blob. Combina codici di erasure lineari rapidi e decodificabili che possono scalare a centinaia di nodi di archiviazione per ottenere un'elevata resilienza a un basso overhead di archiviazione; e sfrutta una blockchain moderna, Sui, per il suo piano di controllo, dalla gestione del ciclo di vita dei nodi di archiviazione a quella dei blob, fino all'economia e agli incentivi, eliminando la necessità di un protocollo blockchain completamente personalizzato.

Al centro di Walrus si trova un nuovo protocollo di codifica, chiamato Red Stuff, che utilizza un innovativo codice di erasure lineare a due dimensioni

algoritmo di codifica bidimensionale (2D) basato su codici fountain. A differenza dei codici RS, i codici fountain si basano

principalmente su XOR o altre operazioni molto veloci su grandi blob di dati, evitando operazioni matematiche complesse

operazioni. Questa semplicità permette la codifica di file di grandi dimensioni in un unico passaggio, risultando in un

elaborazione più rapida. La codifica 2D di Red Stuff permette il recupero di slivers persi utilizzando la larghezza di banda

proporzionale alla quantità di dati persi (O(|blob|) nel nostro caso). Inoltre, Red Stuff incorpora au

strutture dati autenticate per difendersi da clienti maliziosi, garantendo che i dati archiviati e recuperati rimangano coerenti.

Walrus opera in epoche, ognuna gestita da un comitato di nodi di archiviazione. Tutte le operazioni all'interno di un'epoca possono essere suddivise per blobid, consentendo un'alta scalabilità. Il sistema facilita la scrittura di blob codificando i dati in slivers primari e secondari, generando impegni Merkle e distribuendo questi slivers tra i nodi di archiviazione. Il processo di lettura prevede la raccolta e la verifica degli slivers, con percorsi sia a miglioramento possibile che incentivati per affrontare potenziali guasti del sistema. Per garantire un'accessibilità ininterrotta sia per la lettura che per la scrittura dei blob, anche in presenza del naturale churn tipico di un sistema senza permessi, Walrus include un protocollo efficiente di ri-configurazione del comitato.

Un'altra innovazione chiave in Walrus è il suo approccio alle prove di archiviazione, ovvero meccanismi per verificare che i nodi di archiviazione stiano effettivamente archiviando i dati che affermano di custodire. Walrus affronta la sfida di scalabilità associata a queste prove incentivando tutti i nodi di archiviazione a mantenere slivers di tutti i file archiviati. Questa replica completa abilita un meccanismo innovativo di attestazione dell'archiviazione che sfida il nodo di archiviazione nel suo complesso, piuttosto che ogni file individualmente. Di conseguenza, il costo di dimostrare l'archiviazione di un file cresce in modo logaritmico rispetto al numero di file archiviati, a differenza della crescita lineare presente in molti sistemi esistenti.

Infine, introduciamo anche un modello economico basato sullo staking, con ricompense e penalità per allineare gli incentivi e garantire impegni a lungo termine. Il sistema include un meccanismo di pricing per le risorse di archiviazione e le operazioni di scrittura, integrato da un modello di governance basato su token per gli aggiustamenti dei parametri.

In sintesi, presentiamo i seguenti contributi:

• Definiamo il problema della Condivisione Completata di Dati Asincrona e proponiamo Red Stuff, il primo protocollo in grado di risolverlo in modo efficiente anche in presenza di guasti Byzantine

• Presentiamo Walrus, il primo protocollo decentralizzato senza permessi per l'archiviazione progettato per un costo di replicazione ridotto e la capacità di recuperare efficacemente dati persi a causa di guasti o cambiamenti nei partecipanti

• Estendiamo Walrus con un modello economico basato sullo staking, con ricompense e penalità per allineare gli incentivi e garantire impegni a lungo termine, nonché proponiamo il primo protocollo di sfida asincrono che permette prove di archiviazione efficienti

2 Modelli e definizioni

Walrus si basa sulle seguenti assunzioni.

Assunzioni crittografiche. Nel corso del documento, utilizziamo hash() per indicare una funzione hash resistente agli urti. Supponiamo inoltre l'esistenza di firme digitali sicure e impegni vincolanti.

#walrus $WAL