#dusk $DUSK
Todo mundo discute consenso. Quase ninguém olha uma camada abaixo.
@Dusk não usa fofoca aleatória para mover blocos entre nós. Ela usa Kadcast — uma sobreposição estruturada, em que a posição de cada nó determina para quem ele encaminha. A documentação dá o motivo em uma linha: menos largura de banda e mais latência previsível.
“Previsível” é a palavra que importa aqui.
A fofoca aleatória é robusta, mas barulhenta. Uma mensagem pode chegar até você em 200 ms ou 900 ms, dependendo da sorte. Para a maioria das cadeias, isso basta. Para uma cadeia vendendo ~10 segundos de finalidade determinística para instituições, a variação na propagação não é um detalhe cosmético — ela faz parte da promessa de liquidação. Você não consegue garantir o timing da finalidade em cima de uma camada de transporte que dá de ombros.
A segunda metade é a auditoria. Blaize revisou a implementação em Rust e deu uma nota 9,8 de 10, mas o que torna os achados interessantes: desvios da especificação original do Kadcast, casos-limite perdidos no processamento de nós ociosos e um tratamento ambíguo de campos reservados nos cabeçalhos das mensagens. Tudo resolvido ou verificado, exceto dois itens informativos.
Campos reservados e nós ociosos. Não é nada glamouroso. Exatamente o tipo de coisa que vira um incidente estranho em produção três anos depois.
A pergunta aberta com a qual eu continuo ficando: uma sobreposição estruturada significa que a topologia é derivável em vez de aleatória. É isso que compra a previsibilidade. Também torna os padrões de tráfego mais fáceis de observar para uma cadeia cujo valor inteiro é a confidencialidade? Eu sinceramente não sei, e não encontrei uma análise pública que responda.
Para uma cadeia de privacidade — você trocaria alguma previsibilidade de propagação por uma rede mais bagunçada e difícil de mapear?
Todo mundo discute consenso. Quase ninguém olha uma camada abaixo.
@Dusk não usa fofoca aleatória para mover blocos entre nós. Ela usa Kadcast — uma sobreposição estruturada, em que a posição de cada nó determina para quem ele encaminha. A documentação dá o motivo em uma linha: menos largura de banda e mais latência previsível.
“Previsível” é a palavra que importa aqui.
A fofoca aleatória é robusta, mas barulhenta. Uma mensagem pode chegar até você em 200 ms ou 900 ms, dependendo da sorte. Para a maioria das cadeias, isso basta. Para uma cadeia vendendo ~10 segundos de finalidade determinística para instituições, a variação na propagação não é um detalhe cosmético — ela faz parte da promessa de liquidação. Você não consegue garantir o timing da finalidade em cima de uma camada de transporte que dá de ombros.
A segunda metade é a auditoria. Blaize revisou a implementação em Rust e deu uma nota 9,8 de 10, mas o que torna os achados interessantes: desvios da especificação original do Kadcast, casos-limite perdidos no processamento de nós ociosos e um tratamento ambíguo de campos reservados nos cabeçalhos das mensagens. Tudo resolvido ou verificado, exceto dois itens informativos.
Campos reservados e nós ociosos. Não é nada glamouroso. Exatamente o tipo de coisa que vira um incidente estranho em produção três anos depois.
A pergunta aberta com a qual eu continuo ficando: uma sobreposição estruturada significa que a topologia é derivável em vez de aleatória. É isso que compra a previsibilidade. Também torna os padrões de tráfego mais fáceis de observar para uma cadeia cujo valor inteiro é a confidencialidade? Eu sinceramente não sei, e não encontrei uma análise pública que responda.
Para uma cadeia de privacidade — você trocaria alguma previsibilidade de propagação por uma rede mais bagunçada e difícil de mapear?