Eu voltei ao longo da documentação $DUSK na noite passada, e o design do consenso fez mais sentido quando parei de vê-lo como “prova de participação”.

A Dusk chama isso de Atribuição Enxuta (SA), um sistema permissionless baseado em comitês de PoS. Qualquer pessoa pode se tornar um provisionador fazendo staking, com o mínimo de 1.000 DUSK. Um stake se torna elegível após M = 2 × epoch − (height mod epoch), com a epoch tendo 2.160 blocos.

Cada rodada pode passar por iterações. A seleção determinística (DS) escolhe o gerador; depois, comitês tratam de validação e ratificação. A validação precisa de 2/3 dos créditos ponderados para Valid, enquanto Invalid ou NoCandidate precisa de 1/2 + 1. A ratificação usa os mesmos limiares, com até 50 iterações permitidas.

O que chamou minha atenção foi a ponderação do comitê: existem 64 créditos no total, e um votante com 3 créditos conta três vezes. Os votos usam assinaturas BLS e podem ser agregados, enquanto um bitset identifica os votantes.

A DS usa créditos ponderados pelo stake e uma pontuação SHA3 baseada no seed do bloco, na rodada, no step e no número de crédito. O seed é assinado pelo gerador.

Minhas perguntas são: essa ponderação cria riscos de concentração conforme o stake cresce? E o processo é o quão resiliente se alguns poucos provisionadores grandes dominarem os créditos?

#dusk $DUSK @Dusk