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