Harmony状态分片很好,但确实难度不小

avatar badge
区块佣兵
发表时间:2019/07/13 21:31 icon

利益申明

1.本文参与征文大赛投稿。言辞有倾向性,不构成投资建议。



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

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

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

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


Harmony的解决方案

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

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

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

但是这种分而治之的思路,有着不同程度的划分。网络分片和交易分片仅仅只是将账单进行随机划分,对于每一部分的账单数据,我们都随机选择一批验证者去参与验证。只要分片的验证者达成共识,将完成的数据存储上链。这里的问题在于,参与验证的节点需要保证整个区块链网络的历史数据。随着在区块链部署应用的增多,这意味着每个区块容纳的数据量在增大,这意味着参与的节点需要存储大量的全状态数据,方能参与验证。这就意味着,大量验证节点(因为存储不足)将会无法参与状态验证,无法保证网络的安全性。

Harmony则做得更彻底,选择的是状态分片。它通过构建一条信标链和多条分片链,从而实现一条大规模的公链。在每条分片链上,只负责存储一部分账本信息,由随机选择的节点参与维护。而信标链我们可以认为是一条主要的分片链,主要是运行分布式随机数协议(就是每一次随机选择一定数量的节点去维护分片链),并且负责负责节点的抵押代币。

正是将公共区块链分为两层,通过有效、靠谱的分而治之,提升整个网络的效率。

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

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

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

Harmony技术亮点

分片完全可扩容

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

随机性确保分片的安全

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

截图来自: Harmony的技术官网

时间:2019年7月12日


在分片网络中,对网络节点的随机选择是非常重要的。因为分片网络是将全网的节点分割后,去单独维护分片网络的安全。例如目前Harmony主网上线,参与验证的节点高达600个。在第一阶段将Harmony划分为4个分片链,则每个分片链将获得150个节点参与维护。这将使分片链的安全度有所降低。

如果这时候分片链上出现长期“抱团作恶”的节点团队,那么将会使分片链安全得以威胁。为了让分片依然享有原来600个节点的安全,那么每一轮验证周期,就需要随机地抽取150个节点组合起来,避免有抱团作恶的倾向的节点混在一起。通过足够安全的VDF+VRF随机数生成方案,促使分片链的安全得到有效保证。,

采用安全有效的共识算法

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

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

截图来自:Harmony的技术官网

时间:2019年7月13日


POS机制能够取得高于POW的效率,但目前对于安全性的论证仍无法得到确定的结论。基于POW的比特币虽然常常因为算力垄断被称为中心化严重,但运行10年依旧没发生过安全事件。这说明在足够算力保证下,高昂的经济成本导致POW作恶事件极少发生。但POS共识机制虽然能得到众多人支持,但从数学推导或者实际运行来看,难以看出比POW更安全的优势。所以采用POS共识算法作为信标链的节点抵押效果,仍然需要观察才能得到结论。

技术进展

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

截图来自: Harmony的官网

时间:2019年7月12日


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

截图来自: Harmony的官网

时间:2019年7月12日


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

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

截图来自: Harmony的Github

时间:2019年7月12日


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


截图来自: Harmony的Github

时间:2019年7月12日

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



截图来自: Harmony的Github

时间:2019年7月12日

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

总结

总的来说,Harmony拥有一支来自谷歌、亚马逊、微软、苹果等知名公司的技术开发团队,并且研究领域是相互交叉的,这有利于布局上层公链配套组件。但缺乏资深的区块链开发背景,一定程度上会增大项目的不确定性。

与此同时,Harmony想要实现的状态分片确实是未来区块链系统所需要的方向和趋势。但是目前实现的难度来看,仍然存在非常大的挑战和不确定性。而从Github上来看,目前整体发展尚属早期,不确定比较大,这意味着失败的风险还是挺大的。

与此同时,按照我个人的通俗理解,一定程度上跨链的实现方案与状态方案有相似之处。同样都是需要融合多条子链。并基于多个子链构建更庞大、能容纳更大流量的高速公链。不同的是,跨链更多的是融合多条区块链形成较为统一跨链层。而分片方案则是自行构造多条分片子链后,在上层构建性能更好的区块链平台。但是这两个方向未来将是哪个成为主流,仍然很难有定论。但在此之前,我们相信类似波卡、Cosmos等跨链项目将会对Harmony形成一定影响。



Harmony的电报


 截图来自: https://twitter.com/harmonyprotocol

截图时间:2019年6月6日


但好的是,Harmony的技术团队具备成功的创业经验,能更好地把握发展方向。而且较为活跃的社区,代表Harmony正在成为更多人心仪的项目。从社区的热度来看,Harmony在Telegram上有1.5万余人,并且互动相对活跃。而推特拥有3.35万名关注者,能形成较高的讨论热度。这说明看好Harmony的用户不少。


难度不小

免责声明:本文由财路用户上传并发布,内容为用户独立观点,不代表财路平台立场。

文章标题:Harmony状态分片很好,但确实难度不小