區塊鏈的共識機制就是這麼簡單

區塊鏈中的每個區塊都是由礦工計算出來的,那怎麼才能讓其他的礦工都認可該區塊是正確的,大家都接受的區塊呢?這就需要一種共識機制了。如果在現實中我們一定是選擇一個公平公正公開的第三方來做這個事情。但是區塊鏈的目的就是要實現1對1的互信問題。作為區塊鏈1.0代表的比特幣是如何解決的呢?

首先,比特幣代碼都是開源的,所有人都能詳細的看到代碼裡制定的規則,即機器代碼對所有人是公平公正公開的。

其次,在公平公正公開的基礎上,所有的礦工都在做一道難於計算但易於驗證的證明題。舉個簡單的例子來說明難於計算的做法:

  1. 用二進制數A=010001010101110和B=011101010101010做Hash運算,得到C;
  2. 如果C小於D=000000000111111。則B是要找的答案;
  3. 如果C大於指定值D,則換一個B的值,繼續1中運算。

找到答案的過程大概需要10分鐘左右,並且會隨著礦工計算能力的變化,每2016個區塊調整一次難度的參數,保證10分鐘出一個區塊的平均速度。但是驗證的過程很簡單,只需要正向的計算一次就可以了。

最後,證明者提交答案後,任何人通過驗證這個答案就能確信證明者已經完成了大量的計算工作才獲取到該答案,並把該區塊放到本地區塊鏈的末端,在此基礎上繼續後續區塊的計算。

這就是“工作量證明(PoW,Proof of Work)”共識機制。

當然也有其他的共識機制,不同的區塊鏈會根據自身特點選擇共識機制。

比如“權益證明機制(PoS,Proof of Stake)”這種機制通過計算你持有幣數佔系統總幣數的百分比,包括你佔有幣數所持有的時間,來決定你獲得本次區塊的機率。

另外還有 “股份授權證明機制(DPoS)”,它希望結合PoW和PoS的特點的。 該機制中全體節點投票選舉出一定數量的節點代表,由他們來代理全體節點確認區塊、維持系統有序運行。同時,區塊鏈中的全體節點具有通過投票隨時罷免和任命代表的權力。


分享到:


相關文章: