Transparência em sorteios de skins

Nosso sistema usa HMAC‑SHA512 com commit → draw → reveal. Qualquer pessoa consegue verificar o resultado de forma independente.

  • Commit: publicamos o hash do server_seed (com salt).
  • Draw: sorteio usa server_seed e uma mensagem canônica.
  • Reveal: revelamos server_seed e salt.
  • Verify: você confirma o resultado no seu navegador.

Exemplo de mensagem

message = pf:algo|raffle_id=id|client_seed=seed|frozen_at=timestamp|nonce=nonce

digest = HMAC‑SHA512(server_seed, message)

index = (hex(digest[0..6]) % total) + 1

Como funciona

Etapa 1
Commit

Publicamos o hash do server seed (com salt).

Etapa 2
Draw

Usamos server seed secreto + mensagem canônica.

Etapa 3
Reveal

Revelamos server seed e salt para todos.

Etapa 4
Verify

Você valida o hash e recomputa o índice vencedor.

Verificar um sorteio

Cole os dados públicos da rifa. Campos de commit são opcionais (se a rifa usar commit com salt).

Formato: pf:algo|raffle_id=id|client_seed=seed|frozen_at=timestamp|nonce=nonce

Resultado

Preencha os campos e clique em Verificar.

FAQ

O que é commit–reveal?

Publicamos um hash do server_seed antes do sorteio. Depois revelamos o valor para que qualquer pessoa comprove que não foi alterado.

Posso verificar sem baixar nada?

Sim. Esta página usa WebCrypto (HMAC‑SHA512) no seu navegador. Basta colar os valores públicos.

E se houver re‑sorteio?

Incrementamos o nonce e atualizamos a mensagem. O commit do server_seed permanece o mesmo.