btc的共識機制有哪些
A. 區塊鏈的四種共識機制
區塊鏈的共識機制可以分為以下四類:權益證明機制、工作量證明機制、Pool驗證和池股份授權證明機制。
區塊鏈,就是一個又一個區塊組成的鏈條。每一個區塊中保存了一定的信息,它們按照各自產生的時間順序連接成鏈條。這個鏈條被保存在所有的伺服器中,只要整個系統中有一台伺服器可以工作,整條區塊鏈就是安全的。這些伺服器在區塊鏈系統中被稱為節點,它們為整個區塊鏈系統提供存儲空間和算力支持。
B. 區塊鏈目前用到哪些共識機制它們各自的優缺點和適用范圍是什麼
目前主要有四大類共識機制:Pow、Pos、DPos、Pool
1、Pow工作量證明,就是大家熟悉的挖礦,通過與或運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,發出本輪需要記錄的數據,全網其它節點驗證後一起存儲;
優點:完全去中心化,節點自由進出;
缺點:目前bitcoin已經吸引全球大部分的算力,其它再用Pow共識機制的區塊鏈應用很難獲得相同的算力來保障自身的安全;挖礦造成大量的資源浪費;共識達成的周期較長,不適合商業應用
2、Pos權益證明,Pow的一種升級共識機制;根據每個節點所佔代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。
優點:在一定程度上縮短了共識達成的時間
缺點:還是需要挖礦,本質上沒有解決商業應用的痛點
3、DPos股份授權證明機制,類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的
4、Pool驗證池,基於傳統的分布式一致性技術,加上數據驗證機制;是目前行業鏈大范圍在使用的共識機制
優點:不需要代幣也可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎上,實現秒級共識驗證;
缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業模式
在使用共識機制,保證數據一致性時的巨大優勢(共識機制則是Ripple首先提出的,數據正確性優先的網路交易同步機制,在共識網路中,無論軟體代碼怎麼變動,無法取得共識就無法進入網路,更不要提分叉了)。
——————————————————
PS:稍微自黑下,雖然共識機制絕對能確保任何時候都不會產生硬分叉。但是,這種機制的缺點也比較明顯,那就是要取得與其他節點的共識,明顯要比當前Bitcoin網路漫長的多。極端情況下,在Ripple共識機制網路中掉線的後果也是很恐怖的。
有可能你家停電一天,第二天整個系統就再也無法與其它Rippled節點取得共識了(共識機制事實上需要超過80%的節點承認了你的數據,你的提交才會被其它節點接受,否則就會被排它的拒絕連接),甚至只能清空自己全部500多GB數據重新同步才能連上其它Ripple節點。
所以目前來說,現有的Rippled端並不適合民用(商用的話影響就比較小,比如RL自己的Rippled節點託管在亞馬遜雲數據中心,長時間無響應是可以高額索賠的,而且那種地方除了大型災害幾乎不會斷),這也是RL一直想改進的方面之一。
C. 什麼是共識機制
共識機制,簡單說就是在一個時間段內對事物的前後順序達成共識的一種演算法。
在區塊鏈上,共識機制就像一個國家的法律,維系著區塊鏈世界的正常運轉。在區塊鏈上,每個人都會有一份記錄鏈上所有交易的賬本,鏈上產生一筆新的交易時,每個人接收到這個信息的時間是不一樣的,有些想要干壞事的人就有可能在這時發布一些錯誤的信息,這時就需要一個人把所有人接收到的信息進行驗證,最後公布最正確的信息。
目前,常用的共識機制有三種:
1、工作量證明機制(Proof of Work - PoW)是我們最熟知的一種共識機制。就如字面的解釋,PoW就是工作越多,收益越大。這里的工作就是猜數字,誰能最快的猜出這個唯一的數字,誰就能做信息公示人。
2、權益證明機制(Proof of Stake-PoS)也屬於一種共識證明,它類似股權憑證和投票系統,因此也叫「股權證明演算法」。由持有最多(token)的人來公示最終信息。
3、拜占庭共識演算法(Practical Byzantine Fault Tolerance- PBFT)也是一種常見的共識證明。它與之前兩種都不相同,PBFT以計算為基礎,也沒有代幣獎勵。由鏈上所有人參與投票,少於(N-1)/3個節點反對時就獲得公示信息的權利。
D. 區塊鏈的共識機制
一、區塊鏈共識機制的目標
區塊鏈是什麼?簡單而言,區塊鏈是一種去中心化的資料庫,或可以叫作分布式賬本(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驗證池共識機制即是在這兩種成熟的分布式一致性演算法的基礎上,輔之以數據驗證的機制。
E. 區塊鏈幾大共識機制及優缺點
首先,沒有一種共識機制是完美無缺的,各共識機制都有其優缺點,有些共識機制是為解決一些特定的問題而生。
1.pow( Proof of Work)工作量證明
一句話介紹:乾的越多,收的越多。
依賴機器進行數學運算來獲取記賬權,資源消耗相比其他共識機制高、可監管性弱,同時每次達成共識需要全網共同參與運算,性能效率比較低,容錯性方面允許全網50%節點出錯。
優點:
1)演算法簡單,容易實現;
2)節點間無需交換額外的信息即可達成共識;
3)破壞系統需要投入極大的成本;
缺點:
1)浪費能源;
2)區塊的確認時間難以縮短;
3)新的區塊鏈必須找到一種不同的散列演算法,否則就會面臨比特幣的算力攻擊;
4)容易產生分叉,需要等待多個確認;
5)永遠沒有最終性,需要檢查點機制來彌補最終性;
2.POS Proof of Stake,權益證明
一句話介紹:持有越多,獲得越多。
主要思想是節點記賬權的獲得難度與節點持有的權益成反比,相對於PoW,一定程度減少了數學運算帶來的資源消耗,性能也得到了相應的提升,但依然是基於哈希運算競爭獲取記賬權的方式,可監管性弱。該共識機制容錯性和PoW相同。它是Pow的一種升級共識機制,根據每個節點所佔代幣的比例和時間,等比例的降低挖礦難度,從而加快找隨機數的速度
優點:在一定程度上縮短了共識達成的時間;不再需要大量消耗能源挖礦。
缺點:還是需要挖礦,本質上沒有解決商業應用的痛點;所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。例如,以太坊的DAO攻擊事件造成以太坊硬分叉,而ETC由此事件出現,事實上證明了此次硬分叉的失敗。
DPOS與POS原理相同,只是選了一些「人大代表」。
BitShares社區首先提出了DPoS機制。
與PoS的主要區別在於節點選舉若干代理人,由代理人驗證和記賬。其合規監管、性能、資源消耗和容錯性與PoS相似。類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
DPoS的工作原理為:
去中心化表示每個股東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批准。為達到這個目標,每個股東可以將其投票權授予一名代表。獲票數最多的前100位代表按既定時間表輪流產生區塊。每名代表分配到一個時間段來生產區塊。所有的代表將收到等同於一個平均水平的區塊所含交易費的10%作為報酬。如果一個平均水平的區塊含有100股作為交易費,一名代表將獲得1股作為報酬。
網路延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。然而,這不太可能發生,因為製造區塊的代表可以與製造前後區塊的代表建立直接連接。建立這種與你之後的代表(也許也包括其後的那名代表)的直接連接是為了確保你能得到報酬。
該模式可以每30秒產生一個新區塊,並且在正常的網路條件下區塊鏈分叉的可能性極其小,即使發生也可以在幾分鍾內得到解決。
成為代表:
成為一名代表,你必須在網路上注冊你的公鑰,然後分配到一個32位的特有標識符。然後該標識符會被每筆交易數據的「頭部」引用。
授權選票:
每個錢包有一個參數設置窗口,在該窗口裡用戶可以選擇一個或更多的代表,並將其分級。一經設定,用戶所做的每筆交易將把選票從「輸入代表」轉移至「輸出代表」。一般情況下,用戶不會創建特別以投票為目的的交易,因為那將耗費他們一筆交易費。但在緊急情況下,某些用戶可能覺得通過支付費用這一更積極的方式來改變他們的投票是值得的。
保持代表誠實:
每個錢包將顯示一個狀態指示器,讓用戶知道他們的代表表現如何。如果他們錯過了太多的區塊,那麼系統將會推薦用戶去換一個新的代表。如果任何代表被發現簽發了一個無效的區塊,那麼所有標准錢包將在每個錢包進行更多交易前要求選出一個新代表。
抵抗攻擊:
在抵抗攻擊上,因為前100名代表所獲得的權力權是相同的,每名代表都有一份相等的投票權。因此,無法通過獲得超過1%的選票而將權力集中到一個單一代表上。因為只有100名代表,可以想像一個攻擊者對每名輪到生產區塊的代表依次進行拒絕服務攻擊。幸運的是,由於事實上每名代表的標識是其公鑰而非IP地址,這種特定攻擊的威脅很容易被減輕。這將使確定DDOS攻擊目標更為困難。而代表之間的潛在直接連接,將使妨礙他們生產區塊變得更為困難。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
3.PBFT :Practical Byzantine Fault Tolerance,實用拜占庭容錯
介紹:在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。
在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算機(Coordinator / Commander)或成員計算機 (Member /Lieutanent)可能因系統錯誤並交換錯的訊息,導致影響最終的系統一致性。
拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。
而拜占庭問題的可能解決方法為:
在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計算機總數,F為有問題計算機總數。信息在計算機間互相交換後,各計算機列出所有得到的信息,以大多數的結果作為解決辦法。
1)系統運轉可以脫離幣的存在,pbft演算法共識各節點由業務的參與方或者監管方組成,安全性與穩定性由業務相關方保證。
2)共識的時延大約在2~5秒鍾,基本達到商用實時處理的要求。
3)共識效率高,可滿足高頻交易量的需求。
缺點:
1)當有1/3或以上記賬人停止工作後,系統將無法提供服務;
2)當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據
下面說兩個國產的吧~
4.dBFT: delegated BFT 授權拜占庭容錯演算法
介紹:小蟻採用的dBFT機制,是由權益來選出記賬人,然後記賬人之間通過拜占庭容錯演算法來達成共識。
此演算法在PBFT基礎上進行了以下改進:
將C/S架構的請求響應模式,改進為適合P2P網路的對等節點模式;
將靜態的共識參與節點改進為可動態進入、退出的動態共識參與節點;
為共識參與節點的產生設計了一套基於持有權益比例的投票機制,通過投票決定共識參與節點(記賬節點);
在區塊鏈中引入數字證書,解決了投票中對記賬節點真實身份的認證問題。
優點:
1)專業化的記賬人;
2)可以容忍任何類型的錯誤;
3)記賬由多人協同完成,每一個區塊都有最終性,不會分叉;
4)演算法的可靠性有嚴格的數學證明;
缺點:
1)當有1/3或以上記賬人停止工作後,系統將無法提供服務;
2)當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
以上總結來說,dBFT機制最核心的一點,就是最大限度地確保系統的最終性,使區塊鏈能夠適用於真正的金融應用場景。
5.POOL驗證池
基於傳統的分布式一致性技術,加上數據驗證機制。
優點:不需要代幣也可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎上,實現秒級共識驗證。
缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業模式。
F. 區塊鏈共識機制之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中,幣的持有者至少有權決定代表節點—或者說礦工的身份。
G. 如何辯別真正的區塊鏈數字貨幣
某個數字貨幣是否是一個有價值的幣種,在目前基本屬於「天使輪」階段而言,判定標准有三個,一是團隊,二是經濟模型,三是行業需求。
團隊的隨機性太大,在此不進行討論。本文首先對數字貨幣的經濟模型進行一個詳盡地分析,在隨後的文章中,筆者會根據不同行業對部分數字貨幣進行剖析。
嚴格來講,本文所涉及的經濟模型,並不完全等同於經濟學中所述概念。特指在數字貨幣中,貨幣的共識機制與激勵機制。
一、共識機制
共識機制是區塊鏈系統中各個節點達成一致的策略和方法,應根據系統類型及應用場景的不同靈活選取。
常用的共識機制主要有PoW、PoS、DPoS、PBFT(及其變種)等。另外,基於區塊鏈技術的不同應用場景,以及各種共識機制的特性,本文按照以下維度來評價各種共識機制的技術水平:
a) 合規監管:是否支持超級許可權節點對全網節點、數據進行監管;
b) 性能效率:交易達成共識被確認的效率;
c) 資源消耗:共識過程中耗費的CPU、網路輸入輸出、存儲等計算機資源;
d) 容錯性:防攻擊、防欺詐的能力。
1 行業背景
尋找行業痛點:資產管理需要專業的團隊與知識,然而現在大多數數字貨幣投資者並不具備;數字貨幣市場行情波動巨大,在行情下挫中,投資者無法對資產進行保值。
2 自身優勢
在股票、期貨市場深耕多年,有成熟、高素質資產管理團隊;AI大數據團隊技術實力強勁。
3 市場調研
進行市場調研之後,預估未來5年內,資產管理的市值約為10億美元。
4 數字貨幣總量
在考慮預期資產管理市值、開發周期與難度後,考慮發行基於以太坊ERC20數字貨幣XT,數量20億枚,永不增發。
5 分配方式
早期投資人持有10%,團隊持有20%,商務運營10%,社區建設10%,投資者持有50%。
6 數字貨幣釋放/回購機制
釋放機制分為三類:
第一類:商務運營持幣部分為全部解鎖,用途限定為商務及運營活動;
第二類:社區建設部分的釋放機制為,社區成員發布獨家資訊、合作平台發布獨家項目進展等行為,根據參與ID數,釋放相應比例XT(發布者與參與者各獲得50%),直至全部釋放完成(釋放完成之後,後續獎勵來源於平台利潤池);
第三類:投資者持主流數字貨幣,在平台中進行資產管理,根據兌換比例,釋放一定數量的XT,早期投資人與團隊持有部分同步,按比例解鎖;
回購機制為:所得利潤(以XT計)的50%返還給持幣者;剩餘進入平台利潤池中,按月對利潤池中的50%的XT進行銷毀,直至XT總量為10億枚;其餘作為平台生態建設基金;
7 數字貨幣權益
利潤分成:持有XT,是為平台用戶,可以享受平台利潤50%的分成;
平台治理:參與平台活動享受XT獎勵、其他項目方的空投活動;
功能定製:可基於平台AI大數據,投資者可購買針對個人交易策略進行優化的服務
H. 共識機制包括哪些分別有何特點
馬克思這么說:「全部社會生活在本質上是實踐的」(莫笑,我要把馬克思捧出來站站場),實踐是社會關系的發源地。實踐內在的包含著三重關系,即人與自然的關系、人與人的關系以及人與其自身意識的關系,這些關系構成了人類社會最基本的關系
因為我們要討論的問題很低層,它不僅是區塊鏈核心問題,也是人類社會的基本問題:機制,協調好這三層關系,更好的發揮作用,必須要有一套機制
基於博弈的社會追求一種動態平衡,但是一套好的機制使事物完美博弈,達到均衡談何容易,未知的新事物在不斷涌現,打破現有的均衡;哪怕是已有體系也不時出現漏洞,造成一定范圍的震盪。我們的法律不斷再修正,跟我們改bug一樣,經常在patching。有監督的系統尚且這樣,可想構造無監督的自適應機制的難處,區塊鏈所追求的是構造無監督自適應的共識機制
I. 區塊鏈的共識機制
所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面我們將一下區塊鏈的幾種共識機制,希望對大家了解區塊鏈基礎技術有幫助。
因為區塊鏈技術的發展, 大家對共識機制這個詞也不再陌生,隨著技術發展,各種創新的共識機制也在發展。
POW工作量證明
比特幣就是使用PoW工作量證明機制,到後來的以太坊都是PoW的共識機制。Pow相當於算出很難的數學難題,就是計算出新區塊的hash值,而且計算的難度會每一段時間就會調整。PoW雖然是大家比較認可的共識機制,計算會消耗大量的能源,還有可能會污染環境。
POS權益證明
通過持有Token的數量和時長來決定獲得記賬權的機率。相比POW,POS避免了挖礦造成大量的資源浪費,縮短了各個節點之間達成共識的時間,網路環境好的話可實現毫秒級,對節點性能要求低。
但POS的缺點同樣明顯,持有Token多的節點更有機會獲得記賬權,這將導致「馬太效應」,富者越富,破壞了區塊鏈的去中心化。
DPOS權益證明
DPOS委託權益證明與POS原理相同,其主要區別在於,DPOS的Token持有者可以投票選舉代理人作為超級節點,負責在網路上生產區塊並維護共識規則。如果這些節點未能履行職責,將投票選出新的節點。同樣的弊端也是傾向於中心化。
POA權威證明
POA節點之間無需進行通信即可達成共識,因此效率極高。並且它也能很好地對抗算力攻擊,安全性較高。但是POA需要一個集中的權威節點來驗證身份,這就意味著它會損害區塊鏈的去中心化,這也是在去中心化和提高效率之間的妥協。
J. 比特幣的運行機制及與區塊鏈的聯系
佚名
每一筆比特幣交易,都會被區塊鏈網路中的節點記錄下來,以此增強交易公信力,保護交易雙方利益。但如果所有節點都參與記錄的話,容易因為網路延遲等因素造成賬本信息不一致,也難以避免記賬人會篡改交易信息。
因此比特幣採用工作量證明(Proof of Work)共識機制,讓所有節點通過解決工作量證明難題的方式參與競爭,競爭成功的節點擁有新區塊的記賬權,並能夠將記錄的信息廣播出去。其他節點接收後將根據此消息進行數據同步,確保賬本一致。這種競爭記賬權的過程,叫做挖礦,參與挖礦的節點,叫做礦工。礦工挖礦成功後可以獲得區塊獎勵,即一定數額的比特幣,還可以收取該區塊上的交易手續費。在利益的驅使下,節點會積極參與挖礦並維護交易記錄的真實有效。
比特幣的發行只有一種方式,即區塊獎勵,也就是說比特幣是通過挖礦產生的。不過,比特幣並不能通過挖礦無限產生,其演算法規定了每產生210100 個區塊(約四年),比特幣的區塊鏈獎勵就要減半一次。由於比特幣的發行總量恆定為2100萬個,預計會在2140年挖完。這個規定確保了比特幣不會由於人為增發而發生嚴重的通貨膨脹,可以保護比特幣的價值。
比特幣的運行以區塊鏈技術為依託,比特幣與區塊鏈有著密不可分的關系。比特幣是一種資產,而區塊鏈就是為這種資產設定好運行規則的底層技術,從而保證每一筆交易順利進行。這就好比視頻文件與播放器之間的關系,視頻的播放必須要通過播放器的底層技術處理才能實現。區塊鏈技術的誕生源於比特幣概念的提出,可以說區塊鏈技術是比特幣催化下的產物。目前,區塊鏈技術不止運用於比特幣等加密貨幣,在各個領域都有廣泛的應用,但比特幣仍舊是區塊鏈技術上最早、最成功的應用。