區塊鏈學習筆記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