SHA-256 Commit-Reveal

Sorteio matematicamente
verificável.

Mais transparente que Loteria Federal. Qualquer comprador pode auditar o resultado em casa — usando criptografia de nível bancário.

1

Antes do sorteio

Sistema gera umaseed aleatória e publica:

hash = SHA256(seed)

Hash fica visível pra todos compradores. Seed permanece em cofre criptográfico.

2

No momento do sorteio

Sistema usa a seed para determinar o vencedor:

vencedor = parseInt(
  SHA256(seed + raffleId)
  .substring(0, 8), 16
) % totalTickets

Algoritmo determinístico — mesma seed sempre gera o mesmo vencedor.

3

Após o sorteio

Sistema revela a seed publicamente. Você verifica:

SHA256(seed_revelada)
== hash_publicado_antes ?
→ sim ✓

Se SHA256(seed) bate com o hash original, sorteio é íntegro. Impossível trapacear.

SHA-256 vs métodos tradicionais

Por que a maioria das plataformas ainda depende de mecanismos centralizados.

CritérioSHA-256 (Rifafy)Loteria Federal"Aleatório" do app
Auditável por qualquer compradorSim, em casaSim, mas precisa do extrato CEFNão
Resultado amarrado antes do sorteioSim (hash público)Não (depende do sorteio CEF)Não
Pode ser manipulado pelo organizadorNão — provado por SHA-256Pode trocar de regra apósSim, totalmente
Funciona finais de semana / feriadosSim, 24/7Não — segue calendário CEFSim, mas opaco
Auditoria criptográficaSimNãoNão
Dependência externaZeroCaixa Econômica FederalBackend do app

Verifique você mesmo no terminal

Em qualquer linguagem. Em qualquer máquina. Sem login.

Python

import hashlib
seed_revelada = "xxx"  # da página da rifa, após sorteio
hash_publicado = "yyy" # da página da rifa, antes do sorteio
assert hashlib.sha256(seed_revelada.encode()).hexdigest() == hash_publicado
print("✓ Sorteio íntegro")

Node.js / JavaScript

import { createHash } from 'crypto'
const seedRevelada = 'xxx'
const hashPublicado = 'yyy'
const calculado = createHash('sha256').update(seedRevelada).digest('hex')
console.log(calculado === hashPublicado ? '✓ Íntegro' : '✗ Manipulado')

Online (sem código)

Cole a seed em emn178.github.io/online-tools/sha256.html, copie o resultado, compare visualmente com o hash publicado.

Dúvidas técnicas

O que é um sorteio "verificável"?+
É um sorteio onde o resultado pode ser auditado matematicamente após o fato. Na Rifafy, publicamos um hash SHA-256 antes do sorteio. Depois revelamos a "seed" que gerou esse hash. Qualquer pessoa pode rodar SHA256(seed) e confirmar que o hash bate — provando que o resultado não foi manipulado a posteriori.
Por que é melhor que Loteria Federal?+
Loteria Federal sorteia números públicos, mas você precisa confiar que o organizador não trocou de regra (ex.: usar último prêmio em vez do primeiro) ou de bilhete. Hash SHA-256 elimina essa dependência: o resultado fica criptograficamente "amarrado" antes do sorteio, impossível mudar.
O que acontece se a seed for revelada errada?+
Impossível. Se a seed revelada não bater com o hash original (SHA256(seed) ≠ hash publicado), todos os compradores percebem instantaneamente. Por isso é "commit-reveal": commit antes, reveal depois — sistema não pode trapacear.
Onde fica o hash da minha rifa?+
Visível na página pública da rifa, gerado automaticamente quando o sorteio é configurado. Antes do sorteio você vê: "Hash de compromisso: a3b8c2..." Após o sorteio: "Seed revelada: x9y2z3... → SHA256(seed) = a3b8c2... ✓"
Posso conferir o resultado no meu computador?+
Sim. Use qualquer linguagem (Python, JS, Go, etc): hash = sha256(seed_revelada). Compare com o hash publicado na rifa. Se bater, o sorteio é legítimo.
Que outras plataformas usam isso?+
Sites de jogos online certificados, plataformas DeFi, sistemas eleitorais com voto verificável (e2e). Rifafy é a primeira plataforma de rifa BR a aplicar esse padrão.

Sua rifa, cripto-auditável.

A Rifafy é a única plataforma brasileira que aplica commit-reveal SHA-256 em rifas. Crie a sua agora.

Criar rifa verificável grátis