區塊鏈共識pos機制
1、兩種共識機制對比(PoW vs PoS)
區塊鏈中最核心的架構就是共識機制,可以說是區塊鏈的驅動引擎,發展這么多年,目前主流比較明確經得住考驗的就只剩下PoW(Proof of Work)與PoS(Proof of Stake)兩種機制。簡單概述下,PoW系統的特點是通過消耗大量算力來計算特定算法的解(典型如哈希),第一個算出結果的有權生成區塊,同時也會得到coin作為獎勵(這也是coin的生產與分發過程,形象地稱為Mining),采用PoW的典型區塊鏈有Bitcoin和Ethereum,目前PoW也是運行時間最長,被公認為是最可靠安全的共識機制; 其本質是通過消耗大量算力來實現系統內的逆熵過程,保證系統的長期安全與穩定 。但PoW被廣為詬病的也是其消耗太多的能源資源,這方面PoS就被認為是更為綠色的解決方案,顧名思義PoS是通過質押系統中的資產即coin來成為一個質押者(staker),這樣就有權產出區塊,質押份額越多,獲得產出區塊權的概率就越高,也代表著獎勵越多。
在分布式系統中有一個 CAP 定理,是指一個分布式系統中存在著三元悖論,即不可能同時滿足這三個特性:一致性(Consistency)、可用性(Availability)和分區容錯性 (Partition tolerance),而只能滿足其中兩個。區塊鏈作為一種分布式網絡,這個定理也逐漸演變成了區塊鏈的三元悖論,即 安全性(Security) 、 去中心化(Decentralization) 和 可擴展性 (Scalability) ,也是同時只能滿足兩個特性。
整體上看PoW系統更注重的是 安全性(Security) 與 去中心化(Decentralization) ,放棄 可擴展性 (Scalability) ,這也是Bitcoin網絡的吞吐量非常慢的原因。而PoS系統更關注的是 可擴展性 (Scalability) 與 去中心化(Decentralization) ,但就PoS能否真的 實現 去中心化(Decentralization) ,我是比較持懷疑態度的。從保守主義與系統的更長期穩定的角度出發,我個人是堅定地站在PoW這邊的,可能跟自身保守的性格有關,并不是特別看好PoS作為基礎層能比較穩定。特別是像這次 5月份的Luna事件 ,事件大概的過程是Luna鏈上的算法穩定幣UST缺乏價值支撐最終脫錨,其核心問題在于UST的錨定設計試圖用一個PoS股權系統去支撐其錨定美元,而且還超發了太多UST,再加上UST與Luna的兌換設計缺陷最終導致Luna自身的死亡螺旋。但這個事件更大的意義應該是敲響了一個警鐘,PoS機制在面對空頭資本砸盤時真的還能維持穩定、維持所謂的去中心化嗎?可能到時節點數量萎縮的速度會很快,逐漸趨于中心化。
所有系統設計都需要根據自身定位來折中,以下從價值錨定的角度,簡單分析下為什么長期來看PoW會更有優勢。
在PoW系統中三股主要的參與者分別是研發人員,投資者(或者叫用戶)與Miner,這三者的相互制衡,使得這個系統達到一個穩定平衡的狀態。而PoS系統中,將Miner這個重要的制衡力量移除了,投資者和Miner變成了同一群體 質押者(stakers) ,因此該群體濫用權力的行為會變得相對不受限制,并且該鏈隨后的發展方向也可能會更加不平衡,更容易傾向有利于 質押者(stakers) 群體的方向。
PoW系統很好的闡述了什么是被普遍認可的價值,抽象上來看就是高代價的稀缺性 ,高代價與稀缺性兩者缺一不可。PoS最多只能實現其中一個稀缺性。
Miner為了在鏈上生產區塊賺取coin,不僅需要持續支付高額電力成本,還必須不斷投入研發、升級硬件、優化基礎設施和運營規模來保持其競爭力。最終結果是,能夠長期持續盈利的Miner并不會是一個一層不變的群體,而是總在競爭中淘汰掉效率太低的Miner,使高效率的Miner能存活下來。這也更有利于 去中心化(Decentralization) ,因為不斷變化的Miner群體意味著沒有一個Miner可以在相當長的時間內保持網絡的大部分算力,除非他們通過嚴酷的競爭考驗,不斷優化自身來提供更多的算力。
而PoS系統中的質押者實際上并多少真正的風險投入,也沒有優勝劣汰的嚴酷競爭機制,他們只需要簡單地運行一個staker節點就可以躺著賺利息,本質上只是將自己在銀行系統里的錢簡單的轉化為鏈上資本,就可以坐地收割后進入這個系統的新人。這種行為并沒有太多難度,只是簡單地賺取“無風險”利息,他們并沒有將資本轉化為任何形式的需要面臨風險考驗的投資。
而且當發生硬分叉時,PoW的Miner選擇支持哪條鏈時會更為謹慎,因為他們需要投入高昂的電力成本來為他們的選擇背書,一旦選錯了將損失所有投入成本。PoS系統如果發生硬分叉,質押的coin作為系統內部狀態的一部分,硬分叉后質押者將在兩條不同鏈上都擁有相同數量的資產,由于沒有什么沉默成本,導致質押者更愿意兩邊都支持,從而使硬分叉更容易且更頻繁地出現,這被稱為 nothing at stake 問題。
PoW是真正能做到無準入限制的(Permissionless),就是說已經在這個系統中的老人無法限制新人加入,只要你有能力提供算力,就能直接接入網絡中產出coin。而PoS系統中,新人要進入,都不得不先從老人手中買coin。
而且PoW中Miner為了支付各種高昂成本(電力,設備,基礎設施等),產出coin后也不得不賣出一些以彌補成本,這同時也是一種把coin分發給更多人的過程; 特別是在熊市,Miner為了維持開銷也不得不低價賤賣coin,這樣新人才有機會以相對低的成本獲得籌碼入場,這才是一個健康的生態擴張過程 。而PoS中由于質押者并沒有什么運行成本,也不需要面對太多競爭,質押者出塊得到coin后不需要急著賣出,更容易哄抬價格,其實會變相激勵場內老人剝削新入場者,不給后來人更多機會;整個系統會趨向于更封閉,逐漸演變成一個有限游戲,長期運行下去只會越來越中心化;系統中財富越來越集中,富者更富,窮者更窮,從而更不可能實現 去中心化(Decentralization) 。
由于PoW系統中是以提供工作量的方式產出區塊的,隨著時間的推移這些工作量都會被累積起來并使鏈不斷向前延伸,這也是為什么叫區塊鏈;這些累積的工作量也給攻擊者造成了巨大障礙,如果想要反轉整條鏈,不僅需要非常高的算力,還需要相當長的時間,這也為應對攻擊提供了足夠長的時間緩沖。
而PoS系統其實只是維護一個分布式賬本, 并沒有工作量累積的概念,一旦攻擊成功,要反轉整條鏈就是相當容易的,幾分鐘就可以搞定。
嚴格來說由PoW算力支撐的BTC不應歸為高科技類,由于它整個系統架構更保守更穩定,提供的更多的是一種 物化價值(objective costliness) ,更能作為價值之錨,所以數字黃金這個稱號很貼切。而像ETH(目前還是PoW,2.0升級后為PoS)這些更接近科技類創新平臺,PoS本質上更像是一種股權系統,其實PoS系統反而是需要中心化,偏向更依靠整個社區的生命力,需要依靠核心團隊的創新與開拓能力往前走;而PoW則需要去中心化,更偏向穩定與提供 物化價值(objective costliness) 。
區塊鏈作為一個價值分配系統, 算力是它的價值之錨,如果沒有算力,就會退化為一個股權系統 。算力在哪,資金就會跟去哪。目前的發展趨勢也是逐漸往多層網絡的方向發展,類似TCP/IP的多層協議棧。從作為基礎層(Base Layer)的角度看,更需要的是長期穩定與提供價值支撐,因此PoW系統更合適;而PoS可能更多的是可以作為Layer2以實現 可擴展性 (Scalability) ,彌補PoW基礎層的吞吐量不足,并通過錨定在PoW基礎層上來獲取算力安全性與價值支撐。
最后順帶說下最近市場行情,5,6月份以來的瀑布令很多人很恐慌,恐慌指數一度長時間停留在個位數;其實我覺得也沒必要那么恐慌,要在這個圈子長期活下去,面對這種大波動的心理預期還是要有的。想起之前紅杉資本的沈南鵬經常提到一個詞Grit,沙礫,它是礫石在千萬次打磨后留下來的細小顆粒;Grit代表了勇氣和持之以恒的一種堅持,有種經常被按地上摩擦但依然勇往直前的感覺。這個和塔勒布講的反脆弱性有異曲同工之妙,承載價值的東西就應該具有這種品質,PoW系統肯定是有反脆弱性的。
回望2017年入圈后經歷過的各種事件,其實像這樣的大波動近乎每年都有(除了2019年一年比較順利外);像2017年國內的94事件,2018年一整年的大熊市,2020的312事件,2021的519事件,再到2022今年的5,6月份市場轉熊,每次經歷大波動后,市場都會淘汰掉該淘汰的,出清掉該出清的風險,對整個行業發展也是好事。眼光還是應該放遠一點,至少看5到10年后的變化,科技發展過程中所帶來的波動和風險是不可避免的,日光之下無新鮮事,每次科技革命過程中總會夾雜著眾多的反對、質疑,還有眾多的投機、騙局;這個過程也總是通過各種暴雷、回歸,清除泡沫后價值重估,夯實了基礎后積蓄能量再次進入躍升到新的發展階段。 價值互聯網的到來是一件無法回避的事情 ,當理解和看清了這種趨勢后,規避掉各種坑和市場噪音,遠離合約杠桿和各種山寨的誘惑,握住核心資產,時間本身就會帶來回報。
2、什么是pos算法和pos機制
pos是公鏈中的共識算法,作為pow的一種替換。pow是保證比特幣,當前以太坊和許多區塊鏈安全的一種機制,但是pow算法在挖礦過程中,因為破壞環境和浪費電而受到指責,pos試圖通過一種不同的機制取代挖礦的概念,從而解決這些問題。ps機制可以被描述成一種虛擬挖礦,鑒于pow主要依賴于計算硬件的稀缺性,來防止女巫攻擊。在pow中,一個用戶有可能用一千美元來買計算機,加入網絡來挖礦,產生新區塊,從而得到獎勵。在pos中,用戶可以拿到一千美元,買到等值的代幣,把這些代幣當做押金放在pos機制之中,只要用戶就有機會產生,這樣用戶可以得到獎勵。
pos算法如下,存在一個持幣人的集合,他們把手中的代幣放入pos機制中,這樣他們就變成驗證者。
3、科普Pos共識機制
今天給大家科普下夸克區塊鏈中的POS共識機制到底是什么?PoS共識機制,中文翻譯就是權益證明。與它其名的還有另一種共識機制:pow機制。
經過歷史發展的證明,PoW機制存在一些缺陷,如在挖掘過程中浪費大量的資源,整個網絡的處理效率很低等。早在2011年,就有人曾提出:“是否可以在 PoW的基礎上,重新設計一種機制?”可以保留 PoW的優點,也可以解決它的問題"。因此 PoS的共識機制就誕生了,因此, PoS機制在共識層次上借鑒了許多 PoW機制的設計,比如區塊設計、礦工選擇、分叉處理、交易驗證等。
PoS機制采用權益法核算,解決了網絡效率低下、資源浪費以及節點間一致性等問題,簡單地說,就是誰擁有更多的權益誰來說話。其原則如下:
說到PoW機制為何存在諸多問題,最大的原因在于其規則下造成礦工準入門檻低,每個人都可以成為一個出塊節點,每個節點都可以為獲得下個區塊的記賬權進行競爭,一個數據包要有那么多人來處理,必然會造成資源的浪費和低效。
而PoS機制就可以有效解決這個問題,這是因為在POS機制的規則下,提高了每個人成為節點的門檻,比如:雖然每個人都可以成為節點,但如果想成為出塊節點獲得記賬權,就必須滿足pos機制的一些規則,如質押一定數量的代幣,或者持有一定數量的代幣,才可以成為出塊節點的候選人。
在滿足這些條件之后,系統進行算法選擇,選中其中一部分人成為有效的礦工,然后每隔一個周期,進行重新分配,并且這個過程不受人為控制,一切由系統算法決定,保證公平公開不被篡改,這樣就可以避免了整個鏈被某個節點控制。
總結一句話就是PoW機制是每個人都可以成為礦工,而 PoS機制必須通過一系列的篩選后成為礦工。
poS機制的競爭原則在于,誰擁有更多的代幣,誰就能更容易的獲得記賬權。獲得記賬權的礦工將他打包好的區塊經過其他礦工驗證,通過全網廣播,確認沒有問題后,這個區塊才會被連接到鏈上,與全網其他節點的小賬本同步,同時他還能得到相應的代幣獎勵。
簡言之,整個過程就是:持幣者以代幣作抵押,得到記賬權力,然后PoS共識會通過選擇算法,按持幣者的數量,從中選出出塊礦工。采礦者在指定的高度上完成打包交易,生成新的區塊,并廣播它,然后由驗證者對所廣播的區塊進行交易驗證,通過驗證后,區塊得到確認。這就是 PoS共識機制完整的一輪過程。
PoS機制的優點是有效地解決 PoW協議中存在的資源浪費和低效問題。但它也還是存在一些缺點。舉例來說, PoS機制中的初始代幣分配是非常模糊的,如果初始代幣分配失敗,將很難形成后續的股權證明。比如,在系統進行算法選擇時如果被黑客攻擊,如果成功,選舉結果就可能被操作。除開這個問題,pos機制還存在一個問題就是,可能會造成兩極分化嚴重,持有代幣多的人會更多的獲得記賬權,繼而獲得代幣獎勵,擁有代幣少的人,很難去爭奪記賬權,造成強者恒強的局面。
總的來說,PoW機制和 PoS機制都是區塊鏈上引用的主流機制,它們會攜手帶領區塊鏈技術的進一步發展,雖然兩者存在自身的一定局限性,但未來某一天,這些技術在不斷變革創新的同時,必定鑄造區塊鏈行業的輝煌。
4、POW & POS,傻傻分不清楚的共識機制
什么是共識機制?我在開更的第一篇文章,就簡單講解了數字貨幣世界的16個最高頻名詞,其中一個就是共識機制,還記得嗎?
為什么要有共識機制呢?
這就必須要解釋一下在分布式系統中不得不了解的“拜占庭將軍問題”了。
拜占庭將軍問題(The Byzantine Generals Problem)可以總結為一句話:
在古代,11位忠誠的、不同位置的將軍,如何排除叛徒的影響,對進攻或撤退達成一致。
當然,拜占庭將軍問題并不是如今才提出的,我們大中華在春秋戰國時期就發明了“虎符”這個神奇的方式來保障命令的正確執行。
在分布系數系統中,各個節點就是“拜占庭將軍”,算法執行中的任意一個錯誤就是“叛徒”。
為了盡可能地排除錯誤、快速達成一致,來讓系統有效地、正確地運行,便應運而生了各種“共識機制”。
————————————————
下面,我們就來一起學習數字貨幣世界中常見的幾種共識機制:
PoW,工作量證明 Proof of Work
PoW是比特幣所采用的共識機制,最早是由Adam Back為了解決垃圾郵件的問題而開發的一個“哈希現金Hashcash”程序。
比特幣采用的是SHA256的單向函數,其具體的工作原理實在太專業,我們只需要理解到“SHA256的結果很容易驗證,但是要將其計算出來,需要不斷嘗試運算,直到匹配到某個隨機數;技術上而言,任何新增區塊都需要經過232394億運算才能得到”的程度,感興趣的小伙伴可以搜索SHA256去深入學習。
因此,只要礦工出示運算結果,那通過PoW,全網節點就認可了他所付出的成本,承認新的區塊獎勵屬于他。
如此大量的運算相當浪費資源,實際上并沒有任何科學或實際用途,只是為了實踐工作量證明機制、阻止攻擊者偽裝成節點來控制網絡。
雖然在2009年時為了構建這種去中心化的、允許所有人可以免費參與的全球貨幣網絡,沒有更好的選擇;但是發展到如今,已經有了其他不需要大量浪費算力的證明機制,比如我們下面就要提到的,PoS權益證明。
————————————————
PoS,權益證明 Proof of Stake
主要思想是:節點記賬權的獲得難度與節點持有的權益成反比,也就是說,一個節點擁有的幣越多、時間越久,越容易獲取記賬權,也就越容易獲取區塊獎勵。
實際上,最初的PoS是PoW的一種升級,根據每個節點的幣齡,來等比例地降低挖礦難度,從而加快找到隨機數的速度。
什么是幣齡呢?
幣齡=數量*擁有天數。
由于區塊鏈中的每筆交易記錄都會被標記時間戳,這個時間戳就可以作為幣齡的證明,因此幣齡也不可能被輕易偽造。
比如A從B那里收到10個幣,并且持有了90天,那么,A就擁有了900的幣齡;如果A賣了這10個幣,這900幣齡就被消耗了;
后來,為了徹底擺脫PoW這種依靠算力的共識機制,PoS引入了“利息”的概念;年利率是在PoS機制最初確認時就設定的,一般不會變化。
利息=(幣齡*年利率)/365 ,如果利率是1%,在上個例子中,A就可以得到0.02466個幣的利息。
如此一來,PoS區塊鏈的作用過程就可以這樣描述:
在初期,通過PoW機制,產生創世幣;
在創世幣達到一定規模時,PoS機制開始作用,交易時消耗幣齡、獲得產生區塊的優先權,并獲取利息,同時PoW機制由于消耗太多資源、浪費算力而逐漸淡出;
最終系統中僅剩PoS來維持正常運作。
目前大家所熟悉的以太坊,主要還是采用PoW的機制,不過正在轉向PoS。
————————————————
大家了解了PoW和PoS,在遇到其他共識機制的時候,相信也會比較快得就能理解。
比如:股份授權證明DPOS,類似于董事會投票;燃燒證明POB;沉淀證明POD;能力證明POC;消逝時間證明PODT,等等。
就不在這里為大家一一展開了,感興趣的同學可以百度或知乎一下~
5、區塊鏈的共識機制
一、區塊鏈共識機制的目標
區塊鏈是什么?簡單而言,區塊鏈是一種去中心化的數據庫,或可以叫作分布式賬本(distributed ledger)。傳統上所有的數據庫都是中心化的,例如一間銀行的賬本就儲存在銀行的中心服務器里。中心化數據庫的弊端是數據的安全及正確性全系于數據庫運營方(即銀行),因為任何能夠訪問中心化數據庫的人(如銀行職員或黑客)都可以破壞或修改其中的數據。
而區塊鏈技術則容許數據庫存放在全球成千上萬的電腦上,每個人的賬本通過點對點網絡進行同步,網絡中任何用戶一旦增加一筆交易,交易信息將通過網絡通知其他用戶驗證,記錄到各自的賬本中。區塊鏈之所以得其名是因為它是由一個個包含交易信息的區塊(block)從后向前有序鏈接起來的數據結構。
很多人對區塊鏈的疑問是,如果每一個用戶都擁有一個獨立的賬本,那么是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬個賬本又如何保證記賬的一致性? 解決記賬一致性問題正是區塊鏈共識機制的目標 。區塊鏈共識機制旨在保證分布式系統里所有節點中的數據完全相同并且能夠對某個提案(proposal)(例如是一項交易紀錄)達成一致。然而分布式系統由于引入了多個節點,所以系統中會出現各種非常復雜的情況;隨著節點數量的增加,節點失效或故障、節點之間的網絡通信受到干擾甚至阻斷等就變成了常見的問題,解決分布式系統中的各種邊界條件和意外情況也增加了解決分布式一致性問題的難度。
區塊鏈又可分為三種:
公有鏈:全世界任何人都可以隨時進入系統中讀取數據、發送可確認交易、競爭記賬的區塊鏈。公有鏈通常被認為是“完全去中心化“的,因為沒有任何人或機構可以控制或篡改其中數據的讀寫。公有鏈一般會通過代幣機制鼓勵參與者競爭記賬,來確保數據的安全性。
聯盟鏈:聯盟鏈是指有若干個機構共同參與管理的區塊鏈。每個機構都運行著一個或多個節點,其中的數據只允許系統內不同的機構進行讀寫和發送交易,并且共同來記錄交易數據。這類區塊鏈被認為是“部分去中心化”。
私有鏈:指其寫入權限是由某個組織和機構控制的區塊鏈。參與節點的資格會被嚴格的限制,由于參與的節點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊、并且能夠做到身份認證等金融行業必須的要求。相比中心化數據庫,私有鏈能夠防止機構內單節點故意隱瞞或篡改數據。即使發生錯誤,也能夠迅速發現來源,因此許多大型金融機構在目前更加傾向于使用私有鏈技術。
二、區塊鏈共識機制的分類
解決分布式一致性問題的難度催生了數種共識機制,它們各有其優缺點,亦適用于不同的環境及問題。被眾人常識的共識機制有:
l PoW(Proof of Work)工作量證明機制
l PoS(Proof of Stake)股權/權益證明機制
l DPoS(Delegated Proof of Stake)股份授權證明機制
l PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯算法
l DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯算法
l SCP (Stellar Consensus Protocol ) 恒星共識協議
l RPCA(Ripple Protocol Consensus Algorithm)Ripple共識算法
l Pool驗證池共識機制
(一)PoW(Proof of Work)工作量證明機制
1. 基本介紹
在該機制中,網絡上的每一個節點都在使用SHA256哈希函數(hash function) 運算一個不斷變化的區塊頭的哈希值 (hash sum)。 共識要求算出的值必須等于或小于某個給定的值。 在分布式網絡中,所有的參與者都需要使用不同的隨機數來持續計算該哈希值,直至達到目標為止。當一個節點的算出確切的值,其他所有的節點必須相互確認該值的正確性。之后新區塊中的交易將被驗證以防欺詐。
在比特幣中,以上運算哈希值的節點被稱作“礦工”,而PoW的過程被稱為“挖礦”。挖礦是一個耗時的過程,所以也提出了相應的激勵機制(例如向礦工授予一小部分比特幣)。PoW的優點是完全的去中心化,其缺點是消耗大量算力造成了的資源浪費,達成共識的周期也比較長,共識效率低下,因此其不是很適合商業使用。
2. 加密貨幣的應用實例
比特幣(Bitcoin) 及萊特幣(Litecoin)。以太坊(Ethereum) 的前三個階段(Frontier前沿、Homestead家園、Metropolis大都會)皆采用PoW機制,其第四個階段 (Serenity寧靜) 將采用權益證明機制。PoW適用于公有鏈。
PoW機制雖然已經成功證明了其長期穩定和相對公平,但在現有框架下,采用PoW的“挖礦”形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運算來保證工作量公平,并沒有其他的存在意義。而目前BTC所能達到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區塊GAS總額的上限,所能達到的交易頻率大約是25TPS,與平均千次每秒、峰值能達到萬次每秒處理效率的VISA和MASTERCARD相差甚遠。
3. 簡圖理解模式
(ps:其中A、B、C、D計算哈希值的過程即為“挖礦”,為了犒勞時間成本的付出,機制會以一定數量的比特幣作為激勵。)
(Ps:PoS模式下,你的“挖礦”收益正比于你的幣齡(幣的數量*天數),而與電腦的計算性能無關。我們可以認為任何具有概率性事件的累計都是工作量證明,如淘金。假設礦石含金量為p% 質量, 當你得到一定量黃金時,我們可以認為你一定挖掘了1/p 質量的礦石。而且得到的黃金數量越多,這個證明越可靠。)
(二)PoS(Proof of Stake)股權/權益證明機制
1.基本介紹
PoS要求人們證明貨幣數量的所有權,其相信擁有貨幣數量多的人攻擊網絡的可能性低。基于賬戶余額的選擇是非常不公平的,因為單一最富有的人勢必在網絡中占主導地位,所以提出了許多解決方案。
在股權證明機制中,每當創建一個區塊時,礦工需要創建一個稱為“幣權”的交易,這個交易會按照一定比例預先將一些幣發給礦工。然后股權證明機制根據每個節點持有代幣的比例和時間(幣齡), 依據算法等比例地降低節點的挖礦難度,以加快節點尋找隨機數的速度,縮短達成共識所需的時間。
與PoW相比,PoS可以節省更多的能源,更有效率。但是由于挖礦成本接近于0,因此可能會遭受攻擊。且PoS在本質上仍然需要網絡中的節點進行挖礦運算,所以它同樣難以應用于商業領域。
2.數字貨幣的應用實例
PoS機制下較為成熟的數字貨幣是點點幣(Peercoin)和未來幣(NXT),相比于PoW,PoS機制節省了能源,引入了" 幣天 "這個概念來參與隨機運算。PoS機制能夠讓更多的持幣人參與到記賬這個工作中去,而不需要額外購買設備(礦機、顯卡等)。每個單位代幣的運算能力與其持有的時間長成正相關,即持有人持有的代幣數量越多、時間越長,其所能簽署、生產下一個區塊的概率越大。一旦其簽署了下一個區塊,持幣人持有的幣天即清零,重新進入新的循環。
PoS適用于公有鏈。
3.區塊簽署人的產生方式
在PoS機制下,因為區塊的簽署人由隨機產生,則一些持幣人會長期、大額持有代幣以獲得更大概率地產生區塊,盡可能多的去清零他的"幣天"。因此整個網絡中的流通代幣會減少,從而不利于代幣在鏈上的流通,價格也更容易受到波動。由于可能會存在少量大戶持有整個網絡中大多數代幣的情況,整個網絡有可能會隨著運行時間的增長而越來越趨向于中心化。相對于PoW而言,PoS機制下作惡的成本很低,因此對于分叉或是雙重支付的攻擊,需要更多的機制來保證共識。穩定情況下,每秒大約能產生12筆交易,但因為網絡延遲及共識問題,需要約60秒才能完整廣播共識區塊。長期來看,生成區塊(即清零"幣天")的速度遠低于網絡傳播和廣播的速度,因此在PoS機制下需要對生成區塊進行"限速",來保證主網的穩定運行。
4.簡圖理解模式
(PS:擁有越多“股份”權益的人越容易獲取賬權。是指獲得多少貨幣,取決于你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。)
(在純POS體系中,如NXT,沒有挖礦過程,初始的股權分配已經固定,之后只是股權在交易者之中流轉,非常類似于現實世界的股票。)
(三)DPoS(Delegated Proof of Stake)股份授權證明機制
1.基本介紹
由于PoS的種種弊端,由此比特股首創的權益代表證明機制 DPoS(Delegated Proof of Stake)應運而生。DPoS 機制中的核心的要素是選舉,每個系統原生代幣的持有者在區塊鏈里面都可以參與選舉,所持有的代幣余額即為投票權重。通過投票,股東可以選舉出理事會成員,也可以就關系平臺發展方向的議題表明態度,這一切構成了社區自治的基礎。股東除了自己投票參與選舉外,還可以通過將自己的選舉票數授權給自己信任的其它賬戶來代表自己投票。
具體來說, DPoS由比特股(Bitshares)項目組發明。股權擁有著選舉他們的代表來進行區塊的生成和驗證。DPoS類似于現代企業董事會制度,比特股系統將代幣持有者稱為股東,由股東投票選出101名代表, 然后由這些代表負責生成和驗證區塊。 持幣者若想稱為一名代表,需先用自己的公鑰去區塊鏈注冊,獲得一個長度為32位的特有身份標識符,股東可以對這個標識符以交易的形式進行投票,得票數前101位被選為代表。
代表們輪流產生區塊,收益(交易手續費)平分。DPoS的優點在于大幅減少了參與區塊驗證和記賬的節點數量,從而縮短了共識驗證所需要的時間,大幅提高了交易效率。從某種角度來說,DPoS可以理解為多中心系統,兼具去中心化和中心化優勢。優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。缺點:投票積極性不高,絕大部分代幣持有者未參與投票;另整個共識機制還是依賴于代幣,很多商業應用是不需要代幣存在的。
DPoS機制要求在產生下一個區塊之前,必須驗證上一個區塊已經被受信任節點所簽署。相比于PoS的" 全民挖礦 ",DPoS則是利用類似" 代表大會 "的制度來直接選取可信任節點,由這些可信任節點(即見證人)來代替其他持幣人行使權力,見證人節點要求長期在線,從而解決了因為PoS簽署區塊人不是經常在線而可能導致的產塊延誤等一系列問題。 DPoS機制通常能達到萬次每秒的交易速度,在網絡延遲低的情況下可以達到十萬秒級別,非常適合企業級的應用。 因為公信寶數據交易所對于數據交易頻率要求高,更要求長期穩定性,因此DPoS是非常不錯的選擇。
2. 股份授權證明機制下的機構與系統
理事會是區塊鏈網絡的權力機構,理事會的人選由系統股東(即持幣人)選舉產生,理事會成員有權發起議案和對議案進行投票表決。
理事會的重要職責之一是根據需要調整系統的可變參數,這些參數包括:
l 費用相關:各種交易類型的費率。
l 授權相關:對接入網絡的第三方平臺收費及補貼相關參數。
l 區塊生產相關:區塊生產間隔時間,區塊獎勵。
l 身份審核相關:審核驗證異常機構賬戶的信息情況。
l 同時,關系到理事會利益的事項將不通過理事會設定。
在Finchain系統中,見證人負責收集網絡運行時廣播出來的各種交易并打包到區塊中,其工作類似于比特幣網絡中的礦工,在采用 PoW(工作量證明)的比特幣網絡中,由一種獲獎概率取決于哈希算力的抽彩票方式來決定哪個礦工節點產生下一個區塊。而在采用 DPoS 機制的金融鏈網絡中,通過理事會投票決定見證人的數量,由持幣人投票來決定見證人人選。入選的活躍見證人按順序打包交易并生產區塊,在每一輪區塊生產之后,見證人會在隨機洗牌決定新的順序后進入下一輪的區塊生產。
3. DPoS的應用實例
比特股(bitshares) 采用DPoS。DPoS主要適用于聯盟鏈。
4.簡圖理解模式
(四)PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯算法
1. 基本介紹
PBFT是一種基于嚴格數學證明的算法,需要經過三個階段的信息交互和局部共識來達成最終的一致輸出。三個階段分別為預備 (pre-prepare)、準備 (prepare)、落實 (commit)。PBFT算法證明系統中只要有2/3比例以上的正常節點,就能保證最終一定可以輸出一致的共識結果。換言之,在使用PBFT算法的系統中,至多可以容忍不超過系統全部節點數量1/3的失效節點 (包括有意誤導、故意破壞系統、超時、重復發送消息、偽造簽名等的節點,又稱為”拜占庭”節點)。
2. PBFT的應用實例
著名聯盟鏈Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改進版本SBFT。PBFT主要適用于私有鏈和聯盟鏈。
3. 簡圖理解模式
上圖顯示了一個簡化的PBFT的協議通信模式,其中C為客戶端,0 – 3表示服務節點,其中0為主節點,3為故障節點。整個協議的基本過程如下:
(1) 客戶端發送請求,激活主節點的服務操作;
(2) 當主節點接收請求后,啟動三階段的協議以向各從節點廣播請求;
(a) 序號分配階段,主節點給請求賦值一個序號n,廣播序號分配消息和客戶端的請求消息m,并將構造pre-prepare消息給各從節點;
(b) 交互階段,從節點接收pre-prepare消息,向其他服務節點廣播prepare消息;
(c) 序號確認階段,各節點對視圖內的請求和次序進行驗證后,廣播commit消息,執行收到的客戶端的請求并給客戶端響應。
(3) 客戶端等待來自不同節點的響應,若有m+1個響應相同,則該響應即為運算的結果;
(五)DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯算法
1. 基本介紹
DBFT建基于PBFT的基礎上,在這個機制當中,存在兩種參與者,一種是專業記賬的“超級節點”,一種是系統當中不參與記賬的普通用戶。普通用戶基于持有權益的比例來投票選出超級節點,當需要通過一項共識(記賬)時,在這些超級節點中隨機推選出一名發言人擬定方案,然后由其他超級節點根據拜占庭容錯算法(見上文),即少數服從多數的原則進行表態。如果超過2/3的超級節點表示同意發言人方案,則共識達成。這個提案就成為最終發布的區塊,并且該區塊是不可逆的,所有里面的交易都是百分之百確認的。如果在一定時間內還未達成一致的提案,或者發現有非法交易的話,可以由其他超級節點重新發起提案,重復投票過程,直至達成共識。
2. DBFT的應用實例
國內加密貨幣及區塊鏈平臺NEO是 DBFT算法的研發者及采用者。
3. 簡圖理解模式
假設系統中只有四個由普通用戶投票選出的超級節點,當需要通過一項共識時,系統就會從代表中隨機選出一名發言人擬定方案。發言人會將擬好的方案交給每位代表,每位代表先判斷發言人的計算結果與它們自身紀錄的是否一致,再與其它代表商討驗證計算結果是否正確。如果2/3的代表一致表示發言人方案的計算結果是正確的,那么方案就此通過。
如果只有不到2/3的代表達成共識,將隨機選出一名新的發言人,再重復上述流程。這個體系旨在保護系統不受無法行使職能的領袖影響。
上圖假設全體節點都是誠實的,達成100%共識,將對方案A(區塊)進行驗證。
鑒于發言人是隨機選出的一名代表,因此他可能會不誠實或出現故障。上圖假設發言人給3名代表中的2名發送了惡意信息(方案B),同時給1名代表發送了正確信息(方案A)。
在這種情況下該惡意信息(方案B)無法通過。中間與右邊的代表自身的計算結果與發言人發送的不一致,因此就不能驗證發言人擬定的方案,導致2人拒絕通過方案。左邊的代表因接收了正確信息,與自身的計算結果相符,因此能確認方案,繼而成功完成1次驗證。但本方案仍無法通過,因為不足2/3的代表達成共識。接著將隨機選出一名新發言人,重新開始共識流程。
上圖假設發言人是誠實的,但其中1名代表出現了異常;右邊的代表向其他代表發送了不正確的信息(B)。
在這種情況下發言人擬定的正確信息(A)依然可以獲得驗證,因為左邊與中間誠實的代表都可以驗證由誠實的發言人擬定的方案,達成2/3的共識。代表也可以判斷到底是發言人向右邊的節點說謊還是右邊的節點不誠實。
(六)SCP (Stellar Consensus Protocol ) 恒星共識協議
1. 基本介紹
SCP 是 Stellar (一種基于互聯網的去中心化全球支付協議) 研發及使用的共識算法,其建基于聯邦拜占庭協議 (Federated Byzantine Agreement) 。傳統的非聯邦拜占庭協議(如上文的PBFT和DBFT)雖然確保可以通過分布式的方法達成共識,并達到拜占庭容錯 (至多可以容忍不超過系統全部節點數量1/3的失效節點),它是一個中心化的系統 — 網絡中節點的數量和身份必須提前知曉且驗證過。而聯邦拜占庭協議的不同之處在于它能夠去中心化的同時,又可以做到拜占庭容錯。
[…]
(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共識算法
1. 基本介紹
RPCA是Ripple(一種基于互聯網的開源支付協議,可以實現去中心化的貨幣兌換、支付與清算功能)研發及使用的共識算法。在 Ripple 的網絡中,交易由客戶端(應用)發起,經過追蹤節點(tracking node)或驗證節點(validating node)把交易廣播到整個網絡中。追蹤節點的主要功能是分發交易信息以及響應客戶端的賬本請求。驗證節點除包含追蹤節點的所有功能外,還能夠通過共識協議,在賬本中增加新的賬本實例數據。
Ripple 的共識達成發生在驗證節點之間,每個驗證節點都預先配置了一份可信任節點名單,稱為 UNL(Unique Node List)。在名單上的節點可對交易達成進行投票。共識過程如下:
(1) 每個驗證節點會不斷收到從網絡發送過來的交易,通過與本地賬本數據驗證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集里面還包括之前共識過程無法確認而遺留下來的交易。
(2) 每個驗證節點把自己的交易候選集作為提案發送給其他驗證節點。
(3) 驗證節點在收到其他節點發來的提案后,如果不是來自UNL上的節點,則忽略該提案;如果是來自UNL上的節點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內,當交易獲得超過50%的票數時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。
(4) 驗證節點把超過50%票數的交易作為提案發給其他節點,同時提高所需票數的閾值到60%,重復步驟(3)、步驟(4),直到閾值達到80%。
(5) 驗證節點把經過80%UNL節點確認的交易正式寫入本地的賬本數據中,稱為最后關閉賬本(last closed ledger),即賬本最后(最新)的狀態。
在Ripple的共識算法中,參與投票節點的身份是事先知道的,因此,算法的效率比PoW等匿名共識算法要高效,交易的確認時間只需幾秒鐘。這點也決定了該共識算法只適合于聯盟鏈或私有鏈。Ripple共識算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網絡中20%的節點出現拜占庭錯誤而不影響正確的共識。
2. 簡圖理解模式
共識過程節點交互示意圖:
共識算法流程:
(八)POOL驗證池共識機制
Pool驗證池共識機制是基于傳統的分布式一致性算法(Paxos和Raft)的基礎上開發的機制。Paxos算法是1990年提出的一種基于消息傳遞且具有高度容錯特性的一致性算法。過去, Paxos一直是分布式協議的標準,但是Paxos難于理解,更難以實現。Raft則是在2013年發布的一個比Paxos簡單又能實現Paxos所解決問題的一致性算法。Paxos和Raft達成共識的過程皆如同選舉一樣,參選者需要說服大多數選民(服務器)投票給他,一旦選定后就跟隨其操作。Paxos和Raft的區別在于選舉的具體過程不同。而Pool驗證池共識機制即是在這兩種成熟的分布式一致性算法的基礎上,輔之以數據驗證的機制。

轉載請帶上網址:http://www.keemji.com/posjifive/300691.html
- 上一篇:pos機開機一閃一閃
- 下一篇:重慶pos機騙局