Lasciami spiegare questo nel modo più semplice possibile, perché anche a me questa parte di Walrus ha confuso all'inizio. Walrus ha avuto senso per me solo dopo aver smesso di pensare allo storage nel modo abituale.

Normalmente, quando pensiamo ai server, assumiamo che sia necessaria stabilità. Un server fallisce e le cose si rompono. Due falliscono e le persone vanno in panico. L'infrastruttura è solitamente progettata per mantenere in vita le macchine il più a lungo possibile.

Walrus capovolge quel modo di pensare.

Qui, il fatto che i nodi vadano offline è normale. Le macchine si disconnettono, gli operatori riavviano l'hardware, le reti hanno problemi, le persone aggiornano le configurazioni, i fornitori se ne vanno, i nuovi si uniscono. Tutto ciò è un comportamento atteso, non un'emergenza.

Quindi Walrus è costruito sull'assunzione che i fornitori di archiviazione cambieranno costantemente.

E il motivo per cui questo funziona è semplice una volta che vedi come vengono archiviati i dati.

Quando i dati vengono caricati su Walrus, non vivono su un solo nodo. Il blob viene suddiviso in frammenti e distribuito su molti nodi di archiviazione. Ogni nodo detiene solo una porzione dei dati, non l'intera cosa.

E questa è la parte che conta: per recuperare i dati originali, non hai bisogno di ogni frammento. Hai solo bisogno di abbastanza frammenti.

Quindi nessun singolo nodo è critico.

Se alcuni nodi scompaiono domani, il recupero continua a funzionare. Il sistema estrae semplicemente frammenti da quali nodi sono online e ricostruisce il blob.

Nella maggior parte dei casi, nessuno si accorge nemmeno della partenza dei nodi.

Questo è il motivo per cui la rete non va in panico ogni volta che qualcosa cambia. I nodi non rimangono online perfettamente. A volte gli operatori spengono le macchine per riparare qualcosa. A volte le connessioni semplicemente cadono. A volte un nodo scompare per un po' e poi riappare più tardi.

Questo tipo di movimento è normale per una rete come questa.

Quindi Walrus non si affretta a rimescolare i dati ogni volta che un nodo scompare per un po'. Se lo facesse, la rete continuerebbe a spostare frammenti tutto il tempo, il che renderebbe le cose più lente e instabili invece di più sicure.

Invece di questo, rimane calmo e reagisce solo se abbastanza pezzi di dati iniziano effettivamente a scomparire.

Invece, Walrus aspetta fino a quando la disponibilità dei frammenti diventa effettivamente rischiosa.

Finché abbastanza pezzi dei dati sono ancora là fuori, tutto continua a funzionare.

In altre parole, piccoli cambiamenti nei nodi non disturbano realmente il sistema perché la rete ha già abbastanza pezzi per ricostruire i dati comunque.

Solo quando la disponibilità scende sotto livelli di sicurezza il recupero diventa necessario.

Quella logica di soglia è importante. Mantiene il sistema stabile invece di sovreactare.

La verifica gioca anche un ruolo qui. I nodi di archiviazione dimostrano regolarmente di conservare ancora i frammenti che hanno concordato di mantenere. I nodi che falliscono ripetutamente i controlli smettono lentamente di ricevere nuovi impegni di archiviazione.

I fornitori affidabili continuano a partecipare. Quelli inaffidabili svaniscono naturalmente. Ma questo cambiamento avviene gradualmente, non come rimozioni improvvise che rompono l'archiviazione.

La responsabilità si sposta lentamente attraverso la rete invece di causare interruzioni.

Da una prospettiva applicativa, questo rende la vita più facile. Le app che archiviano dati su Walrus non devono preoccuparsi ogni volta che un nodo va offline. Finché il finanziamento continua e abbastanza frammenti rimangono archiviati, il recupero continua normalmente.

Ma è importante essere chiari sui limiti.

Walrus garantisce il recupero solo finché rimangono disponibili abbastanza frammenti e gli impegni di archiviazione rimangono finanziati. Se troppi frammenti scompaiono perché i nodi partono o il finanziamento scade, la ricostruzione alla fine fallisce.

La ridondanza tollera i fallimenti. Non può recuperare dati che nessuno sta ancora archiviando.

Un'altra realtà qui è che i fornitori di archiviazione affrontano vincoli operativi reali. Lo spazio su disco è limitato. La larghezza di banda costa denaro. I controlli di verifica e il traffico di recupero consumano risorse. I pagamenti WAL compensano i fornitori per la continua archiviazione e fornitura di frammenti.

L'archiviazione è un lavoro continuo, non solo salvataggio dei dati una volta.

Nell'uso reale oggi, Walrus si comporta in modo prevedibile per i team che comprendono queste meccaniche. I caricamenti distribuiscono ampiamente i frammenti. L'archiviazione finanziata mantiene i dati disponibili. Il recupero continua anche mentre i nodi vanno e vengono in background.

Ciò che deve ancora essere migliorato è il tooling del ciclo di vita. I costruttori devono ancora tenere traccia di quando scade il finanziamento dell'archiviazione e rinnovare gli impegni da soli. Una migliore automazione arriverà probabilmente più tardi tramite strumenti dell'ecosistema piuttosto che cambiamenti nel protocollo.

Una volta che questo è diventato chiaro per me, il cambiamento dei nodi ha smesso di sembrare un rischio. È solo parte del modo in cui si comportano le reti distribuite, e Walrus è progettato per assorbire quell'instabilità in silenzio.

Ed è per questo che, nella maggior parte dei casi, le applicazioni continuano a recuperare i dati normalmente anche mentre la rete di archiviazione sottostante continua a cambiare.

#Walrus $WAL @Walrus 🦭/acc