PoS(Proof of Stake)為什麼這麼火?2019年為什麼是“PoS 元年”?Staking Economy 又是什麼?
2019年是 Staking 元年,目前PoS 機制的區塊鏈專案已經超過80個, Staking 權益池中資金總額高達60億美元。Cobo 在 2017 年成立之初就在 PoS 生態進行著佈局,致力於建立長期和使用者共同盈利的能力。
首先,我們先來看看 Proof of Stake 是什麼?
PoS 是區塊鏈(Blockchain) 技術中的一種共識協議(Consensus Protocol)的統稱。很多人都把它他和最早的 PoW 共識演算法對應著看。想要系統的理解他,我們先從解釋幾個關鍵概念來看。
區塊鏈上的共識協議 ( Consensus Protocol ) 的主要任務是什麼?
區塊鏈技術的根本是在分散式系統中,多個節點在 P2P(Peer to Peer)的網路上共同維護一個不可篡改,公開透明的賬本。既然是共同維護,那麼當新的交易記錄產生,哪個交易記錄合理且可以記錄在鏈上是P2P網路上各個節點,透過一定的演算法來決定。這個演算法稱做共識協議(Consensus Protocol)。共識協議的特點決定了一條區塊鏈的安全性,效能和去中心化程度。
出塊的流程大致可以分為以下五個步驟,迴圈往復,一般每個出塊的週期稱作 Epoch。
出塊的過程的兩個關鍵步驟的決議和共識協議(Consensus Protocal) 有密切的關係:
將一段時間新出現的交易記錄打包,生成區塊 (Block Creation);
在所有生成的區塊中,驗證區塊,確認最終區塊 (Block Validation)。
第一個共識協議 Pow (Proof of Work)
PoW (Proof of Work) 是區塊鏈的最早的共識演算法。誕生於比特幣,以太坊 (現在還是)也採用了 PoW 共識。拉出市值排名前 100 的幣種,絕大多數仍然使用 PoW,但是明顯看到了更多新的專案採用或過度到了 PoS (Proof of Stake),比如以太坊。
參與 PoW 出塊的節點(Node)稱為礦工(Miner),這個過程俗稱為挖礦 (Mining)。出塊的過程是礦工打包一定量的交易後,透過群舉法 (Brute and Force) 解決一個謎題,第一個解出謎題的節點網路廣播謎題答案和區塊資訊,其他礦工驗證區塊和謎題正確性以後,收錄此塊,增加區塊高度,進入下一輪的出塊流程。解出謎題的節點獲得出塊獎勵 (Block Rewards)。
Proof of Work 在安全性,和去中心化的角度來講其實做的不錯,畢竟比特幣已經安全存在 10 年,且仍是不錯的去中心化網路。但是隨著參與人數的增多,他的弊端也越來越明顯。
隨著競爭激烈,需要購買專業的礦機裝置致使參與門檻越來越高;
挖礦需要消耗很多電力資源,被很多環保學家抗議。預測是到 2020 年,比特幣挖礦的耗電量將等於丹麥 Denmark 的用電量;
PoW 犧牲了TPS (Transaction Per Second) 換取了安全性和去中心化。根據 Blockchain.info 的統計,比特幣的 TPS 峰值也僅僅趨近於 5 TPS 。而且當交易比較多的時候,很容易造成網路堵塞,交易費驟升。當時以太坊上的現象級應用加密貓就是一個堵塞以太坊的著名案例;
還有經濟原因,因為礦工有前期投入和電費投入, 所以挖出的幣需要兌換成法幣來付電費,給 PoW 幣種帶來持續的拋壓。
PoS (Proof of Stake) 共識協議是為了可以更好的解決 PoW 日益出現的問題而提出的新的共識演算法的統稱。從字面意思來講:
Proof: 是確認區塊的合理性的證據 (Evidence that blocks of transactions are legitimate)
Stake: 節點上的地址擁有的幣量相之於網路相對價值(Relative value held by an addresses on the node)
雖然在最近引起了很高的熱度,但 PoS 的概念早在2012年就已被提出,且被 Peercoin 第一個採用。它的本質是節點(Node / Validator)透過質押一部分資產(Staking)獲得出塊或驗證區塊的權利。它分別對應於 PoW 網路中的 礦工(Miner) 和算力 (Computing Power)。
以下是針對出塊5個流程中 PoW vs PoS 的對比:
讓我們來聊聊「PoS 」
對數字資產持有使用者來講,提到 PoS (Proof of Stake), 可能腦中最直接的詞便是”睡後收入“ (Passive income), 因為從表面上看,使用者買入一定量的 PoS 幣種,進行質押(Staking),便可以獲得的一定的收益。和 PoW 挖礦相比,這可以被理解為只需要資本投入的挖礦行為,簡稱為「PoS 挖礦」。
在這個過程中,大家可能會注意到很多不同的以 PoS 為共識的專案和類 PoS 共識協議。比如 DPoS (Delegated Proof of Stake), PBFT (Practical Byzantine Fault Tolerance), DBFT (Delegated Byzantine Fault Tolerance)。還有 Proof of Authority (PoA), Proof of Believability (PoB)。如何讀懂他們的代幣經濟,收益分配規則,未來前景,安全穩定性等重要指標,下面我們就來系統的瞭解一下。
無論 PoS 的共識協議如何演變和最佳化,它歸根接地是在出塊的三個流程中使用了不同的演算法而已。
成為候選節點的條件 (Validator Candidates)
在每輪出塊過程中,從候選節點中選擇誰來做出塊節點 ( Block Creation Validator)
如何確認該塊的正確性而上鍊(Validate Blocks -> reach finality)
以下我們根據相似性或歷史出處將 PoS 類共識協議分為以下五個部分:
第一部分:傳統的 Proof of Stake 和 Masternode
傳統的 PoS 專案成為候選節點的流程相對簡單,只要質押(Staking)一定數量的幣便可以擁有出塊權利。出塊過程一般依賴幣量或幣齡, 即質押(Staking)的幣量越高, 或者「幣量」和 「幣齡」的乘積越大。被隨機選中出塊的概率越大。
驗證區塊通常是隨機選 X 個候選節點進行區塊驗證。或者有的專案會用 Masternode 來驗證區塊。(Masternode 是類PoS的節點,但是有著本質區別,我們會在後文中講解)
傳統使用 PoS 的專案早期有 Peercoin, NXT, Blackcoin, Neblio。一些專案從數學上將這個過程最佳化,衍生出變種,比如 DCR, 它是以票(Ticket) 的數量和價格來動態調節成為節點的難度和數量。
Masternode vs PoS
對於比較瞭解 PoS 生態的朋友來說,可能會發現一些區塊鏈專案採用了 Masternode 機制,或用中文來講為主節點。很多人將 Masternode 的專案談做 PoS 專案,雖然從外表上看,他們都提供 Passive income, 但是其實他們是有本質區別的。
首先,Masternode 是在一個去中心化網路上具有特殊功能的伺服器節點,比如 DASH 網路中,Masternode 提供 Direct Send 和 Instant Send 的功能,且 Masternode 擁有治理權,網路提議投票。因為 Masternode 在網路中的特殊功能,所以會收到一定的獎勵。每條鏈的激勵週期和數量都不盡相同。但是區別於 PoS 的是, 它的獎勵都比較固定,所以從計算年化角度來講相對比較確定。
另外 Masternode 的參與門檻較高, 不僅需要證明有一定數量的幣,還需要操作節點,為節點提供服務。但和 PoS 不同的是,被鎖定的幣不是質押(Staking) 而是「證明擁有」。一個節點證明達到幣量後即可成為網路服務節點,參與網路分紅,但是也可以隨時解鎖,所以本質上 Masternode 上”鎖定“的幣是流動的,他沒有長期的鎖定合同。
最後最重要的是,Masternode 是輔助節點,不是共識節點,所以它不負責產生區塊和驗證區塊。所以你會發現,Masternode 不會單獨成為一條區塊鏈,它必定是和 PoS 或者 PoW 的區塊鏈共存。一些地方也將 Masternode 的分紅方式稱作 Proof of Service 或 Proof of Commitment, 但它不是共識協議。
縱觀 Masternode 生態的專案,在市值前 100 名的專案中,Masternode 模式的幣種只有少部分。其中最著名的是 Dash(7%年化), PIVX(14%年化)和 XZC (27%年化)。由於 Cobo 是最早提供 Masternode 和 PoS 增益的錢包,這幾個幣種都已在 Cobo 中支援。正如上面提到 Masternode 的參與門檻都比較高,個人使用者參與 DASH Masternode 需要有 1000 個 DASH 幣的證明 (現市值12W美金),並且需要自行操作和伺服器管理。所以 Cobo 錢包提供了 Pooling 的方式,即使用者只需要將任何數量的幣存入 Cobo 的雲端增益錢包,既可按比例獲取 Masternode 分紅。
如果擴充套件到市值前 3000 名的專案,大概有 200 多個基於 Masternode 的專案(masternodes.pro),但是市值都較小。雖然一些專案的年增益可以到 5 倍,但是1年後專案是否存在還需仔細評估。Cobo 的上幣委員會一直在關注 Masternode 的好幣種,在安全性,發展前景和年化增益等維度權衡,為大家提供簡單方便的增益方式。
第二部分:DPOS (Delegate Proof of Stake)
成為候選節點的條件較高且略中心化,他需專業的伺服器和運維人員來維護節點的安全性和穩定性。從獲得資格來講,不僅需要質押 (Staking)很多幣量,吸引使用者投票 (Voting),還需要一定的組織實力做為節點的背書。
採用DPoS共識協議的專案會限制最大節點數 X ,持幣使用者的每個幣對應一定數量的投票權,使用者將票權投給自己信任的節點。根據投票(voting)數量的多少排名前 X 個節點成為出塊節點。
在每輪出塊時,節點通常是輪流(Round-robin) 出塊,只要( 2/3 + 1 )個出塊節點驗證一個塊透過,則該塊上鍊 (reach finality) 。
DPoS 是在 PoS 的一個衍生,出塊流程相對簡單,大大提升了網路 TPS。代表幣種是LISK(101節點) 和 EOS(21個節點) TRON(27個節點). EOS, Bitshare, Steemit 的創始人曾經寫過一篇輸入分析 DPoS 的文章,有興趣的讀者可以研讀 [DPOS Consensus Algorithm - The Missing White Paper
雖然 DPoS 的協議相對簡單,且出塊迅速 — 一般在三秒之內。但是問題也很明顯:不夠去中心化。這樣作為公鏈系統作為價值儲存不夠安全。但作為伸縮性高的側鏈系統共識協議也許是上乘之選。
第三部分:(BFT Byzantine Fault Tolerance)
BFT(Byzantine Fault Tolerance)起源於著名的拜占庭將軍問題,曾經在 1982 年的文章中便被提及。正如它的名字一樣,他解決一個系統中即使有 1/3 的惡意節點也可以正常運作的共識演算法。
BFT 的演算法被很多專案使用或最佳化後使用。比如 Cosmos 的共識層 Tendermint, 是用 PBFT(Practical Byzantine Fault Tolerance)。NEO 是最先提出 DBFT(Delegate Byzantine Fault Tolerance)演算法的專案。雖然衍生很多,但本質上來講他可以被歸納為以下流程。
成為出塊節點(Validator) 的前提是需質押一定幣量,即 Staking。同時其他持幣使用者(Delegator)可以將所持幣相等的幣權授予(Delegate) 給支援的節點(Validator)。類似於 DPoS,幣量和票權相加排名前 X 名的節點可以參與出塊。但是和 DPoS 模式有本質區別的是:
BFT 共識不會刻意限制共識節點 (Validator) 的數量,因為不像DPoS, 如果節點(Validator) 數量超過 101 個,那麼節點協同作惡的風險就會大大增加。像使用 BFT 的 Cosmos, 雖然主網上線後限制 100 個節點,但是每年會提議增加;
Validator 和 Delegator 鎖定或授權的幣,如果在節點作惡,會被系統懲罰 (Slash)。而 DPoS 中一般沒有這樣的規則。它完全依靠節點的背景和信譽來保證出塊的正確性,所以說它更加中心化;
BFT 系統中。授權(Delegation)的利益其實和節點(Validator) 更加深度繫結的。如果節點作惡,授權使用者(Delegator) 也會受到相應經濟損失。而在 DPoS 中,投票使用者(Vote) 投票只是賦予了節點票權以表支援;
另外一點區別更偏技術,在出塊協調過程中需要同步時鐘(Clock)。這在分散式系統中對系統效能有很高的要求。然而 BFT 的演算法是非同步的,對統一的時間要求更寬泛,從而可以擴充更多的節點數,使得擴充套件更加去中心化的系統成為可能。
BFT 出塊節點選擇和驗證區塊和 DPoS 類似,節點輪流出塊,一般出塊量(Block rewards) 和排名正相關。當每個塊被網路上的 2/3的節點驗證後邊成功上鍊( Reach Finality)
第四部分:PoS / DPoS / BFT 的擴充 (Extended PoS)
基於傳統 PoS , DPoS, 和 BFT 的衍生共識協議基本都滿足他們的基本屬性,只是在一些條件上有了提升和最佳化。下面選擇一些有代表性的專案和協議舉例:
Tezos: Liquid Proof-of-Stake 類似於 DPoS,但是節點(Baker) 的數量不固定,最多可以到 80,000 個。和BFT類似,作惡同樣有懲罰機制。每一輪的出塊節點是隨機選出,選擇其他 32個 stakeholder 驗證(endorse) 後既可出塊。
Algorand: Pure Proof-of-Stake 著名的聲稱可以解決 區塊鏈中不可能三角問題的專案。他的方式是在每一輪出塊的時候,每個 stake 的節點可以再本地執行一個加密演算法獲得令牌(Token) ,從而知道是否自己在下一輪是否出塊。如果是,則廣播給其他節點自己的資訊。出塊後, 選出 1000個令牌(Token)進行區塊驗證後上鏈(reach finanlity) 。這樣的好處是,每次出塊,是純隨機,惡意節點不可能持續的成為出塊節點。而且每次出塊節點和驗證節點都是隨機選擇,可以有效避免 DDoS 攻擊。
Near: Thresholded Proof Of Stake 該專案致力於移動端的區塊鏈,所以共識協議需支援百萬級別的共識節點。Threshold 的最佳化方向是在每個出塊的時間內,在百萬節點中選擇 1024 個 席位(Seat)的擁有者。每個 Seat 的價格根據網路總Stake 的數量決定。1024 個席位(Seat)的持有節點可進行出塊和驗證。出塊節點的抵押幣量在出塊後需要鎖定三天才可以被贖回。
IOST :Proof of Believability 是一種混合型的 PoS,提升了選取候選節點的方式。Staking 和獲得 Delegate Votes 的數量只是成為 Validator 的門檻,節點還需要證明自己對於社羣的貢獻,使用者行為,技術實力和響應時間來獲得更多的節點權益。
PoA Network: Proof of Authority 是修改過的PoS,區別在於不用Staking的幣量的經濟價值多少來確定節點 (Validator),而利用節點的真實身份來作為節點的信任保障。
第五部分:Proof of X and beyond
前方提到的 Proof of Stake 及衍生共識協議都基於公鏈,確保公鏈的安全,效能和去中心化。它不僅是公鏈 Native Token 價值儲存的基礎, 更是確保公鏈上 DApp 應用資產所有權和安全性的保證。然而對於 Proof of Stake 的概念除了對共識協議本身的最佳化之外,它也被擴充到了 Work / Utility Token上。
Livepeer 是影片加密和傳輸的應用,它的 Token LPT 是基於以太坊的 ERC20. LPT 的 Proof-of-Stake 是基於對影片加密場景的特殊應用。Stake LPT 的節點不再是 區塊 Validator 而是影片加密服務節點 (Transcoders) ,Stake LPT 越多從而被選中提供服務的機率越大,從而獲得收益越多。
FIlecoin 是 2017 年最火熱的 ICO 專案之一,協議層 IPFS 所用的共識協議為 Proof of Spacetime / Proof of Replication. Filecoin 是檔案儲存和讀取的特定應用場景的專案,所以節點根據提供的儲存 或 被讀取的服務獲得收益。Staking 是獲得提供相應專案的方式。
是不是感覺和前方提到的 Masternode 有點像呢?🤔
第六部分:寫在後面的話
正如前面提到,PoS 及其衍生的共識協議多種多樣,他的本質都是在以下三個過程中選取不同方式和演算法來最佳化 安全性,效能,和區中心化特性。
成為候選節點的條件(Validator Requirement)
出塊節點的選擇方式 (Block Creation)
區塊正確性驗證方式(Block Validation)
隨著新的專案逐漸上主網,我們注意到很多提升隱私性和伸縮性的二層網路 (2nd Layer) 解決方案都比較傾向用 PoS 的共識協議。如果你對這部分感興趣,讓 Cobo 二丫知道,我們下次分享細聊。😉
Staking 經濟模型 (Staking Economy)
正如 PoW 的出塊獎勵模型激勵了礦工礦池產業的誕生和繁榮,PoS 生態是否可以長遠發展和經濟激勵密切相關。下面就來講講 PoS 共識中基本激勵模型, 並且作為持幣使用者如何在質押和投票(Staking or Delegating)的眾多選擇中擦亮雙眼獲得Passive Income。
Proof of Staking 共識系統的增益率沒有 Masternode 的增益獎勵來的直接,因為他通常來自於三個維度。
通脹獎勵
年通脹率:大部分專案的通脹比例和節點 Staking 的幣量比例反相關,目的是來調節 Staking 幣量和流通幣量之間的關係。比如說網路 Staking 收益年化率提升會吸引更多的幣進行質押, 那流通的幣量固然會減少,從而影響經濟系統的使用價值。此時,通脹獎勵的數量根據質押率減少,反激勵 Staking 的比例,達到動態均衡。
通脹貨幣中,作為出塊獎勵的比例, 來衡量專案在 Staking 經濟中是否佔很大分量。
出塊手續費 / 服務費
交易手續費獎勵給出塊節點 或 成為服務節點的工作收益和網路使用率正相關。這也很符合區塊鏈的精神。區塊鏈是 Adoption 系統,參與使用者越多,則網路價值越大。
專案方獎勵
專案方通暢會在剛上主網後為了鼓勵節點參與,會給與一定的補貼或獎勵。通暢這部分獎勵會隨著時間的增長和專案上線的完成度逐漸遞減。所以一般很多專案在剛上線時增益會比較高,但是隨著使用者使用增長,交易手續費 或 服務費 會彌補這部分的減少。
在選擇質押(Staking)和投票(delegating / voting)時,作為普通持幣使用者該關注節點什麼方面來保證資產安全和穩定收益?
我們先不關注幣價波動帶來的法幣價值變化,我們的討論先限制在幣「種自身經濟模型」之內,即幣的增益。
1. DPoS / PoA 為基礎的專案,看節點團隊和其真實身份
他們一般都代表了專案的利益。可能是投資方,社羣,或 Staking Service (比如 Cobo 這樣在 PoS 領域已經建立品牌的靠譜企業 🙂) 。利益緊密繫結的節點方更會以使用者利益和專案的成長為目標。和他們一起賺錢才是靠譜的。
2.對 BFT 等具有懲罰機制的衍生 PoS 需要很關注節點的技術實力
如果掉線未出塊,或者因為某種原因包含了惡意交易,會被協議懲罰(Slash). 此時不僅僅是節點(Validator) 會被經濟懲罰,投票給節點的持幣使用者(Delgator)也會遭受損失。
節點質押幣的方式有多種,有時候會質押在熱錢包中。所以節點的伺服器安全性是很重要的一個考量因素。一般是否伺服器在安全的資料中心或雲服務上,是否有 DDoS 保護,是否有安全的硬體加密模組(HSM)保護 Validator 伺服器。PoS 生態才剛開始,節點丟幣事件還很少,但是它是個巨大的增量市場。之後必定會像 PoW 的發展過程中出現丟幣盜幣時間發生。
3.所有 PoS類專案,市值排名很重要
區塊鏈還在高速發展的時期,這意味著仍然會有大多數專案存在歸零的風險。一些專案的年化增益可以達到 500%, 但是市值確是 4 位數字,請大家擦亮眼睛,誰也不想質押自己的幣給 Ghost Project.
另外從經濟角度來講,市值越大意味著經濟體量越大,系統風險便越低。要和鯊魚一起賺錢。
4. 收益率
一般投票(vote)或 授權(delegate) 節點的持幣使用者,會付 5 - 20% 給節點作為服務費。節點收取服務費的比例不相同,這會影響使用者一部分的年化率。Cobo 的使命是建立長期的和使用者一起盈利的能力,所以在服務費收取的角度,會最佳化執行效率和穩定性,從而最大可能的返利給使用者
除了專案本身,使用者自己的特點和需求也需要被考慮。如果你只想簡單增益,且不想去擔心節點資質或技術配置及監控問題,那可以選擇 Staking Service。
第一種 Staking Service 提供技術設施,他們的優勢在於節點運維和監控。適合於想做節點(Validator)但不想自己在 VPS 搭建和管理技術設施。
Staking Service 提供節點服務,他們往往自己透過募資或資本建立節點,吸引持幣使用者投票(vote) 或授權 (Delegate) 給他們的節點。這種服務有時候也被稱為 Pooling。
Staking Service 更加智慧,通常使用者選擇將數字資產託管於服務商。根據專案的不同,服務商可能會自己做 Validator 或集中使用者的幣來 投票 (vote)或 授權(delegate) 其他的 validator。服務商會透過網路收益,節點資質最佳化投票配比來做到最大程度和使用者一起盈利,規避系統風險。對使用者來講做到無憂增益。