在區塊鏈生態中,一個能夠滿足商業需求、高效的區塊鏈公共應用平臺是必不可少。以太坊作爲第一公鏈,性能低、擴展性差、Gas 費高等問題都在制約其發展,開發門檻較高、缺乏大規模商業化的基礎的缺陷更是頻頻被詬病。

爲此,以太坊提出了 2.0 版本,以太坊 2.0 將會切換成權益證明(POS 算法)來達成共識,另外,還有信標鏈和分片技術的雙層設計結構。筆者經過研究發現,公鏈 Harmony 和以太坊 2.0 發展路徑有異曲同工之妙。

原文標題:《公鏈發展下一步怎麼走,「Harmony」和以太坊 2.0 撞思路》
作者:吳遂心

FBFT 共識機制

當前公鏈中用的最多的是 PoW 算法和 PoS 算法,另外還有 PBFT 算法。其中 PoW 和 PoS 依據最長鏈共識,而 PBFT 是實用拜占庭容錯算法,通過節點間的多輪消息傳遞使網絡內的所有節點達成一致,從而解決分佈式系統中的拜占庭問題。

Harmony 聯合創始人蘭榮堅認爲,PBFT 機制的優點是節能、不需要做算力證明,不費電,但傳統 PBFT 傳遞的消息數量大,所以在保證速度的前提下,支持的節點數有限。據介紹,Harmony 是在 PBFT 算法的基礎上進行了改良,並將其稱爲 FBFT 快速拜占庭容錯算法。

區別是,在 PBFT 中,需選出一個節點作爲「領導者」,其餘節點作爲「驗證者」。領導者向所有驗證者廣播其提議,驗證者反過來將其對該提案的投票廣播給其他人,假設有 N 個節點,這個過程將產生 N² 次的交互,從而影響整條鏈的擴展性。而在 FBFT 中,領導者不要求所有驗證者廣播他們的投票,⽽是運⾏多重簽名的簽名過程收集驗證者的投票,然後統一⼴播它,也就是說每個驗證者僅接收一個多簽名,這樣大大減少了其中的交互,只產生 N 次的交互,減少了傳輸的數據量。

ccy3wesjebh823v4 (1).pngFBFT 共識機制運行示意

這裏提到的多重簽名,採用的是由斯坦福大學教授 DanBoneh 等人於 2001 年提出,並在 2018 年更新的 BLS (Boneh-Lynn- Shacham)簽名方案。白皮書介紹,BLS 簽名方案的時候受到 ByzCoin 的啓發,ByzCoin 使用 Schnorr 簽名⽅方案進⾏恆定⼤小的多簽名聚合,在驗證者之間進行消息傳遞。然⽽,Schnorr 多簽名需要祕密承諾輪次,導致單個多簽名需要兩次往返。Harmony 通過使⽤ BLS 多重簽名改進,只需要⼀次往返,加快了廣播速度。

節點間的驗證者根據權益證明(PoS)選出,而領導者根據隨機數隨機產生,負責將收到的多重簽名壓縮成一個簽名廣播出去,由於其責任大,相應的得到的區塊獎勵會更多,但另一方面,爲了制約領導者,也相應有一些懲罰機制,萬一領導者沒有完成工作,可以根據協議要求更換,如果在廣播過程出了問題,也會扣除其部分權益。

在這一點上,蘭榮堅表示,這是該機制下美中不足的部分,因爲更換領導者時會降低 TPS 。

信標鏈和分片鏈

分片擴容是當前多數公鏈會選擇的方式,據介紹,Harmony 是一個基於 PoS 的分片方案,包含一個信標鏈和多個分片鏈。

需要注意的是,這裏的 PoS 不是指的算法,而是通過抵押代幣的形式來驗證節點身份的機制,可以理解爲,Harmony 是一條基於 PoS 機制採用 BFT 共識算法的公鏈。PoS 機制體現在我們前面提到驗證者的產生上,要成爲 Harmony 驗證者、潛在參與者(或權益者)必須持有⼀定數量的代幣,權益代幣數量將決定分配給驗證者的投票份額數,每個投票份額對應 BFT 共識中的一票。

Harmony 的信標鏈上存儲有每個分片鏈的區塊頭,分片鏈中新產生區塊的區塊頭將被髮送給信標鏈,信標鏈通過驗證前一個區塊的哈希值是否在信標鏈中被提交過,以及區塊中多重簽名的簽名者是否是該分片的驗證者來檢查區塊頭的有效性。驗證成功後,已提交的區塊頭將進行全網廣播,每個分片保留其他分片一串有效的區塊頭,並檢查其他分片的交易有效性。

這樣一來,一方面,分片間互相廣播區塊頭的網絡成本降低;另一方面,由於信標鏈和其他分片都存有某分片的區塊頭,增加了攻擊某分片的難度,從而提升了安全性。

信標鏈的作用除了以上增強分片交易一致性和安全性外,還作爲安全的隨機數產生器存在,蘭榮堅介紹,Harmony 的分片方案通過隨機數的過程產生。

而在隨機數產生的方案上,Harmony 選用了 VRF (可驗證隨機函數)+ VDF (可驗證延遲函數)的方法,蘭榮堅介紹,VRF 隨機數產生方法下,隨機數產生算法是協議層寫好的,假設有 10 個驗證者,每個人都提議一個隨機數,把大家的隨機數都加到一起,產生最終的隨機數,這樣一來,當前 9 個人都報出自己的隨機數後,那第 10 個人就可以調整自己的隨機數來左右最終結果,由此產生攻擊。但加入 VDF 後,通過延遲隨機數的計算,加上 PBFT 機制即時最終性的特性,可以有效阻止最後公佈者的有意操縱攻擊。

以太坊 2.0 落地迷霧重重,Harmony 公鏈或將其想法提前實現VDF 延遲了最終隨機數的公佈

通過該隨機數產生的方法,隨機選出節點所在的分片,以及分片內的領導者角色。另外,據介紹,分片如何產生,用到了一種被稱爲自適應闕值 PoS 的方法,也就是節點加⼊網絡所需的份額閥值會根據總份額數量進⾏調整,通過改變獲得投票份額所需要的代幣的數量,將各個投票份額分配給分⽚來保障安全,⽽不是依賴於單個驗證者,這樣有利於分散鏈上的惡意節點,將分片內的惡意節點控制在一定範圍內。

另外,分片擴容不得不提的是跨分片交易,如果分片之間不能實現跨分片交易,各分片間就相互獨立,沒有意義。

Harmony 的跨片交易分兩步,例如,從片 A 發送一定資產給片 B ,片 A 驗證成功後扣除相應數量的資產,通過共識產生簽名,把簽名通過片間的路由協議,以最短的路徑發給片 B,片 B 去驗證簽名後,通過共識將資產打到目標賬戶。

項目進展

項目進度方面,目前測試網已經上線,主網計劃在年中左右上線。

Harmony 的編程語言是 EVM,兼容以太坊智能合約,降低了以太坊開發者的遷移成本,考慮到 Harmony 的發展模式和以太坊 2.0 不謀而合,似乎其正對以太坊上的 DApp 虎視眈眈。蘭榮堅介紹,目前考慮接入的應用包括去中心化交易所、遊戲、去中心化的地圖應用(地圖信息的應用)等,他表示,高頻交易和相對小額的交易場景比較適合。

團隊方面,全職團隊和兼職團隊一共 16 人,其中技術 9 人。CEO 謝鎮滔曾任微軟研究院總部任職研究員、Google 總部高級軟件工程師 、蘋果公司總部主任工程師,曾創立專注於移動搜索的公司 Spotsetter,該公司後被蘋果公司收購;聯合創始人蘭榮堅曾任 Google Play Store 工程師。

據瞭解,項目上週宣佈完成 1800 萬美元的融資,投資人包括香港的風險投資機構 Lemniscap、澳大利亞的 BCA 基金、新加坡的 UniValues Associates 和硅谷的 Consensus Capital。

是各個擊破還是「縫縫補補」

目前公鏈擴容方案被市場較爲認可和接受的就是分片技術,而 Zilliqa 和 MultiVAC 都採用的分片技術。Harmony 的技術白皮書中也多次提及 Zilliqa 的分片技術,並提到多條公鏈發展的不足之處,基於對這些不足的研究和靈感提取,Harmony 完成了自己的發展理念和技術實現。

但問題是,這種看起來像各個擊破,又好像是「縫縫補補」的解決方案是不是真的可行呢?

另一方面,以太坊 2.0 是以太坊經過 1.0 發展改進的版本,對於市場具有良好的借鑑意義,但鑑於已經發展多年的以太坊轉型之路有太多阻礙,一時間很難直接轉向 2.0,但思路相似的一個新公鏈或許能更早地落地也不可知。

來源鏈接:36kr.com