麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

安全課堂|Soildity安全之隨機數誤區區塊鏈

曲速未來安全區 2018-08-17 20:55
分享到:
導讀

WF曲速未來表示:Solidity提供的功能和變量可以獲得明顯難以預測的價值,但它們通常要么比看起來更公開,要么受到礦工的影響。由于這些隨機性在一定程度上是可預測的,因此惡意用戶通常可以復制它并依賴于其不可預測性來攻擊該功能。

Soildity作為編寫智能合約的語言,已經被廣泛的應用。但同時,開發者和用戶也得到了慘痛的教訓,智能合約的安全問題層出不窮。因此,我們總結了一些常見的Solidity安全問題。前車之鑒,后車之師,希望后來者能有所警惕。

隨機數誤區

以太坊區塊鏈上的所有交易都是確定性的狀態轉換操作。這意味著每筆交易都會改變以太坊生態系統的全球狀態,并且它以可計算的方式進行,沒有不確定性。WF曲速未來表示:Solidity提供的功能和變量可以獲得明顯難以預測的價值,但它們通常要么比看起來更公開,要么受到礦工的影響。由于這些隨機性在一定程度上是可預測的,因此惡意用戶通常可以復制它并依賴于其不可預測性來攻擊該功能。

代碼案例

在該案例中,私人的種子 與iteration與和keccak256散列函數組合使用以確定呼叫者是否獲勝。即使私人的種子,它必須是通過交易在某個時間點設置,并因此在區塊上可見。

相關事件

PRNG 合約

為了增加熵,一些智能合約使用了被視為私有的種子。一個這樣的案例是Slotthereum彩票。

代碼如下:

變量指針被聲明為私有,這意味著其他合同無法訪問其值。在每次游戲之后,1到9之間的中獎號碼被分配給該變量,然后block.number在檢索阻塞時將其用作當前的偏移量。

雖然私有變量受到保護而不受其他合同的影響,但可以將合同存儲的內容置于鏈外。例如,流行的以太坊客戶端web3具有API方法web3.eth.getStorageAt(),該方法允許檢索指定索引處的存儲條目。

鑒于這一事實,從合同存儲中提取私有變量指針的值并將其作為漏洞的參數提供是微不足道的:

1.彩票使用外部合約oracle來獲取偽隨機數,用于確定每輪投注中的投注者中的獲勝者。

2.這些號碼是未加密的。攻擊者可能會觀察待處理事務池并等待來自oracle的號碼。

3.一旦oracle的交易出現在交易池中,攻擊者就會以更高的Gas價格發出賭注。

4.攻擊者的交易最后一輪進行,但由于Gas價格較高,實際上是在oracle的交易之前執行,使得攻擊者獲勝。

區塊鏈安全公司WF曲速未來 觀點:

在以太坊區塊鏈中實施安全的PRNG仍然是一項挑戰。由于缺乏現成的解決方案,開發人員傾向于使用自己的實現。但是在創建這些實現時,很容易出錯,因為區塊鏈的隨機性源有限。在設計PRNG時,開發人員應確保首先了解各方的激勵,然后才選擇合適的方法。同時,區塊變量不應該被用來提供隨機性,因為它們可以被礦工操縱。

區塊 變量 交易 合約 使用
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: 日本视频高清免费观看xxx | 国产精品拍拍拍福利在线观看 | 欧美怡红院视频一区二区三区 | 国产综合成人亚洲区 | 四虎永久在线精品免费影视 | 艾秋麻豆果冻传媒老狼仙踪林 | 国产剧情麻豆刘玥视频 | xxx中国bbbwww | 亚洲久操 | 丝袜护士强制脚足取精 | 成年人视频在线免费看 | 脱女学小内内摸出水网站免费 | 国产高清亚洲 | xxxx俄罗斯大白屁股 | 国色天香社区视频免费高清在线观看 | 免费369看片入口 | 欧美人xxxxxbbbb| 日韩精品一区二区三区视频 | 我不卡影院手机在线观看 | 欧洲一级黑寡妇 | 99国内精品久久久久久久黑人 | 2020最新韩国理论三级0k | 天堂精品高清1区2区3区 | 午夜视频在线网站 | 亚洲国产精品网站久久 | 大ji巴好好爽好深网站 | 变态人shou交小说 | 欧美一级特黄刺激大片视频 | 久久精品成人免费看 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 国产愉拍 | 女人特黄大aaaaaa大片 | 狠狠做五月深爱婷婷天天综合 | 98精品全国免费观看视频 | 欧美日韩国产一区二区三区不卡 | 国产区综合另类亚洲欧美 | 国产高清不卡码一区二区三区 | 国产一区二区三区日韩 | 男人猛激烈吃奶gif动态图 | 91久久偷偷做嫩草影院免费 | 欧美性bbbbbxxxxxxx |