Nesses dois dias, eu estive lendo os documentos de consenso do Dusk e quanto mais olho, mais sinto que existe um detalhe que acerta em cheio: muitos nós validadores de cadeias PoS acumulam duas funções—ao mesmo tempo produzem blocos e verificam blocos. Em outras palavras, é uma pessoa com dois papéis: proponente e juiz. Esse tipo de design, por si só, carrega uma brecha; o caminho para agir mal (maliciosamente) fica especialmente curto.
//
A abordagem do Dusk é cortar essas duas coisas completamente.
O consenso deles chama-se SBA (Segregated Byzantine Agreement). A ideia central é separar, por design, os papéis de "produzir blocos" e "blocos de atestação". Um conjunto de nós propõe blocos candidatos; outro conjunto de nós verifica, faz a votação e decide qual bloco deve ser gravado na cadeia.
Esses dois grupos têm responsabilidades e identidades diferentes: um só propõe, o outro só audita. Assim, ninguém consegue ser, ao mesmo tempo, atleta e árbitro.
//
Há ainda um detalhe de engenharia bem interessante.
Na fase de validação, muitos nós precisam assinar individualmente para votar. Se cada assinatura fosse transmitida e verificada separadamente, a sobrecarga de rede subiria junto com o número de nós. A ideia de assinaturas agregadas BLS é comprimir milhares de assinaturas independentes em um resultado agregado curto: outros nós só precisam verificar essa única assinatura agregada, o que equivale a validar as votações de todos—e, de uma vez, reduz-se o custo de verificação, aumentando naturalmente a eficiência do consenso.
//
O que torna essa separação realmente valiosa está no aumento do limiar para conluio.
Se produzir blocos e verificar blocos forem do mesmo grupo, basta controlar um papel para causar dano. Depois de dividir em duas etapas, para manipular o resultado de verdade, é preciso tentar subornar ao mesmo tempo o lado da produção e o lado da atestação—duas partes totalmente independentes. Como esses lados são escolhidos, como as identidades são definidas e como os incentivos são dados são planejados separadamente. Com isso, o custo do conluio e o risco de exposição sobem diretamente.
Essa lógica de separação de responsabilidades não é novidade na governança tradicional, mas o Dusk a solda na camada mais fundamental do consenso—não fica só no discurso. Talvez esse seja exatamente o problema que a SBA pretende resolver.
@Dusk $DUSK #dusk
Qual é o design central do consenso SBA?