我想目前整體已經能夠理解區塊鏈如何運行的
為何需要區塊鏈的共識機制 本身的作用在於
確保在分散式網絡中所有參與者
對數據的一致性達成一致意見的機制。
對於常見的機制 主要可以介紹
區塊鏈的共識機制是確保所有參與節點在添加新的交易或區塊時達成一致的方法。它的目標是解決分散式系統中的雙重花費和數據不一致性等問題。不同的區塊鏈平台使用不同的共識機制,以下是其中一些常見的共識機制:
區塊鏈中 存在 A B C D 四個節點(礦工)
A、B、C、D 四者相互連線 (如圖)
(可以注意到區塊鏈中 任一節點不一定要與所有其他節點都連線)
像是 A 與 B 跟其他節點都有連線,但是 C 與 D 並非與其他點都連線。
(P2P網路,僅需透過相互傳遞 最後 A、B、C、D 四個節點資訊都可以相同)
現在交易發生
會注意到基本上,B、C、D 在這過程中 也付出很計算資源進行計算。
但最後卻僅由 A 獲得獎賞。
在真實的區塊鏈中,節點可能是成千上萬,這足以想像浪費的資源有多少。
如上述例子 A B C D 四個節點於區塊鏈網路中
現在計算區塊時的步驟轉為:
股東抵押幣要參與區塊生成,股東需要抵押一定數量的幣作為擔保。
選擇區塊生成者根據他們抵押的幣數量和時間長短,區塊鏈系統會選擇一個或多個股東作為區塊生成者。
區塊生成和驗證被選中的股東(區塊生成者)負責生成新的區塊,並將交易納入該區塊。
其他股東(驗證者)將驗證新區塊的有效性。
獎勵分配如果新區塊被驗證並接受,區塊生成者和驗證者都有資格獲得獎勵。
抵押的釋放一旦股東完成了他們的區塊生成和驗證工作,他們的抵押將被釋放。
而且在 PoS 共識機制下,通常區塊的生成 不必計算 Nonce。
(例如可以使用 當前區塊含有前一區塊交易資訊 作為區塊鏈連接方式)備註: 詳細計算方式 根據不同的區塊鏈而有所差異
但是假設 四個節點的資訊如下
A 節點 | B 節點 | C 節點 | D 節點 | |
---|---|---|---|---|
擁有的虛擬貨幣數量 | 1000 ETH | 1 ETH | 1 ETH | 1 ETH |
從最開始 A 就參與生成,且每次都參與。
則不管其他三個節點何時加入,都是大概率 由 A 節點獲得生成的機會。
(因為 A 節點 虛擬貨幣最多 同時也投入最久)
雖然很大程度減少資源浪費
但是導致持有越多虛擬貨幣的節點越能成為區塊生有者。
窮的節點永遠無法獲得新的獎勵的機會
如上述例子 A B C D 四個節點於區塊鏈網路中
透過混合機制的共識後 區塊練處理順序變為
節點類型分配區塊鏈網絡中有兩種不同類型的節點(PoW與PoS)
這兩者的數量和權重是根據網絡設計和共識協議來分配的。
交易驗證當一筆交易被提交到區塊鏈網絡時,它需要經過PoW和PoS節點的驗證。
一旦驗證完該筆交易,交易進入等待區塊的池子。
區塊生成PoW礦工繼續競爭生成新區塊的權利,這是傳統PoW的部分。
與此同時,PoS持幣者也有機會被選為下一個區塊的生成者。
區塊添加當一個PoW礦工或PoS持幣者成功生成一個新區塊時,這兩種類型的節點都可以獲得獎勵。
這裡會出現的問題,較多來自人性。
A 節點 | B 節點 | C 節點 | D 節點 | |
---|---|---|---|---|
節點類型 | PoS | PoS | PoW | PoW |
如果 幾乎每次區塊都是由PoS節點獲得生成機會
則 C 節點 與 D 節點 則會非常不開心,甚至在整個社群吵起來。
對於區塊鏈的長久運營未必是件好事!
看到這個可能會有些許疑惑,為甚麼要有 "私有區塊鏈"
私有區塊鏈就代表並不是所有人都可以參與區塊生成
(可能規定只有允許的節點能進入)
這樣資訊豈不就是無法很有效的分散在許多節點上嗎?
對的,沒錯。
雖然不具有所謂 "去中心化"。
但是私有區塊鏈仍舊保有無法輕易竄改的特性。
同時因為只有少數限定的節點在運作
也帶來了更好的效能與加強資料控制權
採用容錯共識就能更有效的提升計算的效率。
因此這項技術仍給予私人企業自己執行的機會。
區塊鏈的共識機制是
確保網絡中數據的一致性和安全性的重要部分。
而不同的區塊鏈平台使用不同的共識機制,
以滿足其特定需求和目標。
共識機制的選擇影響著區塊鏈的性能、能源效率和安全性。
希望閱讀完這篇文章後 能夠理解
通過前面的講述 對此應該已能理解關於
通過以上 區塊鏈已經能夠好好的運行了。
接下來我們要回歸本質
通過如此的運行模式與機制,那區塊鏈最初的夢想是甚麼?