區塊鏈新手教學 — #11 共識機制?PoW 和 PoS 有什麼不同?

JKOBlockchain
JKOBlockchain
Published in
Jul 22, 2022

在上週我們介紹了「跨鏈」這個主題,也帶大家了解 wrapped coins 的原理。今天我們要介紹的是「共識機制」,也就是大家常聽到的 PoW 和 PoS,也會說明為什麼區塊鏈需要共識機制。

這個主題將分為以下部分:

  • 為什麼區塊鏈需要共識機制?
  • 工作量證明(Proof of Work)
  • 權益證明(Proof of Stake)

為什麼區塊鏈需要共識機制?

區塊鏈是一個分散式的帳本,由世界各地的礦工共同維護。這個帳本是去中心化的,也就是說沒有一個管理者、或層級最高的人來做決策,而是需要所有的礦工共同決定。沒有單一個體能決定什麼是正確、什麼是錯誤的,而是所有的礦工需要對帳本的狀態達成「共識」。

這邊我們可以介紹一個有趣的問題 — 「拜占庭將軍問題」。 這是一個虛擬的問題,內容是說拜占庭在經歷一場戰爭,但將軍們帶領的軍隊散落在城內各處,只能以寫信溝通,必須在短時間內決定進攻還是撤退。必須要所有的軍隊同時進攻才能攻下這個城,所以不論進攻或撤退,都必須將軍們一致同意。將軍們會以寫信的方式向其他將軍表達意願,進行投票來決定大家要一起進攻或撤退。

聽起來很簡單,但是中間可能有叛徒,他如果跟一些將軍說自己要撤退,跟另一些將軍說自己要進攻,可能會導致最後大家接受到的訊息不同,所以沒有一起進攻或撤退。也可能出現假冒將軍的信件,士兵可能故意想擾亂將軍,導致其他將軍無法分別哪封是真正的將軍所寫的、哪封是士兵寫來擾亂的。這個問題就是在解決如何依靠分散的個體(將軍們)做出共同的決定(進攻還是撤退),並確保訊息(表達意願的信)的正確性(是將軍寫的)和一致性(寫給所有將軍的訊息是一樣的)。

這和區塊鏈會遇到的問題很相似,礦工們也是分散的個體且需要對帳本的狀態達成共識,而這些共識機制都是以不同的方法提高叛徒的成本,並確保信息是正確且一致的。

拜占庭將軍問題示意圖。資料來源:DLT Labs

工作量證明(Proof of Work, PoW)

PoW 的做法是所有的礦工會同時運用電腦的算力和電力去解一道題目,第一個解出來的礦工就能得到出塊權,並得到出塊獎勵和區塊內交易的手續費。只要礦工的算力愈高,就愈容易得到出塊權。但所有的礦工在同時解題時會消耗大量的能源,導致這個機制較不環保。工作量證明是區塊鏈最早的共識機制,目前使用的鏈有比特幣以太坊萊特幣

權益證明(Proof of Stake, PoS)

PoS 則不需要比誰先算出題目,而是隨機選擇區塊的驗證人,只有被選中的驗證人需要消耗能源去驗證區塊內的交易,因此不像 PoW 消耗大量電力。所有的驗證人都需要抵押原生代幣,抵押愈多代幣、愈久的驗證人被選中的機率就愈高。這個抵押的動作我們稱為「質押」,而驗證人也會因為幫忙驗證區塊會拿到獎勵,因此這個獎勵也會被稱為「質押獎勵」。如果驗證人惡意驗證,抵押品就會被沒收,而通常抵押品的價值會比惡意驗證賺到的價值還高,導致驗證人不會有動機去惡意驗證。如果以拜占庭將軍問題來看,抵押品會被沒收就是在提高叛徒的成本,減低叛徒的動機。較新的公鏈大都使用權益證明,例如:以太坊 2.0Polygon幣安鏈Avalanche, Fantom

不同鏈的質押獎勵不同。資料來源:Staking Rewards

以上就是我們這次主題的內容,希望有幫助大家了解到區塊鏈的共識機制。下次我們會分享「智能合約」相關的內容,有興趣的朋友可以持續關注我們!

--

--