比特幣的工作證明與挖礦_第1頁(yè)
已閱讀1頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、比特幣的工作證明與挖礦工作證明工作證明工作證明(ProofOfWk,簡(jiǎn)稱(chēng)POW),顧名思義,即工作量的證明。通常來(lái)說(shuō)只能從結(jié)果證明,因?yàn)楸O(jiān)測(cè)工作過(guò)程通常是繁瑣與低效的。比特幣在Block的生成過(guò)程中使用了POW機(jī)制,一個(gè)符合要求的BlockHash由N個(gè)前導(dǎo)零構(gòu)成,零的個(gè)數(shù)取決于網(wǎng)絡(luò)的難度值。要得到合理的BlockHash需要經(jīng)過(guò)大量嘗試計(jì)算,計(jì)算時(shí)間取決于機(jī)器的哈希運(yùn)算速度。當(dāng)某個(gè)節(jié)點(diǎn)提供出一個(gè)合理的BlockHash值,說(shuō)明該節(jié)點(diǎn)確

2、實(shí)經(jīng)過(guò)了大量的嘗試計(jì)算,當(dāng)然,并不能得出計(jì)算次數(shù)的絕對(duì)值,因?yàn)閷ふ液侠韍ash是一個(gè)概率事件。當(dāng)節(jié)點(diǎn)擁有占全網(wǎng)n%的算力時(shí),該節(jié)點(diǎn)即有n100的概率找到BlockHash。工作證明機(jī)制看似很神秘,其實(shí)在社會(huì)中的應(yīng)用非常廣泛。例如,畢業(yè)證、學(xué)位證等證書(shū),就是工作證明,擁有證書(shū)即表明你在過(guò)去投入了學(xué)習(xí)與工作。生活大部分事情都是通過(guò)結(jié)果來(lái)判斷的。挖礦挖礦挖礦即不斷接入新的Block延續(xù)BlockChain的過(guò)程。挖礦為整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)提供原動(dòng)力

3、,是比特幣的發(fā)動(dòng)機(jī),沒(méi)有挖礦就沒(méi)有比特幣。挖礦有三個(gè)重要功能:1.發(fā)行新的貨幣(總量達(dá)到之前)2.維系貨幣的支付功能3.通過(guò)算力保障系統(tǒng)安全金礦消耗資源將黃金注入流通經(jīng)濟(jì),比特幣通過(guò)“挖礦”完成相同的事情,只不過(guò)消耗的是CPU時(shí)間與電力。當(dāng)然,比特幣的挖礦意義遠(yuǎn)大于此。BlockHash算法算法Block頭部信息的構(gòu)成:字段名含義大小(字節(jié))Version版本號(hào)4hashPrevBlock上一個(gè)blockhash值32hashMerkl

4、eRoot上一個(gè)block產(chǎn)生之后至新block生成此時(shí)間內(nèi),交易數(shù)據(jù)打包形成的Hash32TimeUnix時(shí)間戳4Bits目標(biāo)值,即難度4Nonce隨機(jī)數(shù)4下面采用高度為125552的block數(shù)據(jù)為例,演示blockhash的計(jì)算過(guò)程:n4根據(jù)最近2016個(gè)塊的時(shí)間,重新計(jì)算目標(biāo)難度RetargetCBigNumbnNewbnNew.SetCompact(pindexLastnBits)bnNew=nActualTimespanbn

5、New=nTargetTimespanif(bnNewbnProofOfWkLimit)bnNew=bnProofOfWkLimitreturnbnNew.GetCompact()Block字段詳解字段詳解?Version,版本號(hào),很少變動(dòng),一般用于軟件全網(wǎng)升級(jí)時(shí)做標(biāo)識(shí)?hashPrevBlock,前向BlockHash值,該字段強(qiáng)制多個(gè)Block之間形成鏈接?hashMerkleRoot,交易Hash樹(shù)的根節(jié)點(diǎn)Hash值,起校驗(yàn)作用,

6、保障Block在網(wǎng)絡(luò)傳輸過(guò)程中的數(shù)據(jù)一致性,有新交易加入即發(fā)生變化?Time,Unix時(shí)間戳,每秒自增一,標(biāo)記Block的生成時(shí)間,同時(shí)為blockhash探尋引入一個(gè)頻繁的變動(dòng)因子?Bits,可以推算出難度值,用于驗(yàn)證blockhash難度是否達(dá)標(biāo)?Nonce,隨機(jī)數(shù),在上面數(shù)個(gè)字段都固定的情況下,不停地更換隨機(jī)數(shù)來(lái)探尋最為關(guān)鍵的字段是hashPrevBlock,該字段使得Block之間鏈接起來(lái),形成一個(gè)巨大的“鏈條”。Block本是

7、稀松平常的數(shù)據(jù)結(jié)構(gòu),但以鏈?zhǔn)浇Y(jié)構(gòu)組織起來(lái)后卻使得它們具有非常深遠(yuǎn)的意義:1.形成分支博弈,使得算力總是在主分支上角逐2.算力攻擊的概率難度呈指數(shù)上升(泊松分布)每個(gè)block都必須指向前一個(gè)block,否則無(wú)法驗(yàn)證通過(guò)。追溯至源頭,便是高度為零的創(chuàng)世紀(jì)塊(GenesisBlock),這里是BlockChain的起點(diǎn),其前向blockhash為零,或者說(shuō)為空。新block誕生過(guò)程誕生過(guò)程山賽幣網(wǎng)址導(dǎo)航網(wǎng)下面是一個(gè)簡(jiǎn)單的步驟描述,實(shí)際礦池運(yùn)

8、作會(huì)有區(qū)別,復(fù)雜一些:下面是一個(gè)簡(jiǎn)單的步驟描述,實(shí)際礦池運(yùn)作會(huì)有區(qū)別,復(fù)雜一些:1.節(jié)點(diǎn)監(jiān)聽(tīng)全網(wǎng)交易,通過(guò)驗(yàn)證的交易進(jìn)入節(jié)點(diǎn)的內(nèi)存池(TxMemPool),并更新交易數(shù)據(jù)的MerkleHash值2.更新時(shí)間戳3.嘗試不同的隨機(jī)數(shù)(Nonce),進(jìn)行hash計(jì)算4.重復(fù)該過(guò)程至找到合理的hash5.打包block:先裝入blockmeta信息,然后是交易數(shù)據(jù)6.對(duì)外部廣播出新block7.其他節(jié)點(diǎn)驗(yàn)證通過(guò)后,鏈接至BlockChain,主

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論