O marco @ShieldedLabs Crosslink 4a rasgou: - Corrigidos 2 grandes bugs do MS3 - UX muito mais fácil, ~ x3 participantes na lista BFT - Nosso novo BFT personalizado provou ser mais estável do que o SDK anterior - experimentamos uma falha de segurança BFT devido a uma lacuna de projeto conhecida (não um bug BFT) Aperte o cinto: 🧵
@ShieldedLabs Devido a uma incompatibilidade de impedância de arquitetura de código entre um tempo limite de sincronização de PoW e baixa dificuldade de minerador, nossa rede tinha divisões longas de PoW frequentes. Em vez de tentar consertar esse pré-workshop, dobramos a melhoria de nosso novo BFT, UX e vizualizador. Por que? …
@ShieldedLabs Por que não corrigir o problema óbvio de saber? Porque estamos priorizando a resiliência do protocolo de teste, recursos de diagnóstico e UX. Na verdade, essa é uma falha perfeita para reter ao provar a resiliência do BFT, a utilidade do visualizador e as técnicas de diagnóstico.
@ShieldedLabs A incompatibilidade de impedância da arquitetura de código basicamente simulou uma rede de "particionamento pesado", como se as conexões de internet entre mineradores e nós BFT estivessem falhando com frequência e, ocasionalmente, reparando. Esta demonstração mostrou a resiliência do Crosslink e foi muito melhor do que eu esperava.
@ShieldedLabs tirei uma captura de tela de como são os garfos PoW muito longos na estrutura Crosslink. Aqui você vê que, embora existam bifurcações PoW muito longas, os atestados Crosslink são coerentes: eles não saltam entre bifurcações; ou seja, a segurança da finalidade é preservada.
@ShieldedLabs Houve uma violação de segurança devido a uma lacuna de implementação conhecida: a Zebra tem o bloco 100 no estilo Bitcoin "YOLO finality" e ainda não garantimos que a finalidade do BFT seja suprema. Adicione particionamento pesado e atingimos a violação de segurança depois que alguns nós foram >100 blocos PoW fora de sincronia.
@ShieldedLabs Ok, então é uma lacuna de segurança conhecida, que pena, vamos consertá-la, certo? Sim, mas havia um grande lado positivo. Poderíamos ter apenas dito "ok, bug arquivado, volte na próxima vez". Em vez de: …
Improvisamos uma recuperação de tenda BFT ao vivo! Conseguimos reiniciar os nós BFT fora de sincronia e retomar o BFT (com a lista não modificada) sem interromper o PoW, que foi uma validação ao vivo de uma pedra angular do Crosslink: A segurança é tão forte quanto qualquer subprotocolo: a falha do BFT não atrapalhou o PoW.
Para ser claro, porém, esta não foi uma reinicialização realista do BFT. Contamos com a natureza efêmera atual do estado BFT para esquecer as assinaturas conflitantes. Ainda assim, este foi um desenvolvimento totalmente improvisado e inesperado do workshop. Bônus de XP para esse processo de operações gerais e validação Crosslink.
@ShieldedLabs Depois disso (final do MS5), passaremos a maior parte de 2026 *reimplementando* um nó reforçado e pronto para produção usando todos os nossos aprendizados de design/impl durante esta fase de protótipo. 2026 = Desafio de escrutínio! Pode vir. Escudos de foguete sobem! 🚀🛡️
6,7K