比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

解析共識算法的分類(上)-ODAILY_區塊鏈

Author:

Time:1900/1/1 0:00:00

——Part1共識的分類——

從早期的分布式一致性算法的緩慢發展到現如今區塊鏈共識的百花齊放,共識算法的發展已經走過了四十年左右的時光。不同的共識算法的側重點不同,因此它們所面臨的問題、環境也不一樣。本文將從如下幾個不同角度對共識算法進行分類:

▲容錯類型

根據是否容忍拜占庭錯誤,可以將共識算法分為兩類。

1)拜占庭容錯共識算法:PBFT、PoW、PoS、DPoS

2)非拜占庭容錯共識算法:Paxos、Raft

是否容忍拜占庭標志著該算法是否能夠應用到低信任的網絡當中。通常來說,公有鏈環境中必須使用拜占庭容錯算法,而聯盟鏈中可以根據聯盟參與方之間的信任程度進行選擇。

▲算法確定性

根據算法的確定性,可以將共識算法分為兩類。

1)確定性共識算法:Paxos、Raft、PBFT

2)概率性共識算法:PoW、部分PoS

確定性共識指的是共識決策一旦達成,就不存在回退的可能性,這一類通常是傳統的分布式一致性算法及其改進版本。而概率性指的是已經達成的共識決策在未來有一定的概率會被回退,雖然這個概率隨著時間的推移會趨于為0,這一類通常是應用在公有鏈上的區塊鏈共識算法。

▲選主策略

根據選主的策略,可以將共識算法分為兩類。

1)選舉類共識算法:Raft、PBFT

2)證明類共識算法:PoW、PoS

選舉類共識指的是通過投票選擇出塊節點,同一個節點可以連續多輪作為出塊節點存在,這一類通常是傳統的分布式一致性算法及其改進版本。證明類共識算法指的是出塊節點需要通過某種方式證明自己具備某種能力,從而獲得出塊權,這一類的共識算法通常每一輪的出塊節點都不相同,從而保證了出塊權的公平性,通常應用在公有鏈上。

Etherscan現支持以太坊域名服務ENS反向解析:5月12日消息,以太坊域名服務(Ethereum Name Service,簡稱ENS)發推稱,Etherscan目前支持ENS反向解析。ENS反向解析可使用戶的ENS域名成為跨DApp的以太坊賬戶的便攜式用戶名。除Etherscan外,使用此功能的其他DApp包括Uniswap、Opensea、Aavegotchi和Snapshot Labs等。目前,要使用該服務,用戶必須手動啟用反向解決,之后將更改為自動啟動;DApp須在其UI代碼中使用PR。

注:正向解析(Forward resolution,FR)是將一個ENS域名解析到以太坊地址等資源,反向解析(Reverse resolution,RR)是指將一個以太坊地址解析到一個ENS域名。[2021/5/12 21:52:40]

——Part2非拜占庭容錯共識算法——

Paxos

Paxos是第一個異步網絡模型下能夠保證正確性且容錯的共識算法。在此之前,FLP明確指出在異步網絡模型中,只要存在節點故障,就不可能存在一個可終止的共識算法。因此Paxos也做出了一定的犧牲:Paxos犧牲了一定的活性從而保證了系統的安全性,即在系統處于異步狀態時暫停共識的推進,只要有半數以上的節點恢復至同步狀態之后,就可以推進共識,完成終止。

在Paxos中,會存在一個或者多個節點同時想要競選成為協調者,而每一輪共識最終只會選出一個Proposer進行最終提案值的選擇。Proposer提出一個決策值,并收集其他參與者節點的投票。最終,Proposer會宣布選定的最終決策值。如果能夠達成一個最終決策的話,該決策值會被傳遞到對此感興趣的節點中。可以看出,Paxos是一個保證了公平性的算法,即所有節點都可以競選成為Proposer,沒有哪個節點擁有特殊的權利。

BitDNS入選火種源計劃,將為BitCherry生態應用提供域名解析服務:據官方消息,2021年4月14日,BitDNS成為首批加入BitCherry分布式商業生態的合作伙伴。BitDNS將為BitCherry鏈上應用提供分布式域名解析服務,實現一鍵去中心化,幫助企業和個人用戶更加便捷、安全的參與數字資產交易,管理鏈上價值數據信息。BitCherry將攜手BitDNS打造去中心化的網絡生態系統,建立安全便捷的鏈上分布式商業生態體系。[2021/4/14 20:18:34]

圖1.BasicPaxos共識流程

Paxos在一定程度上給出了一種異步網絡下分布式一致性問題的解決范式,但是它本身的算法過于晦澀難懂,以至于Lamport本人也在Paxos發表之后又寫了一篇論文來重新解釋Paxos的流程。同時,一個Paxos算法的正確實現也被證實是非常有難度的挑戰,有興趣的讀者也可以閱讀Google的實踐論文來理解實現過程中的一些權衡與考量。

Raft

Paxos誠然是一個非常有影響力的共識算法,可以說奠定了分布式一致性算法的基礎,但是由于其難以理解以及實現難度非常之大,想要實現一個完整的Paxos算法非常的困難。因此,出現了非常多的Paxos變體,其中最著名的當屬Raft共識算法。

Raft是一種用來管理日志復制的一致性算法,旨在易于理解。它具備了Paxos的容錯性和性能,不同之處在于它將一致性問題分解為相對獨立的三子問題,分別是領導選取,日志復制和安全性。這使得Raft更好理解并且更容易應用到實際系統的建立中。

浪潮集團王偉兵:標識解析、標識密碼、區塊鏈是構建工業區塊鏈三個技術要素:金色財經現場報道,12月5日,2020世界區塊鏈大會于武漢舉辦,會上浪潮集團區塊鏈技術研究院首席架構師王偉兵演講表示,消費互聯網是實現人和人的連接的,工業互聯網從技術上看更偏重物,工業互聯網數量多,管理難度大,面向物的標識解析和密碼學適合應用。標識解析的本質是提供名稱映射的分布式數據庫,構建工業區塊鏈的三個技術要素是標識解析、標識密碼、區塊鏈。標識解析需要目錄服務、數據共享,標識密碼主要做設備身份認證、設備寫入鏈,區塊鏈則增強安全,完成可信交易。[2020/12/5 14:06:24]

在Raft中,每一個節點一定會處于以下三種狀態中的一個:Leader(主節點)、Candidate、Follower。在正常情況下,只有一個節點是Leader,剩下的節點是Follower。Leader負責處理所有來自客戶端的請求,生成日志數據并廣播給Follower節點。Follower是被動的:他們不會主動發送任何請求,只能單向接收從Leader發來的日志數據。Candidate是在選舉下一任Leader的過程中出現的過渡狀態,任何一個節點在發現主節點故障之后都可以成為Candidate并競選成為Leader。

Raft算法將時間劃分成為任意不同長度的term。任期用連續的數字進行表示。每一個任期的開始都是一次選舉。如果一個Candidate贏得了選舉,它就會在該任期的剩余時間擔任Leader。在某些情況下,選票會被瓜分,有可能沒有選出Leader,那么,另一個任期將會開始,并且立刻開始下一次選舉。

每一臺服務器都存儲著一個數字作為當前任期的編號,這個數字單調遞增。當節點之間進行通信時,會互相交換當前任期號,若一個節點的當前任期號比其它節點的小,則會更新為較大的任期號。如果一個Candidate或者Leader意識到它的任期號過時了,就會立刻轉換為Follower狀態。當一個節點收到過時任期號的請求,就會直接拒絕這次請求。

分析 | USDT聽證會解析:瑞海君看幣觀點:一、預計聽證會圍繞的主題有如下兩個:

1.Bitfinex和Tether不顧美國法律和監管,為紐約州居民提供了相關服務。

2.Bitfinex和Tether之前在美國的業務,觸犯了美國的反洗錢法(這個才是對USDT具有巨大殺傷力的議題)。

二、?今晚可能達成的幾種結果:

1.BFX和Tether違規為美國居民提供服務罪名成立,會導致兩家共識會繼續被調查,且會被美國要求提供更多的運營資料,洗錢的事情沒結果,但是也要提交更多資料自正清白,這是利空!會導致USDT這個雷持續懸在整個幣圈的頭上,然后美國來一條新聞,幣圈震動一次,簡直就是噩夢。(概率中性)

行情影響:短暫反彈,然后繼續震蕩陰跌。

2.兩項罪名都沒結果,短暫利好,BFX繼續和美國扯皮,大家松一口氣暫時?,價格可能出現反彈。(可能性較大)

行情影響:短暫反彈,后市寬幅震蕩為主。

3.兩項罪名都成立,不可想像(可能性較小)!

行情影響:區塊鏈騙局。

洗錢罪名直接成立可能性也較小,調查沒那么快,所以請大家系好安全帶,等待靴子落地,兩只靴子到底如何落地,落地幾支,只有靜候今晚的聽證會了。[2019/7/29]

圖2.Raft共識流程

總結

Paxos和Raft都是故障容錯共識,是非拜占庭問題的容錯技術。非拜占庭是指分布式的系統中存在故障(crashfault),但不存在惡意(corrupt)節點的場景(即可能消息丟失或重復,但無錯誤消息)下的共識達成問題,是分布式共識領域最為常見的問題。相比較于Paxos,Raft更為簡潔,同時可以保證同等的容錯能力和性能。

動態 | 浙江大學攜手劍橋大學發布區塊鏈生態深層解析報告:近期,浙江大學互聯網金融研究院攜手劍橋大學新興金融研究中心發布區塊鏈生態深層解析報告《Distributed Ledger Technology Systems-A Conceptual Framework》的中文版——《分布式賬本技術系統:一個概念框架》。浙大AIF副院長楊小虎指出,該報告不僅闡明了如何識別DLT系統,分析和比較現有的DLT系統,還通過六個實例為新系統設計提供有用的借鑒。[2018/8/17]

——Part3概率性共識算法——

PoW

工作量證明最早在1993年由CynthiaDwork與MoniNaor在學術論文中提及,并于同年由MarkusJakobsson與AriJuels正式提出了“工作量證明”這個概念。起初,PoW主要用于防止垃圾郵件的產生。2008年,PoW作為共識算法應用在比特幣系統中。PoW有以下3個基本屬性:

1)數學難題:PoW共識算法設計了一個數學難題,要求節點在生成新區塊之前,需要消耗一定的計算資源才能獲得難題的解,從而將區塊廣播到網絡,并且其他節點可以輕易驗證這個解的有效性。

2)哈希算法:哈希算法是一種能夠把任意長度的輸入變換成固定長度的輸出的算法,可被記為y=hash(x),不同的輸入x得到的輸出y各不相同。除此之外,在已知x時可以快速計算得到y,但是在已知y的情況下,通常只能通過窮舉法才能逆推出x。由于哈希算法具有正向快速、逆向困難的特性,常使用哈希算法來設計PoW的數學難題。

3)生成區塊:在一輪區塊生成中,系統通過對輸出值設定條件來調整數學問題的難度值,節點在成功解出問題并通過驗證上鏈后,將會獲得相應的獎勵。

在生成新的區塊之前,PoW會預設目標值,要求出塊節點計算出的哈希值小于該目標值,以此來表示PoW的難度。為了生成區塊并獲得獎勵,出塊節點首先收集一組交易打包成一個區塊,并開始嘗試解決數學問題進行出塊。

在此期間,出塊節點需要生成隨機數,同當前區塊數據與前一個區塊的哈希進行多輪哈希運算,計算當前區塊的哈希值:

直到當前區塊哈希滿足條件:

此時的nonce即為本次數學問題的答案,出塊節點將當前區塊的哈希、nonce值、前一個區塊的哈希作為區塊頭部數據加入當前區塊,如圖3所示。然后將該區塊廣播到區塊鏈網絡中,等待驗證通過后,出塊節點就可以取到相應的獎勵。

圖3.PoW區塊結構表示

PoS

前面提到的工作量證明共識算法,就是通過算力來爭奪“領導者”的資格,但是工作量證明過程中的大量資源浪費,導致其很難被更大規模的應用接受。對此,有人開始嘗試直接使用“股權”作為標準進行“領導者”資格的競選,并隨之產生了權益證明共識算法。

PoS的思想來源于社會:一個人擁有的股份量越多,其獲得的股息和分紅就會越高。如果區塊鏈系統也采用這種方法進行維護,不需要過多的資源消耗,也能夠使得區塊鏈資產有自然的通脹。節點通過投入一定量的通證參與共識,根據通證持有情況獲得打包新區塊的權利并獲得獎勵。目前,以太坊也有轉向PoS的以太坊2.0計劃。

為了描述通證持有情況,PoS共識算法引入了“幣齡”的概念。幣齡表示節點持有部分通證的時長,當節點將通證作為“股份”投入后,這部分通證就開始積累幣齡,幣齡的計算方式如下:

在使用了這部分通證后,無論是用來進行區塊生成或者簡單的交易,這部分通證對應的幣齡將被銷毀。在最初的PoS共識算法中,幣齡是進行評判的重要標準,節點在區塊生成時所使用的幣齡越高就越容易產生區塊,這可以在一定程度上制約短期投機行為。

PoS共識算法在進行區塊生成時,將同時考慮幣齡與哈希運算難度,使得節點只需要消耗很少的計算資源就可以完成區塊生成。

DPoS

委托權益證明共識算法中,選舉人通過選舉產生代表,由代表進行直接的區塊產生,選舉人通過選舉代表人間接行使競爭出塊的權利。委托權益證明共識算法,實際上就是通過一系列選拔規則對候選人進行制約,并制定一套投票規則。普通參與者通過投票的方式從候選者中選拔出委托人,并由委托人進行出塊,不滿足要求的委托人將會被取消權限,并重新選舉產生新的委托人。

DPoS保留了一定的中心化特性,因此能夠保證高效率的交易吞吐,速率可以比肩常見的中心化機構,例如Visa、Mastercard等。在該算法中,去中心化的特性主要體現在對于生成區塊的權利可控。即股東通過投票,選擇自己信任的代表節點,并由代表節點進行區塊鏈數據的維護。

——Part4總結——

上述提到的共識算法大多用于公鏈場景,比如比特幣,以太坊等,由于公鏈場景下節點規模龐大,因此較難采用確定性的分布式一致性算法。PoW通過工作量證明的方式來達到較高的安全性以及去中心化程度,相較于PoW,PoS犧牲了一定的安全性來降低能源消耗,而DPoS以更為激進的方式,選舉出較少節點來提升共識效率。

在企業級場景下,節點數量不會非常多,但是對于交易吞吐量以及最終確定性要求較高,因此常用聯盟鏈方式來進行建設,從而滿足企業級需求。在實際應用場景中,由于拜占庭容錯問題,常會使用PBFT及其變體拜占庭容錯類共識算法。對「共識專欄」感興趣的小伙伴,添加小助手:18458407117加入技術交流群,直面大咖一對一問答~

作者簡介

袁超

趣鏈科技基礎平臺部共識算法研究小組

參考文獻

LamportL.Paxosmadesimple.ACMSigactNews,2001,32(4):18-25.

ChandraTD,GriesemerR,RedstoneJ.Paxosmadelive:anengineeringperspective//Proceedingsofthetwenty-sixthannualACMsymposiumonPrinciplesofdistributedcomputing.2007:398-407.

DworkC,NaorM.Pricingviaprocessingorcombattingjunkmail//AnnualInternationalCryptologyConference.Springer,Berlin,Heidelberg,1992:139-147.

JakobssonM,JuelsA.Proofsofworkandbreadpuddingprotocols//SecureInformationNetworks.Springer,Boston,MA,1999:258-272.

DelegatedProofofStakehttps://github.com/dacplayproject/cpp-play/wiki/Delegated-Proof-of-Stake

Tags:AXOPOS區塊鏈POWAXO幣pos幣是什么意思區塊鏈專業怎么樣Drops Ownership Power

火必交易所
Republic公募首秀:去中心化數據市場明星Cere Network|CryptoJ AMA回顧-ODAILY_UBL

當波卡數據明星CereNetwork遇上老牌硅谷合規平臺Republic將碰撞出怎樣的火花?兩大熱門項目之間公募的首次合作又會將「合規、波卡、頂級機構、豪華投資背景」等熱點結合出怎樣的魅力?為了.

1900/1/1 0:00:00
數字經濟時代下,區塊鏈如何助力數字產業發展?-ODAILY_HTT

隨著數字經濟的發展,區塊鏈作為新型分布式數據庫,在推動相關行業的數字化轉型進程、促使經濟社會發生深刻變革中發揮著至關重要的作用.

1900/1/1 0:00:00
10 個項目在Kusama上發起Crowdloan活動 | 波卡周報-ODAILY_SAMA

Polkadot Polkadot官方發布了關于crowdloans如何運作以及如何安全參與crowdloans的內容.

1900/1/1 0:00:00
深度:美國貨幣政策轉向對加密貨幣的影響-ODAILY_DEFI

吳說作者|劉全凱 本期編輯|ColinWu決定市場的核心因素是資金。牛市源于增量資金的不斷流入,存量資金的不斷壯大;熊市則是增量資金的萎靡,存量資金的不斷出逃.

1900/1/1 0:00:00
Polkadot 連發三文,開啟 Kusama 第二輪拍賣 | 波卡周報-ODAILY_POL

Polkadot Web3基金會研究科學家JonasGehrlein發布了一篇關于Kusama首輪平行鏈插槽拍賣的總覽報告,PolkaWorld總結重要觀點如下:通過前5次的拍賣.

1900/1/1 0:00:00
AscendEX“頂峰之約”杭州加密酒會成功舉辦,暢談行業發展新機遇-ODAILY_CEN

7月24日晚,由頂峰AscendEX、BUKON以及PANews聯合主辦的“頂峰之約”加密私享酒會在數字化創新之都——杭州盛大舉行.

1900/1/1 0:00:00
ads