星球日报
搜索
手机客户端
iPhone · Android
微信公众号
微信公众号

iPhone · Android

微信公众号

公链发展下一步怎么走,「Harmony」和以太坊2.0撞思路

2019-05-13

和以太坊 2.0 发展路径有异曲同工之妙。

Odaily星球日报出品

作者 | 遂心

编辑 | 卢晓明

公链发展下一步怎么走,「Harmony」和以太坊2.0撞思路

在区块链生态中,一个能够满足商业需求、高效的区块链公共应用平台是必不可少。以太坊作为第一公链,性能低、扩展性差、Gas 费高等问题都在制约其发展,开发门槛较高、缺乏大规模商业化的基础的缺陷更是频频被诟病。

为此,以太坊提出了 2.0 版本,以太坊 2.0 将会切换成权益证明(POS算法)来达成共识,另外,还有信标链和分片技术的双层设计结构。

Odaily星球日报最近接触的公链 Harmony 和以太坊 2.0 发展路径有异曲同工之妙。

FBFT 共识机制

当前公链中用的最多的是 PoW 算法和 PoS 算法,另外还有 PBFT 算法。其中 PoW 和 PoS 依据最长链共识,而 PBFT 是实用拜占庭容错算法,通过节点间的多轮消息传递使网络内的所有节点达成一致,从而解决分布式系统中的拜占庭问题。

Harmony 联合创始人兰荣坚认为,PBFT 机制的优点是节能、不需要做算力证明,不费电,但传统 PBFT 传递的消息数量大,所以在保证速度的前提下,支持的节点数有限。据介绍,Harmony 是在 PBFT 算法的基础上进行了改良,并将其称为 FBFT 快速拜占庭容错算法。

区别是,在 PBFT 中,需选出一个节点作为“领导者”,其余节点作为“验证者”。领导者向所有验证者广播其提议,验证者反过来将其对该提案的投票广播给其他人,假设有 N 个节点,这个过程将产生 N² 次的交互,从而影响整条链的扩展性。而在 FBFT 中,领导者不要求所有验证者广播他们的投票,⽽是运⾏多重签名的签名过程收集验证者的投票,然后统一⼴播它,也就是说每个验证者仅接收一个多签名,这样大大减少了其中的交互,只产生 N 次的交互,减少了传输的数据量。

公链发展下一步怎么走,「Harmony」和以太坊2.0撞思路

FBFT 共识机制运行示意

这里提到的多重签名,采用的是由斯坦福大学教授 DanBoneh 等人于 2001 年提出,并在 2018 年更新的 BLS(Boneh-Lynn- Shacham)签名方案。白皮书介绍,BLS 签名方案的时候受到 ByzCoin 的启发,ByzCoin 使用 Schnorr 签名⽅方案进⾏恒定⼤小的多签名聚合,在验证者之间进行消息传递。然⽽,Schnorr 多签名需要秘密承诺轮次,导致单个多签名需要两次往返。Harmony 通过使⽤ BLS 多重签名改进,只需要⼀次往返,加快了广播速度。

节点间的验证者根据权益证明(PoS)选出,而领导者根据随机数随机产生,负责将收到的多重签名压缩成一个签名广播出去,由于其责任大,相应的得到的区块奖励会更多,但另一方面,为了制约领导者,也相应有一些惩罚机制,万一领导者没有完成工作,可以根据协议要求更换,如果在广播过程出了问题,也会扣除其部分权益。

在这一点上,兰荣坚表示,这是该机制下美中不足的部分,因为更换领导者时会降低 TPS 。

信标链和分片链

分片扩容是当前多数公链会选择的方式,据介绍,Harmony 是一个基于 PoS 的分片方案,包含一个信标链和多个分片链。

需要注意的是,这里的 PoS 不是指的算法,而是通过抵押代币的形式来验证节点身份的机制,可以理解为,Harmony 是一条基于 PoS 机制采用 BFT 共识算法的公链。PoS 机制体现在我们前面提到验证者的产生上,要成为 Harmony 验证者、潜在参与者(或权益者)必须持有⼀定数量的代币,权益代币数量将决定分配给验证者的投票份额数,每个投票份额对应 BFT 共识中的一票。

Harmony 的信标链上存储有每个分片链的区块头,分片链中新产生区块的区块头将被发送给信标链,信标链通过验证前一个区块的哈希值是否在信标链中被提交过,以及区块中多重签名的签名者是否是该分片的验证者来检查区块头的有效性。验证成功后,已提交的区块头将进行全网广播,每个分片保留其他分片一串有效的区块头,并检查其他分片的交易有效性。

这样一来,一方面,分片间互相广播区块头的网络成本降低;另一方面,由于信标链和其他分片都存有某分片的区块头,增加了攻击某分片的难度,从而提升了安全性。

信标链的作用除了以上增强分片交易一致性和安全性外,还作为安全的随机数产生器存在,兰荣坚介绍,Harmony 的分片方案通过随机数的过程产生。

而在随机数产生的方案上,Harmony 选用了 VRF(可验证随机函数)+ VDF(可验证延迟函数)的方法,兰荣坚介绍,VRF 随机数产生方法下,随机数产生算法是协议层写好的,假设有 10 个验证者,每个人都提议一个随机数,把大家的随机数都加到一起,产生最终的随机数,这样一来,当前 9 个人都报出自己的随机数后,那第 10 个人就可以调整自己的随机数来左右最终结果,由此产生攻击。但加入 VDF 后,通过延迟随机数的计算,加上 PBFT 机制即时最终性的特性,可以有效阻止最后公布者的有意操纵攻击。

公链发展下一步怎么走,「Harmony」和以太坊2.0撞思路

VDF 延迟了最终随机数的公布

通过该随机数产生的方法,随机选出节点所在的分片,以及分片内的领导者角色。另外,据介绍,分片如何产生,用到了一种被称为自适应阙值 PoS 的方法,也就是节点加⼊网络所需的份额阀值会根据总份额数量进⾏调整,通过改变获得投票份额所需要的代币的数量,将各个投票份额分配给分⽚来保障安全,⽽不是依赖于单个验证者,这样有利于分散链上的恶意节点,将分片内的恶意节点控制在一定范围内。

另外,分片扩容不得不提的是跨分片交易,如果分片之间不能实现跨分片交易,各分片间就相互独立,没有意义。

Harmony 的跨片交易分两步,例如,从片 A 发送一定资产给片 B ,片 A 验证成功后扣除相应数量的资产,通过共识产生签名,把签名通过片间的路由协议,以最短的路径发给片 B,片 B 去验证签名后,通过共识将资产打到目标账户。

项目进展

项目进度方面,目前测试网已经上线,主网计划在年中左右上线。

Harmony 的编程语言是 EVM,兼容以太坊智能合约,降低了以太坊开发者的迁移成本,考虑到 Harmony 的发展模式和以太坊 2.0 不谋而合,似乎其正对以太坊上的 DApp 虎视眈眈。兰荣坚介绍,目前考虑接入的应用包括去中心化交易所、游戏、去中心化的地图应用(地图信息的应用)等,他表示,高频交易和相对小额的交易场景比较适合。

团队方面,全职团队和兼职团队一共 16 人,其中技术 9 人。CEO 谢镇滔曾任微软研究院总部任职研究员、Google 总部高级软件工程师 、苹果公司总部主任工程师,曾创立专注于移动搜索的公司 Spotsetter,该公司后被苹果公司收购;联合创始人兰荣坚曾任 Google Play Store 工程师。

据了解,项目上周宣布完成 1800 万美元的融资,投资人包括香港的风险投资机构 Lemniscap、澳大利亚的 BCA 基金、新加坡的 UniValues Associates 和硅谷的 Consensus Capital。

是各个击破还是“缝缝补补”

目前公链扩容方案被市场较为认可和接受的就是分片技术,Odaily星球日报此前报道过的 Zilliqa 和 MultiVAC 都采用的分片技术。Harmony 的技术白皮书中也多次提及 Zilliqa 的分片技术,并提到多条公链发展的不足之处,基于对这些不足的研究和灵感提取,Harmony 完成了自己的发展理念和技术实现。

但问题是,这种看起来像各个击破,又好像是“缝缝补补”的解决方案是不是真的可行呢?

另一方面,以太坊 2.0 是以太坊经过 1.0 发展改进的版本,对于市场具有良好的借鉴意义,但鉴于已经发展多年的以太坊转型之路有太多阻碍,一时间很难直接转向 2.0,但思路相似的一个新公链或许能更早地落地也不可知。

我是 Odaily星球日报记者吴遂心(微信号wsuixin12),加好友烦请备注姓名、单位、职务和事由。

——————————

相关阅读:

链与制作人 | 被看做公链未来的分片技术,究竟离我们还有多远?

星球首发 | 引入存储节点+“弹性计算”,MultiVAC完成1500万美元融资

大神给你介绍以太坊2.0是什么?分成几个阶段?

原创文章,作者:遂心。转载/内容合作/寻求报道请联系 report@odaily.com ;违规转载法律必究。

参与讨论

登录后参与讨论

遂心

新锐作者

遂心

WeChat:wsuixin12 。加好友烦请注明原由。

总文章数: 147


分享至

微信扫一扫分享

0