La separazione dei ruoli tra esecuzione e archiviazione nello stack Walrus
Una delle scelte di progettazione più silenziose ma importanti dietro Walrus è la chiara separazione tra esecuzione e archiviazione. I livelli di esecuzione sono progettati per velocità e conferma. I livelli di archiviazione sono progettati per durata e scalabilità. Provare a fare entrambe le cose contemporaneamente di solito impone compromessi che indeboliscono entrambi i lati.
Walrus evita questo problema concentrando l'attenzione solo sull'archiviazione e lasciando l'esecuzione alle catene meglio adatte a tale compito. Questo approccio consente di modellare l'economia dell'archiviazione attorno alla persistenza invece che attraverso il throughput delle transazioni. Inoltre elimina la pressione per l'archiviazione di competere con le commissioni di esecuzione.
Col tempo, questo tipo di struttura modulare rende le cose più sensate. I sistemi diventano più facili da capire, più semplici da gestire e meno fragili. Ogni livello ha un compito chiaro e nulla viene costretto a svolgere un lavoro per cui non era stato progettato. Questa semplicità è ciò che rende l'intera struttura più sicura e più pratica da utilizzare.


