Verificar sorteio aleatório

Acrafto Team Segurança
Atualizado

Cole um código de certificado para verificá-lo.

Tudo roda no seu navegador. Nenhum número sai do seu dispositivo.

O que esta ferramenta verifica

Alguém realizou um sorteio e lhe deu um código de certificado. Esta página diz se esse código é internamente consistente — se os números realmente provêm da semente que o organizador publicou, e se a impressão digital realmente cobre essa semente e essas configurações.

Tudo roda no seu navegador. O certificado nunca é enviado para lugar nenhum.

As duas verificações

Impressão digital. O certificado contém um hash SHA-256 sobre a semente e as configurações do sorteio. Esta página recalcula esse hash. Se não corresponder ao que está armazenado no certificado, a semente ou as configurações foram alteradas depois que o compromisso foi feito.

Repetição. O gerador com semente é totalmente determinístico, por isso a mesma semente e as mesmas configurações produzem sempre os mesmos números. Esta página repete o sorteio e compara. Se os números forem diferentes, o resultado foi editado.

Um certificado só passa quando ambas as verificações são bem-sucedidas.

O que uma verificação bem-sucedida prova e não prova

Prova que o organizador não alterou discretamente a semente, as configurações ou os números depois de ter se comprometido com eles.

Não prova que a semente era imprevisível. Se o organizador escolheu a semente sozinho e nunca publicou a impressão digital antes de sortear, pode ter testado várias sementes e ficado com a que lhe agradou. A impressão digital só tem significado quando foi publicada antes do sorteio, em um local com data e hora — uma postagem, um comentário, uma mensagem.

Esse é o objetivo da etapa de compromisso: ela transforma um “confie em mim” em algo que qualquer pessoa pode verificar depois.

Realizar um sorteio que as pessoas possam verificar

  1. Defina o seu intervalo e quantos números você precisa.
  2. Aperte Criar impressão digital. Publique o hash que obtiver — na postagem do sorteio, em um comentário, onde os participantes possam vê-lo com data e hora.
  3. Encerre as inscrições e depois sorteie.
  4. Publique a semente e o certificado. Qualquer pessoa pode colá-lo aqui.

Pular a etapa 2 torna o certificado meramente decorativo. Publicar primeiro a impressão digital é o que lhe dá peso.

Por que uma semente sozinha não basta

Uma semente é apenas texto. Ela só produz números quando se sabe como foi expandida para eles — qual algoritmo, qual intervalo, quantos números, se repetições eram permitidas.

É por isso que a impressão digital cobre a semente e as configurações. Sem isso, um organizador poderia publicar uma semente e depois alegar que o sorteio ocorreu em outro intervalo e que outro conjunto de números era o resultado real. O compromisso fecha essa porta.

Por que a impressão digital não pode ser falsificada

Um hash SHA-256 é uma função de mão única: fácil de calcular para a frente, e sem nenhum método conhecido de rodar para trás. É isso que torna o compromisso vinculante.

Para trapacear, um organizador precisaria publicar uma impressão digital e depois revelar uma semente diferente que produza o mesmo hash — um ataque de segunda pré-imagem (second-preimage attack). Ninguém encontrou um contra o SHA-256, e o espaço de busca torna a força bruta inútil: 2²⁵⁶ é mais do que o número estimado de átomos no universo observável.

O que também não podem fazer é influenciar o resultado. Mudar um único caractere da semente muda cerca de metade dos bits do hash, de forma imprevisível. Não há como buscar uma semente que ao mesmo tempo corresponda a uma impressão digital publicada e produza um vencedor conveniente, porque seria preciso fixar o hash primeiro e o hash depende de tudo.

Assim, a impressão digital fixa completamente a semente e as configurações. A única coisa que ela não fixa é quando foi publicada — por isso o carimbo de data e hora da sua postagem faz metade do trabalho.

Onde sorteios verificáveis importam

  • Sorteios e concursos — quem não ganhou é quem costuma perguntar
  • Seleção em comunidades e DAOs — escolher quem recebe uma vaga, uma doação, um papel
  • Pesquisa — um plano de amostragem que um revisor pode refazer e confirmar
  • Promoções com prêmios e exposição legal — algumas jurisdições exigem um método demonstrável, não apenas uma afirmação
  • Qualquer coisa que um estranho precise acreditar — quanto mais distante o público, menos vale por si só “escolhemos aleatoriamente”

Perguntas frequentes (FAQ)

Um certificado válido significa que o sorteio foi aleatório? Significa que o sorteio não foi alterado depois do compromisso. Se ele foi imprevisível depende de quando a impressão digital foi publicada. Publicada antes do sorteio, publicamente, com data e hora — então sim, o organizador ficou vinculado. Publicada depois, não prova nada sobre a imprevisibilidade.
Meu certificado é enviado para algum lugar? Não. A verificação roda inteiramente no seu navegador, em JavaScript. Nada sai do seu dispositivo, e não existe nenhum servidor que pudesse registrá-lo.
O que significa "a impressão digital não corresponde"? A semente ou as configurações no certificado não são as que foram comprometidas. Alguém editou o certificado, ou ele foi gerado por outra ferramenta.
O que significa "a semente não produz estes números"? A impressão digital está intacta, mas a lista de números foi alterada depois. A ferramenta mostra os números que a semente realmente produz, para que você possa ver a diferença.
Posso verificar um sorteio de outro site? Só se ele tiver produzido um certificado neste formato. A verificação depende do algoritmo exato do gerador — uma semente sozinha não tem significado sem saber como foi expandida para números.
E se o certificado for muito longo? O comprimento depende de quantos números foram sorteados, porque o certificado contém o resultado completo. Um sorteio de seis números dá um código curto; um sorteio de dez mil dá um código longo. Ambos são verificados da mesma forma.

Agradeceria se você compartilhasse estas páginas com amigos, as salvasse nos favoritos ou as linkasse. Obrigado! 🙏