Harmony联合创始人AMA:如何理解Harmony?

前言:本文是Harmony联合创始人兰荣坚在蓝狐笔记社群的AMA简要记录,有助于我们理解Harmony到底是什么。

 

蓝狐笔记:今天的AMA我们很高兴邀请到了Harmony的联合创始人兰荣坚先生。

兰荣坚:我先做个简单介绍吧,我是Harmony的联合创始人兰荣坚,之前在Google负责安卓应用商店的搜索基础设施搭建,也是硅谷ABC区块链社群的早期创始人之一。Harmony是一个基于状态分片和PoS的高性能公链项目,我们的设计利用了安全的随机分片过程,在保证安全性和去中心化的同时,可以极大提高系统的交易处理能力,即所谓TPS,并且交易处理成本被分摊到多个分片,从而大大降低交易处理成本。

我们的核心技术团队来自硅谷的Google, Amazon, Apple等公司,创始人Stephen Tse之前创立了地图社交服务软件Spotsetter,后来成功被Apple收购。Harmony的目标是为全球去中心化经济体提供最安全和高效的基础设施。

蓝狐笔记:第一个环节,我们先挑选来自蓝狐笔记部分读者的问题:第一个问题,为什么想要构建Harmony项目?可以分享一下背后的初衷和故事吗?

兰荣坚:Harmony的项目建立初衷是为下一代去中心化应用和经济体提供高速、可靠、安全、并且公平的基础设施。我们团队建立于2018年初,当时看到公链有很多问题,比如交易速度慢,交易成本高,无法满足更多新型的区块链应用的要求(例如游戏类CryptoKitties),所以我们利用团队在分布式系统和网络开发的经验背景,加上对区块链协议层和分片技术的研究,决定一起做一条完全可扩展的高性能公链。

蓝狐笔记:来自蓝狐笔记读者的第二个问题,我们知道现在有不少做分片的项目,那么在做分片的项目中,Harmony有哪些优势?有什么突出的地方?

兰荣坚:其实分片技术现在已经有几个项目在做,比如ZilliqaQuarkchain 但相比与他们, Harmony在可扩展性,去中心化,和安全性上都有本质上的不同。

首先,Harmony做了状态分片。状态分片是指每组分片分别存储一部分账本信息,而不是存储全网所有账本。网络分片和交易分片一定程度上可以提高交易处理速度,但如果没有实现状态分片,分片间就没法实现完全独立,交易也必须最终在全网进行同步,这样大大限制了系统可扩展性。只有状态分片才能实现每个分片的独立性,分片间除了跨片交易,不会有多余的数据交换,这样可以最大程度提高整个网络的可扩展性。

此外,Harmony采用的是完全同构的分片结构,Harmony的构架是由一条信标链和多条共识链组成的多链结构,每条链的属性是同质的,但信标链会提供更多服务,例如去中心化的随机数生成,共识链链头的验证,存储和广播,还有最重要的是接受验证节点的权益抵押。也就是说 Harmony的分片结构更加平衡稳定,没有瓶颈问题。

在安全性上,Harmony采用基于VRF+VDF的去中心化随机数产生器来保证分片过程不可预测,不受恶意干扰,进而防止单一分片受到攻击,即1%攻击。

所谓1%攻击,是指系统分片后,每个分片不管是在算力还是在节点权益数量上,都只有整个网络的N分之一,如果有一百个分片,那么利用全网1%的算力或权益就可以完全控制一个分片,进行双花,甚至凭空创造新币。Harmony采用了自适应阈值PoS和安全的随机分片技术,靠算法把大Staker的权益打散到多个分片,使每个分片的恶意权益比例不超过1/3的安全线,确保每个分片的安全性。

在去中心化上,Harmony是第一个实现在Sharding上面做PoS的系统,我们每个分片可以支持400个以上的节点,这样整个系统将包括至少上千个节点。相比其他PoS项目的21100个节点的状态,我们将更加去中心化,并且允许更多非专业的小节点加入。

最后Harmony很关注网络层的优化,如果熟悉区块链底层瓶颈的朋友一定知道网络数据传输是区块链系统最大的瓶颈,Harmony采用了Kademlia跨片路由技术,让跨片间通信的网络开销在O(logN),并且利用Erasure Encoding(纠删码)对区块广播过程进行了优化,在确保数据可用性的同时,避免发送者的网络瓶颈问题,真正意义上实现高效的横向分片扩展。

蓝狐笔记:来自蓝狐笔记读者的第三个问题,Harmony在设计代币时,是如何考量的?ONE在系统中主要发挥什么作用?

 

兰荣坚:ONE在链上主要有三个功能。

  • 一是作为验证节点的Stake,验证节点需要先通过ONE代币来Stake获得投票权,之后才可以进入分片开始共识过程。

  • 二是用户的交易费用会通过ONE来支付,未来Harmony的生态越大,应用越多,对ONE的需求越大。

  • 第三个功能是做链上治理(Governance)的投票权限,在Harmony主网上线后,任何社区对主网的改进提案都要通过社区用ONE的形式来投票决定。

  • 此外,在应用层,我们也在积极和开发者或者企业拓展Harmony应用的需求,比如游戏虚拟物品售卖可以以ONE来支付等等,链上应用越多,对ONE的需求也越大。

蓝狐笔记:来自蓝狐笔记读者精选的最后一个问题,目前团队组成是什么情况?都有哪些背景?投资人方面都有哪些机构参与了投资?

兰荣坚:核心团队15人,工程师团队来自谷歌,亚马逊,苹果,微软等大公司,有数学和安全协议PHD,毕业于美国名校斯坦福,哈佛,宾夕法尼亚大学等。商务团队也都有连续创业和多年做风投的经验。此外我们还有很多半职的员工,分散在国内和美国,总人数在20人,负责周边程序的开发和社区维护等。投资人也可以参考我们的官网,https://harmony.one/

蓝狐笔记:精选问题环节结束,接下来是第二个环节,欢迎大家自由提问题。

蓝狐笔记社群李泽厚:兰总您好,感谢你的分享,我的问题是:我看到你也提到one代币需要通过stake来获取投票权,我想问一下stake后,会有额外收益吗,收益率大概是多少?另外抵押后赎回周期是多长呢?

 

兰荣坚:会有区块奖励和交易费的收益的,我们初步估算年化收益在15%左右。 根据stake的周期来算,回馈周期可以理解为7天,但是其实区块奖励每个区块都会产生。

 

蓝狐笔记社群ShanL:请问一下兰总,咱们这边跟币安是什么契机合作的?想听听背后的故事。

 

兰荣坚:币安是我们非常看好的交易所,团队非常专业,尽责。我们其实也谈了很多交易所,但是最后还是选择了和币安合作,就是看中币安团队的专业性,并且币安的CZ其实也非常看好我们项目,在过程中也给了很多支持和鼓励,Harmony和币安的合作对双方都是共赢的好事。

 

蓝狐笔记社群罗志威:可以具体说说跨片通信时,对于另外片区的账户状态是怎么维护的呢?最终性是怎么保证的?

 

兰荣坚:我们的跨片交易是保证“最终一致性”的,其实机制很简单,但是很高效。比如要从ShardA 打钱到ShardB。那么交易先发到ShardA, 然后ShardA确认要花的钱余额充足,就可以先把钱扣除,然后产生一个proof证明,ShardA的节点之后会负责把这证明发到ShardBShardB收到proof后,通过shardA的区块链头链,就可以验证proof的合法性,如果合法,就可以在收款账户把相应的钱添加上去

整个过程只有第一步会决定交易是否通过,一旦第一步也就是proof产生,之后的步骤是可以保证最终执行的。我们的分片内共识是通过FBFT算法完成的,这个算法是对BFT算法的提速改进,并且保证每个区块都可以立即实现最终性。

蓝狐笔记社群明本圆成:链上的数据存储也会分片吗

兰荣坚:链上数据是一定要分片的,也就是所谓状态分片,我们是有做状态分片的,如果不做的话,其实没有办法突破单节点链上数据存储的瓶颈。

蓝狐笔记社群ShanL:现在公链很多,harmony是如何考虑突破的?

兰荣坚:公链虽然多,但是真正做好扩容技术的不多,我们认为分片是唯一可以达到最好扩容效果的技术,但是现在做分片技术的项目,其实没有完全实现分片的最大潜质,不管是状态分片,还是单个分片的性能,都还存在一些问题。Harmony的设计思路是在保证安全性的同时,实现单片和整个系统的高吞吐量,并且具备即时最终性。我们在安全性上的考量其实和下一代的Eth2.0在一个水平,但我们现有的其他分片项目上没有看到足够的对安全性的重视。

蓝狐笔记社群ShanL:harmony的信标链跟以太坊的信标链类似吗?

 

兰荣坚:好问题,在这一点上我们的信标链的功能和以太坊2.0的信标链功能是类似的,都包括产生可信的随机数,做Staking,同时存储分片哈希指针等。但是我们的每个分片包括信标链,都是有即时最终性的,所以我们的分片数据的一致性要比以太坊2.0的更好,并且交易确认更快。

蓝狐笔记社群明本圆成:那如果基于harmoney开发一个dApp,该dApp需要存储用户大量的数据(比如大文件或者键值对等结构性数据)。这样数据可以直接存在harmoney的链上吗?

 

兰荣坚:链上存储对于有状态分片的我们是可以很好支持的,因为我们的数据是分开在不同分片存储的,每个分片只存一小部分数据,这样不容易出现过载问题。

蓝狐笔记社群明本圆成:如果harmoney能解决链上数据的存储问题  ,那岂不就不需要filecoin了。

 

兰荣坚:其实这是一个权衡的问题,filecoin严格意义上讲不算是链上存储,只能算是分布式存储。其实真正在链上存储大量原始数据是不推荐的。但如果真要这么做,Harmony的状态分片相比没有分片的链,对于数据的可容纳性是更有优势的。

蓝狐笔记社群ShanL:后续考虑怎么吸引开发者吗?

 

兰荣坚:我们有开发者激励计划,包括的核心协议开发的奖励,和周边工具和应用开发的奖励。并且我们支持EVM,这样以太坊的开发者可以很方便的迁移到Harmony上去,让他们之前因为性能原因不能实现的应用得以实现。并且我们会支持WASM,让熟悉其他语言比如C++Rust的开发者也可以在Harmony上开发。

蓝狐笔记社群李泽厚:Harmony 的开发语言是什么呢?

 

兰荣坚:我们用的是Golang,

https://github.com/harmony-one/harmony

 

蓝狐笔记社群ShanL:就是说它极值的话能否支撑起目前的主流应用,假如说我们的分片充分发挥了潜力。

 

兰荣坚:理论上说, Harmony的设计可以做到接近线性的扩容,只要增加更多的分片就能有更高的性能,按照信标链的存储能力估算,我们至少可以支持1000个分片,每个分片1000TPS,那么也就是1百万的TPS 这应该完全满足主流应用的需求。

 

蓝狐笔记社群ShanL:能否支撑起今天的社交应用级别?很多人把layer1看做结算层,您怎么看?

 

兰荣坚:我觉得要看应用场景,现在有做分层设计的,但是layer 2的问题是应用场景受限于点对点高频交易,在特定场景下也许很适合,但如果要通用的高性能处理能力,还是要依靠layer 1,而现在看来只有分片可以做到高处理能力。

 

蓝狐笔记社群ShanL:如果考虑现有的网络条件,最终的成熟状态您觉得大概需要多长时间?

 

兰荣坚:对于很快要普及的5G 如果以后可以有更多的小节点比如家庭PC和移动终端参与到Harmony网络中,会大大提高我们的交易吞吐量,但具体多久能实现很难说。我们会根据应用的需求 适当调整分片数量,来满足更多创新应用的需要。

 

蓝狐笔记社群ShanL:进入区块链领域之后,您最大的感受是什么?跟之前有哪些不同吗?

 

兰荣坚:区块链和传统技术领域最大的不同应该是社区的重要性,毕竟区块链不只是技术,更多的是社区大家的支持和信任。所以也欢迎更多社区的小伙伴关注和支持Harmony,大家一同实现真正的去中心化经济!

 

------

风险警示:蓝狐笔记所有文章都不构成投资推荐投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

通往区块链的新世界:关注“蓝狐笔记”公众号:lanhubiji 

加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq

加入蓝狐笔记群微信:pacinoli

你可能感兴趣的:(Harmony联合创始人AMA:如何理解Harmony?)