EXGO學院|第15課:什麼是共識機制?
我們上節課講過,分佈式網路必須要解決的一個至關重要的問題,就是“拜占庭將軍問題”,而區塊鏈作為分佈式網路中的典型代表,則採用了一系列新型的技術,來解決這個問題,這個技術就是共識機制。
簡單來說,共識機制就是一種每個節點都必須遵守的規則。它同樣是區塊鏈的四大核心技術之一。共識機制在區塊鏈網路中主要起到了協調全節點賬目保持一致的作用。
為什麼這麼說?我們都知道區塊鏈是去中心化的,基於分佈式帳本技術,每個人都可以自由地加入進來,成為其中的一個節點。但想一想,絕對的自由,必然會帶來絕對的混亂,如果每個人都自由地在網路中處理數據,整個網路會發生什麼樣的情況?
比如,我作為一個節點加入進來,這個時候網路中產生了一筆數據,我是以方式A處理的,而另一個人是以方式B處理的,我們的處理方式不同,許可權又都平等,那到底用誰處理的數據呢?一旦我們兩個無法達成共識,整個網路就很容易發生分歧,產生混亂。
此外,在這種環境下,我和其他節點相互不認識,又沒有一個中心化的權威機構來做擔保,我怎麼確定其他節點處理的數據沒問題?
所以說,在去中心化的環境下,沒有一個比較中心化的節點能做決策,協助網路運行,網路就很難在自由的環境下,自主運行。
為了解決這個問題,中本聰就想了個辦法:雖然整個網路中沒有一個中心化的節點能做決策,但是我可以設立一套規則,讓這個規則成為一個中心化的機制,每個節點必須遵守,幫助網路自主運行,就好比法律約束社會的每個人一樣。
這個規則內容要包含兩點,第一是解決分佈式帳本中,每個節點怎麼記賬的問題;第二是解決不同節點間,如何交換資訊、達成共識的問題。
具體是依賴某種方式,確定誰取得區塊鏈中的記賬權,誰取得了記賬權,整個網路就用誰處理好的數據,並且這個人還可以獲取打包區塊的獎勵,此外,誰如果意圖危害網路,也會獲得一定的懲罰。
這樣就能在一個沒有中心化節點存在的情況下,既能讓每個節點比較統一地做一件事,又能保證每個節點的小數據庫之間數據一致。從而令分佈式網路,比較有序地去運行。
總的來說,共識機制就是一種制度,能夠約束去中心化網路中的每一個分散的節點,維護系統的運作順序與公平性,使每一個互不相干的節點能夠驗證、確認網路中的數據,進而產生信任,達成共識。
Updated on: 27/07/2023