Assunzioni di rete e avversarie. Walrus opera in epoche, ciascuna con un insieme statico di nodi di archiviazione. Walrus è un protocollo Proof-of-Stake delegato. Durante l'epoca, gli stakeholder delegano lo stake a nodi di archiviazione candidati. Alla fine dell'epoca vengono assegnati n = 3f + 1 shard di archiviazione in proporzione ai nodi di archiviazione. L'insieme dei nodi di archiviazione che detiene almeno uno shard è considerato il comitato di archiviazione dell'epoca.
Consideriamo una rete asincrona di nodi di archiviazione in cui un avversario malizioso può controllare fino a f shard di archiviazione, ovvero può controllare qualsiasi sottoinsieme di nodi di archiviazione tale che al massimo f shard siano corrotti. Per semplicità, nel resto del documento assumiamo che ogni shard generi un'identità separata di nodo di archiviazione, in modo che ci siano n nodi di archiviazione e al massimo f nodi di archiviazione siano corrotti.
I nodi corrotti possono discostarsi arbitrariamente dal protocollo. I nodi rimanenti sono onesti e seguono rigorosamente il protocollo. Se un nodo controllato dall'avversario all'epoca e non fa parte dell'insieme di nodi di archiviazione all'epoca e + 1, l'avversario può adattarsi e compromettere un nodo diverso all'epoca e + 1 dopo che il cambio di epoca è stato completato.
Supponiamo che ogni coppia di nodi onesti abbia accesso a un canale affidabile e autenticato. La rete è asincrona, quindi l'avversario può ritardare o riordinare arbitrariamente i messaggi tra nodi onesti, ma deve consegnare ogni messaggio prima che l'epoca termini. Se l'epoca termina, i messaggi possono essere scartati.
Sebbene forniamo un'analisi sugli incentivi, non consideriamo nodi razionali con funzioni di utilità. Questo è lasciato per lavori futuri.
Codici di eliminazione. Come parte di Walrus, proponiamo un archiviazione dati asincrona completa (ACDS) che utilizza uno schema di codifica di eliminazione lineare. Sebbene non sia necessario per le parti principali del protocollo, assumiamo anche che lo schema di codifica sia sistematico per alcune delle nostre ottimizzazioni, il che significa che i simboli sorgente dello schema di codifica compaiono anche come parte dei suoi simboli di output.
Sia Encode(B, t, n) l'algoritmo di codifica. Il suo output è n simboli tali che qualsiasi t possa essere utilizzato
ricostruire B con probabilità elevata. Ciò avviene dividendo prima B in s ≤ t simboli
di dimensione O(|B|) che sono chiamati simboli sorgente. Questi vengono poi espansi generando n − s simboli di riparazione
per un totale di n simboli di output. Sul lato di decodifica, chiunque può chiamare Decode(T, t, n), dove T è un insieme di almeno s simboli codificati correttamente, e restituisce il blob B. Questa decodifica è probabilistica, ma man mano che la dimensione di T aumenta, la probabilità di decodificare con successo il blob aumenta rapidamente verso uno. Assumiamo che la differenza tra il valore soglia t per decodificare con probabilità elevata e il numero di simboli sorgente s sia una piccola costante, il che vale per gli schemi di codifica di eliminazione pratici (come RaptorQ, che utilizziamo nella nostra implementazione). Per semplicità, quindi, spesso assumiamo che s = t, a meno che la distinzione non sia rilevante.
Questo è generalmente sicuro da assumere, poiché i primi t simboli possono essere facilmente calcolati in base ai primi s simboli e possiamo semplicemente considerare questi t simboli come i simboli sorgente, ovvero l'unico effetto di questa assunzione è un piccolo aumento della dimensione del simbolo.
Sottostante blockchain. Walrus utilizza una blockchain esterna come scatola nera per tutte le operazioni di controllo che avvengono su Walrus. Un protocollo blockchain può essere astratto come una scatola nera computazionale che accetta un insieme concorrente di transazioni, ognuna con un messaggio di input Tx(M) e produce un ordine totale di aggiornamenti da applicare allo stato Res(seq, U). Supponiamo che la blockchain non si discosti da questa astrazione e non censuri indefinitamente Tx(M). Qualsiasi protocollo SMR moderno ad alte prestazioni soddisfa questi requisiti; nella nostra implementazione utilizziamo Sui e abbiamo implementato protocolli critici di coordinamento di Walrus nel linguaggio di contratti intelligenti Move
#walrus #WalrusFinance #WAL #Binance #writetoearn

