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

01

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.

02

Durante — os números são vendidos

Cada bilhete vendido fica registrado publicamente, com seu próprio #hash de comprovante.

03

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:

  1. SHA-256(semente) é igual ao compromisso publicado? → a semente é a original.
  2. 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:

A

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.

B

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.

C

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.