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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論