1. 程式人生 > >20181116--區塊鏈記賬原理

20181116--區塊鏈記賬原理

區塊鏈1.0是比特幣,2.0是與智慧合約結合的以太坊
那麼一定要講一講雜湊函式

雜湊函式
雜湊函式:Hash(原始資訊) = 摘要資訊
原始資訊可以是任意的資訊, hash之後會得到一個簡短的摘要資訊
雜湊函式的特點
同樣的原始資訊用同一個雜湊函式總能得到相同的摘要資訊
原始資訊任何微小的變化都會雜湊出面目全非的摘要資訊
從摘要資訊無法逆向推算出原始資訊
舉例說明:
Hash(張三借給李四100萬,利息1%,1年後還本息 ……) = AC4635D34DEF
賬本上記錄了AC4635D34DEF這樣一條記錄
雜湊函式的作用
簡化資訊
標識資訊
隱匿資訊
驗證資訊

比特幣系統里約10分鐘記一次賬,即每個區塊生成時間大概間隔10分鐘

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

Hash(序號0、記賬時間、交易記錄) = 787635ACD

賬頁資訊和Hash值組合在一起就構成了第一個區塊。
在記第2個賬頁的時候,會把上一個塊的Hash值和當前的賬頁資訊一起作為原始資訊進行Hash,即:

Hash(上一個Hash值、序號1、記賬時間、交易記錄) = 456635BCD

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

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