區塊鏈記賬原理

買賣虛擬貨幣
區塊鏈(1.0)是一個基於密碼學安全的分散式賬本,是一個方便驗證,不可篡改的賬本。
通常認為與智慧合約相結合的區塊鏈為區塊鏈2.0, 如以太坊是典型的區塊鏈2.0
很多人只瞭解過比特幣,不知道區塊鏈,比特幣實際是一個使用了區塊鏈技術的應用,只是比特幣當前太熱,把區塊鏈技術的光芒給掩蓋了。區塊鏈才是未來,期望各位開發人員少關心幣價,多關心技術。
本文將講解區塊鏈1.0技術是如何實現的。
雜湊函式
在講區塊鏈記賬之前,先說明一下雜湊函式。
雜湊函式:Hash(原始資訊) = 摘要資訊
原始資訊可以是任意的資訊, hash之後會得到一個簡短的摘要資訊
雜湊函式有幾個特點:
- 同樣的原始資訊用同一個雜湊函式總能得到相同的摘要資訊
- 原始資訊任何微小的變化都會雜湊出面目全非的摘要資訊
- 從摘要資訊無法逆向推算出原始資訊
舉例說明:
Hash(張三借給李四100萬,利息1%,1年後還本息 …..) = AC4635D34DEF
賬本上記錄了AC4635D34DEF這樣一條記錄。
可以看出雜湊函式有4個作用:
簡化資訊
很好理解,雜湊後的資訊變短了。
標識資訊
可以使用AC4635D34DEF來標識原始資訊,摘要資訊也稱為原始資訊的id。
隱匿資訊
賬本是AC4635D34DEF這樣一條記錄,原始資訊被隱匿。
驗證資訊
假如李四在還款時欺騙說,張三隻借給李四10萬,雙方可以用AC4635D34DEF來驗證原始資訊
雜湊函式的這4個作用在區塊鏈技術裡有廣泛的運用。
(雜湊函式是一組函式或演算法,以後會發文章專門介紹雜湊)
區塊鏈記賬方法
假設有一個賬頁序號為0的賬頁交易記錄如下:
記賬時間為:2017-10-22 10:22:02
區塊鏈在記賬是會把賬頁資訊(包含序號、記賬時間、交易記錄)作為原始資訊進行Hash, 得到一個Hash值,如:787635ACD, 用函式表示為:
Hash(序號0、記賬時間、交易記錄) = 787635ACD
賬頁資訊和Hash值組合在一起就構成了第一個區塊。
比特幣系統里約10分鐘記一次賬,即每個區塊生成時間大概間隔10分鐘
在記第2個賬頁的時候,會把上一個塊的Hash值和當前的賬頁資訊一起作為原始資訊進行Hash,即:
Hash(上一個Hash值、序號1、記賬時間、交易記錄) = 456635BCD
這樣第2個區塊不僅包含了本賬頁資訊,還間接的包含了第一個區塊的資訊。依次按照此方法繼續記賬,則最新的區塊總是間接包含了所有之前的賬頁資訊。
所有這些區塊組合起來就形成了區塊鏈,這樣的區塊鏈就構成了一個便於驗證(只要驗證最後一個區塊的Hash值就相當於驗證了整個賬本),不可更改(任何一個交易資訊的更改,會讓所有之後的區塊的Hash值發生變化,這樣在驗證時就無法透過)的總賬本。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;