權益證明是區塊鏈早期即被提出的共識機制,目的是解決工作量證明能源消耗過多的問題,未來以太坊 2.0(Serenity)預計從 POW 轉為 POS ,並引入分片(Sharding)技術來提高交易速度與擴容性。
區塊鏈本身是一個由共識演算法連接的分散式資料庫(帳本)網路,資料庫彼此依據共識演算法的規則不斷同步(Sync)資料,最後眾多的資料庫內容會同步到一致,此時稱為「達成共識」。
達成共識是一件困難的事情,資料庫(節點)要在不相信任何一個人的情況下確認對方提供的資料正確性,好比一群人在玩傳話遊戲,彼此要交叉、互相傳遞訊息,遊戲中主持人要設計出一項規則讓最後一個人得到的訊息要與第一個人完全相同,而且所有人最後要把答案寫下來,答案都必須完全相同,當人越多這個遊戲的難度也就越高。
區塊鏈也是類似的情況,當節點越多,資料庫成功同步的難度也就越高,比特幣與以太坊這類的公鏈能夠同步數千、數萬個節點—— 這正是他們的價值所在,現有公鏈大多仰賴工作量證明(Proof of Work, POW)作為共識基礎,這項共識機制已經被證明相當成功,礦機要不停送出 hash 值至節點,透過競猜隨機數,讓最後產生的答案達到演算法設定的範圍內,便可成功打包區塊及獲得獎勵。
POW 原理是藉由電腦的運算能力保護區塊鏈網路的安全性及正確性,但非常消耗能源,許多團隊都在嘗試解決這項問題,權益證明(Proof of Stake, POS)因而被提出。
權益證明(Proof of Stake, POS)
權益證明是區塊鏈早期即被提出的共識機制,目的是解決工作量證明能源消耗過多的問題,未來以太坊 2.0(Serenity)預計從 POW 轉為 POS ,並引入分片(Sharding)技術來提高交易速度與擴容性。
POS 原理是共識機制中存在許多的節點,這些節點必須抵押持有的代幣以取得認證資格,演算法會依照各節點抵押的代幣數量選出驗證節點(Validator),規則是持有越多代幣的節點有越高的機會被選為提案節點,提案節點要負責提出區塊,接著該區塊會被廣播到整個區塊鏈網路中,在線的其餘節點(Attestor)則依照持幣數量投票驗證該區塊的合理性。
這邊要注意的是:純粹投票還是無法形成共識,驗證節點必須確定提案節點提出來的區塊內容是正確的,該區塊還是要通過類似 POW 的機制,例如複核區塊的 Hash 值、時間戳等等的細項,等到通過後才能成為鏈上的有效區塊。
上述過程不需要像 POW 耗費大量的算力去競猜隨機數,由於不會被礦場壟斷算力,所以 POS 具有低能源消耗、安全性以及較低的中心化風險,但 POS 不算是一個完美的共識機制,它還有許多挑戰有待研究解決,其中最大的難題在於「抵押代幣沒有外部稀缺性」。
代幣抵押(Staking)沒有外部稀缺性
缺乏外部稀缺性是 POS 最大的問題,抵押代幣沒有任何外部成本,它不像 POW 那樣需要外部的電力、礦機設備以及人力營運,節點只需要「抵押」代幣就能獲得收益與驗證區塊,對於節點來說,抵押代幣沒有任何成本,反而會造成很嚴重的區塊鏈治理問題,好比一間公司的員工獎金分紅是靠員工年資決定,而不是員工的實際努力。
若是如此,公司確實省下一大筆計算員工績效的成本,但公司員工會開始偷懶,因為他們沒有任何誘因努力工作,不用工作也能領到薪水,繼續待在公司也能靠著年資加薪而且不會被開除,反而有理由開始作惡開始謀取利益,比如貪污、竄改資料來為自己加薪,由於抵押代幣沒有額外成本, POS 機制因而衍生了所謂的無利害問題。
無利害問題(Nothing at Stake)
傳統的 POW 機制中,部份礦工更新了系統為新的區塊鏈提供算力,但仍有一部分礦工持續營運原有的區塊鏈,讓區塊鏈產生了分叉(Fork),但算力是外部稀缺,礦機跟硬體設備有限且礦工還要付出電力,此時礦工只能選擇挖其中一條鏈。
但如果在 POS 機制裡就不一樣了,由於抵押代幣沒有額外成本,當區塊鏈發生分叉,節點抵押的代幣在兩條鏈都會存在,比如比特幣分叉成比特幣現金時,比特幣持有人可以取得同等額度的比特幣現金,所以這時節點可以選擇在兩條鏈都抵押代幣跟投票,收益會變成兩倍。
若是如此,採用 POS 機制的區塊鏈分叉(升級)就不會成功,而是會分裂成兩條一樣的鏈並持續增生,原先那條鏈不會被淘汰,因為抵押代幣沒有任何額外成本,理論上會使得攻擊者很容易進行雙花攻擊,因為即使他沒有抵押很多的代幣,攻擊者只要在花費代幣之前分叉出去一條假鏈並專注挖自己的假鏈,由於 POS 出塊不受 POW 傳統的出塊限制,假鏈可以很迅速增長區塊數量,試圖讓自己成為最長鏈。
其他節點基於自己的利益,會選擇同時在兩條鏈上抵押代幣進行挖礦驗證賺取雙倍利益,接著攻擊者那條鏈很有可能會成為最長鏈進而取代原先的鏈,讓雙花攻擊成真,這樣的方式也被稱為遠程攻擊(Long Range Attack)。
這個僅是理論的 POS 攻擊方式,實作仍存在一定的困難度,例如部份節點會辨認假鏈,並通報放棄該鏈、節點可能只專注營運單一區塊鏈,以及挖礦軟體不允許單一節點同時挖兩條以上的鏈,只要達到上述其中一項,遠程攻擊便無法成立。
但這個風險仍然值得考慮,現在潛在解決辦法是建立一個懲罰機制,如果有節點偷偷進行雙重投票,該節點將面臨事後懲罰,但這個「事後懲罰」沒辦法內建在共識演算法內,只能交由外部的機構裁定,那麼區塊鏈也不能被稱作「去中心化」了。
POS 機制還存在許多挑戰,下一篇我們會更深入討論弱主觀性(Weak Subjectivity)的難題。
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。