Sorteio verificável
Não precisa confiar. Dá para conferir.
Em muitas rifas você só tem a palavra de quem sorteia. Aqui, o resultado é calculado de um jeito que nem nós conseguimos escolher ou prever, e qualquer pessoa pode refazer a conta depois, no próprio navegador.
Confira uma rifa agora
Como funciona, em 4 momentos
- 1Na criação: o segredo é trancadoGeramos um número secreto (a seed) e publicamos só o hash SHA-256 dele, o "compromisso". Ele aparece na página da rifa antes de qualquer venda. Mudar a seed depois mudaria o hash, e todo mundo veria.
- 2No fim das vendas: a lista é congeladaPublicamos o hash da lista de cotas vendidas (número e apelido de cada uma). Ninguém consegue comprar depois disso.
- 3Um número público do futuroEscolhemos uma rodada do drand que só vai sair ~30 segundos depois do fim das vendas. O drand é um serviço público de números aleatórios mantido por universidades e empresas (League of Entropy). Ninguém sabe o valor antes.
- 4O sorteio e a revelaçãoCom o valor do drand, a fórmula abaixo calcula os ganhadores e pagamos os prêmios. Na hora revelamos a seed para qualquer pessoa conferir.
A fórmula
Para cada prêmio k (0 = 1º lugar) e tentativa t = 0, 1, 2…
n = quantidade de cotas vendidas. O descarte garante que todas as cotas tenham exatamente a mesma chance.
Quer conferir fora do site?
Todos os dados de uma rifa (seed, compromisso, rodada e valor do drand e a lista completa de cotas) ficam públicos em rifinha.fun/api/rifas/NÚMERO/verificacao. Este código em Python faz a mesma conta:
O valor do drand de qualquer rodada pode ser consultado direto na fonte pública, em api.drand.sh (rede quicknet). A versão do algoritmo é a "v1"; se um dia mudar, a versão aparece nos dados da rifa.