1. 程式人生 > >區塊鏈共識機制:權益證明POS和委託權益證明DPOS

區塊鏈共識機制:權益證明POS和委託權益證明DPOS

詳情參見個人部落格:

  工作量證明演算法作為區塊鏈第一個也是目前經受住足夠實踐檢驗的一個共識機制,解決的是分散式系統交易資訊一致性的問題,在一個去中心化的網路中構建了彼此不信任節點的信任機制,也是比特幣成功應用的關鍵技術環節。

  經過幾年的實際運轉,這一演算法的弊端也顯露出來,比特幣網路每秒完成600萬億次SHA256運算,消耗了大量的電力資源,而最終這些計算沒有任何實際或科學價值,這些運算存在的唯一目的是用來解決工作量證明問題。另外一個現實的威脅便是算力集中,工作量證明本質上是利用窮舉法找出符合規定條件的雜湊值的過程,算力越強,獲得記賬權(即挖到礦)的可能性便越高。一開始是最早利用顯示卡挖礦的人,後來是利用FPGA礦機挖礦的人,再後來是利用ASIC專用晶片挖礦的人,現在就是不斷製造出更好的ASIC挖礦的人,另外還有“礦工”節點聯合起來組成礦池,如Ghash等都在試圖不斷集中算力。Ghash 2014年曾經發表宣告,將在今後確保不超過40%的全網算力,這類自律宣告是對比特幣節點間去信任機制的莫大諷刺。

  比特幣自誕生以來,人們便開始嘗試其他除了工作量證明演算法之外的其他共識機制,如具有代表性的權益證明POS、委託權益證明DPOS、拜占庭容錯機制(BFT)及實用拜占庭容錯機制(PBFT)等,下面將主要介紹POS和DPOS,BFT和PBFT留待下一篇。

  權益證明POS

  POS是一類共識演算法,或者說是一類共識演算法的設計思想,而不是一個,最早採用POS的是Peercoin。Peercoin是2012年8月,一個化名Sunny King的極客推出的一類加密貨幣,採用工作量證明機制+權益證明機制,首次將權益證明機制引入了加密貨幣。Peercoin引入了“幣齡”的概念,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000。當一個新的區塊產生時,其他想獲得記賬權的節點同比特幣也需要計算雜湊值,得出滿足條件雜湊值的難易與難度值有關,這個難度值這裡與幣齡成反比,即你的幣齡越大,得出符合條件的雜湊值的概率就越大,同時你的幣齡被清空,記賬後系統會給予你相應“利息”,你每被清空365幣齡,獲得利息為:3000 * 利率 / 365,Peercoin的利率為1%,即0.08個幣。

  可以看出,在POS機制下,持有幣越多,越容易獲得記賬權,接近於贏家通吃的感覺,但持有的幣越多,越接近於一個誠實的節點,因為破壞整個網路帶來的損失也越大。Peercoin的POS機制有一個漏洞,對於不持有幣的人而言,他們本來就沒什麼收益,所以一些惡意攻擊對於他們則是無損失的,這就是Nothing-at-stake attack(無利益攻擊)。後續的比較成功的POS都引入了對付這種攻擊的機制。

  以太坊系統的目標是在今年引入權益證明,即Casper。在權益證明共識機制之下,使用者將能夠在以太坊網路擁有“幣權”。使用者如果誠實行事並確認了合法交易,將獲得與其股權成比的利息;如果惡意行事並試圖網路中作弊,就會失去其權益。

  委託權益證明DPOS

  委託權益證明DPOS是POS的變種,運用DPOS的典型如位元股等,其基本原理在於全網投票選出101個節點代行記賬許可權,這些代表節點的許可權完全一致。代表節點輪流記賬,可以選擇創造區塊或不創造區塊。但他們無法改變交易的詳情,惡意或者遲到的代表節點的行為也會被公之於眾,那麼網路可能將他們簡單快速地投票驅逐出去。被驅逐出去的代表節點將會失去他們記賬許可權,以及對應的收入。

  DPOS作為是一種弱中心化的共識機制,保留了一些中心化系統的關鍵優勢,如交易速度等(每個塊的時間為10秒,一筆交易在得到6-10個確認後大概1分鐘,一個完整的101個塊的週期大概僅僅需要16分鐘),但每個持幣者都有能力決定哪些節點可以被信任,並且事實上,代表節點會主動降低自己的收入來贏得更多投票,剩下的收入會作為股息,支付給所有的位元股持有人。DPOS有點類似於代議制民主及股份公司董事會制度,都是一種精英制度,但其身份受制於下面的民眾,在DPOS中,幣的持有者至少有權決定代表節點—或者說礦工的身份。

我的BTC地址:1K8ni4mnQn7VjFZKjHJHLPWZ55owG9J1jd