#dusk @Dusk

Eu estava procurando a fonte de aleatoriedade por trás da seleção determinística do Dusk.

Eu esperava um mecanismo separado, totalmente independente. Um beacon de aleatoriedade externo. Algum valor gerado independentemente da cadeia.

Não existe um.

O seed usado para selecionar o próximo gerador de blocos e os comitês de votação vem da assinatura do gerador do bloco atual sobre o seed do bloco anterior.

Cada bloco produz a entrada de que a próxima seleção precisa.

Foi essa a parte que me interrompeu.

O seed não é simplesmente mantido de bloco em bloco. Ele é produzido de novo a cada vez, pelo gerador do bloco atual. Um gerador que pudesse prever a seleção futura teria um motivo para explorar esse conhecimento.

O whitepaper é direto sobre por que isso importa. Porque cada seed só existe uma vez que seu gerador a assina; futuros geradores e membros do comitê não podem ser calculados com antecedência.

Não porque as informações estejam escondidas em algum lugar.

Mas porque ainda não existem.

Eu vinha imaginando a imprevisibilidade como algo que um sistema de consenso precisa importar de algum lugar.

@Dusk trata isso como algo que a cadeia produz, um passo de cada vez.

Isso muda o que eu acho que é o limite de segurança. A propriedade importante não é que o seed permaneça secreto. É que a informação necessária para a próxima seleção não existe até que o bloco atual tenha sido produzido.

O que eu ainda quero entender é o que acontece quando um pequeno conjunto de geradores produz vários blocos consecutivos. Essa construção de assinatura em cadeia preserva a mesma imprevisibilidade ao longo desse trecho, ou o controle repetido da produção de blocos altera alguma das suposições de segurança?

$DUSK só fica mais interessante para mim se essa cadeia de dependência se sustentar em um trecho real de geradores consecutivos, não apenas no modelo.