什麼是工作量證明?
工作量證明(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的哈希散列。
(03).工作量證明的過程 我們可以把比特幣礦工解這道工作量證明迷題的步驟大致歸納如下: 生成Coinbase交易,並與其他所有準備打包進區塊的交易組成交易列表,通過Merkle Tree算法生成Merkle Root Hash 把Merkle Root Hash及其他相關字段組裝成區塊頭,將區塊頭的80字節數據(Block Header)作爲工作量證明的輸入 不停的變更區塊頭中的隨機數即nonce的數值,並對每次變更後的的區塊頭做雙重SHA256運算(即SHA256(SHA256(Block_Header))),將結果值與當前網絡的目標值做對比,如果小於目標值,則解題成功,工作量證明完成。 該過程可以用下圖表示:
(04)比特幣的工作量證明,就是我們俗稱“挖礦”所做的主要工作。理解工作量證明機制,將爲我們進一步理解比特幣區塊鏈的共識機制奠定基礎。
-
微信openid獲取教程
用微信支付平臺發放紅包必須上傳用戶的微信openid,想要導出微信openid可以按以下步驟來做。操作方法(01)進入微信openid導出平臺,根據下圖1更新列表;2刷新粉絲信息;3導出數據;(02)獲得的微信平臺openid數據如下(03)把openid拷貝到t型臺文件裏,格式如下。(04)導入到微信商戶平...
-
解決TeamViewer無法按給定網絡地址聯繫夥伴
在使用TeamViewer遠程控制電腦的時候,突然出現下圖提示無法建立連接,無法按給定網絡地址聯繫夥伴。然後不管怎麼試,都彈出這個連接地址。下面是本人親身經歷和排除方法,僅供參考。操作方法(01)首先第一步就是修復一下網絡連接,打開網絡和共享中心。(02)選擇自己使用的上...
-
金萬維動態域名教程
現如今有很多nat123、金萬維等類似的建站軟件,那麼怎麼用金萬維獲得屬於自己的動態域名呢?操作方法(01)登陸金萬維服務器端,進入配置界面,點擊配件許可證,然後點擊“點擊申請試用賬號”。(02)按提示輸入相關信息,完成註冊。註冊完成後,一般建議勾選“啓動動態域名解析”,這...
-
如何把文件轉換成PDF格式?
PDF格式在如今使用頻率越來越高,在一些文檔中,PDF往往比較方便文字及圖片的查看。那麼如何把文件直接轉換成PDF格式呢?以福昕高級PDF編輯器爲例,把文檔改成方便的PDF格式進行瀏覽和編輯。操作方法(01)PDF格式的文檔很多,一些方便的功能可以直接在PDF編輯器中實現。怎...