Como a PoolTogether seleciona as pessoas vencedoras

Pedro
PoolTogether PT

--

Existem dois componentes principais para a seleção aleatória das pessoas vencedoras:

1. A fonte da entropia: de onde obtemos a “aleatoriedade”.

2. O algoritmo de seleção do vencedor: como usamos a aleatoriedade para selecionar uma pessoa de forma justa.

Fonte de Entropia

Na PoolTogether v2.0, as pessoas que administram a pool fornecem o número aleatório. Ele é fornecido da seguinte maneira:

1. A pessoa administradora gera um número aleatório secreto antes que o prêmio seja aberto.

2. A pessoa administradora abre o prêmio, novos depósitos serão elegíveis para ganhar. Ao abrir o prêmio, a pessoa administradora também inclui uma impressão digital do número aleatório. Esta impressão digital identifica exclusivamente o número, sem revelá-lo.

3. A pessoa administradora compromete o prêmio, bloqueando os depósitos que serão elegíveis para ganhar.

4. A pessoa administradora concede o prêmio: para conceder o prêmio, a pessoa administradora deve “revelar” o número aleatório secreto. O contrato inteligente garante que o número aleatório revelado corresponda à impressão digital confirmada.

5. O contrato inteligente usa o número aleatório para selecionar uma pessoa vencedora.

Como você pode notar, a seleção do número aleatório é centralizada. Temos várias áreas de pesquisa buscando soluções mais adequadas. A próxima versão da PoolTogether trará novidades!

Seleção da pessoa vencedora

Vamos nos aprofundar na etapa 5 mencionada acima, quando o contrato inteligente usa o número aleatório para selecionar um vencedor. Como é que isso funciona?

A principal propriedade que queremos manter é que a chance da pessoa ganhar é proporcional ao tamanho do seu depósito. Para fazer isso, tratamos o número aleatório como um índice de token.

Vamos imaginar que duas pessoas depositaram um total de 1.000 tokens. Alice depositou 800 tokens e Bob depositou 200 tokens. Vamos visualizar o suprimento total de tokens como um bloco segmentado:

Os 1000 tokens de Alice e Bob

Do depósito total de 1000 tokens, Alice tem 800 e Bob tem 200.

O contrato inteligente reformula esses depósitos: Alice tem os primeiros 800 tokens e Bob os últimos 200. Então, de certa forma, Alice possui os tokens 1–800 e Bob possui os tokens 801–1000. O contrato inteligente estrutura os depósitos de maneira inteligente, de forma que as pessoas possuam determinados intervalos de tokens.

Agora que estamos vendo os depósitos como “intervalos” de tokens fora do suprimento total, podemos tratar o número aleatório como um índice do estoque total.

Se o número aleatório for 513, quem é a pessoa vencedora? Vamos ver:

O token 513 é da Alice

Como Alice possui o token 513, ela é a vencedora!

E se o número aleatório for 842?

O token 842 é do Bob

Então Bob vence!

Como podemos ver, Alice possui 800 tokens dos 1000, então ela tem 80% de chance de ganhar. Bob possui 200 dos 1000, então ele tem 20% de chance de ganhar. Desta forma, a chance da pessoa ser selecionada é proporcional ao seu depósito.

Resumo

Esperamos que isso ajude a iluminar nosso algoritmo para pessoas não técnicas. Se você tiver mais perguntas, sinta-se à vontade para entrar em contato pelo Discord ou Telegram.

Se você quiser colocar a mão na massa, sinta-se à vontade para experimentar nosso Simulador. É um aplicativo de linha de comando que permite simular muitas seleções vencedoras em qualquer uma de nossas pools.

Telegram: https://t.me/PoolTogetherTelegram
Twitter: @PoolTogether_
Github: pooltogether
Discord: https://discord.gg/hxPhPDW

-

Post original: https://medium.com/pooltogether/how-pooltogether-selects-winners-9301f8d76730.

- Algumas informações podem ter sido alteradas do texto original por conter conteúdo ultrapassado.

- Alguns termos podem ter sido modificados para fazer mais sentido no contexto da língua portuguesa e/ou facilitar o entendimento.

--

--