馬蹄鏈智慧合約DAPP系統開發搭建詳情

aa111111發表於2023-02-24

什麼是共識機制?

區塊鏈要成為一個難以攻破的、公開的、不可篡改資料記錄的去中心化誠實可信系統,需要在儘可能短的時間內做到分散式資料記錄的安全、明確及不可逆,提供一個最堅實且去中心化的系統。共識機制在區塊鏈中成為了重要的因素之一。


區塊鏈分散式記賬的方式使得每個人手上都有一本完整的賬本,全網共有。但是隨著節點的不斷增多,資料越多,賬本也越安全,難以摧毀。除此之外,任意一個或者部分節點的賬本被篡改,都不可能被全網認同,除非你能控制51%的節點,即51%攻擊,但是這耗能巨大,幾乎是不可能的。同時隨著節點不斷增加,誰來記賬,如何選擇合適的人來記賬成為一個問題,而制定一個記賬人的選擇方式以及規定,讓大家來遵守這個規定,達成共識,這就是區塊鏈裡面的共識機制。


共識機制是區塊鏈節點就區塊資訊達成全網一致共識的機制,說得更直白一些就是要解決所謂去中心化的信任問題,因為每個節點之間預設是不認識且不可靠的,同時每個節點都不能知道其他節點是否當機或者背叛的情況下,儘可能的保證記錄資訊的準確性以及安全性。同時節點越分散,效率越低,網路對於資訊的滿意度越高,越安全。


共識機制的目標

區塊鏈作為一種按時間順序儲存資料的資料結構,可支援不同的共識機制。共識機制是區塊鏈技術的重要元件。區塊鏈共識機制的目標是使所有的誠實節點儲存一致的區塊鏈檢視,同時滿足兩個性質:

1)一致性:所有誠實節點儲存的區塊鏈的字首部分完全相同。

2)有效性:由某誠實節點發布的資訊終將被其他所有誠實節點記錄在自己的區塊鏈中。


為什麼需要共識機制?

在分散式系統中,各個不同的主機透過非同步通訊方式組成網路叢集。為了保證每個主機達成一致的狀態共識,就需要在主機之間進行狀態複製。非同步系統中,可能會出現各樣的問題,例如主機出現故障無法通訊,或者效能下降,而網路也可能發生擁堵延遲,類似的種種故障有可能會發生錯誤資訊在系統內傳播。因此需要在預設不可靠的非同步網路中定義容錯協議,以確保各主機達成安全可靠的狀態共識。所以,利用區塊鏈構造基於網際網路的去中心化賬本,需要解決的首要問題是如何實現不同賬本節點上的賬本資料的一致性和正確性。


這就需要借鑑已有的在分散式系統中實現狀態共識的演演算法,確定網路中選擇記賬節點的機制,以及如何保障賬本資料在全網中形成正確、一致的共識。


如何評價一個共識機制的優劣:

安全性:能否有效防止二次支付,私自挖礦

擴充套件性:當系統成員和待確認交易數量增加時,所帶來的系統負載和網路通訊量的變化,通常以網路吞吐量來衡量

效能效率:每秒可以處理的交易數量

資源消耗:達成共識過程中,所要消耗的CPU、記憶體等計算資源

共識機制分類

沒有一種共識機制是完美無缺的,各共識機制都有其優缺點,有些共識機制是為解決一些特定的問題而生。


BTC作為區塊鏈的第一個應用,它的共識機制PoW共識機制曾經一枝獨秀,但是隨著區塊鏈技術的不斷髮展,各類不同的共識機制開始不斷湧現,各有千秋,各有擁躉。


常見的共識就機制包括:POW(工作量證明機制)、POS(權益證明機制)、POW+POS(混合共識機制)、DPOS(股份授權證明)等等,另外還有Pool驗證池、Ripple瑞波共識協議、PBFT(使用拜占庭容錯演演算法)等等


PoW( Proof of Work)工作量證明:多勞多得



最早(也是第一個)被應用的共識機制,最先被BTC採用並且獲取了巨大成功,它支撐了BTC系統長達 10 多年無重大故障使其平穩執行。而且 PoW 構想也符合創始人中本聰最初的設想:人人皆可挖礦、按勞分配、公平公正。


PoW 屬於按勞分配,多勞多得,就如同大家在BTC系統中一起進行數學運算,最先運算出的才能獲得獎勵。是一種衡量計算機工作量的共識機制。BTC使用的就是工作量證明機制。


工作量證明主要透過雜湊計算找出合理資料的步驟來完成:將區塊頭資料帶入雜湊函式計算公式,不斷調整區塊頭資料中的隨機數,直到計算出滿足特定標準的雜湊值,工作量證明就會完成。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010128/viewspace-2936898/,如需轉載,請註明出處,否則將追究法律責任。

相關文章