當前位置:妙知谷 >

遊戲數碼 >互聯網 >

什麼是工作量證明?

什麼是工作量證明?

工作量證明(Proof Of Work,簡稱POW),簡單理解就是一份證明,用來確認你做過一定量的工作。監測工作的整個過程通常是極為低效的,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等等,也是通過檢驗結果的方式(通過相關的考試)所取得的證明。

什麼是工作量證明?

操作方法

(01)權益證明機制POW是達成共識的一種方式,不過他不是唯一的方式,還可以有其他的方式讓各個節點達成共識,例如POS。POS不同於POW之處在於,在POS系統上挖礦是以貨幣持有數量為基礎,換句話説,在POS的情況下,一個人擁有虛擬貨幣的5%和在比特幣系統上擁有系統5%的算力的效果是一樣的。

(02)工作量證明的基本原理工作量證明系統主要特徵是客户端需要做一定難度的工作得出一個結果,驗證方卻很容易通過結果來檢查出客户端是不是做了相應的工作。這種方案的一個核心特徵是不對稱性:工作對於請求方是適中的,對於驗證方則是易於驗證的。它與驗證碼不同,驗證碼的設計出發點是易於被人類解決而不易被計算機解決。下圖表示的是工作量證明的流程:舉個例子,給定的一個基本的字符串"Hello, world!",我們給出的工作量要求是,可以在這個字符串後面添加一個叫做nonce的整數值,對變更後(添加nonce)的字符串進行SHA256哈希運算,如果得到的哈希結果(以16進制的形式表示)是以"0000"開頭的,則驗證通過。為了達到這個工作量證明的目標。我們需要不停的遞增nonce值,對得到的新字符串進行SHA256哈希運算。按照這個規則,我們需要經過4251次計算才能找到恰好前4位為0的哈希散列。

什麼是工作量證明? 第2張

(03).工作量證明的過程 我們可以把比特幣礦工解這道工作量證明迷題的步驟大致歸納如下: 生成Coinbase交易,並與其他所有準備打包進區塊的交易組成交易列表,通過Merkle Tree算法生成Merkle Root Hash 把Merkle Root Hash及其他相關字段組裝成區塊頭,將區塊頭的80字節數據(Block Header)作為工作量證明的輸入 不停的變更區塊頭中的隨機數即nonce的數值,並對每次變更後的的區塊頭做雙重SHA256運算(即SHA256(SHA256(Block_Header))),將結果值與當前網絡的目標值做對比,如果小於目標值,則解題成功,工作量證明完成。 該過程可以用下圖表示:

什麼是工作量證明? 第3張

(04)比特幣的工作量證明,就是我們俗稱“挖礦”所做的主要工作。理解工作量證明機制,將為我們進一步理解比特幣區塊鏈的共識機制奠定基礎。

標籤: 工作量
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/hulianwang/7dvkq.html