《讀懂區塊鏈PoS共識》第一章 PoS整體介紹

買賣虛擬貨幣
序言本書主要面向的讀者主要是區塊鏈參與人員和愛好者,包括程式設計師,運營和產品人員,愛好者等都可以輕鬆的理解本書。PoS共識演算法,是在PoW的基礎上發展出來的。本書大量的說明,對比和例項都是基於PoW共識演算法的對比來展開講述的。如果讀者在閱讀本書時候碰到疑問,諸如PoW共識為什麼消耗能源,PoW共識中如何選舉出塊人等,那不妨先回頭認識一下比特幣的PoW共識演算法,在初步認識之後,再讀此書會加深自己對PoS的認識。在此推薦認識比特幣的一本書《Mastering Bitcoin》,作者Andreas M. Antonopoulos。由於PoS演算法的發展歷程並不長(6年+),很多新專案的PoS共識還停留在部落格,白皮書或者是初級工程階段,有些專案可能連程式碼都沒有,亦或者是這些程式碼還在不斷的被修改,測試網經常崩潰,這些情況還不能作為評價該專案PoS共識的最終結論。本書中的例子涉及的範圍比較廣,所以我在本書對例子的描述可能會和真實主網情況有所偏差。區塊鏈世界會一直髮展,我也會一直繼續關注PoS共識的發展,並不斷的更正,更新這本書中的描述。
目前本書中,大部分內容並未進行程式碼層面的確認(或者無法進行確認),如果讀者碰到書中所述有不正確的地方,可以發郵件到admin@chaindaily,我們一起討論。另外,本書中也不會以程式碼的形式講述例子,我不是標準的程式設計師,所以我會以自己擅長的方式給大家講述我對PoS共識的整體理解。PoS演算法的工程化從2012的Peercoin年開始,2019年會是一個大的里程碑。這一年,多數應用PoS共識演算法的主鏈,都會在2019年上線主網。寫這本書的時候是2018年下旬,希望以此記錄PoS在新紀元的發展歷程。關於作者本人,名稱卡咩,這是一個小時候的外號,長大後因為註冊各種網站多不重名,所以沿用到現在。我個人比較喜歡折騰,特別熱衷於科技型別的新興事物,如AI,VR,AR,區塊鏈等,總想在其中找到新的機會。工程師出身,後轉行做了產品,先後做過零售創業,O2O電商,現在從事PoS共識中Staking方向的創業,產品之一就是Wetez Staking Pool,其中對應的工具叫Wetez Wallet。本書中不會涉及Wetez的介紹,是一個以認識區塊鏈共識視角的角度寫的,算是我個人在研究整個PoS過程中的總結。
術語表區塊鏈字面意思理解區塊鏈,區塊鏈是指由一個一個包含資料的區塊按照順序連在一起的一條鏈。深入理解的話,區塊鏈是藉由密碼學串接並保護內容的串連交易記錄(又稱區塊)。每一個區塊包含了前一個區塊的加密雜湊、相應時間戳記以及交易資料(通常用默克爾樹演算法計算的雜湊值表示),這樣的設計使得區塊內容具有難以篡改的特性。用區塊鏈所串接的分散式賬本能讓兩方有效紀錄交易,且可永久查驗此交易。附錄二中引用了Andreas M. Antonopoulos和Gavin Wood共同編寫的《Matering Ethereum》書中的介紹來說明區塊鏈(原話由Luckywrt翻譯)區塊鏈共識
透過密碼學讓分散式網路達成一致的一種算範,如PoW,PoSPoWProof of Work,工作量證明機制PoSProof of Stake,股權證明機制Stake
可以翻譯為質押,PoS共識中,透過Stake可以獲得出塊人權利,將Token進行Stake,意思就將Token抵押給系統的意思。硬分叉與軟分叉軟體的更新不向後做相容。比如2013版本的word檔案在2018版本的word裡面是可以開啟的,這種更新是做了向後相容的,可以理解為是軟分叉;如果不能開啟,可以理解這個更新是一次硬分叉。最終確定性指區塊資訊無法被篡改,或者篡改可能性非常小Dapp
去中心化應用,Decentralized ApplicationsTPS每秒交易筆數(Transactions per second)Nothing at Stake無利害關係,指在PoS共識下,驗證人作惡無風險的行為情況Slash
削減/扣除,指PoS共識下,系統扣除驗證人抵押金的行為SEC美國證券交易委員會礦工/驗證人/出塊人礦工:我們通常把PoW共識中的節點維護人,叫礦工;驗證人:我們通常把PoS共識中的節點維護人,叫驗證人,有些專案也叫出塊人(Block Producer)ICO
Initial Coin Offering 首次幣發行Voting Power直譯為投票權重,實際指的是透過Stake的代幣佔總量的比重。比如代幣總量為1億,1千萬代幣進行了Stake,那麼整體的投票權重為10%,這10%可能分佈在不同節點身上,和節點數量沒有關係,很可能是5%分佈在一個節點,其餘5%分佈在生態中其他100個節點中。Nonce在通訊安全中,Nonce是一個在加密通訊只能使用一次的數字第一章 PoS介紹
1.1. 什麼是區塊鏈共識區塊鏈是由一個一個塊連結形成了塊鏈條,每個新塊生成(包含交易記錄)都需要參與驗證人的共同確認,這個共同確認的過程就是區塊鏈共識。區塊鏈從2009年發展到現在,已經演變出多種共識,不同共識以不同方法解決了執行中出現的攻擊,作弊,延時,一致性,最終確定性等等問題。截至2018年,主流的共識演算法包括PoW(Proof of Work工作量證明),PoS(Proof of Stake 股權證明機制),BFT (拜占庭容錯機制),混合共識等,還有一些從主流基礎上演變出來的共識演算法,諸如PoA(Proof of Authorization授權證明機制),PoI(Proof of Importance重要性證明機制),DPoS (Delegate Proof of Stake股權證明機制),PBFT(Practical Byzantine Fault Tolerance使用拜占庭容錯演算法)等等,百家爭鳴,百花齊放。其中,主流演算法裡面,PoS應該是當前主流裡面的主角。PoS在PoW的基礎上發展而來,更受到當今區塊鏈共識世界裡面的推崇。在2014-2017年期間,基於PoS共識打造的區塊鏈逐漸增多,就連市值長期保持第二的以太坊也計劃從PoW轉到PoS。2019年,這些基於PoS的公有鏈會上線主網,屆時我們將看到新一代PoS公鏈站到舞臺中央,讓人們審視。此章節,我們會對PoS共識演算法的起源和發展,做一個簡要的總覽。1.2. 什麼是PoS-股權證明機制共識
PoS(Proof of Stake)——股權證明機制,一種主流的區塊鏈共識演算法,目的是為了讓區塊鏈裡的分散式節點達成共識,它往往和PoW(Proof of Work)——工作量證明機制一起出現,兩種都被認為是區塊鏈共識演算法裡面的主流演算法之一。PoW於2009年誕生並應用於比特幣,PoS於2011年提出,2012年首個應用該演算法的幣種Peercoin誕生。PoS作為後來者,在共識層面借鑑很多PoW的設計,如區塊設計,礦工選擇,分叉處理,交易驗證等,很多對共識的改進和區塊鏈底層有很大的關係,PoS做了大量的改進設定,以滿足基於股權證明的機制,可以說是取其精華去其糟粕。關於PoS的定義,維基百科對其的定義是:一種旨在使加密貨幣區塊鏈網路達成分散式共識的演算法Proof of stake (PoS) is a type of algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus.記載中,最早在2011年PoS的提出者,對PoS是這樣描述的:我在想,如果比特幣被更廣泛的應用,那麼一種基於PoW系統證明的交易,有可能會被基於PoS系統的證明所替代。我的意思是,PoS——股權證明機制,就是以你可以用私鑰證明的比特幣數量為權重,來代替你給比特幣網路帶來的算力權重,給交易歷史“投票”來證明。I'm wondering if as bitcoins become more widely distributed, whether a transition from a proof of work based system to a proof of stake one might happen.  What I mean by proof of stake is that instead of your "vote" on the accepted transaction history being weighted by the share of computing resources you bring to the network, it's weighted by the number of bitcoins you can prove you own, using your private keys.
以太坊創始人Vitalik Burtain 也是PoS的提倡者,他在《Casper the Friendly Finality Gadget》部落格中對PoS的定義是:在一個PoS系統中,區塊鏈的新區塊生成是透過該系統中的持幣人,或者是一個有影響力的持幣機構參與達成的。這比PoW的挖礦具有更高的效率,不需要高效能的硬體,也不需要花費電力。In a PoS system, a blockchain appends and agrees on new blocks through a process where anyone who holds coins inside of the system can participate, and the influence an agent has is proportional to the number of coins (or ‘stake’) it holds. This is a vastly more efficient alternative to PoW‘mining’ and enables blockchains to operate without mining’s high hardware and electricity costs.基於以上的定義,我們對PoS應該有了一個大致的瞭解:它是一種演算法,透過持幣人的同意來達成共識,目的是確定出新區塊,這過程相對於PoW,不需要硬體和電力,且效率更高。PoS共識中引入了Stake的概念,持幣人將代幣進行Staking,然後獲得出塊的機會,PoS共識中會透過選舉演算法,按照持幣量比例,選出區塊的礦工。礦工在指定高度完成打包交易,生成新區塊,並廣播區塊,廣播的區塊經過PoS共識中另外一道“門檻”,驗證人驗證交易,透過驗證後,區塊得到確認。這樣一輪PoS的共識過程就進行完成了。分散式網路中有很多個節點,這節點就是上述講到的Stake,PoS共識所保證的就是,系統足夠安全,不會被外人所破壞,並獨立穩定的執行下去。這其中需要考慮的問題非常的多,這些問題會我會在後面的章節中和大家講明白。1.3. PoS共識的趨勢
目前在Top50市值的幣種裡面(2018-12-20,來源https://coinmarketcap.com/coins/),應用PoS,類PoS和PoS混合共識(包含PoS,但不包含PoW)的種類總共有16種,佔總量32%;應用PoW和PoW混合共識(包含PoW,也可以包含PoS)的種類總共有22種,佔總量40%,PoW+PoS混合共識的種類總共有3種,佔比6%。前50市值的幣種中,很多都是從比特幣時代發展起來的,所以我們看到目前佔比更多的還是基於PoW共識的幣種,但這其中包含了很多功能類似的分叉幣種,如對BTC的分叉就多達5種,位元現金Bitcoin cash,位元願景Bitcoin SV,位元黃金Bitcoin Gold等,還有ETH上的分叉;還有針對以太坊的以太坊Ethereum和以太坊經典Ethereum Classic(並且分叉還有可能持續發生)。如果把重複幣種去除,PoS和PoW的佔比就會比較接近了。

圖1 市值Top50幣種的共識分類
2017年是ICO(Initial Coin Offering 首次幣發行)元年,也是大量公有鏈爆發出來的元年。共有876種幣種進行ICO,總共募資餘額62億美元。其中募資額Top20當中,基於PoS共識的幣種有6種,佔比30%;基於PoW共識的只有1種,佔比5%。其中Tezos為2017年PoS募集之最,總募資額約為2.3億美元。PoW和PoS總量佔比都在減少,這和當時大量專案以ETH平臺建立有關係。
總體上看,趨勢比較明顯,在未來10年中,PoW會趨向減少,PoS在趨向增多。
圖2 2017年ICO 募資情況 (資料來源於ICODATA)
2018年,由於整體加密數字通證進入熊市,很多ICO專案沒有得到很好的融資,加上公有鏈專案賽道已經比較擁擠,專案方融不到錢,所以自然關注度降低了很多。但是,這其中也有新的PoS專案湧現,如圖靈獎得主Sivio Micali的Algorand,就是基於PoS共識的專案。下面圖3可以看到2018年的融資情況。

圖3 2018年ICO 募資情況 (資料來源於ICODATA)

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;