區塊鏈 Blockchain – 共識機制之權益證明 Proof-Of-Stake

/ 3 評 / 7

歷史

2011年 BitcoinTalk論壇中,由 Quantum Mechanic 首先提出

2012年8月 Sunny King 首先發佈了 PPCoin(點點幣)實現這個機制

2014年 開發者 rat4 基於 PPCoin 進一步完善了 PoS 算法,並發佈 BlackCoin(黑幣)

什麼是權益證明 Proof-Of-Stake, PoS?

權益證明(Proof-Of-Stake, PoS。亦有翻譯作股權證明)是在區塊鏈公鏈中的一類共識機制,它的出現,主要是希望取代工作量證明 Proof-Of-Work ,從而減少為了產生新區塊而進行"挖礦"的大量運算。它與工作量證明 Proof-Of-Work 不同的是:在 PoW 中,大家比拼的是「算力」(運算能力),通過大量運算得出符合難度的 Hash 值,從而得到獎勵,亦無法預期是由誰產生下一個區塊;而在 PoS ,大家比拼的是「權益」,「權益」越大的人(節點)越大機會負責產生新區塊,也就是說能夠預期是由誰產生下一個區塊,所以 PoW 與 PoS 之間對於產生新區塊的方式存在很大差異,而且由於 PoW的"挖礦"過程需要消耗龐大電力,造成對環境的破壞。而 PoS 的出現則試圖以另一種不同的機制取代"挖礦",從而解決這個問題。

咦,那到底什麼是「權益」呢?

「權益」

簡單來說,就是像大家把錢存在銀行,每隔一段時間,銀行就會給你的帳戶中存入利息,帳戶中的錢越多,「權益」也就越大,時間越長,所得到的利息也會越多。

與 Pow 共識機制不同的是,在 PoS 共識機制中,就是使用類似原理去決定下一步負責產生區塊的人(節點)是誰。

那怎麼決定由誰去產生新區塊呢?怎麼產生呢?

每個人(節點)都能成為候選人,至於挑選誰(節點)產生區塊就是以「權益」作為參考值。舉例來說,就是在Pos系統中有一個所有擁有幣的人(節點)的池 (Pool),所有人(節點)都有機會被"偽隨機"挑選成為產生新區塊的人(節點),而這個"偽隨機"的算法,其實當中包含了各人的「權益比重」。

假設這個系統中共有四個人:A持有40個幣、B持有30個幣、C持有20個幣、D持有10個幣。而這個"偽隨機"的算法按他們持幣的多少給予相應的成功概率,也就是說 A 成功被選擇為產生新區塊的概率比D要高4倍。

然後給最後挑選出來的人權利,並給予一定時間內產生新區塊,如果這個人在規定時間內沒有產生出新區塊,則再選出第二人來產生,如以類推。當然,這只是一個例子,實際上更複雜。

PoW 主要是靠龐大「算力」來獲得獎勵。用戶可以投入成本添置"礦機",增加「算力」獲得獎勵。

PoS 則是將這些成本直接購買同等價值的幣,從而增加獲得產生新區塊的概率。

這樣,其實也就是以代幣代替礦工,所以某程度上, PoS 也屬於"挖礦"的一種。PoS 有很多的變種算法,但無論是哪一種算法,以代幣代替礦工這個 PoS 的核心規則都是不變的。

而關於計算利息(獎勵)有個名詞叫做「幣齡」,「幣齡」就是持有的每個幣在每天都會產生 1 幣齡,而根據「幣齡」就可計算出產生區塊後所得到的獎勵,

幣齡 = 幣的數量 * 持有時間(天)

例如:持有 10 個幣 36.5 天後,即有 365 幣齡。

此時,如果產生了一個新區塊,幣齡隨即會被清空為 0,而每被清空 365 幣齡,根據該系統中的年利率,計算出相應的利息(獎勵) ,幣齡將重新計算,再過30天後才能再獲得利息。

利息 = 幣齡 * 年利率 / 365

假設某個使用 PoS 共識機制的幣的年利率為 : 3%,則利息(獎勵)為:

例如:365 * 3% /365 = 0.03 個幣。

那是否每天都會結算利息?

不。由於 30 天以內的利息很少,所以系統不會於 30 天以內支付利息。在第31天,即可獲得由系統分配的利息。

不對啊,這樣聽起來,好像有種是「富者越富」的感覺啊,公平嗎?

是的,PoS 共識機制確實存在「富者越富」這個大問題,後來者的能力完全受到已持有大量幣者的限制,確實是不公平。

優缺點

優點:

  1. 節省能源成本
    • 相較於 PoW,並不需要"礦工"持續使用大量「算力」挖礦。(按資料來源估計,比特幣和以太坊每天都要耗費超過100萬美元的電力和硬件成本)
  2. 降低 51%攻擊的可能性
    • PoS 的經濟懲罰應對 51%攻擊,使攻擊成本變得極其昂貴。
    • 由於有一部份的幣並不是通過挖礦產生,而是由利息產生的,而且攻擊者仍需要持有超過51%的數量,是相當困難的。
  3. 網絡穩健
    • PoS中,只有打開錢包應用,才能有機會產生新區塊,從而獲得利息,令很多原來不想挖礦的用戶,也會打開自己的錢包應用,節點數目的增加和穩定,將確保整個網絡的穩健。
  4. 利息穩定
    • PoS 提供固定的年利率,最大程度保證不通貨膨脹,亦不通貨緊縮。

缺點:

  1. 流動性差
    • 由於持幣量越多,幣齡越長,所得到的利息(獎勵)也就越多,導致有很多人為獲得豐富的獎勵,而出現"屯幣"的現象。
  2. 存在權益粉碎攻擊 Nothing-at-the-stake Attack 問題
    • 由於 PoS 不需要任何成本就可以產行新區塊,導致若發生硬分叉的情況,如果這個分叉不被接受,實際上並沒有任損失,所有持幣者都會在兩條鏈上持有相同數量的幣,導致每條分支都會永遠存在因為理性的礦工會同時在所有分支上挖礦,造成價值被降低,並存在被攻擊的風險。

總結

PoW 和 PoS 是區塊鏈中不可劃缺的知識點,兩種共識機制各有優缺點。

知名的以太坊 Ethereum 從原來打算將系統完全轉換為 PoS ,直到2017年5月宣布從原來的 PoW 轉換到混合 PoW + PoS 的 Capsper 系統,在這個系統中相互交替使用兩種的共識機制。

PoW則是被大眾驗證過,非常穩定,但存在浪費算力等缺點,雖是缺點,卻是構建成這個共識機制中最核心的部份;PoS 則是為了解決 PoW的問題而出現,雖能解決問題,但同時又出現其他「富者越富」、流動性差等缺點,所以並非一個稱得上完美的共識機制。

在區塊鏈中設計系統時採用何種共識機制就取決於需要系統的特性,並無優劣之分,而綜觀目前各種採用 PoS 的虛擬貨幣系統,基本上也因為無法抵抗硬分叉和「富者越富」的問題,導致目前沒有純 PoS 的虛擬貨幣系統能夠架活下來,所以如果要投資這類虛擬貨幣,要相當小心。

理解各種共識機制在區塊鏈的學習中是有必要的,因為從中可得悉各種共識機制的優缺點、共同面對的實際情況、混合使用的可能性、可靠性等等的知識。從而根據系統實際情況採用合適的共識機制。

或許,未來也能基於這些機制上設計出另一類的共識機制,能夠最大程度解決"共識、公平、弱中心化"問題。

 

參考資料:

POS (Proof of Stake 权益证明) 与 POW(Proof of Work 工作量证明) 本质都是什么?他们各有什么优劣?

Proof of Stake - 股权证明 系列1

持有量證明

深度教程:POS和POW全解析

Blockchain Developer - 快速認識 Proof-of-Stake 

分布式一致性与共识算法

在〈“區塊鏈 Blockchain – 共識機制之權益證明 Proof-Of-Stake”〉中有 3 則留言

  1. Wei-Yu Chen表示:

    在 PoW 中,大家比拼的是「算力」(運算能力),通過大量運算得出符合難度的 Hash 值,從而得到獎勵,亦無法預期是由誰產生下一個區塊;而在 PoW ,大家比拼的是「權益」,「權益」越大的人(節點)越大機會負責產生新區塊

    這邊誤植了,第二個比拼權益的縮寫應為 PoS。

  2. DS表示:

    我是一個初入門

    所以用極端的理解 – 如果以太坊 Ethereum完全以PoS來運作,那就沒有存在任何挖以太幣的機會嗎?或是它只會滅了ASIC挖礦機的市場,大家只用GPU挖礦??

    感謝指導

發佈回覆給「DS」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *