涉及金钱的非区块链游戏必死



Dmitry Pichulin以昵称“ deemru”着称,赢得了由Tradisys在Waves区块链上开发的游戏Fhloston Paradise

Fhloston Paradise的获胜者本应该是在60个区块内支付最后赌注的玩家,然后其他任何玩家都可以支付赌注并将计数器重置为零。 获胜者将收集其他玩家支付的所有赌注。

Dmitry的制胜法宝是他创造的机器人Patrollo 该机器人只为Dmitry支付了8个1 WAVES股份,最终为他赢得了4,700 WAVES ($ 13,100)。 在这次采访中,Dmitry讨论了他的机器人和区块链游戏的前景。

你能介绍一下你自己吗? 你怎么办 您何时对区块链技术感兴趣?

我是信息安全领域的开发人员。 我以2017年的炒作来到了区块链领域,精通技术并为技术而留下。

您玩游戏的主要动机是什么?

主要是对技术部分的兴趣。 我想弄清楚它是如何工作的,发现漏洞,阻止游戏结束,当然,还诱骗其他玩家。

您为什么选择参加机器人程序? 您是如何想到Patrollo的? 您能否提供有关开发它的更多详细信息?

它不适用于漏洞。 我将游戏部署在测试网上,与自己一起玩,尝试了各种选择,但事实证明一切都非常艰难。 合同中没有漏洞。 所以,很明显我不会那样赢。

您如何寻找漏洞? 你有什么假设?

我有两个假设。 首先,攻击检查DataTransaction条目中的数据类型。 例如,我假设由于编码不佳,有可能绕过事务ID的重用。 第二个假设是对整数溢出的攻击。 我希望有一种方法可以将块高度设置为太大或为负值,并尝试过去。

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

当您发现自己对漏洞的期望没有实现时,您做了什么?

Tradisys在其Telegram频道上说,当网络中的一切都安静时,游戏将永远持续下去,但是在不确定状态下,由节点更新或意外分叉引起的,好的机器人将有更大的机会。 当场,我接受了编写一个好机器人的挑战,这是我在几天内所做的。 我基于框架WavesKit用PHP语言编写了Patrollo的代码,在其中尝试记录所有与区块链一起使用的最佳技术。 我在测试网上运行它,将代码上传到GitHub,将机器人发布到主网上,然后忘记了。

我对Patrollo的配置应该执行两项任务:尽可能少地支付股份,并以最大的可靠性进行操作。

前者的实现得益于极高风险的股份-最好是在最后一块。 最终,我将机器人设置为倒数第二个程序块,但延迟了29秒。 这样一来,它在整个游戏过程中只需支付8个股份。

为什么正好是29秒? 您是如何得出这个数字的?

我逐渐到达那里。 首先,没有延误,我注意到在倒数第二个区块中,同时支付了股份。 因此,支付股份没有意义。 然后我增加了一个延迟-我认为这是17秒,但这没有帮助:继续同时支付赌注。 因此,我决定冒险承担更大的风险,以排除同时下注的风险。 为什么17、29等? 我只是喜欢素数。 24、25、26、27、28、30均为复合数字。 而超过30秒将太冒险。

您如何解决可靠性问题?

在很大程度上,通过选择工作节点的机制可以实现可靠性,而在较小程度上,可以通过预先发送股权的TransferTransaction来实现,因此DataTransaction的股权肯定与现有交易相关联。区块链

在周期的每一圈中,都会测量配置中设置的所有节点的当前高度,并选择具有最大高度的节点进行进一步的交互。 在我看来,这可以防止分叉,不可用,兑现和可能的节点错误。 我相信这种简单的机制最终会取得胜利。

区块链游戏的主要优势是什么? 公共区块链(尤其是Waves)在游戏开发方面的前景如何?

游戏的主要优点是已知的,记录的和不变的规则,以及从世界任何地方访问游戏的平等条件。

涉及金钱的非区块链游戏必须消亡。

Waves具有触及技术功能,但有一些细微差别-两者都是任何区块链的典型特征和特定特征。 到目前为止,开发者现有的工具还没有充分反映出这两种情况。

例如,如果您尝试实时而不是在五到十次确认的情况下对交易做出反应,则会发现罕见但仍然存在的交易从一个区块跳到另一个区块,消失并突然消失的情况。 所有这些对于所有应用程序的速度和可靠性都是至关重要的,必须以一般的方式加以解决,直到开发人员自己达到必要的可靠性水平为止。 当然,在适当的时候,所有这些问题都将得到解决,但是,在这一点上,存在很高的进入壁垒,并且普遍担心真正去中心化的区块链运作的细节。

Fhloston Paradise与您知道的其他区块链游戏有何不同?

像这样的所有游戏都是长期的。 对此类游戏的兴趣与奖金额成正比,而奖金额随着时间的流逝而增加。

理想情况下,游戏根本不会结束。 当它结束时,很难过...

最近, Fhloston Paradise 2 上市了 您打算参加吗?

是的,只要有时间和兴趣,我将采取相同的步骤:漏洞分析,在测试网上玩自己的机器,创建带有开源程序的机器人等。

最后,告诉我们您作为开发人员的计划。

我对解决未解决的任务很感兴趣,在区块链领域,有很多这样的任务。 这是一个真正的挑战。 并且它已经被接受。

Source: https://habr.com/ru/post/zh-CN445246/


All Articles