Harmony的目标是打造一个基于分片的区块链,具备完全扩展性、安全性。它研究了市面上很多的区块链解决方案,提出了自己的工程落地方案。这也是Harmony值得大家关注的地方。
项目简介
Harmony 是一个基于状态分片和 PoS 的高性能公链项目,它的分片架构由一条信标链和多条分片链组成,信标链提供包括去中心化的随机数,分片链 Header 的验证,接受验证节点的权益抵押等服务。
项目愿景
致力于建造一个新一代区块链网络:以分片架构为基础,实现高可扩展性、安全、低能耗的区块链。
市场需求
区块链技术被视为重构生产关系的重大技术,能够在很多领域提升效率。随着其发展,越来越多地人关注该领域,带来了大量资本的流入,但是目前发展比较成熟的公链并没有被大规模的应用。区块链技术始终在大规模采用方面努力取得进展,它面临的主要障碍之一就是性能。
许多公链都在进行提升性能的尝试:EOS 用牺牲部分去中心化的形式来获取性能的提升;以太坊 2.0 和一些新的公链采用分片的形式;Cosmos、Polkadot 采用跨链的形式去提升其可扩展性等。Harmony 也是在追逐这方面机会的公链,它提出了一种在共识机制、状态分片以及点对点网络方面进行创新,实现一种安全高效区块链的方案。
项目解决方案
Harmony是用于去中心化应用程序的快速,安全的区块链。Harmony的主要重点是通过不仅将网络节点而且将区块链状态划分为多个碎片来实现可伸缩性,“在机器,交易和存储的所有三个方面进行线性扩展”。
可验证的随机函数可实现Harmony的分片,从而实现安全性和随机状态分片。和谐的共识机制,即有效的权益证明,在实用的拜占庭容错共识机制上进行了创新,以进一步减少集中化,同时支持质押,奖励和双倍惩罚。
项目实现机制
Harmony 的整体架构和以太坊 2.0 类似,由信标链和分片链组成。 Harmony 在共识、分片和网络上都有一定的技术创新:
共识:使用 BLS 多重签名对 PBFT 进行改进,实现可扩展的 FBFT 共识。
分片:通过 VRF 和 VDF 融合的分布式随机生成,以及自适应的 PoS 提高分片的安全性。
网络:利用纠删码和 Kademlia 路由提升网络性能。
代币使用场景
自2019年6月以来,其功能性代币ONE一直在Harmony的主网上运行,并有望实现3%的年通货膨胀率。代币必须用作网络验证器的抵押,并且是启动交易必备的代币。
采用算法
Harmony 采用 PoS+FBFT 的共识机制,即先通过 PoS 选出参与区块签名的节点,再通过 FBFT 达成共识。其中,FBFT 是 Harmony 在 PBFT 基础上的创新。
PBFT 是一种共识算法,允许预定义的节点就某些结果达成一致,只要其中超过 2/3 的人遵循该算法,无论剩下小于 1/3 的节点有什么样的恶意行为,PBFT 都能保证让所有诚实的节点对相同的结果达成一致的意见,并在有限的时间内完成。
PBFT 通过选举其中一名节点为领导者并让领导者协调共识来工作,与此同时,其他节点被选为验证者。在一般情况下,PBFT 每个共识轮次都有两个阶段——准备和提交。在每个阶段中,领导节点向所有验证器节点广播提议,并且验证器节点本身将其投票广播到每个其他节点。所有验证人的投票需要由其他验证人计算。这种情况下所有节点都进行 O(n^2) 复杂度的网络通信,其中 N 是节点的总数。
O(n^2) 复杂度意味着,随着节点的增多,PBFT 网络通信复杂度呈平方的形式上升,因此 PBFT 不具备扩展性,网络只能由较少的节点参与共识。针对 PBFT 的扩展性问题,Harmony 进行了优化,如前所述称之为 FBFT。FBFT 实现了 O(n) 的通讯复杂度,能够线性扩展。
和 PBFT 一样,在 FBFT 算法中也有领导者和验证者的角色,并不要求所有验证者广播他们的投票,领导者运行一个多重签名的签名过程来收集验证者的投票。如上图所示,FBFT 采用 BLS (Boneh-Lynn-Shacham)多签方案,该方案是 Schnorr 签名方案的改进,在实现多重签名大小恒定(在复杂度为 O(1))的基础上,还实现了只要求一次往返来传递消息(复杂度为 O(n))。在这种情况下,FBFT 的验证者只需接收一个多重签名,通信的复杂度从 O(N²) 下降到 O(N)。
除了以上改进,Harmony 还采用 RaptorQ 喷泉码来加速区块广播过程。相比于 PBFT,Harmony 的 FBFT 更具扩展性,支持更多的节点参与共识。
技术特点
分片作为一种区块链的拓展方案,首先在 Zilliqa 上实现。但是 Zilliqa 仅实现了网络分片和交易分片。Zilliqa 将其网络分成多个分片,每个分片有数百个节点(网络分片)。这允许不同的交易由不同的分片同时处理(交易分片)。但是,为了能够处理交易,分片中的每个节点都必须存储整个区块链状态信息。这使得网络对节点得要求较高,阻止了硬件资源一般得节点加入网络,不利于网络的去中心化。
Harmony 更进一步实现了状态分片,并将其分片技术命名为深度分片 (Deep Sharding),其中 Harmony 不仅对交易层面进行分片,还会对共识发生的层面进行分片,这提高了并行处理的水平,从而提高了网络吞吐量。此外,由于所有节点都不需要存储整个区块链状态,因此一般的个人计算机也可以作为节点加入网络,从而使网络更去中心化。
激励机制
激励机制是维持区块链网络安全稳定的重要因素。Harmony设计的激励机制主要包括一下3方面:
1.共识奖励。在成功添加一个区块后,所有参与共识过程的验证者将根据票数平分区块奖励和转账费用。
2.质押没收。所有被网络检测到的违规行为,如没有按时出块、有双花等恶意行为等,违规节点质押的通证将被部分没收。没收通证将分给举报违规行为的节点。
3.质押撤回。在质押通证撤回过程中设置额外措施减少长程攻击的可能性。