從0開始學區塊鏈:何為共識機制?

如果您經常關注區塊鏈,大家應該經常聽到一個詞叫做共識機制。

很多人都說,“儘管密碼學佔了區塊鏈的半壁江山,但是共識機制卻是整個區塊鏈的靈魂。“那麼共識機制究竟是什麼呢?

首先,專員先用較為通俗的話來簡單的介紹共識機制的作用,其實共識機制就相當於一個國家的法律法規,我們經常會說到要依法治國,遵守法律,法律維持了整個國家的正常運轉。而在區塊鏈的世界中也是這樣,共識機制就是利用代碼和算法來保證了區塊鏈世界中的各個節點的正常運行。

從上面的簡單介紹中,大家應該就可以體會到整個共識的作用,在我的理解中,共識其實就是早已出現的分佈式一致性協議,之前我們在介紹上篇《區塊鏈那些事?》的時候,我們提到過區塊鏈其實就是去中心化的分佈式賬本,而在整個區塊鏈整個分佈式系統中,每個節點都會在同一時間收到交易,而如何對在幾乎相同時間內的產生的事物前後排序的,就涉及到區塊鏈系統的共識機制。所以,共識機制其實就是在整個分佈式的系統中幫助各個節點在同一個時間內對事物的前後順序達成共識的一種算法,它保證了整個區塊鏈網絡中由哪個節點寫入交易,並且何時寫入交易,而且一旦寫入,又怎麼保證如何不被其他節點所篡改,且受到其他節點的認可達到整個區塊鏈網絡中各節點的賬本一致性。

從0開始學區塊鏈:何為共識機制?

接著專員會分數篇介紹幾種十分常見的共識算法,以便大家更好的對整個共識機制做一定的瞭解?

首先是最經典也是現階段最多的工作量證明機制,也就是我們經常說道的POW(Proof of Work)算法,它也是最好被提出的共識機制,也被很好的運用到了比特幣,萊特幣以及以太坊等知名的公鏈當中去了。其實它就是我們現在社會的分配製度的一個數字化的體現方式而已,就是“按勞分配“,簡單的說,就是誰付出的工作量多誰拿到的收益也就更大,在區塊鏈網絡中這裡的工作量就是你電腦的算力,也就是說你電腦的性能。

POW的過程如下圖所示:

從0開始學區塊鏈:何為共識機制?

每個節點在處理交易數據的同時不斷的進行哈希計算,求得一位小於網絡目標值的哈希值,這個值成為nonce黃金數,而這個網絡目標值就是我們所說的難度值,也會隨著整個區塊鏈系統的運行而不斷調整。當全網有一位礦工哈希出nonce時,他就會把自己打包的區塊公佈出去,其他節點收到區塊驗證區塊後就會一致性認為這個區塊接到了區塊鏈上,就繼續進行下一個區塊的打包和哈希計算。提供這種服務的過程就是“挖礦”。假如是真的礦場,顯然在均勻分佈的前提下,人們“挖礦”所得的比重與各自提供的算力成正比,通俗一點就是,能力越強獲得越多。這個就是通過犧牲算力來保證了整個賬本的一致性,因為有點時候會出現分叉,我們需要等待數個區塊鏈的確認也能保證交易已經唄寫入網區塊鏈絡中去。但是仔細思考一下,也就是這種十分暴力又有簡單的方法就保證了整個區塊鏈網絡的合法性,而且整個區塊鏈網絡的魯棒性十分優秀,即使網絡中僅剩唯一的一個節點,整個區塊鏈也能正常的執行下去。最後通過POW也保證了整個系統的安全性,如果說有人想篡改或者修改整個區塊鏈歷史,需要掌握整個區塊鏈網絡中51%的算法,而照現在比特幣或者以太坊等公鏈的情況來看,很難控制網絡中的51%的算力,基本是不可能達到的,並且從經濟學的角度來看,一個人要有一定的經濟收益才會去幹這個事情,幹這個事情他的收益會遠遠低於他的付出,會使整個公鏈的價值不復存在,因此這種機制很好的保護了整個區塊鏈網絡安全且健壯的運行下去。

通過上面的簡單的介紹,我想大家能大概的瞭解了整個POW的機制,也間接的瞭解了一點區塊鏈挖礦的機制,因為共識和激勵機制在公鏈的角度本身就是分不開的,在接下來的文章中我也會逐漸介紹其他的相應的共識算法例如POS,DPOS、PBFT等等共識算法。還是那句話,作為一個區塊鏈技術從業者,我始終相應區塊鏈技術可能會解決現在互聯網的某些痛點,堅信區塊鏈會有更好的發展。

如果覺得文章還不錯記得關注專員哦,這樣專員才有動力持續輸出呢!


分享到:


相關文章: