Harmony的目的是建立一個基于塊的區(qū)塊鏈,具有完全的可擴展性和安全性。它討論了市場上的許多區(qū)塊鏈解決方案,并提出了自己的項目實施方案。這也是Harmony值得注意的地方。
這是一個很高的目標。首先,它是完全可擴展的。Harmony的分塊不僅包括交易確認、網(wǎng)絡(luò)通信,還包括區(qū)塊鏈狀態(tài)的分塊。其次,要保證分塊的安全。Harmony的分塊是基于DRG(分布式隨機生成)過程,使其具有不可預測、公平、可驗證、可擴展的特點。此外,Harmony還采用PoS機制,而不是PoW機制來選擇驗證者,它對PBFT共識機制有自己的提升。POS有一定的門檻,不僅要保證小股權(quán)質(zhì)押者能夠參與網(wǎng)絡(luò),賺取利潤,還要避免惡意攻擊者在單個塊中獲得控制權(quán)。通過自適應信息擴散算法,Harmony(Adaptive Information Dispersal Algorithm)實現(xiàn)分塊內(nèi)和跨分塊網(wǎng)絡(luò)的信息傳輸。Harmony還采用Kademlia路由實現(xiàn)跨分塊交易,隨著分塊數(shù)量的增加呈對數(shù)級擴展。有了分塊,我們還必須保持跨分塊交易的一致性。Harmony還支持跨分塊交易和分塊之間的直接通信,并通過原子鎖定機制保證跨分塊交易的一致性。
總之,通過優(yōu)化協(xié)議層和傳輸層,Harmony試圖提供一個可擴展、安全和分散的區(qū)塊鏈,可以支持更多的主流分散應用場景,包括游戲、分散交易所、物聯(lián)網(wǎng)等。這是一個有遠大目標的愿景。
項目愿景
目前,許多新的區(qū)塊鏈項目正試圖提高交易響應速度(吞吐量),但EOS和TRON中的DPOS、Quarkchain中的Rootchain等新解決方案必須犧牲一些核心要素,如分散化和安全性,以顯著提高性能。
這樣的系統(tǒng)雖然運行得很快,但只能算是一個半集中的系統(tǒng),失去了區(qū)塊鏈的核心理念——去中心化。
分塊作為區(qū)塊鏈擴展的解決方案,可以顯著提高網(wǎng)絡(luò)性能,不失去可靠性和分散性。
Harmony通過在區(qū)塊鏈中引入狀態(tài)塊來解決區(qū)塊鏈擴展問題——因為每個節(jié)點只需要運行和存儲部分區(qū)塊鏈數(shù)據(jù)就可以完成交易,交易處理工作量分攤,大大提高了區(qū)塊本身的可擴展性。
項目亮點
擴張問題是區(qū)塊鏈行業(yè)最受關(guān)注的問題之一。誰率先解決這個問題,誰將成為行業(yè)的領(lǐng)導者。當然,這里的前提是,如果我們犧牲這兩個關(guān)鍵特征來實現(xiàn)突破,這只是一個低水平的突破,或者走向不同的發(fā)展道路。
在考慮安全和分散化的前提下,塊是區(qū)塊鏈擴展的最重要途徑之一。這是哈密探索的重點。雖然還有其他塊區(qū)塊鏈項目,以太坊2.0和跨鏈項目,但如果哈密能在塊探索的道路上比其他項目更扎實,那么它可能會在競爭中獲得第一個機會。
當然,Harmony團隊選擇了一條困難的道路,需要很多努力,也有非常強大的競爭對手。根據(jù)Harmony團隊對藍狐的筆記,該項目已經(jīng)完成了1800萬美元的融資,投資者有來自硅谷、澳大利亞、香港和新加坡的基金,并有了一個很好的開始。
從Harmony的白皮書可以看出,團隊在技術(shù)思路上很清楚,對分塊項目實施中需要面對的問題有著深刻的思考。團隊以R&D人員為主,主要來自微軟、谷歌、蘋果的背景。
技術(shù)概況
可擴展的FBFT共識機制
Harmony沒有使用PoW,而是使用PoS機制,用戶使用質(zhì)押代幣獲得生產(chǎn)區(qū)塊的權(quán)利和獎勵。同時,Harmony在區(qū)塊生產(chǎn)和驗證過程中,選擇FBPT機制。在解釋什么是FBFT之前,我們知道PBFT是實用的拜占庭容錯。因為PBFT有一個驗證人需要向其他驗證人投票,這大大提高了PBFT的通信復雜性,如果系統(tǒng)達到數(shù)百個節(jié)點,區(qū)塊鏈就很難擴展。
針對PBFT難以擴展的問題,F(xiàn)BFT進行了優(yōu)化,F(xiàn)BFT在通信復雜性方面可以實現(xiàn)線性擴展。具體來說,如何實現(xiàn)?在FBFT機制中,它也有領(lǐng)導者和驗證者的身份,并不要求所有驗證者廣播他們的投票。領(lǐng)導者運行多個簽名流程來收集驗證者的投票。多個簽名的大小是O(1),然后廣播投票。這意味著每個驗證人只需要接收一個多重簽名,并將通信的復雜性從O開始(n^2)減少到O(n)。
Schnor簽名機制可以實現(xiàn)穩(wěn)定大小的多重簽名聚集,并在驗證人之間產(chǎn)生多種樹木,以便于信息傳遞。然而,Schnor多重簽名需要秘密承諾輪數(shù),這將導致單個多重簽名來回兩次的問題。FBFT采用BLS(Boneh-Lynn- Shacham)多簽方案優(yōu)化這個問題,實現(xiàn)只需要一次來回,因此,F(xiàn)BFT比普通選擇Schonorroro制度的BFT快50%。最后,Harmony還利用RaptorQ噴泉碼加快區(qū)塊廣播過程。
需要注意的是,所有Harmony的共識驗證人都是圍繞PoS機制選擇的。投票份額更多的驗證人比其他人有更多的選票,而不是一次簽票。這也意味著領(lǐng)導者不等待2f 1的驗證人簽字,而是2f 1.驗證人的投票權(quán)份額。
結(jié)合VRF和VDF的隨機算法
對于區(qū)塊鏈來說,需要快速擴展。例如,上述FBFT可以實現(xiàn)更快的交易確認,但安全始終是最重要的。在驗證區(qū)塊的過程中,保持隨機性是安全的首要任務(wù)。
一個好的隨機算法必須確保難以預測、可驗證、平等和可擴展。有些協(xié)議可以實現(xiàn)不可預測、平等和可驗證,但可擴展性較弱,如RandHound協(xié)議。它們有自己的優(yōu)點和缺點。
Harmony提出了一種融合VRF和VDF兩種技術(shù)的隨機算法。VRF可驗證隨機函數(shù)(Verifiable Random Function),VDF可以驗證延遲函數(shù)(Verifiable Delay Function)。Algorand采用基于VRF(可驗證隨機函數(shù))的加密分類來選擇共識驗證組;以太坊2.0提出VDF(可驗證延遲函數(shù))來延遲實際隨機數(shù)的揭示,以避免最終揭示者的攻擊。
因為有VDF,領(lǐng)導者在 在prnd提交到區(qū)塊鏈之前,無法知道實際的最終隨機數(shù)。由于使用VDF計算Rnd,prnd已在前一塊中提交,因此領(lǐng)導者無法操縱它。如果領(lǐng)導不提交pRndd 停止協(xié)議,F(xiàn)BFT有一個超時機制,可以切換領(lǐng)導并重新啟動協(xié)議。此外,Harmony使用的DRG協(xié)議,其復雜性是ORG協(xié)議(n) , 至少比一些項目快一個數(shù)量級。
基于POS的分塊
無論是PoW還是PoS,都要防止女巫攻擊。PoW鏈通過算率證明身份,從而獲得生產(chǎn)區(qū)塊的權(quán)利。Harmony采用PoS機制,PoS使用驗證人權(quán)益代幣質(zhì)押進行確認。要成為Harmony的驗證者,首先要質(zhì)押一定的代幣。質(zhì)押的代幣越多,驗證人的投票份額就越多。每個投票份額對應BFT共識的一票。
股權(quán)質(zhì)押者獲得與其質(zhì)押的代幣成正比的投票份額。投票份額將隨機分配給分塊。成為分塊驗證人的利益質(zhì)押人在分塊中獲得相應的投票權(quán)。
在Harmony的共識和分塊過程中,有一個周期(Epochs)概念。周期是預定的時間間隔。在此期間,塊結(jié)構(gòu)是固定的,每個塊繼續(xù)與同一組驗證人達成共識。
從每個周期開始,DRG協(xié)議將產(chǎn)生隨機數(shù),并根據(jù)隨機數(shù)確定塊結(jié)構(gòu)。如果驗證人想在某一階段驗證交易,他必須在前一時期質(zhì)押其代幣。股權(quán)質(zhì)押的截止日期是隨機數(shù)字圖像 在PRnd被提交到區(qū)塊鏈之前。
從每個新的驗證周期開始,新驗證人的投票份額將隨機分配給分塊。當新驗證人添加分塊時,將分配投票份額。至少需要2f才能達成分塊共識 1的投票份額區(qū)塊簽字。
為了確保單個塊的安全,Harmony使用自適應閾值PoS,通過算法調(diào)整投票份額的價格,并將個人投票份額分配給塊,而不是單個驗證人。
為了防止大規(guī)模質(zhì)押代幣的攻擊,Harmony不是通過驗證人進行分塊,而是通過投票份額進行分塊,以避免大量持有代幣的驗證人占據(jù)單一分塊。如果單個驗證人有分配到不同分塊的投票份額,則可以分配到多個分塊。分塊領(lǐng)導被確定為在某一組中擁有第一個投票份額的驗證人。
同時,投票份額較小,使惡意攻擊者無法在單個塊中聚集力量。經(jīng)計算,Harmony認為,一旦投票份額超過600個,分塊的高安全性就可以得到保證。
從經(jīng)濟收入的角度來看,更多質(zhì)押代幣的驗證人有更多的機會被選為領(lǐng)導者。如果有惡意行為,質(zhì)押代幣的驗證人擔心其利益會減少,這將確保網(wǎng)絡(luò)的安全。
除上述機制外,Harmony還采用重新洗牌的分塊方案,以提高其安全性。惡意攻擊者仍有機會進行攻擊,因為如果塊保持結(jié)構(gòu)固定。例如實施靜態(tài)循環(huán)攻擊、慢適應攻擊或完全適應攻擊。Harmony采用基于Cuckoo規(guī)則的再分塊機制來解決這一問題。在驗證周期結(jié)束時,撤銷質(zhì)押的驗證人將被趕出網(wǎng)絡(luò),保留質(zhì)押的人將被留下。
快速狀態(tài)同步
一個周期的第一個塊包括上一個周期中第一個塊的哈希鏈接。這允許新節(jié)點的狀態(tài)快速同步,它們可以依靠灰色塊快速驗證當前狀態(tài)。
如果你想驗證分塊交易,你需要下載整個區(qū)塊鏈歷史,那么時間太長了。如果你同步以太坊區(qū)塊鏈歷史,你可能需要幾天的時間。Harmony只需要在一個周期窗口下載當前的狀態(tài)。
在Harmony中,添加塊的新驗證員首先下載塊的當前狀態(tài)提示。新節(jié)點下載歷史塊頭,并通過檢查其簽名來檢查塊頭。只要有從當前狀態(tài)返回到創(chuàng)世區(qū)塊的加密痕跡,如哈希指針和簽名,塊狀態(tài)就有效。
同時,為了降低簽名驗證計算的成本和時間成本,Harmony每個周期的第一個塊包括指向上一個周期的第一個塊的額外哈希指針。這樣,新節(jié)點在跟蹤創(chuàng)世區(qū)塊的哈希指針時可以跳過一個周期中的其他塊,從而加速對當前區(qū)塊鏈狀態(tài)的驗證。最后,為了進一步優(yōu)化狀態(tài)同步過程,Harmony將使區(qū)塊鏈狀態(tài)本身盡可能小。
相關(guān)鏈接:
https://www.qukuaiwang.com.cn/szhb/3285.html###
*本文由非小號官方整理,若轉(zhuǎn)載,請注明出處。