带玩具逛街时突然按下按钮的故事,丰满的妺妺3伦理播放,新婚人妻不戴套国产精品,大肉大捧一进一出好爽视频百度

【微雜志】挖礦的七個步驟

轉載 1 收藏 評論
舉報 2020-09-27

挖礦的七個步驟

1.jpg

很多人都想知道在區(qū)塊鏈上是如何挖礦的?簡單而言,有下面七個步驟:

步驟一:

用戶進入錢包,執(zhí)行一個交易操作,他將一個加密貨幣或者一個代幣發(fā)送給另一個用戶。

步驟二:

現(xiàn)在這個交易被錢包廣播,等待區(qū)塊鏈上的礦工們來拾取它。在被拾取前,它會一直在“未確認交易池”中 等待。

所有等待被處理的交易都會在未確認交易池中。未確認交易池不是網(wǎng)絡上的一個巨大的池,而是很多小的分散的本地池。

步驟三:

區(qū)塊鏈網(wǎng)絡上的礦工(有時叫節(jié)點)從未確認交易池中選擇交易打包成數(shù)據(jù)塊。除了一些額外的元數(shù)據(jù)外,數(shù)據(jù)塊基本上就是交易數(shù)據(jù)(此時仍然是未確認交易)。每個礦工打包它們拾取的交易數(shù)據(jù)塊,多個礦工可以選擇同樣的交易數(shù)據(jù)打包。例如,兩個礦工,礦工A和礦工B都決定打包交易X。

每個區(qū)塊鏈對數(shù)據(jù)塊都有最大限制。在比特幣區(qū)塊鏈上,這個最大值是1兆字節(jié)(MB)。

在打包交易前,礦工需要先根據(jù)區(qū)塊鏈的歷史數(shù)據(jù)檢查這個交易是否有資格被打包。根據(jù)區(qū)塊鏈歷史數(shù)據(jù)記錄,如果支付者的錢包里有足夠的余額,這筆交易被認為是有效的,并且可以被打包上鏈。

假如一個比特幣持有者想要加速他的交易進度,他可以選擇支付更高的挖礦獎勵。礦工通常會優(yōu)先打包這些支付更高挖礦獎勵的交易。

步驟四:

礦工的工作就是選擇交易數(shù)據(jù)并打包成塊。要把這些塊添加到區(qū)塊鏈上(這意味著讓區(qū)塊鏈上所有節(jié)點都接受這個塊的數(shù)據(jù)),這個數(shù)據(jù)塊首先需要簽名(也叫“工作證明”)。這個簽名是在解決了一個非常復雜的數(shù)學問題后得到的,這個簽名是獨一無二的。每個區(qū)塊需要解決的數(shù)學問題難度是一樣的。為了解決這個數(shù)學問題,需要耗費相當多的算力(所以,要消耗相當多的電力)。這個過程就被叫做挖礦。

2.jpg

挖礦即哈希(工作量證明)

礦工在打包塊時需要解決的數(shù)學問題實際上就是找到一個以一定量的零開頭的哈希函數(shù)輸出結果(就是簽名)。

開始之前,我們需要先了解一下什么是哈希函數(shù)。哈希函數(shù)的輸入值可以是任意字符串,隨機輸出一個32位字母和數(shù)字的字符串。如果輸入中有任何一點小小的變動, 輸出也將會隨機改變。

礦工要打包的交易數(shù)據(jù)就是一個字符串,將它進行哈希計算, 就會得到一個32位的輸出值。比特幣區(qū)塊鏈有一個規(guī)則,要求打包的數(shù)據(jù)塊簽名必須以一定數(shù)量的零開頭。然而哈希計算的輸出值是對它的每個輸入值都是隨機的,那么, 輸入的字符串哈希后沒有得到這么多零開頭的值怎么辦呢?這就是為什么礦工需要不斷的去改變塊里面一個叫“nonce”的值,每改變一次nonce的值,就會改變塊的數(shù)據(jù),哈希運算后得到的簽名也會不一樣,也就是,每改變一次nonce的值,就會得到一個全新的簽名。

礦工無限次重復改變nonce的值,直到得到一個符合要求的簽名。

這就是礦工們?yōu)槭裁葱枰獮樗鼈兇虬臄?shù)據(jù)塊找到一個合格的簽名,也是需要那么多算力來解決這個數(shù)學問題的原因。試想一下需要這么多次更改nonce值并計算需要多少時間和算力呀。此外,當更多的礦工加入到區(qū)塊鏈,哈希運算的難度也將增加并且會導致更高的電費支出。現(xiàn)在我們繼續(xù)第五步。

步驟五:

礦工找到了一個合格的簽名, 他就可以向其他所有礦工廣播他的數(shù)據(jù)塊和簽名。

步驟六:

其他礦工現(xiàn)在要確認通過廣播收到的數(shù)據(jù)塊簽名的合法性,他們要對這個數(shù)據(jù)塊進行哈希運算,檢查它是否輸出一個以這么多零開頭的簽名。如果可以,其他礦工就會認為這個數(shù)據(jù)塊有效,并且同意將它添加到區(qū)塊鏈上(他們達成了共識,即他們所有礦工都同意彼此, 所以術語叫共識算法)。這也是“工作量證明”的來源。簽名就是礦工工作的證明(已花費的算力)。現(xiàn)在, 數(shù)據(jù)塊可以加到區(qū)塊鏈上了,并且分發(fā)到網(wǎng)絡上所有其他節(jié)點。只要這個數(shù)據(jù)塊中的所有交易數(shù)據(jù)都跟區(qū)塊鏈上的歷史數(shù)據(jù)符合,其他節(jié)點將接收這個數(shù)據(jù)塊并將其保存。

步驟七:

當一個數(shù)據(jù)塊被添加到區(qū)塊鏈上后,這條區(qū)塊鏈上的所有塊都認為它是正確的。例如,我的交易包含在第502號塊中,并且這條區(qū)塊鏈現(xiàn)在最長是第507號塊,它的意思就是說我的交易數(shù)據(jù)被確認過5次(507-502)。它被認為是正確的,因為每次有其他塊上鏈的時候,區(qū)塊鏈都會就所有交易記錄達成共識, 包括你的交易和你的塊。到這個時候,你交易已經被確認了5次。這也是區(qū)塊鏈導航在顯示交易詳細信息時所指的。你的交易被確認的次數(shù)越多(即嵌入?yún)^(qū)塊鏈越深),攻擊者就越難更改它。每當新的塊加入到 區(qū)塊鏈,所有礦工都需要從第三步 重新開始,打包一個新的交易數(shù)據(jù)塊。至此,整個挖礦步驟就完成了。

需要注意的是,在完成一個塊上鏈前,礦工們不能繼續(xù)挖礦。

1. 它可能包含添加到區(qū)塊鏈上已經確認過的交易(請記住,多個礦工可以選擇同一個交易數(shù)據(jù)處理),任何重新發(fā)起的交易都可能導致它們無效,因為支付者的余額可能已經不足。

2. 每個塊都需要將區(qū)塊鏈上的最后一個塊的哈希簽名添加到到他們自己的元數(shù)據(jù)中。這也是讓數(shù)據(jù)塊鏈起來的原因。假如一個礦工打包的是已經上鏈的塊,其他礦工會注意到它的簽名和區(qū)塊鏈上最后一個數(shù)據(jù)塊對不上,并且拒絕這個塊。


本文系作者授權數(shù)英發(fā)表,內容為作者獨立觀點,不代表數(shù)英立場。
轉載請在文章開頭和結尾顯眼處標注:作者、出處和鏈接。不按規(guī)范轉載侵權必究。
本文系作者授權數(shù)英發(fā)表,內容為作者獨立觀點,不代表數(shù)英立場。
未經授權嚴禁轉載,授權事宜請聯(lián)系作者本人,侵權必究。
本內容為作者獨立觀點,不代表數(shù)英立場。
本文禁止轉載,侵權必究。
本文系數(shù)英原創(chuàng),未經允許不得轉載。
授權事宜請至數(shù)英微信公眾號(ID: digitaling) 后臺授權,侵權必究。

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    DIGITALING
    登錄后參與評論

    評論

    文明發(fā)言,無意義評論將很快被刪除,異常行為可能被禁言
    800

    推薦評論

    暫無評論哦,快來評論一下吧!

    全部評論(0條)

    主站蜘蛛池模板: 双江| 河东区| 津南区| 金塔县| 姜堰市| 大连市| 萨迦县| 毕节市| 株洲市| 泰兴市| 剑河县| 阳山县| 泸西县| 鸡东县| 宁明县| 师宗县| 兴城市| 永丰县| 宜章县| 南川市| 洞口县| 那曲县| 彭山县| 湖南省| 鹤壁市| 上蔡县| 巢湖市| 开原市| 龙胜| 宁乡县| 皋兰县| 清水河县| 大名县| 新邵县| 黔江区| 镇坪县| 沙田区| 东宁县| 阿拉善右旗| 镇原县| 庆阳市|