Harmony的目的是建立一个基于块的区块链,具有完全的可扩展性和安全性。它讨论了市场上的许多区块链解决方案,并提出了自己的项目实施方案。这也是Harmony值得注意的地方。
这是一个很高的目标。首先,它是完全可扩展的。Harmony的分块不仅包括交易确认、网络通信,还包括区块链状态的分块。其次,要保证分块的安全。Harmony的分块是基于DRG(分布式随机生成)过程,使其具有不可预测、公平、可验证、可扩展的特点。此外,Harmony还采用PoS机制,而不是PoW机制来选择验证者,它对PBFT共识机制有自己的提升。POS有一定的门槛,不仅要保证小股权质押者能够参与网络,赚取利润,还要避免恶意攻击者在单个块中获得控制权。通过自适应信息扩散算法,Harmony(Adaptive Information Dispersal Algorithm)实现分块内和跨分块网络的信息传输。Harmony还采用Kademlia路由实现跨分块交易,随着分块数量的增加呈对数级扩展。有了分块,我们还必须保持跨分块交易的一致性。Harmony还支持跨分块交易和分块之间的直接通信,并通过原子锁定机制保证跨分块交易的一致性。
总之,通过优化协议层和传输层,Harmony试图提供一个可扩展、安全和分散的区块链,可以支持更多的主流分散应用场景,包括游戏、分散交易所、物联网等。这是一个有远大目标的愿景。
项目愿景
目前,许多新的区块链项目正试图提高交易响应速度(吞吐量),但EOS和TRON中的DPOS、Quarkchain中的Rootchain等新解决方案必须牺牲一些核心要素,如分散化和安全性,以显著提高性能。
这样的系统虽然运行得很快,但只能算是一个半集中的系统,失去了区块链的核心理念——去中心化。
分块作为区块链扩展的解决方案,可以显著提高网络性能,不失去可靠性和分散性。
Harmony通过在区块链中引入状态块来解决区块链扩展问题——因为每个节点只需要运行和存储部分区块链数据就可以完成交易,交易处理工作量分摊,大大提高了区块本身的可扩展性。
项目亮点
扩张问题是区块链行业最受关注的问题之一。谁率先解决这个问题,谁将成为行业的领导者。当然,这里的前提是,如果我们牺牲这两个关键特征来实现突破,这只是一个低水平的突破,或者走向不同的发展道路。
在考虑安全和分散化的前提下,块是区块链扩展的最重要途径之一。这是哈密探索的重点。虽然还有其他块区块链项目,以太坊2.0和跨链项目,但如果哈密能在块探索的道路上比其他项目更扎实,那么它可能会在竞争中获得第一个机会。
当然,Harmony团队选择了一条困难的道路,需要很多努力,也有非常强大的竞争对手。根据Harmony团队对蓝狐的笔记,该项目已经完成了1800万美元的融资,投资者有来自硅谷、澳大利亚、香港和新加坡的基金,并有了一个很好的开始。
从Harmony的白皮书可以看出,团队在技术思路上很清楚,对分块项目实施中需要面对的问题有着深刻的思考。团队以R&D人员为主,主要来自微软、谷歌、苹果的背景。
技术概况
可扩展的FBFT共识机制
Harmony没有使用PoW,而是使用PoS机制,用户使用质押代币获得生产区块的权利和奖励。同时,Harmony在区块生产和验证过程中,选择FBPT机制。在解释什么是FBFT之前,我们知道PBFT是实用的拜占庭容错。因为PBFT有一个验证人需要向其他验证人投票,这大大提高了PBFT的通信复杂性,如果系统达到数百个节点,区块链就很难扩展。
针对PBFT难以扩展的问题,FBFT进行了优化,FBFT在通信复杂性方面可以实现线性扩展。具体来说,如何实现?在FBFT机制中,它也有领导者和验证者的身份,并不要求所有验证者广播他们的投票。领导者运行多个签名流程来收集验证者的投票。多个签名的大小是O(1),然后广播投票。这意味着每个验证人只需要接收一个多重签名,并将通信的复杂性从O开始(n^2)减少到O(n)。
Schnor签名机制可以实现稳定大小的多重签名聚集,并在验证人之间产生多种树木,以便于信息传递。然而,Schnor多重签名需要秘密承诺轮数,这将导致单个多重签名来回两次的问题。FBFT采用BLS(Boneh-Lynn- Shacham)多签方案优化这个问题,实现只需要一次来回,因此,FBFT比普通选择Schonorroro制度的BFT快50%。最后,Harmony还利用RaptorQ喷泉码加快区块广播过程。
需要注意的是,所有Harmony的共识验证人都是围绕PoS机制选择的。投票份额更多的验证人比其他人有更多的选票,而不是一次签票。这也意味着领导者不等待2f 1的验证人签字,而是2f 1.验证人的投票权份额。
结合VRF和VDF的随机算法
对于区块链来说,需要快速扩展。例如,上述FBFT可以实现更快的交易确认,但安全始终是最重要的。在验证区块的过程中,保持随机性是安全的首要任务。
一个好的随机算法必须确保难以预测、可验证、平等和可扩展。有些协议可以实现不可预测、平等和可验证,但可扩展性较弱,如RandHound协议。它们有自己的优点和缺点。
Harmony提出了一种融合VRF和VDF两种技术的随机算法。VRF可验证随机函数(Verifiable Random Function),VDF可以验证延迟函数(Verifiable Delay Function)。Algorand采用基于VRF(可验证随机函数)的加密分类来选择共识验证组;以太坊2.0提出VDF(可验证延迟函数)来延迟实际随机数的揭示,以避免最终揭示者的攻击。
因为有VDF,领导者在 在prnd提交到区块链之前,无法知道实际的最终随机数。由于使用VDF计算Rnd,prnd已在前一块中提交,因此领导者无法操纵它。如果领导不提交pRndd 停止协议,FBFT有一个超时机制,可以切换领导并重新启动协议。此外,Harmony使用的DRG协议,其复杂性是ORG协议(n) , 至少比一些项目快一个数量级。
基于POS的分块
无论是PoW还是PoS,都要防止女巫攻击。PoW链通过算率证明身份,从而获得生产区块的权利。Harmony采用PoS机制,PoS使用验证人权益代币质押进行确认。要成为Harmony的验证者,首先要质押一定的代币。质押的代币越多,验证人的投票份额就越多。每个投票份额对应BFT共识的一票。
股权质押者获得与其质押的代币成正比的投票份额。投票份额将随机分配给分块。成为分块验证人的利益质押人在分块中获得相应的投票权。
在Harmony的共识和分块过程中,有一个周期(Epochs)概念。周期是预定的时间间隔。在此期间,块结构是固定的,每个块继续与同一组验证人达成共识。
从每个周期开始,DRG协议将产生随机数,并根据随机数确定块结构。如果验证人想在某一阶段验证交易,他必须在前一时期质押其代币。股权质押的截止日期是随机数字图像 在PRnd被提交到区块链之前。
从每个新的验证周期开始,新验证人的投票份额将随机分配给分块。当新验证人添加分块时,将分配投票份额。至少需要2f才能达成分块共识 1的投票份额区块签字。
为了确保单个块的安全,Harmony使用自适应阈值PoS,通过算法调整投票份额的价格,并将个人投票份额分配给块,而不是单个验证人。
为了防止大规模质押代币的攻击,Harmony不是通过验证人进行分块,而是通过投票份额进行分块,以避免大量持有代币的验证人占据单一分块。如果单个验证人有分配到不同分块的投票份额,则可以分配到多个分块。分块领导被确定为在某一组中拥有第一个投票份额的验证人。
同时,投票份额较小,使恶意攻击者无法在单个块中聚集力量。经计算,Harmony认为,一旦投票份额超过600个,分块的高安全性就可以得到保证。
从经济收入的角度来看,更多质押代币的验证人有更多的机会被选为领导者。如果有恶意行为,质押代币的验证人担心其利益会减少,这将确保网络的安全。
除上述机制外,Harmony还采用重新洗牌的分块方案,以提高其安全性。恶意攻击者仍有机会进行攻击,因为如果块保持结构固定。例如实施静态循环攻击、慢适应攻击或完全适应攻击。Harmony采用基于Cuckoo规则的再分块机制来解决这一问题。在验证周期结束时,撤销质押的验证人将被赶出网络,保留质押的人将被留下。
快速状态同步
一个周期的第一个块包括上一个周期中第一个块的哈希链接。这允许新节点的状态快速同步,它们可以依靠灰色块快速验证当前状态。
如果你想验证分块交易,你需要下载整个区块链历史,那么时间太长了。如果你同步以太坊区块链历史,你可能需要几天的时间。Harmony只需要在一个周期窗口下载当前的状态。
在Harmony中,添加块的新验证员首先下载块的当前状态提示。新节点下载历史块头,并通过检查其签名来检查块头。只要有从当前状态返回到创世区块的加密痕迹,如哈希指针和签名,块状态就有效。
同时,为了降低签名验证计算的成本和时间成本,Harmony每个周期的第一个块包括指向上一个周期的第一个块的额外哈希指针。这样,新节点在跟踪创世区块的哈希指针时可以跳过一个周期中的其他块,从而加速对当前区块链状态的验证。最后,为了进一步优化状态同步过程,Harmony将使区块链状态本身尽可能小。
相关链接:
https://www.qukuaiwang.com.cn/szhb/3285.html###
*本文由非小号官方整理,若转载,请注明出处。