绰号“deemru”的德米特里·皮丘林 (Dmitry Pichulin) 成为比赛的获胜者
赢得胜利
他创建的机器人为德米特里带来了胜利
告诉我们一些关于你自己的事。 你做什么工作? 您什么时候开始对区块链技术感兴趣的?
我是一名信息安全领域的开发人员。 我在2017年的炒作中来到了区块链,了解了这项技术并为这项技术而留下来。
参加比赛的主要动机是什么?
首先,技术兴趣。 我想弄清楚它是如何工作的,找到漏洞,不让游戏结束,当然还要“恶搞”其他玩家。
您已经决定如何花费您的奖金了吗? 如果您决定不花它,您将如何存储它?
我不知道如何处理这些奖金。 我没想到,所以我没有计划。 目前它将保持原样。 也许它会流入 Waves 上的一些项目。
您为什么决定使用机器人参与游戏? Patrollo 的想法是如何产生的? 您能告诉我们更多关于它的发展情况吗?
它没有解决漏洞。 我在测试网络上拿起了游戏,自己玩了一下,尝试了所有选项,但结果证明一切都是“硬连线”的,合约中没有漏洞。 很明显,这种方式是不可能获胜的。
您是如何寻找漏洞的? 你的假设是什么? 您能提供示例代码吗?
有两种假设。 首先,对数据交易记录中的数据类型检查进行攻击。 例如,我预计错误的编码会绕过事务 ID 重用检查。 第二种是整数溢出攻击。 我认为有一种方法可以将高度设置得太高或为负值,并尝试以过去的方式结束。
$tx = $wk->txBroadcast( $wk->txSign( $wk->txData( [ 'heightToGetMoney' => -9223372036854775807 ] ) ) );
当您发现漏洞预期未得到满足时,您会采取什么措施?
在他的电报聊天中,Tradisys 抱怨说,虽然网络上一切都很安静,但游戏将是永恒的,但在混乱中(节点更新或意外分叉),好机器人的机会就会增加。 在聊天中,我接受了编写一个优秀机器人的挑战,几天后我就做到了。 我根据我的框架用 PHP 编写了 Patrollo 代码
我在测试网络上测试了它,将代码发布到 github 上,在主网络上启动了机器人,然后就忘记了。
我的 Patrollo 配置必须解决两个问题:尽可能少下注和尽可能可靠地工作。
第一个是由风险极高的赌注决定的,最好是在最后一个区块。 最后,我仍然将机器人放置在倒数第二个区块上,但额外延迟了 29 秒。 这使得整场比赛只允许进行八次投注。
为什么正好是 29 秒? 你是如何得出这个数字的?
29秒渐渐出现。 起初没有任何延迟,但我注意到在倒数第二块有同时下注的情况——也就是说,下注没有意义。 然后出现了延迟 - 我认为是 17 秒,但这也没有帮助:仍然有同时下注。 然后我决定冒更多的风险,但肯定不会同时下注。 为什么是17、29等? 只是对质数的热爱。 24、25、26、27、28、30 - 所有化合物。 而超过30秒就完全有风险了。
可靠性问题是如何解决的?
可靠性主要是通过选择工作节点的机制来解决,其次是提前进行赌注的转移交易,以便日期交易中的赌注已经准确地引用了区块链上的现有交易。
在每一轮循环中,都会轮询配置中指定的所有节点的当前高度,选择当前高度最高的节点,并与其进行进一步的交互。 根据我的理解,这应该是为了防止节点上的分叉、不可用性、缓存和可能的错误。 人们相信,正是这个简单的机制带来了胜利。
您认为区块链游戏的主要特点和优势是什么? 总体而言,公共区块链(尤其是 Waves 区块链)对于游戏开发的前景如何?
主要优点是已知的、固定的和不变的游戏规则,以及从世界任何地方访问游戏的平等条件。
链下金钱游戏必须消亡。
Waves 具有丰富的技术功能,但也存在任何区块链固有的和特定的细微差别。 这两者都还没有很好地体现在现有的开发者工具中。
例如,如果您尝试实时响应交易,而不是在 5-10 个确认的距离内响应,您将了解罕见但正在发生的现象:交易从一个块跳到另一个块,交易在某些块中丢失而出现在其他块中。 所有这些对于任何应用程序的速度和可靠性都至关重要,必须以通用方式解决,但目前每个开发人员都可以自己达到他所需的可靠性级别。 当然,随着时间的推移,所有这些都将得到解决,但目前存在一定的相当高的进入壁垒,并且总体上对真正去中心化区块链的工作细节感到恐惧。
FOMO 游戏与您知道的其他区块链游戏有何不同? 它的优点和缺点是什么?
这些都是漫长的游戏。 人们对此类游戏的兴趣随着奖金数额的增加而增长,并且奖金数额随着时间的推移而增长。
理想情况下,游戏永远不会结束。 比赛结束后,心里很难过……
最近我在
是的,如果我有时间和兴趣,我会采取相同的步骤:漏洞分析、在测试网络、机器人、开源等上玩自己。
最后,请告诉我们您作为开发人员的计划。
我对解决未解决的问题感兴趣,区块链主题中有很多未解决的问题。 这是一个真正的挑战! 他被接受了。
来源: habr.com