Harmony:一文搞懂分片公链Harmony、Near、Elrond

大家好我是巴韭特一颗想成为巴菲特的韭菜

新的巴韭特晚餐终于又来了,这段时间在研究分片,看了不少资料,终于完成了这篇文章。

区块链的可拓展性或者说扩容问题一直是行业关注的焦点,以太坊之后的大多数公链都致力于解决这个问题,于是也迎来了后来的公链大爆发。诸如EOS通过改变共识机制,使用偏中心化的DPoS实现更快的共识确认,IOTA通过改变网络结构,使用DAG实现更强的拓展性,当然也有通过侧链或状态通道实现扩容的二层解决方案,例如Celer。除此之外,分片也是非常重要的扩容解决方案之一。关于分片可能很多人早已听过,最早Zilliqa以及后来的Quarkchain都是知名的分片公链,以太坊也已经计划在将来版本中使用分片,而在新一代公链中,国外知名的分片项目Harmony、Near和Elrond也同样值得关注。

其中Harmony已登陆币安并上线了其主网,Elrond也登陆了币安,并于18年12月底启动了Pre-Staking,进入主网启动阶段,Near还没有登录任何交易所,他们计划在今年第一季度启动主网。那么,这三个分片公链在技术上到底有哪些区别?他们的市值相差多大?哪个背景更强?哪个会是2020年的黑马呢?

分片到底是什么?

在分析这三个项目之前,也许需要简单普及下分片到底是个啥?分片在互联网领域早已有之,一般称之为数据库分片。它指的是将单个数据库中的数据,通过某种策略分摊到多个表结构与其相同的其他数据库中,这样每个数据库中的数据量就会相对减少很多,并且可以部署在不同服务器上,理论上能够实现数据库的无限横向拓展。在区块链领域,道理也是相似的。分片指的是将区块链网络中的任务分摊给不同的节点进行处理的一种水平扩容方式。在这样的网络中并不是所有的节点共同参与一笔记账,而是有很多个小组,每个小组单独记账,通过这种并行处理的方式来提升整个网络的性能。

以太坊分片方案示意图,imagebyHsiao-WeiWang分片的目标是能够在达成共识的同时,减少计算和存储冗余,并以足够快的方式处理交易或事务,同时保证网络有足够的安全性。举例来说,假设目前网络中有1000个节点,可以将节点分为10个小组,每个小组内有100个节点,这样网络中的所有交易将会被分给这10个小组进行并行处理。分片有哪些类型呢?

在分片的区块链网络中,并不一定所有的事务都需要进行分片,通常来讲分片有三种类型,分别为网络分片、交易分片、状态分片。网络分片就是将整个区块链网络进行分组,每个小组叫做一个分片,所有分片同时处理不同的交易,实现并行记账。或者称之为物理分片。交易分片就是将交易随机分到不同的分片或小组,让某些节点进行记账,比如可以通过交易Hash或者地址进行分配,也可以通过VRF等随机的方式进行分配。状态分片就是把完整的账本信息存储在各个分片中,每个分片内各自维护部分的账本信息。这里可能还会涉及到跨分片数据同步,跨片交易等问题,是最复杂的一种分片方式。关于分片介绍的差不多了,下面我们分别来聊聊这三个项目的分片解决方案吧。

Part1Harmony

Harmony是什么?

Harmony是一个基于状态分片和PoS的高性能公链项目,它的分片架构由一条信标链和多条分片链组成,信标链提供包括去中心化的随机数,分片链Header的验证,接受验证节点的权益抵押等服务。在共识算法方面,Harmony在每个分片内部使用FBFT达成共识,FBFT是PBFT深度优化的共识,通过BLS多重签名,使传统的PBFT的效率提升了一个数量级,通过这种方式在分片内快速达成共识。下方是FBFT的示意图:

目前Harmony主网v0版本,每个分片内有250个节点,出块时间在8秒以内,官方说优化后预计达到5秒以内。5秒真男人??嗯,这是褒义

Harmony怎么保证分片系统的安全性?

在分片公链中,可能1%攻击即可进行双花。因为网络分片后,全网算力和抵押代币数量都被分割了,每个分片只有网络的N分之一,如果有100个分片,在没有特殊安全协议的设计的情况下,利用全网1%的算力或权益就可以控制一个分片,进行双花,甚至凭空创造新币。Harmony采用了EPoS(EffectiveProof-of-Stake)的有效抵押机制和安全的随机分片技术(RandomSharding),靠协议的规定把大户抵押的代币打散成许多细小的部分,并随机分配到多个分片里,这样任何人就无法把他抵押的代币集中到单一分片内,从而无法攻击单一分片。以下是随机分配权益的示意图:

上图中红色是攻击者,他的代币被随机分配到了多个分片,这样就没法在任何一个分片内得到主动权。EPoS不仅有效解决了抵押Stake中心化的问题,同时支持抵押复利和抵押委托。在Harmony的网络中,抵押者并非按照实际抵押量来获得奖励,而是按照”有效抵押“获得奖励。有效抵押,简单来说就是取用户抵押数量的中位数,所有抵押的代币数量都在这个中位数上下15%的数值之内。举个极端的例子好了,假设现在有5个节点,抵押ONE数量分别为1,10,100,200,1000。这里的中位数就是100,那其他节点的”有效抵押“分别为85,85,100,115,115。

*1600个节点的有效抵押图示EPoS的有效抵押主要是为了减缓“富人越富”效应,以及防止PoS网络趋于中心化的问题。不过对于这种方式,可能有些大户并不会特别乐意,我倒是觉得是不错的解决方案,当然仁者见仁智者见智了。

Harmony已于2019年7月份上线了其第一阶段的主网「DayONE」,它具备分片和共识等基本功能,总共有4个全状态分片,包括150个基石节点在内的总共600个节点同时参与共识。Harmony如何防止节点被贿赂?

除了1%攻击之外,还有另一个攻击方式是贿赂攻击,既在初始分片结束后,攻击者通过收买或贿赂的形式,获得单一分片内的绝大部分权力,进行攻击。为了避免贿赂攻击,Harmony引入了基于CuckooRule的随机再分片机制协议产生安全不可预测的随机数,这是一种特殊的多方计算MPC方法。DRG协议让每一个参与其中的节点生成一个本地的VRF(可验证随机函数),然后这些随机数会被结合起来生成一个preimage数字,并放到下一个区块中,之后这个preimage会被用来运算VDF(可验证延迟函数)来生成最终的随机数。

在DRG中,VRF保证了结果的随机性,VDF保证了结果的不可干扰性。Harmony已经利用BLS12-381椭圆曲线实现了VRF的功能,并完成了第一个用Go语言实现的VDF可验延迟函数。VDF的作用可以简单理解为,是防止最后一个节点在看到前面的随机数之后,自己快速计算一个有利于自己的随机数来左右最终结果。而通过VDF可以延迟计算和公布前面的随机数,从而让最后的节点无法在最后修改有利于自己的结果。关于VDF更详细的介绍可以查看这篇文章:《一文搞懂可验证延迟函数VDF》

Harmony如何优化跨片通信?

在状态分片中最重要的就是跨片通信。而如果采用简单的P2P广播协议,最终系统将产生非常多的消息负载,这样的系统没法支持大量的分片。Harmony采用了「Kademlia跨片路由技术」,来控制跨片间通信的网络开销,并且利用「纠删码」对区块广播过程进行优化,使广播者的网络压力更小,避免发送者的网络瓶颈问题,从而实现高效的横向分片扩展。纠删码是什么?因为下面还会提到纠删码,所以这里简单解释下,纠删码是存储领域常见的一种数据冗余技术,它可以将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置,当某些数据丢失时,可以通过重构算法恢复原来的数据。与之有相似功能的是多副本策略,即把数据复制多份存储起来,以便能恢复。Part2NearProtocol

NearProtocol是什么?

Near是基于全状态分片、对开发者友好的可拓展性公链,他们提出了一种新的协议和解决方案,称之为夜影协议。Near与其他分片公链不同的是,它的技术架构并不是由一个信标链和多个分片链组成的,而是把系统建模成一个单独的区块链,在区块级别进行了分片,每个分片中有很多“段”。

具体来说,Near将区块分为一个个物理组成块,因为每一个区块都包含这些物理组成块,经过对多个区块的验证,物理组成块均相同的时候就可以验证这些区块是正确的。每个区块逻辑上包含所有分片的所有交易,并切分分片的状态,验证者只负责验证交易所针对分片相对应的状态即可。项目主网上线时计划是8个分片,24个区块/块生产者以及800个验证人。这意味着每一个区块切分成8份,然后需要800个验证人负责验证24个区块确认每一个物理组成块不出问题,相应的NEAR的区块间隔也就会更低。Near采用了什么共识机制?

Near采用了独创的称之为Doomslug的共识机制,该共识机制允许一组区块生产者只需要一轮通信就可以创建区块,从而使得每个区块都不可逆。而且即使有50%的区块生产者不在线,也依然可以完成。同时他们还推出了一种类似Casper的最终确定性工具,称之为NightshadeFinalityGadget,它可以保证区块在不超过1/3恶意攻击者的情况下会被最终确定,进而增强了网络安全性。Near如何保证分片的安全性?

为了不暴露特定分片的验证人,Near通过VRF对验证人进行随机分配,隐藏验证人分配到分片的信息。这样节点只知道验证人的存在,却并不知道每个验证人所对应的分片是哪个。而且,这些隐藏的验证人是对块进行签名,而不是具体的段,这样也会隐藏验证人具体是验证了哪个分片。

Near如何保证数据的可用性?

Near也是通过「纠删码」来解决分片的数据的可用性问题,因为分片的存在,并不是所有的节点都有所有分片的状态,如果一些节点没有某些分片的状态,就难以保证某些数据的可用性。Near的解决思路是,每一个节点会把他们所制造的区块分成很多部分发送给不同的验证者,使得只需要依靠其中的一些部分,就可以重组它这个节点所制造的分片区块,从而使得数据的可用性能够得到保证。

Elrond是什么?

Elrond是一个自适应状态分片的高吞吐量公链。他们提出了一种改良的权益证明机制,称之为安全权益证明的共识机制,引入随机选择的共识组,抵押加评级的方式。与Harmony类似,Elrond也有一条主链,称之为公证链或元链,负责所有网络和全局数据操作,比如节点加入和离开网络,验证人列表,节点分配等。哦,原来元链是大哥,都听大哥的那。。。

Elrond的共识机制是什么?

Elrond采用SPoS共识机制,他们参考了Algorand随机选择机制,并进行了改进。Elrond通过随机选择共识组,与抵押和评级这些维度相结合的方式来达成共识,它与传统PoS不同的是,加入了对每个参与打包节点进行评级这个维度,以及共识组内通过pBFT进行签名确认。Elrond如何跨分片通信?

Elrond执行跨分片通信的策略是使用异步模型。Elrond的每个块结构由一个区块头表示,它包含块随机数、轮次、提议节点、验证节点时间戳等信息,以及包含交易信息的微块,每个微块都包含所有事务。在这个网络中,交易的验证和执行会先在发送方的分片中完成,然后在元链中进行公证并提供执行证明,之后再到接收方的分片中完成并更新余额等。在这个过程中的处理单元就是微块。

Elrond如何保证安全?

Elrond使用了随机数来保证安全性,例如将区块提议者和验证者随机采样到共识组中,并在一个轮次结束后对分片之间的节点进行改组。通过这种方式也可以防止上文所说的贿赂攻击等。

随机性是区块链的核心,不仅是在PoS共识中,可能通过持币量和币龄,或者随机数等选择每一轮的记账节点,在PoW共识中很重要的一点也是需求某种随机性。巴韭特评论:

是不是太过于技术了,可能看起来并不容易理解。

于是我做了一张简单的技术对比图。把比较知名的几个做分片公链的项目做了一个汇总,其中参考了Harmony币安的研究报告,以及部分内容联系官方做了确认。

除了MultiVAC,国内TOPNetwork也是采用了分片解决方案,后面有机会也会研究一下。技术是一方面,对于内容我也想简单提一下,哈哈哈,其中Harmony让我看的最透彻,他们在Medium和币乎有大量的中文资料,而且白皮书和AMA中对技术的阐述条理清晰。Near确实够技术,技术到夜影协议中文版白皮书我都看不太懂具体的实现方案,更别提其他几个原版白皮书了,我四级的英文水平,看到头痛欲裂。

Elrond几乎很少的中文资料,只看到Tokengazer对他们的分析和评级,还好他们的白皮书和其他资料比较有条理。面对中国市场,技术再厉害,没有好的内容向大家展示也许是非常可怕的,一个中国区负责人或者一个靠谱的Marketing团队是很有必要性的。社区需要优质的内容,要不然就只是闲聊的社群而已。三大分片公链投资分析

Harmony总发行量126亿枚,目前流通量大约37亿枚,据Coingecko数据Harmony市值排在143名。他们在18年5月份完成种子轮募资,投资方包括ContinueCapital、CypherMines、Lemniscap、UnivaluesAssociates、Qtum、点阵资本、共识资本等,出售了22.4%的额度总共融了1830万美元,19年5月份在币安IEO出售了12.5%的额度又融了500万美元。投资方背景很强,融资金额还算充裕,不过如果18年5月份融资的以太坊没有变现,到现在估计也有点捉襟见肘了。Harmony二级市场表现还算可以,目前价格0.0048左右,相较于私募价0.0065虽处于破发状态,但相较于IEO0.003175的价格还处于盈利。

不过Harmony代币分配感觉并不是很合理,关于协议进展和生态建设部分让人摸不着头脑。

根据团队公开的代币解锁信息,2020年还有两次种子轮的解锁,约14亿枚。加上协议进展和生态建设以及团队的代币,到今年底预计流通量达到70%左右。目前Harmony的Staking好像并没有开始,他们计划在Q1开放抵押,预计年化收益率在10%左右。如果Staking将流通量控住在更小的范围,加之主网之后Dapp的发展,也许还会有不错的表现,当然也要看团队的决策和资金了。NEAR是以传统形式进行的融资,投资方包括MultiCoinCapital、Coinbase、ElectricCapital、MetaStable、百度风投、SVAngel等,共融资1210万美元。目前Near还未登陆任何交易所,预计Q1启动主网并登陆交易所。关于代币分配和解锁以及私募价格等信息官方暂时没有公布。最近看到Near来国内做了几场线下活动,效果还不错,不过来国内的时间貌似选的并不太好,年底国内的环境和市场并不好,并且没有大的利好,很难刺激大家的神经。期待春节后的动作吧。Elrond总发行量200亿枚,目前流通量大约100亿枚,据Coingecko数据Elrond市值排在149名,竟然和Harmony排名相差很少。Elrond相对来说估值低很多,私募出售了19%的额度融了190万美元,投资者包括BinanceLabs、ElectricCapital、NGC、Maven11、WoodstockCapita。后来Elrond在币安进行了IEO,出售了25%的额度融资325万美金。相比来说,Elrond融资应该是最少的,而在官网上看到他们团队有20多人,成本还是很高的,资金看上去也并不充裕,不知道他们是否有再融资的计划。目前项目方都不太容易,如果真的有突破和价值,削减成本保证开发,未来可期。最后,感谢大家的阅读,为了写这篇文章看了很多资料。可能还有很多点未能详尽介绍和分析,以后有机会我们再慢慢聊~原创文章,寻求转账/业务合作请联系作者,未经授权严禁转载,违规转载法律必究。参考资料:

https://info.binance.com/https://elrond.com/https://www.odaily.com/http://www.mimajike.com/https://ethfans.org/https://bihu.com/https://www.chainnews.com/http://near.ai/doomslughttps://github.com/

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

FilARM:加密消亡史2020

编者按:本文来自区块律动BlockBeats,作者:FYJ,Odaily星球日报经授权转载。「大家都在布局A股。」听到这句话,我的思路好像被卡住了。两秒后,我确认朋友没有在跟我讨论加密市场.

[0:15ms0-7:443ms