用簡單而又專業的角度為大傢揭秘區塊鏈和比特幣

簡單的說,區塊鏈就是一種計算機的技術,和互聯網是一樣。

再復雜一點的說,區塊鏈是一種電子化數據的存儲方法。數據是以區塊的形式出現的,這些區塊都鏈接在瞭一起,為其內部數據賦予瞭不可變性。當一個數據塊被鏈接到瞭這條鏈上,其內部數據就再也無法更改瞭,裡面的數據對任何人都是公開可見的。

1.區塊規則

每個區塊的大小在 1 MB 左右。

區塊按照時間順序從第一筆交易開始記錄,當數據量達到 1 MB 後,交易會記錄在下一區塊中,依次順延。

2.區塊鏈接

把這些區塊鏈接在一起的,就是根據每個區塊內部數據串生成的特殊數字簽名。

這個數字簽名是通過哈希運算得出,如果這個區塊中的數據發生任何變動,即使隻改變瞭一個數字,這個區塊的簽名也會發生改變。

3.哈希運算

密碼學哈希函數是一個極其復雜的數學公式:將任意數據串作為輸入值代入公式,可以得到一個獨一無二的 64 位輸出值,但是無法用輸出值倒推出輸入值。(以後為各位朋友們詳細介紹)

4.合格的數字簽名

區塊鏈協議會預先確定一些要求,比如,在比特幣區塊鏈上,隻有在數字簽名以不少於 連續 10 個零 開頭的情況下,對應的區塊才能上鏈。為瞭獲得符合條件的區塊數字簽名,需要反復改變輸入的數據串,直到能生成以連續 10 個零開頭的簽名為止。

區塊鏈網絡上的任何用戶都可以參與到區塊數字簽名的哈希運算,這個“區塊數字簽名的哈希運算”就是挖礦。

5.區塊鏈的不可變性

更改某個區塊會導致它的簽名改變,與後續區塊記錄的對不上,從而與後面的區塊斷開鏈接。要想讓網絡中的其他參與者接受這個被更改過的區塊,就要把它跟後面的區塊重新鏈接起來。

假設有一個礦工 惡意 篡改瞭某個區塊內的交易,然後根據哈希運算為這個區塊連同跟在它後面的所有區塊生成瞭新的簽名,以此讓網絡中的其他參與者都接受被篡改過的交易。問題在於,網絡中的其他礦工也在原來的鏈上不斷為新的區塊計算簽名。隨著新的區塊不斷上鏈,作惡的礦工也要重新計算這些區塊的簽名。他必須保證所有區塊都鏈接在一起,包括不斷被添加到鏈上的新區塊。除非這個礦工擁有的算力超過全網其他人的總算力,否則他永遠趕超不瞭其他礦工。

隻有一種例外,就是惡意參與者的算力真的超過全網其他人的算力總和,這種情況下是有可能篡改區塊鏈的(即改變大傢共同認可的歷史記錄),這就叫做 51% 攻擊(以後為各位朋友們詳細介紹)。

6.密碼學貨幣

區塊鏈是一種技術,實現和運行區塊鏈技術的就是密碼學貨幣,大傢通過區塊鏈技術記錄密碼學貨幣的交易記錄,又可以通過“區塊數字簽名的哈希運算”獲得獎勵。這就是區塊鏈和比特幣的基礎關系。

David: