區塊鏈的記賬原理

在講記賬原理之前,我們先聊聊哈希函數。

哈希函數

Hash(原始信息) = 摘要信息
哈希函數的特點:

  • 同樣的原始信息用同一個哈希函數總能夠得到相同的摘要信息。
  • 原始信息任何微小的變化都會哈希出面目全非的摘要信息。
  • 無法從摘要信息逆推出原始信息。

舉例說明:
Hash(張三借給李四100萬,利息1%,1年後還本息 .....) = AC4635D34DEF
賬本上記錄了AC4635D34DEF這樣一條記錄。
可以看出哈希函數有以下的特點:

  • 簡化信息(摘要信息要比原始信息簡短的多)
  • 標識信息(張三借給李四100萬,利息1%,1年後還本息 …..可以用 AC4635D34DEF代替,也就是說摘要信息也稱爲原始信息的ID)
  • 隱匿信息(賬本上記錄的是AC4635D34DEF,而隱藏了原始信息)
  • 驗證信息(如果存在欺騙的數據,可以用摘要信息來驗證)。

區塊鏈的記賬方法

區塊鏈在記賬是會把賬頁信息(包含序號、記賬時間、交易記錄)作爲原始信息進行Hash, 得到一個Hash值,如:787635ACD, 用函數表示爲:
Hash(序號0、記賬時間、交易記錄) = 787635ACD

賬頁信息和Hash值組合在一起就構成了第一個區塊。
比特幣系統里約10分鐘記一次賬,即每個區塊生成時間大概間隔10分鐘
在記第2個賬頁的時候,會把上一個塊的Hash值和當前的賬頁信息一起作爲原始信息進行Hash,即:
Hash(上一個Hash值、序號1、記賬時間、交易記錄) = 456635BCD

這樣第2個區塊不僅包含了本賬頁信息,還間接的包含了第一個區塊的信息。依次按照此方法繼續記賬,則最新的區塊總是間接包含了所有之前的賬頁信息。

所有這些區塊組合起來就形成了區塊鏈,這樣的區塊鏈就構成了一個便於驗證(只要驗證最後一個區塊的Hash值就相當於驗證了整個賬本),不可更改(任何一個交易信息的更改,會讓所有之後的區塊的Hash值發生變化,這樣在驗證時就無法通過)的總賬本。

發佈了65 篇原創文章 · 獲贊 93 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章