Il traguardo 4a di @ShieldedLabs Crosslink è stato raggiunto: - risolti 2 bug principali da ms3 - UX molto più semplice, ~x3 partecipanti nel roster BFT - il nostro nuovo BFT su misura si è dimostrato più stabile rispetto al precedente sdk - abbiamo riscontrato un fallimento di sicurezza BFT a causa di un noto gap di design (non un bug BFT) Allacciate le cinture: 🧵
@ShieldedLabs A causa di un'incompatibilità nell'architettura del codice tra un timeout di sincronizzazione PoW e una bassa difficoltà dei miner, la nostra rete ha avuto frequenti lunghi split PoW. Invece di cercare di risolvere questo problema prima del workshop, ci siamo concentrati sul miglioramento del nostro nuovo BFT, UX e visualizzatore. Perché? …
@ShieldedLabs Perché non risolvere il problema noto e ovvio? Perché stiamo dando priorità alla resilienza del protocollo di test, alle funzionalità diagnostiche e all'UX. Questo è in realtà un difetto perfetto da mantenere mentre dimostriamo la resilienza BFT, l'utilità del visualizzatore e le tecniche diagnostiche.
@ShieldedLabs L'impatto dell'architettura del codice ha fondamentalmente simulato una rete "fortemente partizionata", come se le connessioni internet tra i miner e i nodi BFT fallissero frequentemente e si riparassero occasionalmente. Questo ha dimostrato la resilienza di Crosslink, e è andato molto meglio di quanto mi aspettassi.
@ShieldedLabs Ho fatto uno screenshot di come appaiono i fork PoW molto lunghi nella struttura Crosslink. Qui puoi vedere che, sebbene ci siano fork PoW molto lunghi, le attestazioni Crosslink sono coerenti: non saltano tra i fork; cioè, la sicurezza della finalità è preservata.
@ShieldedLabs C'è stata una violazione della sicurezza a causa di un noto gap di implementazione: Zebra ha una "finalità YOLO" in stile Bitcoin di 100 blocchi e non abbiamo ancora garantito che la finalità BFT sia suprema. Aggiungi una pesante partizione e abbiamo riscontrato la violazione della sicurezza dopo che alcuni nodi erano >100 blocchi PoW fuori sincronizzazione.
@ShieldedLabs Ok, quindi è una lacuna di sicurezza nota, peccato, sistemiamola, giusto? Sì, ma c'era un grande lato positivo. Avremmo potuto semplicemente dire "ok, bug registrato, torna la prossima volta". Invece: …
Abbiamo improvvisato un recupero dal guasto di BFT in tempo reale! Siamo riusciti a riavviare i nodi BFT fuori sincronizzazione e riprendere BFT (con il roster non modificato) senza interrompere il PoW, il che è stata una validazione dal vivo di un pilastro di Crosslink: La sicurezza è forte quanto ciascun sottoprotocollo: il fallimento di BFT non ha deragliato il PoW.
Per essere chiari, però, questo non era un riavvio BFT realistico. Ci siamo affidati alla natura effimera attuale dello stato BFT per dimenticare le firme in conflitto. Tuttavia, questo è stato uno sviluppo totalmente improvvisato e inaspettato del workshop. Bonus XP per quel processo generale di operazioni e validazione Crosslink.
@ShieldedLabs Dopo di che (fine di MS5), passeremo la maggior parte del 2026 *ri-implementando* un nodo rinforzato e pronto per la produzione utilizzando tutte le nostre esperienze di design/implementazione durante questa fase prototipale. 2026 = il guanto della scrutinio! Avanti così. I Rocket Shields si alzano! 🚀🛡️
5,37K