Transparência
Como você tem certeza de que o sorteio é justo
Num sorteio comum, você precisa confiar que ninguém escolheu o vencedor a dedo. Aqui não: o resultado é matemático e qualquer pessoa recalcula para conferir.
A ideia: uma carta lacrada
Antes de vender qualquer número, o organizador escreve o resultado numa carta, lacra e mostra o envelope para todos. Ele não pode mais mudar o que está dentro — mas ninguém consegue ler ainda. No fim, a carta é aberta e todos conferem que bate com o lacre. A “semente” e o “compromisso” são exatamente isso, só que com matemática no lugar do papel.
Como funciona, passo a passo
Antes do sorteio — o compromisso (o lacre)
O sistema gera uma semente secreta (32 bytes aleatórios, um número gigante e imprevisível) e publica o SHA-256 dela — é o Compromisso que aparece na página. O hash é uma função só de ida: a mesma semente sempre gera o mesmo hash, mas a partir do hash é impossível descobrir a semente. Ao publicá-lo, o organizador fica preso àquela semente, que continua secreta.
Durante — os números são vendidos
Cada bilhete vendido fica registrado publicamente, com seu próprio #hash de comprovante.
No sorteio — revela e calcula
A semente é revelada e o vencedor sai de uma fórmula fixa:vencedor = HMAC-SHA256(semente, números vendidos em ordem) → 4 primeiros bytes → resto da divisão pela quantidade de númerosComo é uma fórmula, a mesma semente + os mesmos números dão sempre o mesmo vencedor. Não há onde “torcer”.
Por que é impossível trapacear
Não dá para escolher o vencedor
A semente é gerada antes de saber quem vai comprar o quê, e o resultado depende dela + da lista final de números. Teria que adivinhar uma semente que desse o número desejado — e ainda publicar o hash dela antes. Computacionalmente impossível.
Não dá para trocar a semente depois
Se a semente revelada fosse diferente da original, o SHA-256 dela não bateria com o compromisso publicado no início. Qualquer um percebe na hora.
Não dá para mexer na lista de números
A lista de vendidos entra na fórmula e é pública. Alterá-la mudaria o resultado e deixaria rastro nos comprovantes.
E o melhor: você mesmo confere
Não precisa acreditar na nossa palavra. Na página de cada resultado, o botão “Verificar sorteio no meu navegador” refaz as duas contas no seu próprio aparelho:
- ✓ SHA-256(semente) é igual ao compromisso publicado? → a semente é a original.
- ✓ A fórmula com essa semente dá o número que ganhou? → o resultado é legítimo.
Se qualquer uma falhasse, apareceria um ✗. É matemática pura — reproduzível e impossível de forjar.
Ver sorteios anteriores e verificar“Mas como sei que o cálculo é local mesmo?”
Boa pergunta — você não deveria ter que acreditar na frase “cálculo feito no seu navegador”. Tem como provar, do jeito mais fácil ao mais definitivo:
Confira num site que não é o nosso
Copie a semente revelada — o 2º valor do “Dados técnicos”, não o compromisso — e cole no campo de entrada de qualquer calculadora SHA-256. A saída tem que ser igual ao compromisso (o 1º valor). Dica: o compromisso é o hash da semente — então a semente é a “pergunta” e o compromisso é a “resposta”, nunca o contrário. SHA-256 é padrão público: qualquer site chega no mesmo valor.
Veja que nada é enviado (sem desligar nada)
Abra o DevTools (F12) → aba Network e clique em verificar. Se a resposta viesse do servidor, apareceria uma requisição ali. Não aparece nenhuma — é só JavaScript rodando no seu aparelho.
Refaça a conta por completo
Com a semente e a lista de números, dá para recalcular tudo em qualquer linguagem (Python, etc.) ou no terminal com openssl. O código é aberto no GitHub — o arquivo verificar-cliente.ts mostra que usa o Web Crypto do navegador, sem mandar nada para lugar nenhum.
Em uma frase: o organizador se compromete com um resultado imprevisível antes de saber as vendas, e qualquer pessoa recalcula tudo depois para confirmar que nada foi mudado.