智能合約隨機數(shù)算法漏洞影響游戲公平性
據(jù)成都鏈安科技消息,MyCryptoChamp游戲合約隨機數(shù)“不隨機”(CVE-2018-12885),影響游戲公平性。MyCryptoChamp合約的RandMod函數(shù)中使用合約的私有變量randNonce和父塊哈希作為參數(shù)生成隨機數(shù),用戶可以通過web3.eth.getStorageAt()函數(shù)獲取randNonce的值,而父塊hash在合約內外都可以讀取到。
攻擊者可以利用獲得的兩者數(shù)值,通過外部合約計算出較理想的隨機數(shù),并在此時參與游戲,新的角色及物品屬性就會按照該理想數(shù)值生成,進而影響游戲公平性,實現(xiàn)了以較小的成本(gas消耗)獲得較大利益。根據(jù)Solidity官方建議,合約開發(fā)者可以使用鏈外的第三方服務,比如Oraclize來獲取隨機數(shù)。成都鏈安科技提醒所有項目方,進行代碼安全審計是項目上鏈前不可缺少的重要安全舉措,必要時可以借助第三方專業(yè)審計團隊的力量防患于未然。


























粵公網安備 44030402000745號