首页 资讯 正文

[技术评] Harmony:想实现完美的分片方案,但技术难度非常大(B)

区分FIND 2019年06月21日 03:20

文章来源:

国内最大的分布式项目评测平台 —— 区分Dapp

文章作者:

区分入驻项目分析师 ——区块佣兵

综合评分     6.9

1240

目前区块链系统的吞吐量不足已经成为了业界的共识。比特币只具备7TPS的处理速度,以太坊也只有30-40TPS的速度。想要支撑高频的商业场景,区块链底层系统仍显得性能不足。2018年开始,新的公链不断上线,想要用DPOS共识算法提升系统吞吐量,这其中最具代表性的是EOS和波场。通过DPOS共识算法,EOS和波场达到了数千TPS。

除了提高共识过程验证账单的效率,另外一种提速的做法就是扩容。举个比较有名的比喻。现有的区块链就像一条繁忙的高速公路,这条高速公路的收费站暂时只有一个收费出口,在这样的布局下,车辆稍微增加,交通很容易堵塞,印象最深的是Kitty猫的游戏,游戏玩家增多,导致网络拥堵。若是减少高速拥堵的情况,而实现一个基于分片技术的区块链就像在高速公路上增加N个收费口,它将极大地提高汽车通过收费站的速度。因此,分片技术将带来巨大的差异,并显著提高区块链的交易速度。

闪电网络就是架构在比特币上的二层分片扩容技术,使用的是交易分片技术。 Zillaqa则是一个通用性的分片方案,但是仅限于交易分片和网络分片技术,并无法分割区块链数据存储,所以难以实现真正意义上的去中心化。

而Harmony的愿景则更远,通过建立状态分片的方案,可以使区块链能够实现真正地去中心化扩容,然后实现全面扩容,达到安全与效率同时兼顾。

解决方案

分片本身是一个相对比较难理解的技术,因此Harmony的做法我也尝试将相对比较比较容易理解的部分拿出来阐述。

Harmony选择的是分片技术上最困难的模式:状态分片,其存在多种挑战性和不确定性。

我们举个比特币的例子。在比特币每天发生着20-40万笔交易。目前,所有的交易都是交由整个比特币网络的矿工一起去验证并将账本打包上链。如果想要利用分片进行提速,我们可以将比特币的网络分成10个子网络,然后每个网络由1/10的矿工组成验证团体,然后每个子网络验证结束后将有效账单打包上链。如果这样做,那么将提速10倍。如果划分得更多子网络,就能提速更多。因此,这就是分片扩容的本质。

但是这种分而治之的思路,有着不同程度的划分。网络分片和交易分片仅仅只是将账单进行随机划分,但是没有在网络存储没有采取链上划分的做法,而是链下分开处理,导致单一分片实际上仍没做到很安全。相比之下,状态分片就是完整的链上处理流程,做到真正地去中心化管理。

Harmony选择的状态分片方案,则是将整个存储区分开,让不同的碎片存储不同的部分;因此,每个节点只负责托管自己的分片数据,而不是存储完整的区块链状态。

同样的是,这样的分片技术也引入了很多问题。状态分片的区块链中特定的分片智能保存一部分储存状态。这也就导致了如果两个交易频繁的账户分别由不同的分片储存,需要频繁的跨分片通讯和状态交换。在状态分片中,处理重新分片是非常困难的。由于每个分片只保存一部分状态,因此想要一次性彻底重分片,换掉所有节点可能因为新分片节点尚未同步的问题,导致网络中断,直至所有同步完成整个网络才可以继续使用。虽然Harmony针对于各种困难都提出了相应解决办法,但在技术实现方面尚存在不确定性。

比如我和你的交易,在每一次分片处理时,首先需要明确是不是同个区域的,如果是同个区域的话,那么验证将非常简单。但如果是跨分片的话,那就需要一整套的跨区通讯,来消除跨分片通讯的消耗。这就好比我们交易,如果你和我都是中国人,在中国央行的验证下,交易能达到秒级到账。但如果你是美国人,需要跨国交易,则需要整个世界银行系统的协调和验证。因此,跨分片之间的通讯,是非常难以克服效率问题的。

而Harmony的下一代分片却可以解决以上扩容和去中心化问题并实现真正的全面扩容,实现安全和有效性。它采取全栈方法来解决扩容问题。并在共识算法,系统和网络的每个层都采用10x革新技术来在保持去中心化的基础上最大化网络的表现。

技术亮点

分片完全可扩容

类似闪电网络和Zillaqa,Harmony能够实现跨分片沟通和交易验证。同时,在完成交易分片和网络分片的基础上,Harmony能完成完全扩容、真正去中心化的状态分片

随机性确保分片的安全

整个分片采用链上分配存储,由透明性确保了系统的安全。同时利用分布式随机生成分片区域的协议,确保任何一笔交易都是不带有主观性的,能确保安全。

1240

截图来自:Harmony的技术官网

时间:2019年6月16日

采用安全有效的共识算法

在分片的基础上,每个分片涉及到子网络内节点的验证。为了能兼顾安全和效率,Harmony采用可FBFT(快速拜占庭)共识算法,确保账单的有效性。

而在整个Harmony网络上,采用了主流的POS共识机制保证了安全、效率和节能。

1240

截图来自:Harmony的技术官网

时间:2019年6月16日

技术进展

为了了解Harmony的技术进展方案,我们查看了目前官网的RoadMap(路线图):

1240

截图来自:Harmony的Github

时间:2019年6月16日

看到过去的2018年第三和四季度,Harmony已经完成了项目开源、测试网上线以及相应的Demo应用案例。

在20019年规划的路线上,Harmony是要建立相应的智能合约、开发者程序以及发布主网。目前2019年已经过去将近半年,但三个大规划仍未达成,说明整个项目仍比较早期,进度不算快。

1240

截图来自:Harmony的Github

时间:2019年6月16日

由于官网没有提供相应的Github链接,但是我们在Github社区搜索获得Harmony整个项目的开源代码:

1240

截图来自:Harmony的Github

时间:2019年6月16日

我们可以看到Harmony的主库、Demo应用案例等多个代码库,其中我们比较关心主库的更新状况,因此跳转查看代码的情况。

1240

截图来自:Harmony的Github

时间:2019年6月16日

从更新代码的情况来看,目前Harmony的开发量是非常正常的,平均来看每周维持着将近50次代码更新,最近一周甚至更新了150次代码,在整个区块链行业中是比较出色的。

1240

截图来自:Harmony的Github

时间:2019年6月16日

而从每次更新的代码增删量进行查看,可以看到近一年来Harmony也维持着正常的更新。每周更新量平均达到5-10千行代码量的增删。从这个更新的代码量来看,并不出众。这说明,虽然更新次数很频繁,但是增删的量不算非常大。

总结

总的来说,从技术角度来分析,Harmony想要实现的状态分片确实是未来区块链系统所需要的方向和趋势。但是从实现难度来看,仍存在非常大的挑战和不确定性。又因为整体发展仍处于非常早期的阶段,用户难以了解Harmony是否能够最终取得成功,因此目前Harmony的投资风险仍是比较大的。

此文为区分平台上的【精选评测】,如需转载,请标明出处。

若项目方对评测内容有争议,请联系区分客服。