綽號“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 遊戲與您所知道的其他區塊鏈遊戲有何不同? 它的優點和缺點是什麼?
這些都是漫長的遊戲。 人們對此類遊戲的興趣隨著獎金數量的增加而增長,並且獎金數量隨著時間的推移而增長。
理想情況下,遊戲永遠不會結束。 比賽結束後,心裡很難過…
最近我在
是的,如果我有時間和興趣,我會採取相同的步驟:漏洞分析、在測試網路、機器人、開源等上玩自己。
最後,請告訴我們您作為開發人員的計劃。
我對解決未解決的問題感興趣,區塊鏈主題中有很多未解決的問題。 這是一個真正的挑戰! 他被接受了。
來源: www.habr.com