Pular para o conteúdo

Sorteios de prêmios

Um sorteio de prêmios é um cofre (vault) que guarda takoGRAM. Tudo o que os depósitos nele rendem vai para um prêmio, e um vencedor é sorteado a cada período. O seu depósito em si nunca faz parte do prêmio: você sempre pode retirar o que colocou.

  1. Você envia takoGRAM para o cofre. Ele registra seu depósito em Gram pela taxa atual.
  2. Enquanto você participa, o rendimento do seu depósito vai para o prêmio em vez de ir para você.
  3. A cada período o sorteio fecha e escolhe os vencedores usando aleatoriedade pública.
  4. O prêmio é somado aos depósitos dos vencedores, que continuam jogando com ele.
  5. Quando você sai, recebe seu depósito de volta inteiro, mais o que tiver ganhado.

Sua chance é proporcional ao seu depósito: 1.000 Gram num sorteio com 10.000 Gram no total ganham o primeiro prêmio em 10% das vezes. Dividir um depósito em vários pequenos não muda nada.

Os depósitos ficam travados por pelo menos um período. Sem essa trava, alguém poderia entrar logo antes de um sorteio, levar parte de um prêmio que os depósitos dos outros renderam e sair. Com ela, entrar tarde custa um período inteiro de rendimento, que é exatamente o que o sorteio vale em média.

Cada sorteio pode ter até cinco vencedores, que dividem o prêmio. Parte de cada prêmio vai para um jackpot acumulado: em cada sorteio o primeiro vencedor tem uma chance fixa de levá-lo, senão ele continua crescendo. Na testnet há um sorteio a cada hora com três vencedores, 20% de cada prêmio vai para o jackpot, e o jackpot sai em um a cada dez sorteios.

Qualquer chat do Telegram pode ter seu próprio sorteio. O endereço do cofre é derivado do id do chat, então o bot e o app o encontram sem nenhum registro, e criá-lo duas vezes resulta no mesmo cofre. Veja Telegram.

Os vencedores vêm do drand, uma rede de organizações independentes que publica um número aleatório a cada 3 segundos. Ninguém, nem a equipe do Tako, nem os validadores, nem quem fecha o sorteio, conhece um número antes de o drand publicá-lo.

  • Quando um sorteio fecha, ele fixa uma rodada do drand cerca de um minuto no futuro. Depósitos e saques ficam parados até ela ser revelada.
  • O próprio contrato verifica, on-chain, a assinatura do drand nessa rodada usando a chave pública do drand.
  • O bilhete vencedor é a aleatoriedade módulo o depósito total. O dono dele é o primeiro vencedor.

Abra qualquer sorteio no explorer e clique em Check against drand. Seu navegador baixa a assinatura do drand e repete as duas verificações: a assinatura BLS contra a chave pública do drand, e que a aleatoriedade do cofre é o hash dessa assinatura. Ele também mostra qual bilhete ganhou. Veja Aleatoriedade para a matemática.