背景
共識機制是分布式系統為達成狀態一致性所采用的協議,是所有分布式系統的基礎。區塊鏈領域,聯盟鏈常采用 BFT(拜占庭容錯),pBFT(實用拜占庭容錯)等傳統分布式系統中常用的共識機制;而公鏈項目多采用 PoW, PoS 等中本聰共識(Nakamoto Consenus)。
BFT,pBFT 等共識機制 的共識過程快,且一旦共識達成就不可再進行更改,因此不會分叉。但這類共識節點間需要復雜的通信,適用于節點較少且組成穩定的 Permissioned 系統。
中本聰共識是從比特幣的共識機制中抽象出的一套共識體系,基本原理是節點通過提供某種證明來獲取創建新區塊的權利,同時任何節點都很容易對該證明的真實性進行驗證,從而對新區塊達成共識。這里的證明可以針對工作量、權益、服務等,對應的共識機制為 PoW(工作量證明),PoS(權益證明),PoSe(服務證明)等等。具體原理可參考文獻[1]。
中本聰共識引入了最長鏈法則和經濟激勵機制,使節點之間可以通過簡單通信,達成共識[2]。中本聰共識具有較強的穩定性,不需要對加入的節點進行篩選,適用于非許可(Permissionless)分布式系統。但中本聰共識分叉的可能性較高,且共識過程相對較慢。
?
混合共識機制
為了結合上述兩類共識機制的優點,一些項目提出了對兩者進行結合的混合共識機制。如 Cosmos[3], Polkadot[4],Algorand[5] 等項目將 PoS(或DPoS) 與 BFT 進行結合,在盡量保持網絡開放性的同時,降低分叉的可能性,提升共識效率。
同時,不同種類的中本聰共識也存在各自的不足。如 PoW 的礦工權力過大,占有大量算力的礦工有可能發起 51% 攻擊,礦工進行“硬分叉”有可能導致社區的分裂。而 PoS 共識則面臨 nothing-at-stake 等問題,同時因為沒有運營成本,導致大量新產生的幣被長期持有,流通量不足。另外,僅采用一種共識時系統往往無法提供除轉賬外更加復雜的服務。因此,一些項目提出了結合不同中本聰共識的混合共識機制,旨在結合不同共識的優點。如 Decred[6] 的 PoW+PoS 共識機制,Dash[7] 的 PoW + PoSe 共識機制等。
本文將介紹幾種典型混合共識機制的算法模型與經濟模型,并分析其優缺點。
典型混合共識項目剖析
1. Decred: PoW + PoS
共識算法
Decred 項目采用了 PoW + PoS 混合共識機制。系統的參與者包括:
礦工節點:區塊的生產者,打包交易,進行 PoW 挖礦
驗證節點:即 PoS Validator,通過投票驗證 PoW 礦工提交的區塊,同時參與治理過程
開發者:對 Decred 開源代碼進行維護,獲得項目預留基金的獎勵
普通用戶:使用 Decred 網絡,收發交易
PoW 挖礦
Decred 的 PoW 挖礦過程和比特幣基本一致,僅對挖礦算法進行修改(Decred 的挖礦算法采用了和比特幣不同的哈希函數 -- BLAKE-256),具體原理參考[8]。與比特幣不同之處在于:
· 礦工創建的區塊需要提交給驗證節點進行投票驗證才能最終被確認
· 即使區塊確認,礦工也只獲得部分獎勵,其余獎勵由驗證節點和項目基金獲得
PoS 投票
Decred 網絡中的 PoS 驗證節點可以進行以下投票:
· 投票決定是否接受礦工提交的區塊
· 投票決定是否通過某些共識相關的升級
· 投票決定項目預留基金的去向
成為 PoS 驗證節點的條件是通過質押(鎖定)DCR(Decred 原生幣)獲取 Ticket,再通過 Ticket 進行投票。Ticket 的價格會動態調整,確保總的 Ticket 數量大致保持恒定。節點通過質押獲取 Ticket 時還需要支付一定的 Ticket 手續費,作為礦工將對應的 Ticket 打包進區塊的獎勵,只有被打包進區塊的 Ticket 才能進入 Ticket 池,之后才有可能被選為驗證節點。Decred 中 Ticket 的獲取和銷毀的過程在[9]中有詳細闡述。
對新區塊進行投票
當礦工節點挖到一個符合難度要求的區塊,Decred 網絡會從當前 Ticket 池中隨機選擇 5 張 Ticket 對該區塊進行投票驗證,Ticket 被隨機選中的概率符合泊松分布。當超過 3 張 Ticket 驗證通過時,區塊才會被接受。
對新共識提案進行投票
驗證節點還可對共識升級提案進行投票,只有超過 75% 的 Ticket 投票通過時,升級才會被觸發。基本過程為:
1. 開發者提出升級提案
2. 開發者發布包含該升級的軟件版本(但還無法觸發)
3. 絕大部分礦工節點(95%)和驗證節點(75%)需要升級到指定的軟件版本,才可開始投票
4. 經過8064個區塊的投票(每個區塊5票,這樣理論上可以覆蓋整個 Ticket 池),當獲得超過 75% 的同意票時,升級才會被觸發
5. 若提案通過,則觸發升級;若不通過,保持原狀
投票決定項目預留基金的歸屬
Decred 的區塊獎勵中的 10% 將作為項目預留基金。用戶可以支付少量的 DCR 在 Politeia 平臺上發起對應提案,將預留基金的部分用于特殊的用戶,如支持生態中某個開源項目等。Ticket 的持有者(驗證節點)可以對提案進行投票,決定提案是否通過。其步驟和上述提案投票過程基本相同。
經濟模型
Decred 的原生代幣為 DCR,所有 DCR 都通過新區塊獎勵產生。DCR 采用通縮模型,創世塊獎勵為 1,680,000 DCR(預挖),初始區塊獎勵為 22 DCR,且每隔 6144 個區塊(區塊間隔約5分鐘)減少為上一區塊獎勵的 100/101,總量固定,約為 2100 萬 DCR,預計在2120年全部挖出。
DCR 和 BTC 類似,在 Decred 系統中可以用于發送交易和支付手續費。同時 DCR 可以在二級市場上流通。
除創世區塊外,所有區塊獎勵均按如下方式分配:
· PoW 礦工(區塊生產者)獲得 60%
· 被選中的 PoS Validator 獲得 30%(每個區塊有5個驗證節點,每個獲得 6%)
· 10% 獎勵作為項目獎勵基金
除 DCR 外,Decred 系統中還有一種名為 Ticket 的 Token,Ticket 僅可通過質押(鎖定)DCR 來獲得。質押本身沒有成本,但需要支付一定買 Ticket 的手續費(用 DCR 支付,作為區塊獎勵)。每張 Ticket 的價格每隔 144 個區塊會進行動態調整,使 Ticket 池中可用的 Ticket 數保持在 40,960 張。Ticket 在 Decred 系統中僅用于投票,且一旦投票完成、或錯過投票、或者過期(如果 40,960 區塊內都沒被選中,則自動過期),Ticket 都將消失,被質押的 DCR 和獎勵的 DCR 將返還給質押者。
Ticket 的獲取成本很低(質押,而不是購買),本身無法流通,且無法永久持有,理論上沒有什么價值。但其作為參與 PoS 共識及區塊治理和項目預留基金分配的憑證,有可能有一定的市場價值,不排除在系統外進行賄選、買票的可能[10]。
激勵機制
礦工(生產者)
· 通過購買礦機或租用算力進行 PoW 挖礦,期望獲得區塊獎勵
· 為保證收益,礦工會繼續升級礦機或租用更多算力,同時確保了網絡安全
· 網絡中每筆交易(包括生成 Ticket 的交易)都包含手續費,礦工會打包盡量多的交易以獲得更多區塊獎勵
· 礦工提交的區塊需要通過 PoS 驗證才能被確認,因此除非 PoW 礦工同時掌握大部分的 PoS Validator,即使具有大量算力的礦工也很難發動 51% 攻擊,攻擊動機較一般 PoW 網絡更弱
· 進行攻擊行為會被驗證節點列入黑名單,作惡動機弱
· 為支付運營成本,礦工傾向于賣出挖礦所得,為 DCR 提供流動性
PoS 驗證節點(生產者&消費者)
· 通過質押 DCR 獲得 Ticket 進行投票,成功投票可獲得 30% 的區塊獎勵
· 區塊被拒絕將沒有激勵,但可以保證網絡安全,與自身利益一致
· 參與治理本身沒有激勵,但參與投票與自身利益一致
· 為獲得更多投票機會,驗證節點傾向于鎖定更多 DCR 換取 Ticket
開發者(消費者)
· 初始預挖了 1,680,000 DCR,有升值預期
· 每個區塊的 10% 的作為預留基金,對社區有貢獻的開發者有機會獲得
普通用戶(消費者)
· 在 Decred 網絡中使用 DCR 進行交易
· 普通用戶質押 DCR 獲得 Ticket,也可成為驗證節點獲取收益
· 在二級市場買賣 DCR 獲取收益
挖礦為整個系統提供了經濟基礎,保證網絡安全性,保證了 DCR 的流通性。質押 DCR 實現了鎖倉,有助于二級市場價格的穩定。投票和預留基金使項目更接近于 DAO(分布式匿名組織)的形式運營,開發者通過激勵參與到項目維護之中。
小結
Decred 采用了 PoW+PoS 混合共識機制,類似機制在 Sero,HyperPay 等項目中也被使用。與普通 PoW 共識相比,PoS 驗證節點制約了 PoW 礦工的權利,使其無法發起“雙花”攻擊。同時,和純粹的 PoS 共識相比,由于大部分區塊獎勵仍由礦工獲得,處于現金流考慮,礦工傾向于賣出挖礦收益,因此保證了系統中幣的流通性。純 PoS 共識的另一個問題是 noting-at-stake[15],很大原因在于 Staker 獲得所有獎勵,且成本太低。而在這個混合共識中,PoS 驗證者獲得的收益變少,在一定程度上緩解了 nothing-at-stake 問題。
然而,該共識也存在一定弊端,實際上 PoS 驗證節點控制了整個網絡,他們可以拒絕正常的區塊,且不需要太高的成本。雖然 Ticket 數量很多,但實際上極有可能被少數大戶持有,使網絡實際被大戶所控制。另外,受限于 PoW,其 TPS 往往不高,因此不適用于需要高性能的系統。
2. Dash: PoW + PoSe
共識算法
Dash 采用了 PoW + PoSe 混合共識機制。系統的參與者包括:
· 礦工節點:區塊的生產者,打包交易,進行 PoW 挖礦
· Masternode:全節點,可提供即時交易、隱私交易等附加服務
· 開發者:對 Dash 開源代碼進行維護
· 普通節點:非全節點,可使用 Dash 網絡,收發交易
PoW 挖礦
Dash 的 PoW 挖礦過程和比特幣基本一致,僅對挖礦算法進行修改(Dash采用了名為 x11 的挖礦算法,實際是 11 種哈希函數的組合),具體可以參考[7]。與比特幣不同之處在于:
· 礦工只能獲得部分區塊獎勵,其余將作為 Masternode 獎勵和項目預留
· Masternode 有權拒絕礦工產生的區塊
Masternode
Masternode 是 Dash 網絡中最重要的參與者。成為 Masternode 的條件:
· 證明 1000 DASH 幣的所有權(相當于鎖定,但幣仍可以使用,一旦幣被使用,將從 Masternode 列表中移除)
· 運行 Dash 全節點
· 一臺運行 Linux 的服務器,上面運行 Masternode 相關的軟件:
(1)服務器要求有較高的硬件配置:推薦 1核2GHz,4G RAM,60G 硬盤
(2)服務器必須有公網 IP
只要滿足上述條件,節點即可發送一筆特殊的交易 ProRegTx,在鏈上注冊成為 Masternode。所有 Masternodes 都被添加到 Masternode list 中,列表順序由鏈上注冊順序(區塊高度)以及 ProRegTx 交易的哈希唯一確定,在所有 Masternode 中達成共識。
與普通節點相比,Masternode 可以提供一些附加服務:
1、即時交易 InstantSend:
· 對于符合特定要求的交易可以立刻確認,不需要等待多個確認,即時交易不能被雙花
· 即時交易需要滿足的條件:
(1)交易的所有輸入都被 InstantSend 腳本鎖定
(2)所花費的 UTXO 包含在有 ChainLock 的區塊中
(3)所有輸入本身至少包含 6 個以上區塊確認
2、區塊鎖定 ChainLocks
· 由 300-400 個 Masternodes 組成的委員會達成一致意見,鎖定某一區塊
· 區塊被鎖定后,在同一高度不允許再被分叉,即不可能再進行 51% 攻擊
· 如果開啟了 InstantSend 功能,則區塊中所有交易都必須被 InstantSend 鎖定后,才能進行區塊鎖定
3、隱私交易 PrivateSend
· 隱私交易的原理是混幣(Coin-mixing)[12]
· PrivateSend 本身不收費,但每一筆交易都要支付一定的抵押款(Collateral,以 DASH 計),抵押款有十分之一的幾率被收做手續費
· 在混幣過程中若發起方沒有及時響應混幣相關的信息交互,也有 ? 的可能被沒收抵押款(作為手續費)
4、治理
· Masternode 對提案進行投票,完成治理過程
服務證明 Proof of Service(PoSe)
Dash 中的 PoSe 機制通過一套評分系統證明 Masternode 是否提供了服務:
· PoSe 評分系統基于分布式簽名生成(Distributed Key Generation,DKG)過程,該過程需要在 Masternode 之間進行通信
· 通過執行 DKG 可以產生對系統長期提供服務的 Masternode Quorum,稱為 LLMQ (Long-Living Masternode Quorums),其主要任務是對共識相關的信息進行多重簽名(如InstantSend 交易,區塊鎖定等)
· Masternode 的初始分數為 0,分數一旦超過 Masernode 列表中 Masternode 的總數,則masternode 將被視為沒有提供服務,從列表中移除(需要重新申請成為 Masternode):
(1)在 LLMQ DKG 過程中如果沒有參與,將增加 66% 的分數(說明在短時間內連續兩次不參加 DKG 則會被視為無法提供服務)
(2)Dash 主鏈每增加一個區塊,每個 Masternode 的分數都會減少 1
通過 PoSe 證明提供了相應服務的 Masternode 將得到獎勵,而無法提供服務的 Masternode 將會被移除。
經濟模型
Dash 的原生代幣為 DASH:
· 全部通過挖礦產生(團隊有預挖,主網上線前 2 天,總計約 190 萬 DASH 被挖出,約占總供應量的 10% 以上,備受爭議[17])
· Dash 的區塊獎勵算法經幾次更改,截止到 2019 年 6 月,區塊獎勵為 3.11 DASH(另有 10% 作為團隊預留),獎勵每隔 210240 個區塊(約382天)減少 7.14%
· 區塊間隔約為 2.5 分鐘
· 最大供應量約為 18,921,005 DASH
· 每個區塊獎勵的分配如下:
· 成功創建區塊的礦工獲得 45%
· 參與 PoSe 的 Masternode 獲得 45%(每個區塊只有一個 Masternode 參與)
· 10% 獎勵作為預留基金(按月發放)
經濟激勵
礦工(生產者)
· 和普通 PoW 礦工一致,購買礦機、算力,打包區塊,獲取區塊獎勵
· 礦工創建的區塊要經過 Masternode 的認證,故較難發起攻擊
· Masternode 可以鎖定區塊,無法分叉,故礦工一般無法發動 51% 攻擊
· 為支付運營成本,礦工傾向于賣出挖礦所得,提供流動性
Masternode(生產者&消費者):
· 鎖定 1000 DASH 并參與 PoSe,保持在線,獲取區塊獎勵
· 有一定運營服務費的成本,有可能賣出獎勵,但質押的 1000 DASH 一般不會輕易使用,相當于鎖倉
· 參與 InstantSend,PrivateSend 等服務,獲取對應獎勵
· 參與治理,本身沒有獎勵,但不參與會被懲罰(從 Masternode 列表中移除)
開發者(消費者)
· 預挖了部分 DASH,維護項目,有上漲預期
· 預留的 10% 挖礦獎勵大概率由開發團隊獲得
普通用戶(消費者)
· 收發普通交易,二級市場買賣
· 收發即時交易,隱私交易等,滿足特殊需求
· 可通過質押 1000 DASH 成為 Masternode
PoW 礦工和 Masternode 共同保證了網絡的安全性。同時,由于 Masternode 有較強的激勵,可以促使更多的節點提供 Masernode 的服務。通過進一步優化激勵模型,未來 Dash 的 Masternode 可能支持更多更復雜的服務。團隊預留的 DASH 也為未來項目的長期發展提供了保障。
小結
Dash 是最早引入 Masternode 概念的項目之一。時至今日類似的含 Masternode 項目已經越來越多,詳見[11]。與純粹的 PoW 共識機制相比,Masternode 的引入在一定程度上制約了礦工濫用權力,提高了區塊鏈的最終確定性,降低了分叉和 51%攻擊 的可能性。另一方面,通過引入 PoSe, 可以激勵 Masternode 提供除常規交易之外的服務,增加系統的多樣性。
這類混合共識的最大問題在于 Masternode 的權利往往過大,比如 DASH 大戶可以同時擁有多個 Masternode。當大部分 Masternode 被小部分人掌握,網絡會趨向中心化。另外,受制于 PoW,其 TPS 仍然是較大瓶頸。
3. Komodo: PoW + dPoW
共識算法
Komodo 在普通 PoW 的基礎上,增加了一種名為延遲 PoW (delayed Proof of Work,dPoW) 的安全機制,試圖利用比特幣等較安全的 PoW 項目的算力來保證 Komodo 以及相關資產的安全性。dPoW 可以作為任何基于 UTXO 的鏈的二層共識。
Komodo 系統的參與者包括:
· 礦工:進行普通的 PoW 挖礦
· 公證人(Notary)節點:運行多個鏈的全節點(包括比特幣全節點,Komodo全節點等),在比特幣網絡上對區塊進行公證,同時也參與 Komodo 挖礦
· 普通用戶:KMD 幣的持有者,可參與 Staking(注意,這里并不是 PoS,而是類似鎖倉激勵)
Komodo 中的礦工和普通 PoW 項目中礦工行為基本一致(挖礦算法為 EquiHash),不同之處在于 Komodo 的普通礦工僅有 25% 的幾率挖到區塊,其他區塊大部分由公證人節點創建。
dPoW 安全機制
Komodo 系統中存在 64 個公證人節點,他們是 dPoW 安全機制的實際運行者。其中:
· 4 個公證人節點為開發者預留,永久有效
· 其余 60 個 由 KMD 幣的持有者投票產生:
(1)在每年提供公證服務排名前 30 的節點將自動當選為下一期公證人節點(即完成最多 Komodo 到 Bitcoin 映射的
(2)其余 30 節點將重新投票產生
· 所有公證人節點需要同時運行比特幣全節點、Komodo 全節點,以及所有要保護的鏈的全節點(目前有40多個),因此對硬件配置要求較高
公證人節點的主要工作是完成 Komodo 鏈到 Bitcoin 鏈的公證(相當于在 Bitcoin 上寫入 Komodo 的檢查點),確保 Komomo 主鏈的安全性。也可以將其他資產的檢查點寫到 Komodo 鏈上,過程和 Komodo 到 Bitcoin 的公證一致。
公證人節點的工作流程簡要描述如下:
· 首先運行所有全節點(包括比特幣,Komodo 等),并同步到最新區塊
· 用同一個私鑰在所有鏈上生成一組地址
· 和其他 63 個公證人節點保持連接和通信
· 開始 dPoW 公證流程:
(1)根據預先設定的規則,所有公證人節點可以提議需要公證的 Komodo 鏈上的某個區塊
(2)從 64 個公證人節點中選擇 13 個,所有公證人的地址將會按順序存在一個列表中,公證人程序按順序選取前 13 個可連接的公證人節點,若不可連接將被跳過,被選中后節點地址將會被移到列表末尾
(3)被選出的 13 個公證人各自簽名一筆有 13 個輸入的比特幣交易(如[13]),該交易的其中一個輸出為上述要公證的區塊的哈希值(通過 OP_RETURN 實現)
(4)待比特幣網絡上交易確認后,公證人節點會構造一筆類似的 Komodo 交易,其中一個輸出為上述包含了公證區塊哈希的比特幣交易哈希(也通過 OP_RETURN 實現)
(5)該交易被確認后,Komodo 網絡上所有節點都可以確定比特幣網絡上 Komodo 鏈的檢查點
(6)上述過程不斷重復(每10分鐘一次),同時也可以適用于其他用 dPoW 確保安全的鏈
通過上述 dPoW 和公證人節點機制,相當于 Komodo 網絡在比特幣網絡上設置了多個檢查點,在比特幣網絡上被公證的區塊將不可撤銷,因此幾乎不存在 51% 攻擊的可能。
Komodo 中的 Staking
Komodo 網絡中的 Staking 和共識無關,其更類似于鎖倉激勵。KMD 的持有者通過鎖定代幣,將獲得一定的 KMD 獎勵[14]。
經濟模型
Komodo 的原生代幣為 KMD,總量為 2 億,按如下方式分配:
· 初始的 ICO 分配了 2000 萬 KMD
· 早期的 BTCD 幣持有者通過兌換獲得了 7000 萬 KMD
· 團隊預留 1000 萬作為運營成本
· 剩余 1億 KMD 中
(1)22% 左右用于獎勵礦工,作為挖礦獎勵,區塊間隔為 1 分鐘,每個區塊獎勵為 3 KMD
(2)78% 左右用于獎勵 Staking,Staking 的年化收益約為 5%
· 挖礦和 Staking 的獎勵都是線性釋放,將在 2031 年左右達到總供應量上限,之后不再有獎勵。
特別地,對于 KMD PoW 挖礦,普通礦工只有 25% 的概率挖到區塊。而公證人節點由于提供了 dPoW 安全服務,將會以更低的難度挖到區塊。據統計,大約 75% 的區塊被公證人節點挖到。挖礦獎勵完全由挖到區塊的礦工或公正人節點獲得。
經濟激勵
普通礦工(生產者)
· 和普通 PoW 項目礦工一致,購買礦機、算力,打包區塊,獲取區塊獎勵
· 由于公證人節點的存在,普通礦工一般無法發動 51% 攻擊
· 為支付運營成本,普通礦工傾向于賣出挖礦所得
公證人節點(生產者)
· 為 Komodo 鏈提供區塊公證服務,從而可以以較低的難度挖到區塊,獲得區塊獎勵
· 提供好的服務才能連任公證人,激勵其按照 dPoW 規則完成區塊公證
· 公證人本身不需要質押任何 KMD,且服務器配置要求高,為支付運營成本,公證人節點也傾向于賣出挖礦所得
KMD 持有者(消費者)
· 通過鎖定 KMD 可以獲取 Staking 獎勵,相當于鎖倉
· 收發普通交易,二級市場買賣等
· 還可以對公證人節點進行選舉
小結
Komodo 利用 dPoW 安全機制在比特幣區塊鏈上設置多個 Komodo 的檢查點,從而提高了 Komodo 網絡的安全性。該機制也可以應用到其他鏈上。Komodo 本質上還是 PoW + Masternode(PoSe) 的模式,雖然團隊否認公證人節點是 Masternode,但實際上公證人節點確實通過提供額外的服務獲得收益,且具有較大概率成為區塊的創建者,在一定程度上控制了整個網絡。Komodo 的 Staking 機制實際上是一種鎖倉獎勵機制,和共識無關。
4. Algorand: PoS + 改進的 BFT
共識算法
Algorand 的共識算法通過 PoS 和 可驗證隨機函數(VRF)選擇區塊的生產者和驗證者,再通過一種改進的拜占庭協議 BA* 對區塊達成共識。
Algorand 中實際只有一種參與者,即 ALGO (ALgorand 原生代幣)的持有者,但在不同階段,持有者會扮演不同的角色:
· 持有者有可能在某一輪共識中被選為區塊生產者(leader)
· 持有者有可能在某一輪共識中被選為區塊驗證者
· 未被選中的持有者
Algorand 的共識算法可簡要描述如下:
· 每一輪共識開始時,所有用戶可以通過 VRF 確定自己是否是潛在的區塊生產者(leaders),具體方法是檢查本輪自己某種簽名的哈希值是否小于某個閾值。持幣較多的節點被選中的概率較高(PoS)
· 潛在的生產者(可能有多個)各自創建新區塊,并進行廣播,同時公布簽名,任何節點都可以驗證其合法性(這是 VRF 的特性)
· 用同樣的方式從系統中隨機選取驗證組,對新產生的區塊達成共識,每一輪共識分為兩個階段:
(1)驗證組通過分級共識協議(GC),每個驗證節點從多個候選區塊中選擇一個被大多數節點認可的區塊(若不存在,驗證節點會提議生成空區塊)
(2)驗證節點根據自己選擇的區塊和 GC 共識的結果設定自己的初始狀態,繼續進行改進的二元拜占庭共識(BBA*),直到達成共識(有可能需要多次循環才能達成共識),共識結果有兩種:
a.接受 leader 創建的新區塊,進入下一輪
b.不接受 leader 創建的新區塊,將新區塊設置為空區塊,進入下一輪
最終,每一輪都將通過共識產生一個新區塊。關于協議的更多細節可以參考[5][16],以及《Qtum研究院:深度解析Algorand共識協議》。
經濟模型
Algorand 的原生代幣為 ALGO,總量為 100 億。所有 ALGO 在創始塊中直接生成,由 Algorand 基金會負責后續的分配。和大多數其他公鏈項目不同的是,在 Algorand 中,創建區塊或驗證區塊都不會獲得任何獎勵。
100 億 ALGO 將在五年內通過如下方式分配[18]:
· Algorand 基金會預留 25 億 ALGO,用作支持項目長期運作(這一部分由基金會在創始塊直接獲得,而且沒有鎖定。Algorand 基金會承諾不隨意動用這筆資金[19])
· 通過拍賣的方式逐步分發 30 億 ALGO
· 17.5 億 ALGO 作為 Staking 的獎勵,逐步發放
· 25 億作為中繼結點的獎勵逐步發放
· 2.5 億作為社區獎勵逐步發放(用于舉辦各種活動,黑客松等)
經濟激勵
Algorand 基金會通過分配 ALGO 對系統中各參與者進行激勵,其中:
· 用于拍賣的 ALGO 相當于 ICO,對 ALGO 進行公開售賣。拍賣采用較為新穎的”荷蘭式拍賣“[20],在業內引起了極大的關注。并且基金會承諾在 1 年后可以以成交價的 90% 對 ALGO 進行回購,在一定程度上保障了投資者的權益
· 任何持有超過 1 ALGO 的賬戶都將獲得 Staking 獎勵,獎勵會在每個區塊進行發放,目前的年化收益約為 10%。Algorand 每筆交易都會有少量手續費,這些手續費不會直接發放給用戶,而是被 Algorand 基金會回收,當所有 Staking 獎勵發完時,這些手續費也將被統一作為 Staking 獎勵
· 在 Algorand 系統中,能夠為其他節點提供鏈接服務的節點被稱為中繼節點[21],中繼節點將在提供服務期間獲得獎勵,5 年累計獎勵總計 25 億 ALGO。這一激勵將促使更多穩定的中繼節點為 Algorand 網絡提供連接、轉發交易等服務
· 社區獎勵將激勵對項目有長遠價值的活動
從上述經濟模型可以看出,Algorand 基金會在整個經濟模型中占據絕對的主導地位,所有 ALGO 都由基金會進行分配,從經濟模型的角度看非常中心化。無論是回購、Staking 獎勵的總額、中繼節點獎勵,還是社區獎勵,都由 Algorand 基金會決定,存在一定的風險。
小結
Algorand 采用了共識和激勵分離的系統設計。共識方面,Algorand 提出了一種新穎的 PoS + BA* 共識機制,在可擴展性、安全性和去中心化這三個方面取得了較好的均衡。但經濟模型設計偏中心化,Algorand 基金會權利過大,整個經濟模型能否長期正常運行還有待驗證。
總結
混合共識機制的主要目的是通過融合其他共識機制,克服已有共識的某些缺點。BFT,pBFT 等經典的共識機制速度快,且幾乎不會分叉,Algorand等項目將其與 PoS結合,通過一定的設計使其在 Permissionless 環境下部署,實現了兩者的結合。另一方面,PoW,PoS 等中本聰共識機制的融合,使更多參與者加入博弈,進一步提升共識的安全性,同時可以提供更多多元化的服務(Masternode),在設計業務復雜的系統時可以考慮采用。本文僅對一些代表性項目進行簡要分析,更多混合共識算法及其實現細節可以查閱相關文獻。
評論
查看更多