Harmony区块链的分片扩展之路
图片来源图虫:已授站长之家使用
声明:本文来自于微信公众号蓝狐笔记(ID:lanhubiji ),授权站长之家转载发布。
区块链的性能问题直接影响到它走向主流人群的步伐。比特币tps大约为 7 个左右,这让它目前很难达成当初的点对点支付系统的目标。以太坊tps大约为 15 个左右,也无法成为运行DApp的“世界计算机”。这导致比特币和以太坊都越来越走向性能要求没那么高的价值存储和去中心化金融方向。
如果区块链要达成去中心化网络的目标,构建一个去中介化的应用生态,也就是实现web3. 0 的愿景,其中一个无法逃避的最重要的问题是在兼顾其安全和去中心化的情况下,达到一定规模的性能,能够实现核心行为链上运行。
Harmony的坚守与改进
为了实现区块链性能上的突破,各种不同项目绞尽脑汁,从各个层面和维度进行改进。从共识机制、分片、layer2、子链、跨链等角度进行扩展。共识机制从PoW转为PoS,有的项目,甚至为了实现更高的性能,选择部分牺牲去中心化的程度,比如DPoS机制;也有从不同的数据结构上着手,例如DAG、Holochain等。总之,就是各显神通,从大的视野看,这些实践,对于区块链发展都是前行的探索,能给整个行业带来实践启示和可能进展。
目前看,为了兼顾安全和去中心化,分片是其中最重要的突破方向之一。分片就像高速公路的收费站,原来只有一个收费通道,都得排队,吞吐量小。如果开放了更多的收费通道,其处理能力也会随之线性增长。分片对于公链的性能提升是显而易见的。
当然分片也是技术要求很高的解决方案,这里有一些难点需要处理。比如分片安全、跨分片交易、网络通信等。有些项目在分片过程中因为其依赖PoW作为随机生成的机制容易受到单分片接管攻击,有的分片项目不划分区块链数据存储,可能会影响部分机器参与网络,影响去中心化的程度。
那么,Harmony怎么看待这个问题?它如何来解决区块链的性能问题?
Harmony的目标是打造一个基于分片的区块链,具备完全扩展性、安全性。它研究了市面上很多的区块链解决方案,提出了自己的工程落地方案。这也是Harmony值得大家关注的地方。
这个是很高的目标,首先具备完全的可扩展性,Harmony的分片不仅包括交易确认、网络通信,也包括区块链状态的分片。其次要保证分片的安全性。Harmony的分片基于DRG(分布式随机生成)过程,这让它具有无法被预测、公平、可验证和可扩展的特性。此外,Harmony采用了PoS机制,而不是PoW机制来选择验证者,它对PBFT共识机制有自己的优化。PoS有一定的门槛,既要保证小的权益质押者能够参与网络和赚取收益,也要防止恶意攻击者在单个分片获得掌控权。Harmony通过采用自适应信息扩散算法(Adaptive Information Dispersal Algorithm)实现分片内和跨分片网络的信息传播。Harmony还采用Kademlia路由实现跨分片交易随着分片数量增加呈对数级扩展。有了分片,还必须保持跨分片交易的一致性,Harmony也支持跨分片交易,支持分片之间的直接通信,通过原子锁定机制确保跨分片交易的一致性。
总言之,Harmony通过对协议层和网络层的优化,试图提供一个可扩展的,同时也是安全和去中心化的区块链,能够支持更多主流的去中心化应用场景,包括游戏、去中心化交易所、IoT等。这是一个目标远大的愿景。
具体来说,Harmony在哪些特色值得关注?Harmony从安全和可扩展性上都有哪些落地的考量?
可扩展的FBFT共识机制
Harmony没有采用PoW,而是采用PoS机制,用户通过质押代币获得生产区块的权利及奖励。同时,Harmony在区块的生产和验证过程中,采用FBPT的机制。在说明什么是FBFT之前,我们知道PBFT是实用拜占庭容错。由于PBFT有一个验证者需要把其投票广播给其他验证人的机制,这使得PBFT在通信复杂度上极大增加,导致系统如果节点达到几百上千个时,区块链很难扩展。
针对PBFT难以扩展的问题,FBFT进行了优化,FBFT在通信复杂度方面可以实现线性扩展。具体来说,怎么实现?FBFT机制中,它也有领导者和验证者的角色,并不要求所有验证者广播他们的投票,领导者运行一个多重签名的签名过程来收集验证者的投票,这个多签的大小是O(1),然后广播投票。这意味每个验证者只需接收一个多重签名,将通信的复杂度从O(n^2)减少到O(n)。
中国观察