Como provar que o sorteio foi honesto

Print não prova. Live também não. O que prova é uma lista congelada, um compromisso público antes do resultado e um procedimento que qualquer estranho consegue repetir sem falar com você.

Por que print de tela não prova nada

Print de tela tem três problemas empilhados. Ele é repetível: nada impede rodar a roleta dez vezes e printar só a décima. Ele é editável: trocar um @ em um editor de imagem não exige habilidade nenhuma. E o terceiro problema é o que realmente derruba tudo — o print mostra a saída de um processo cuja entrada ninguém viu.

Gravar a tela ou fazer o sorteio ao vivo resolve o primeiro problema e só ele. A audiência passa a saber que o botão foi apertado uma vez, mas continua sem saber de onde veio a lista que estava na tela. Você podia ter removido dois nomes antes de abrir a ferramenta e a gravação ficaria idêntica. E a gravação só vale para quem se dispõe a reassistir tudo.

A pergunta que o participante desconfiado faz não é "você apertou o botão?". É "eu estava na lista quando você apertou?". Prova de sorteio é prova sobre a lista, não sobre o clique.

Os três requisitos de um resultado auditável

Auditável quer dizer uma coisa bem específica: um estranho, sem cadastro, sem falar com você e sem confiar em você, chega ao mesmo vencedor. Se algum passo depende de acreditar na sua palavra, aquilo não é prova, é palavra com estética de prova.

Na prática, são três requisitos. Falhar em um deles derruba a prova inteira, por melhores que sejam os outros dois.

  • A lista de participantes está congelada e publicada — o arquivo exato que entrou no sorteio, não um resumo, não um número.
  • O resultado está amarrado a um valor que você não pôde escolher depois de ver a lista.
  • O procedimento é público e determinístico: mesma lista mais mesmo valor sempre dão o mesmo vencedor, e qualquer um consegue rodar isso sozinho.

Congelar a lista é a parte que quase todo mundo pula

Congelar é definir um instante de corte e transformar quem estava dentro dele em um arquivo que não muda mais. Um participante por linha, ordem previsível (ordem de coleta ou alfabética serve), publicado como texto puro. Depois disso você gera o hash desse arquivo e publica junto do resultado — nunca depois que a discussão sobre o vencedor já começou, porque hash publicado no meio da briga não prende nada. No Linux: `sha256sum participantes.txt`. No macOS: `shasum -a 256 participantes.txt`. No Windows, pelo PowerShell: `Get-FileHash participantes.txt -Algorithm SHA256`. Quem baixar o arquivo roda o mesmo comando e confere se bate.

Aqui vai a parte honesta que quase nenhuma ferramenta escreve: o hash prova que a lista não mudou depois, não prova que ela está completa. São garantias diferentes. Completude depende de você ter publicado antes as regras de quem entra, e de admitir o que a coleta não alcançou.

E é justamente aí que mora a ambiguidade que vira acusação de fraude: é comum o número de participantes que a ferramenta mostra não bater com o número de comentários que o Instagram exibe no post. Dependendo da ferramenta e da configuração, respostas a comentários podem ser descartadas, comentários repetidos da mesma pessoa podem virar uma entrada só, contas apagadas somem — e em posts muito grandes existe um teto de coleta do próprio Instagram que nenhuma ferramenta fura. Se você não decidiu essas regras antes, vai decidir depois — e decidir depois é indistinguível de manipular.

Antes de publicar, responda por escrito:

  • Cada @ marcado vale uma chance ou cada comentário vale uma chance? Escolha uma e escreva na legenda.
  • Respostas dentro de um comentário contam como participação?
  • A mesma pessoa marcando o mesmo amigo várias vezes conta várias vezes?
  • Qual é a hora exata do corte, com fuso horário?
  • O que acontece com quem apagou o comentário ou desativou o perfil antes do sorteio?

Semente e hash: o compromisso feito antes do resultado

Sorteio digital em geral não usa acaso puro: usa um gerador pseudoaleatório, uma função que recebe a lista e um número inicial — a semente — e devolve sempre o mesmo vencedor para a mesma dupla. Isso é bom: determinismo é o que torna a auditoria possível. O risco é outro: quem escolhe a semente pode ir testando sementes até sair o nome que quer. É o ataque óbvio e é o que a sua prova precisa fechar.

A defesa conhecida chama-se commit-reveal e é mais simples do que o nome sugere. Antes de encerrar as participações, você publica o hash da semente — um código que não revela o valor mas prende você a ele. Depois do corte, você revela a semente. Qualquer pessoa confere que o hash da semente revelada é igual ao publicado antes e conclui que você não trocou de semente no meio do caminho. Um detalhe que costuma ser esquecido: a semente precisa ser longa e imprevisível, senão dá para adivinhá-la a partir do próprio hash testando valores, e o compromisso não vale nada.

Existe uma alternativa de baixa tecnologia que cabe até em sorteio de perfil pequeno: amarrar o resultado a um número público e futuro, que ninguém controla, e anunciar isso na legenda antes do encerramento. Você declara a fórmula (por exemplo, tal número público vira o índice da linha na lista congelada) e a coisa se resolve na frente de todo mundo. Um aviso: se a sua ação se enquadra como promoção comercial sujeita a autorização no Brasil, a mecânica é regulada e não dá para improvisar — confirme as regras aplicáveis antes de escolher o método.

Como um terceiro reproduz o sorteio

A prova só existe se o caminho de verificação couber em um parágrafo que um leigo consegue seguir. Publique esse parágrafo em português, não em jargão. "Usamos um algoritmo criptográfico seguro" não é informação, é decoração.

Um roteiro de verificação decente tem quatro passos: baixar o arquivo de participantes; rodar o comando de hash e comparar com o valor publicado; pegar a semente revelada; aplicar a regra publicada e chegar ao mesmo vencedor. Se você não consegue escrever esses quatro passos para o seu sorteio, ele não é auditável — independentemente de qual ferramenta você usou.

Vale um teste antes de precisar: peça para alguém que não participou seguir o roteiro. Se a pessoa travar em algum passo, o passo está mal explicado — e mal explicado, na hora da briga, vira suspeito.

O que responder quando falam que foi armado

A acusação costuma vir em uma de duas formas: "o ganhador é amigo seu" ou "eu comentei e não apareço". A segunda é a mais fácil de resolver, porque quase sempre existe um motivo concreto e verificável para a pessoa não estar na lista.

Não discuta no fio de comentários. Responda com um link para a página do resultado, onde a pessoa procura o próprio @ com Ctrl+F. Se ela não estiver lá, aponte a regra publicada que a excluiu: comentou depois do corte, comentou como resposta a outro comentário, era entrada duplicada, ou caiu no teto de coleta. Regra escrita antes vira explicação. Regra explicada depois vira desculpa.

Se você precisar refazer o sorteio por qualquer motivo — ganhador sumiu, prêmio mudou, erro na configuração —, refaça em público e com o motivo registrado junto do resultado. Sorteio refeito em silêncio é o que transforma uma suspeita vaga em prova de má-fé.

O que a prova não resolve

Nenhum esquema criptográfico impede você de escolher qual post entra no sorteio, de encerrar mais cedo, ou de tirar alguém da lista antes do congelamento. A prova cobre o que acontece depois do corte, e é por isso que a parte publicada antes — regras, data, mecânica de contagem — é tão importante quanto o hash.

O teto de coleta do Instagram também não some com prova nenhuma. Em posts muito grandes, parte dos comentários simplesmente não fica acessível a nenhuma ferramenta. O comportamento honesto é avisar que a coleta bateu no limite, e não apresentar um recorte como se fosse o todo.

E vale inverter a leitura: prova pública serve a quem organiza tanto quanto a quem participa. Com lista congelada e resultado reproduzível, a acusação de armação deixa de ser uma discussão sobre reputação e passa a ser uma conferência que qualquer um faz sozinho.

Como isso funciona no Sorteou

No Sorteou, um sorteio publicado pode gerar uma página de prova pública, aberta sem cadastro, com vencedor, participantes, data e método de coleta. A lista é congelada no momento do sorteio e publicada com hash sha256, e o resultado é reproduzível por terceiro. O sorteio usa HMAC com semente assinada — e aqui vai o limite explícito, medido pelo requisito 2 lá de cima: não há drand nem beacon público de aleatoriedade. O que fica provado é a imutabilidade da lista e a reprodutibilidade do resultado, não que a semente veio de uma fonte fora do nosso alcance.

A coleta é contínua: começa no cadastro do sorteio e vai até a hora marcada, com os comentários salvos, então se o post for apagado os participantes não se perdem. Ela pode sair pela API oficial da Meta, que exige conta profissional conectada por OAuth, ou por uma via alternativa para conta pessoal. Um sorteio pode juntar participantes de mais de uma publicação, e dá para configurar se cada @ vale uma chance (padrão) ou se cada comentário vale uma chance. Curtidas, salvamentos e visualizações não contam e nem são coletados.

Sobre limite, são dois e é bom não confundir: o teto estrutural do próprio Instagram, que o Sorteou detecta e avisa em vez de fingir que pegou tudo; e um limite de comentários por sorteio que varia por plano — há plano grátis.

Re-sorteio existe e exige motivo público, que fica registrado no histórico da página de prova. Se você só precisa sortear uma lista que já tem na mão, tem o /sortear: cola nomes, números ou @s e sorteia direto no navegador, sem cadastro — esse não gera link de prova. E o que o Sorteou não faz: não posta no Instagram por você, não manda DM para o vencedor e não verifica se a pessoa seguia o perfil no momento do comentário.

Fontes

Quer rodar o sorteio com resultado público?

O Sorteou coleta os comentários, roda a animação do sorteio e gera um link que qualquer seguidor abre pra conferir quem ganhou, quem participou e quando foi.

Leia também