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.
Ninguém sabe o número antes do sorteio — nem o organizador
O ganhador depende de duas coisas ao mesmo tempo: uma semente secreta (lacrada no começo) e a lista completa de quem comprou cada número. Essa lista só fica pronta no último instante, quando as vendas fecham — então metade da conta nem existe até o fim.
Por isso é impossível, para qualquer pessoa — inclusive nós —, calcular ou adivinhar o número antes do sorteio. Não é “prometemos que não olhamos”: é matematicamente impossível olhar.
A ideia: um cofre com um ingrediente secreto
Antes de vender qualquer número, o organizador sorteia um ingrediente secreto, lacra num cofre e mostra o cofre fechado para todos. Repare: esse ingrediente sozinho não revela o vencedor — ele só vira resultado quando, no fim, é misturado com a lista de números vendidos numa conta fixa. Como o ingrediente foi lacrado antes das vendas (e o lacre denuncia qualquer troca), ninguém consegue mirar num vencedor. A “semente” (o “segredo” da animação acima) e o “compromisso” (o lacre) são exatamente isso, só que com matemática no lugar do papel — três nomes para a mesma coisa.
Veja acontecendo
A história em quatro passos: um segredo é guardado antes das vendas e, no fim, é juntado com quem comprou — na frente de todos — pra sortear o ganhador.
Antes de vender, a máquina guarda um segredo numa caixa trancada. Ninguém vê esse segredo — nem o organizador.
Isto é um sorteio de verdade — confira você mesmo
Não é encenação: estes são os dados reais desta demonstração, com a mesma fórmula da produção. Aperte o botão e seu navegador refaz as contas — igualzinho aos sorteios de verdade.
Como a conta chega no 09
- 1.A semente + a lista de bilhetes [1–15] passam pela fórmula (HMAC) e viram um número gigante: ….
- 2.Divide esse número por 15 (a quantidade de bilhetes). O que importa é o resto da divisão: ….
- 3.O resto é a posição na fila (contando do zero): a posição … cai no bilhete 09. Pronto — é o ganhador.
A mesma semente + os mesmos bilhetes dão sempre o mesmo número gigante → o mesmo resto → o mesmo ganhador. Ninguém escolhe.
O segredo: antes e depois
Antes (na abertura)
Publica-se só o compromisso (a impressão digital do segredo). O segredo fica escondido, mas travado: trocá-lo mudaria a impressão digital, que já está publicada. Ninguém consegue mirar num número — nem calcular o vencedor, porque o segredo é secreto.
Depois (no fim)
O segredo é revelado. Confere-se que a impressão digital dele bate com a publicada (prova que é o mesmo de antes) e, com ele + a lista, a fórmula dá o vencedor. Como estava travado desde antes, ninguém escolheu o resultado.
Pode também copiar a semente e conferir em qualquer calculadora SHA-256 — ou ver sorteios reais em sorteios anteriores.
Nos bastidores, o “cofre” é matemática (não tem papel nem chave de verdade) — é exatamente isso que explicamos a seguir.
“Mas por que não usar só um sorteador, tipo o random.org?”
Boa pergunta! Um sorteador online também dá um número “aleatório”. A diferença não é a sorte — é poder conferir em vez de ter que confiar.
Um sorteador comum
- O dono aperta um botão e sai um número.
- Só que ele pode apertar escondido várias vezes e te mostrar só a vez que deu o número do amiguinho dele. Você nem fica sabendo.
- É tipo jogar uma moeda escondido e só avisar quando deu cara.
- No fim, você tem que confiar que ele apertou só uma vez.
O nosso jeito
- Antes de vender qualquer número, o sistema lacra um segredo num cofre — na frente de todos.
- Esse segredo é o que vai sortear o ganhador no fim (junto com a lista de quem comprou). Mas como ele já está lacrado, o dono não pode trocar nem ficar tentando até dar o número que ele quer.
- No fim, o cofre abre e qualquer um refaz a conta e vê que bate.
- Você não precisa confiar — você confere.
Sorteador comum: “confia em mim que eu apertei só uma vez.”
Aqui: “está lacrado desde antes — e você mesmo confere.”
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 lacra um ingrediente secreto antes de saber as vendas; o resultado só nasce da mistura dele com a lista de números, e qualquer pessoa recalcula tudo depois para confirmar que nada foi mudado.