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