Jogos sem Blockchain envolvendo dinheiro devem morrer



Dmitry Pichulin, conhecido sob o apelido "deemru", venceu o jogo Fhloston Paradise , desenvolvido pela Tradisys na blockchain Waves.

O vencedor do Fhloston Paradise era o jogador que pagava a última aposta durante um período de 60 blocos, antes que qualquer outro jogador pudesse pagar sua aposta e zerar o contador. O vencedor coletaria todas as apostas pagas por outros jogadores.

A receita vencedora de Dmitry foi o bot Patrollo , que ele criou. O bot pagou apenas oito apostas de 1 WAVES por Dmitry e finalmente ganhou 4.700 WAVES (US $ 13.100). Nesta entrevista, Dmitry discute seu bot e as perspectivas de jogos blockchain.

Você poderia nos contar sobre você? O que você faz Quando você se interessou pela tecnologia blockchain?

Sou desenvolvedor na área de segurança da informação. Eu vim para o espaço blockchain com o hype de 2017, dominei a tecnologia e fiquei por uma questão de tecnologia.

Qual foi a sua principal motivação para jogar o jogo?

Foi principalmente interesse na parte de tecnologia. Eu queria descobrir como ele funciona, descobrir vulnerabilidades, impedir que o jogo terminasse e, é claro, controlar outros jogadores.

Por que você escolheu participar com um bot? Como você chegou à ideia de Patrollo? Você poderia fornecer mais detalhes sobre como desenvolvê-lo?

Não funcionou com vulnerabilidades. Eu implantei o jogo na rede de teste, joguei comigo mesmo, tentei várias opções, mas tudo acabou sendo sólido. Não há vulnerabilidades no contrato. Então, ficou claro que eu não ia ganhar dessa maneira.

Como você procurou por vulnerabilidades? Que hipóteses você tinha?

Eu tive duas hipóteses. Primeiro, um ataque às verificações dos tipos de dados nas entradas DataTransaction. Por exemplo, presumi que seria possível ignorar a reutilização de IDs de transação devido à codificação deficiente. A segunda hipótese foi um ataque ao excesso de números inteiros. Eu esperava que houvesse uma maneira de definir uma altura de bloco muito grande ou negativa e tentar chegar ao passado.

$ tx = $ wk-> txBroadcast ($ wk-> txSign ($ wk-> txData (['heightToGetMoney' => -9223372036854775807])));

O que você fez quando viu que suas expectativas em relação às vulnerabilidades não se tornaram realidade?

A Tradisys disse em seu canal Telegram que quando tudo estiver quieto na rede, o jogo vai durar para sempre, mas em um estado de incerteza, causado por atualizações de nós ou garfos inesperados, bons bots terão maiores chances. No momento, aceitei o desafio de escrever um bom bot, o que fiz em poucos dias. Eu escrevi o código de Patrollo na linguagem PHP, com base no meu framework WavesKit , no qual tento registrar todas as melhores técnicas para trabalhar com o blockchain. Eu o executei na rede de teste, carreguei o código no GitHub, liberei o bot para a rede principal e esqueci.

Minha configuração do Patrollo deveria implementar duas tarefas: pagar apostas o mais raramente possível e operar com a máxima confiabilidade.

O primeiro foi alcançado graças ao pagamento de participações extremamente arriscadas - de preferência no último bloco. Eventualmente, configurei o bot para o penúltimo bloco, mas com um atraso de 29 segundos. Isso permitiu pagar apenas oito apostas ao longo do jogo.

Por que exatamente 29 segundos? Como você chegou a essa figura?

Cheguei a isso gradualmente. Primeiro, não houve atraso e notei que durante o penúltimo bloco, apostas simultâneas foram pagas. Portanto, pagar apostas não fazia sentido. Depois acrescentei um atraso - acho que foram 17 segundos, mas não ajudou: apostas simultâneas continuaram sendo pagas. Então decidi correr riscos maiores para descartar apostas simultâneas. Por que 17, 29 etc.? Eu apenas gosto de números primos. 24, 25, 26, 27, 28, 30 são todos números compostos. E ultrapassar 30 segundos teria sido muito arriscado.

Como você resolveu o problema de confiabilidade?

Em grande medida, a confiabilidade foi alcançada graças ao mecanismo de escolha do nó de trabalho e, em menor grau, ao enviar antecipadamente uma TransferTransaction para uma participação, para que a participação na DataTransaction estivesse definitivamente vinculada a uma transação existente no blockchain.

Durante cada volta do ciclo, a altura atual de todos os nós definidos na configuração foi medida e o nó com a maior altura foi escolhido para interação adicional. Na minha opinião, isso funcionou como proteção contra garfos, indisponibilidade, descontar e possíveis erros de nó. Estou confiante de que esse mecanismo simples acabou levando à vitória.

Quais são as principais vantagens dos jogos blockchain? Quão promissoras são as blockchain públicas e, especificamente, Waves, para o desenvolvimento de jogos?

As principais vantagens são regras conhecidas, gravadas e imutáveis ​​do jogo, bem como condições iguais de acesso ao jogo a partir de qualquer lugar do mundo.

Jogos não-blockchain envolvendo dinheiro devem morrer.

O Waves possui uma funcionalidade tecnológica de alcance, mas existem algumas nuances - ambas típicas de qualquer blockchain e específicas. Até o momento, eles não foram refletidos nos instrumentos existentes do desenvolvedor completamente o suficiente.

Por exemplo, se você tentasse reagir à transação em tempo real, e não a uma distância de cinco a dez confirmações, descobriria instâncias raras, mas ainda existentes, de transações pulando de um bloco para outro, desaparecimento e reaparecimentos repentinos nos blocos finais . Tudo isso é fundamental para a velocidade e a confiabilidade de todos os aplicativos e deve ser resolvido de maneira geral até que os desenvolvedores atinjam o nível necessário de confiabilidade. Certamente, no devido tempo, tudo isso será resolvido, mas, neste momento, há uma barreira de entrada bastante alta e o medo das especificidades da operação de cadeias de blocos verdadeiramente descentralizadas em geral.

De que maneira o Fhloston Paradise é diferente de outros jogos de blockchain que você conhece?

Todos os jogos como esse são de longo prazo. O interesse em jogos desse tipo cresce proporcionalmente ao tamanho do prêmio, que, por sua vez, aumenta à medida que o tempo passa.

Idealmente, o jogo não terminaria. Quando acaba, é triste ...

Recentemente, o Fhloston Paradise 2 foi lançado . Você planeja participar?

Sim, desde que eu tenha tempo e interesse, darei os mesmos passos: análise de vulnerabilidades, jogando comigo mesmo na rede de testes, criando um bot com código aberto etc.

E, finalmente, conte-nos sobre seus planos como desenvolvedor.

Estou interessado em resolver tarefas não resolvidas e, no espaço blockchain, existem muitas delas. Este é um verdadeiro desafio. E foi aceito.

Source: https://habr.com/ru/post/pt445246/


All Articles