【區塊鏈啟示錄:中本聰文集】一:前言 | 位元幣的作業原理(下)
- 02-位元幣的作業原理
- 哈希函式——數字指紋
- 礦工的作業量證明
- 礦工共識與孤塊
- 位元幣的作業原理
- 位元幣的影響
- 03-中本聰的論文
02-位元幣的作業原理
哈希函式——數字指紋
- 加密哈希是一種執行簡單任務的復雜演算法,可以將任意長度的文字轉化成固定長度的隨機字串,哈希函式的輸出結果通常成為資訊摘要,被視為檔案的指紋,可以看到,只更改了下面輸入的一個字符,輸出結果便會看起來完全不同,

- 生成摘要很容易,但是不可能從摘要中推匯出原式文本, 于是,哈希函式是實作位元幣的理想選擇,礦工尋找問題答案時常常需要數百萬次哈希計算才能找到正確的模式,但其他礦工驗證答案的正確性則只需要一次哈希計算,
- 理想的哈希函式有四個主要屬性:
- 計算任何給定訊息的哈希值要簡單
- 不可能依據給定的哈希值生成訊息
- 不可能只修改訊息而保持哈希值不變
- 不可能找到具有相同哈希值的兩條訊息
- 用戶要對位元幣系統的檔案或文本進行數字簽名,哈希函式是這個程序的一部分,
- 位元幣采用的是用于作業量證明的 S H A ? 256 SHA-256 SHA?256 以及用戶位元幣地址的 R I P E M D ? 160 RIPEMD-160 RIPEMD?160,哈希函式是作業量證明的核心,
礦工的作業量證明
- 每個礦工在任何時刻都以解答難題的方式積極從事生成下一個即將加入區塊鏈的區塊作業,這就是作業量證明,第一個完成作業量證明的礦工獲得的獎勵包括新筑的位元幣以及產出區塊交易費的總和,當位元幣都鑄造完畢后,礦工將僅以交易費作為獎勵,
- 因此,可以認為作業量證明是位元幣礦工之間的競賽,競相發現將要生成區塊的具有某種特征的 S H A ? 256 SHA-256 SHA?256 哈希值,礦工的目標就是通過生成符合特征的哈希值來解答問題,
- 為了簡單起見,假設輸出哈希值的取值范圍為
0
~
1
e
6
0\sim 1e6
0~1e6,第一個算出小于
1
e
4
1e4
1e4 哈希值的礦工勝出,這里
1
e
4
1e4
1e4 就是閾值,每個位元幣區塊都含有一個數字,其唯一目的就是幫助達到閾值,這個數字被稱為臨時數(
n
o
n
c
e
nonce
nonce),礦工不斷增加臨時數的值,直到區塊的哈希值小于閾值,由于不同礦工的區塊有不同的資訊,因此相同的臨時數會產生不同的哈希值,每臺礦工計算機上運行的位元幣軟體控制著位元幣協議不斷調整問題的難度,確保大約每
10
10
10 分鐘才會有一個礦工解答完問題,

- 位元幣系統的這一要求導致了一場硬體競賽,所有人都想創造出每秒能計算出更多哈希值的硬體,如果難度級別確定,更多的礦工加入會讓每秒計算出更多的哈希值,一定區塊過后,位元幣協議評估區塊產生的速度來加大或者減小難度級別,
- 一旦礦工發現能產生正確哈希值的臨時數,就將該區塊廣播出去,其他的礦工在驗證后接納它,并開始著手下一個區塊,

礦工共識與孤塊
- 位元幣的正常運行很大程度上依賴于共識,當兩個礦工幾乎同一時間完成區塊時,共識開始發揮作用,這時,兩個區塊會被其他所有礦工接收和保留,但是礦工們會在先收到的那個區塊的基礎上計算下一個區塊,

- 這時,兩個區塊中哪一個會成為真正區塊鏈的一部分取決于下一個區塊解答得有多快,以及解出下一個區塊的礦工先收到哪一位礦工的區塊,此節點上存在著兩個版本的區塊鏈,快的成為正式鏈,另一個成為孤塊,

位元幣的作業原理
- 前面討論了位元幣的作業原理,但是并沒有闡明為什么要這么做,我們要先理解以下概念:
- 位元幣是開源軟體
- 位元幣軟體制定了礦工和錢包客戶端必須遵從的操作指令
- 位元幣軟體定義和運行了一套通信協議
- 區塊鏈的分布式檔案共享容許開放記賬
位元幣的影響
- 作為一種貨幣系統,位元幣的影響巨大,人們通過它可以進行全球匯款,可以網上購物和網上捐贈,
03-中本聰的論文
論文地址為:Bitcoin: A Peer-to-Peer Electronic Cash System
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/355391.html
標籤:區塊鏈
