1. 程式人生 > >區塊鏈學習筆記02

區塊鏈學習筆記02

1.P2P網路 —— 去中心化的網路系統

區塊鏈就是以P2P技術為基礎的永不停止的全球網路!

2.數字簽名方案:非對稱加密演算法(sk:私鑰  pk:公鑰)

3.雜湊函式:

定義:

三大特性:

4.雜湊指標

這樣可以防止資料被篡改,因為你改一個數據整個鏈都不對了,除非你全改!

參考:http://8btc.com/thread-37209-1-1.html

5.默克爾樹(Merkle Tree

用雜湊指標改寫平衡二叉樹得到 “默克爾樹”。

每個區塊中用默克爾樹儲存資料,然後用雜湊指標連線成鏈。

參考:https://blog.csdn.net/wo541075754/article/details/54632929

6.UTXO  – Unspent Transaction Output :未支出的交易輸出

上一筆交易將比特幣匯至某一地址,這筆比特幣可長期儲存,直到該地址的主人要將款項匯至下一個收款人。在某
筆款項尚未被提出匯至下一個地址之前,這筆款項被稱為UTXO。

 SHAPE  \* MERGEFORMAT ​

UTXO模型由比特幣使用,而以太坊使用賬戶/餘額模型。

比特幣的轉賬過程:

 

7. 分散式系統的共識演算法

區塊鏈和共識演算法的關係:

 

數字貨幣會產生雙花問題,解決需要把所有交易進行排序形成一個順序賬本(區塊鏈),那解決區塊鏈的所有節點同步問題就需要分散式系統的共識演算法。

分散式系統的同步和非同步:

分散式系統的一致性:

不能達成一致性的兩種情況:

非拜占庭錯誤的兩種解決方案:

拜占庭錯誤的解決方案:

①中本聰共識(POW):

工作證明機制。

②POS共識:

股權證明機制。資產會產生利息;決策時按股權比例投票。

③DPOS共識:

委託人機制,類似議會制度或人民代表大會制度。

④PBFT: 見上圖,一般不可用。

不同共識演算法的觀點:

幾種演算法參考:https://blog.csdn.net/lsttoy/article/details/61624287