前言
TokenGazer《一问到底》是一档辨析区块链领域一级市场项目优劣的优质栏目。每一期将针对区块链领域早期的一级市场项目,邀请项目负责人做客现场,和社群内百余名研究员深度问答、科学辨析。旨在通过项目方与研究员高质量的对弈问答,打造专业级别的项目评析平台,厘清项目价值,探寻早期优质项目。同时,让社群用户真正参与价值评析,传递评析方法,在“问与答”中获取价值信息。
本期项目:Harmony
活动时间:11月22日21:30
Harmony:是基于分片等技术的新一代高性能公链,专注于为去中心化经济提供可信,可靠,高效的基础设施。
以下为互动文字整理版:
01.TokenGazer社区成员 彦卿奕:分片、POS、侧链都是为了解决扩容问题的,Harmony将这些结合在一起,这样的目的是为了更高的TPS吗?还是其他目的。然而其他的主流公链仅仅只做里面的一部分都还有很多的技术难点。Harmony是否存在技术难点?
兰荣坚@Harmony:分片是现在大家公认的扩容解决方案,很多项目其实都在寻求分片扩容的办法,比如最早的Zilliqa就是主打“分片”技术,但是Zilliqa其实并没有把区块链数据分块(并不是状态分片)。而业界共识是分片如果想达到好的扩容效果,一定要做到状态分片,Harmony就是状态分片的一种。
同时,现在市面上大部分分片解决方案用的是POW作为身份证明过程,或者说是挖矿过程,效率较低,同时浪费资源。Harmony提出了基于POS的分片解决方案。
02.TokenGazer研究员 L:Harmony的分片技术属于状态分片吗?需要节点保留所有数据吗?
兰荣坚@Harmony:Harmony内的分片,并不叫侧链。大家可能会对侧链和分片产生混淆。其实分片技术和侧链技术确实有些类似的地方。但根本的区别在于安全性的差别。分片技术在把网络节点分开之后,是可以保证每个分片的安全性的,而侧链技术往往不能直接保证侧链的共识安全性,一般会通过主链作为safety net。
Harmony的分片是状态分片,每个分片存的是系统中的一部分数据。片和片间的数据是相互区分开来的。一个智能合约只能存放在一个特定分片内,普通用户地址可以同时出现在多个分片,不过每个分片的余额是区分开来的,每个片内的账户除了地址是相同的,其他信息是不同的。
03.TokenGazer社区成员 彦卿奕:有很多专业人士认为POS共识机制并非真正的去中心化,Harmony如何看待这种质疑?
兰荣坚@Harmony:这是个很好的问题,其实在区块链里,去中心化一直是大家强调的属性,但我个人认为,去中心化的目的是为了保证安全性,但没有必要为了去中心化而去中心化。其实POS和POW在去中心化方面并没有本质区别。可以看到基于POW的BTC和ETH现在几乎已经是几大矿池在把控,矿池数量其实也很少,在十多个左右。项目EOS的21个节点,很难说哪个更去中心化。
所以POS并没有增加中心化风险,相反,在Harmony的系统中,正因为是POS,很多小节点在拥有一定量的Stake时,还可以得到一定的token奖励。而现在的POW的系统,小节点几乎不可能挖到矿了。在这个意义上,我觉得我们的POS更加去中心化一点。
04.TokenGazer研究员 L:白皮书中提到,Harmony的分片在分区时会采用Distributed Randomness Generation的随机机制,是否能达到真正的随机性?
兰荣坚@Harmony:Harmony的网络分片过程是基于学术上公认的随机过程来分的。我们会通过多方计算的方式,产生一个完全不可预测、不可干扰的安全的随机数,对网络内的节点进行打乱,从而达到随机分片的效果。
这个随机数的安全性是很重要的,如果可以被恶意节点干扰,那么分片的过程就不够随机,每个片内的节点的结构就不能保证符合安全阈值。
很多其他项目在分片过程中并没有太考虑到安全性的问题,Harmony对分片的安全性做了系统的计算和验证,保证了很高的安全性。Harmony的随机数产生过程融合了VRF(可验证随机数)和VDF(Verifiable Delay Function)。
VRF的用途是每一个节点都可以贡献一定的可验证的随机熵,从而使最终融合起来的随机数可验证。VDF的作用是防止leader对随机数进行干扰,因为leader在收到每个人的VRF随机熵后,在短时间内不可能知道真正的随机数结果是什么,也就没法做出有利于他的干扰。
05.TokenGazer社区成员 thiigth:我想问一个问题就是,是什么驱使你们团队的大部分核心成员放弃传统互联网的高薪待遇而投入区块链领域,是价值暴涨的诱惑还是说他们为了理想和使命愿意挺身而出?
兰荣坚@Harmony:好问题,我们最近正好有两个成员接受了CoinDesk媒体采访,我把文章发一下:
https://www.coindesk.com/7-facebook-amazon-apple-netflix-and-google-staffers-that-went-full-crypt
https://u.today/from-mainstream-to-blockchain-10-business-giants-whose-people-turned-crypto?fbclid=IwAR3QPj0jITB_UuBus9fMHVsLGxd1Wcz1UUnrun-xzWsbdURAlNpQTN4zNhY
主要是对技术的追求和对区块链行业未来的看好。
06.TokenGazer社区成员 Evan:扩容是为以后做的准备,但是现阶段似乎并不是特别需要高容量?降低落地难度,营造更好开发环境不是更好?
兰荣坚@Harmony:扩容的目的是为了让更多的应用场景可以实现,现阶段的公链性能有限,所以市面上看到的应用大多也对性能要求不高,这其实是一个先后顺序的问题,其实很多应用,比如大规模游戏和去中心化交易所,是需要超高性能的区块链的。只是现在还没有好的公链支持这些高需求的应用。
TokenGazer社区成员 Evan:您的意思是公链的原因限制了生态的营造?而优质公链则会更多吸引DApp的开发?可是现阶段做公链的项目方很多,应用POS和分片技术的也不少,Harmony要如何去吸引足够的开发团队在链上构筑生态?熊市下,大家的心态好像都很悲观。
兰荣坚@Harmony:好问题,这两天币价跌的很惨,很多项目在熊市下都死掉了。Harmony是对技术很专注的项目,并不太在意币价的涨跌,我们的目的是用技术支撑起区块链的信仰,因为没有技术,所以币只能是空气。我们会专心做好技术,为下一次区块链应用的爆发做好准备。
07.TokenGazer社区成员 彦卿奕:Harmony使用的POS共识机制,那么是否有具体的超级节点数量?
兰荣坚@Harmony:Harmony虽然是市面上最好的基于POS的分片技术,但是并没有超级节点的概念。我们的POS和EOS的DPOS不一样,我们没有Delegate的过程,每个节点都为自己说话,自己直接投票。只要一个节点有一定数量的stake,就可以参加共识,投出自己的一票。
08.TokenGazer研究员 旭蝈蝈:每个智能合约只存在一个特定的分片内,当某个智能合约(假设是一个超级火热的游戏),这个时候网络流量都在这一个分片内,分片的作用是不是弱化了,这种情况如何处理?
兰荣坚@Harmony:好问题,当一个合约的流量超过一个分片的容量时(这个阈值在我们的测试环境下大约在1000TPS)。这个开发者,可以在其他分片开设另一个同样的智能合约,分流流量。这就好比大型游戏的服务器区域,当一个游戏同时在线人数过多时,一个服务器没法承受,可以开设多个服务器,让玩家到不同的服务器里游戏。这个解决方案的问题是,不同分片内的同一个智能合约的状态是不一样的。
如果一个分片内的智能合约过于繁忙,用户可以通过跨片的交易去到另一个分片内使用同一个智能合约应用。
TokenGazer研究员 旭蝈蝈:比如我本来在玩游戏,里面有500游戏币,突然游戏火热,tps到了1000,我再次进游戏时发现在另外一个分片,游戏币没了,会有这种情况发生么,如何避免?
兰荣坚@Harmony:你的币在哪个分片是由你自己控制的,系统不会自动移动你的币。所以你说的情况不会发生。当你所在的分片的游戏火了之后,玩家的交易费就会高,所以会有一些玩家主动换分片(服务器)的。
09.TokenGazer研究员 L:Harmony拥有Master Chain和Shard Chain,与QuarkChain的双链结构有些类似,能否谈下有什么区别吗?
兰荣坚@Harmony:Harmony的Master Chain的主要功能是接受POS的staking和产生安全的随机数。QuarkChain的主链是用来做分片安全性保障的。Harmony的分片安全性是通过随机分片过程,从而得到片本身共识的安全性,而QuarkChain,每个分片本身的安全性是需要通过主链的支持才能得到的。相对来说Harmony的系统安全性,更加robust一点,没有Single-point-of-failure的风险。
10.TokenGazer研究员 旭蝈蝈:分片内的节点如何分配?交易跨分片时根据什么因素分配交易归属?
兰荣坚@Harmony:分片内的节点是随机分配的,并且随机过程是不可预测,不可干扰的,保证每个分片内的恶意stake数量在阈值范围内。Harmony的随机分片过程的安全性,是可以通过统计验证的。
11.TokenGazer社区成员 彦卿奕:能否详细的描述一下Harmony的激励机制,以及在Harmony上的DApp交易gas使用规则?
兰荣坚@Harmony:Harmony的激励机制是按照POS的比例,所以是按照投票数量,来分发区块奖励。现阶段Harmony的gas model是复用以太坊的模式,但之后我们会有更多的更新,比如跨片交易的费用会比片内交易高。
12.TokenGazer社区成员 Hill:Harmony链与链之间的通信具体是如何进行的?在区块容量上又有怎样的设计?
兰荣坚@Harmony:Harmony的片间交易是直接通过片对片发送证明来实现的。基本原理就是每个片都是其它片的light client,其它片发生的交易,都在我这个片内进行验证,这样我就可以安全的在一个片把钱打出,在另一个片把钱打入。
13.TokenGazer社区成员 彦卿奕:Harmony节点如何选择出来的,且如何保证选择出来的节点是安全的?
兰荣坚@Harmony:Harmony是通过Staking(也就是POS)来选择节点的,每一个时段,系统会计算一个stake安全阈值,比如100个token。意思是100个token可以相应得到一个投票的权利。在所有人stake之后,每个人手里就有不同数量的投票权,我们会对投票权进行随机划分,进入不通的分片,相应的节点也就到了不同的分片,这个过程可以保证单一分片内的恶意投票数量在安全范围内。
TokenGazer社区成员 彦卿奕:只要有足够数量token就可以投票,那么不诚实的投票风险会不会很大啊?
兰荣坚@Harmony:我们系统做了惩罚机制,不诚实的投票是会受到惩罚的,在一定程度上,提高作恶风险。同时我认为,让更多的小节点可以加入投票,是对系统的安全性有好处的,因为更加去中心化。
TokenGazer社区成员 彦卿奕:自己可以选择加入哪个分片吗?
兰荣坚@Harmony:你的token放在哪个分片,是自己可以选择的。
14.TokenGazer社区成员 thiigth:现在很多做公链的项目都在寻求扩容,提升TPS,而同样我看以太坊生态一个趋势是很多项目在做Layer2的扩展,在Layer2上使用DPOS这种类型的协议,然后还可以免gas交易,在有以太坊公链进行安全保障的前提下又提升了交易效率。这种方案跟直接进行公链的扩容有什么优势和劣势吗?
兰荣坚@Harmony:很好的问题,这个问题本质上在对比分片和侧链技术的优劣。分片是Layer1的扩容,它应该保证全网每个分片本身的安全性得到保证;而侧链的安全性是需要主链的夹持的,通过一些机制,在侧链被攻击掉的情况下,用户的钱依然可以在主链上追回。侧链主要的问题是,侧链本身安全性很低,相对很容易被攻击掉,这是这能靠主链核算来挽回用户损失。但是如果主链(Layer1)的性能不够高的话,大量的核算工作有可能被延迟,这时候侧链用户的损失,是有可能得不到挽回的。所以说,分片和侧链其实是可以相互辅助的,在我们基于分片的主链上,理论上是可以再加侧链的,我们提高了Layer1的性能,对Layer2也是好事。
15.TokenGazer社区成员 Evan:Harmony的共识机制中运用了BLS多重签名?这项技术是否与Dfinity的一致?能给Harmony带来什么优点?
兰荣坚@Harmony:Harmony在共识BFT内使用了BLS多重签名,目的是提高共识速度和网络开销,让所有节点的投票可以快速得到所有节点的验证。和Dfinity的BLS 的区别在于,我们利用的BLS的多重签名能力(multi-signature),而Dfinity利用的是BLS的阈值签名能力(threshold signature)。
16.TokenGazer社区成员 仝春:Harmony募集的以太,请问套现了么?
兰荣坚@Harmony:Harmony之前做了较好的资产管理,同时我们也在积极进行下一轮的融资。
17.TokenGazer社区成员 彦卿奕:Ethereum的状态分片计划预计2021年,足以证明状态分片的难度,那么Harmony的状态分片什么时候上线,是否存在技术难点呢?
兰荣坚@Harmony:我们预计明年上线,分片技术是业界最难的技术之一,难点在于如何安全分片,如何划分数据,如何保证数据一致性,同时如何保证网络开销不会过多。我们对这些问题已经有了解决方案,之后只能等待工程上的实现。Ethereum的状态分片,因为历史原因,需要设计的比较复杂,而且以太坊开发速度一直比较慢,2021年可能也是保守估计。
18.TokenGazer社区成员 彦卿奕:Harmony同时使用POS和BFT两个共识的目的是?
兰荣坚@Harmony:Harmony的共识机制是基于BFT的,但是融合了Staking的投票机制,本质上还是BFT共识。这和Casper的POS加checkpoint的机制类似,只不过Casper主要靠POS共识,Harmony主要靠BFT共识。
TokenGazer社区成员 彦卿奕:我对Harmony的这种投票权的共识模式还不是很理解,但觉得很有意思,希望Harmony能团队能有详细的文章就更好了。
兰荣坚@Harmony:我们会在近期发出具体的解释文章,敬请关注!
19.TokenGazer社区场外提问:每个片都是一个轻节点,如何知道数量达到多少才能满足需求(全局)?
兰荣坚@Harmony:每一个分片是独立的链,我们关注的不是多少节点,而是多少投票权。在有足够的投票权的情况下,每个分片内的恶意投票数量就会在安全阈值内,保证分片的安全。每个分片的投票权数在600个以上。
20.TokenGazer社区成员 少安:主网预计什么时候发布?
兰荣坚@Harmony:主网预计明年二季度上线。
21.TokenGazer研究员 HD:这个VRF加VDF的用法,似乎会延长最终性的时间,是否在加强安全性的同时对性能会有影响?
兰荣坚@Harmony:好问题,VDF会延迟随机数的出现时间,但是产生随机数的过程的复杂度依旧是O(N),所以开销是很小的。我们可以通过pipelining来叠加随机数产生过程,这样每个区块都产生一个随机数。
22.TokenGazer社区成员 SunnyRain、风度:保持分片全局网络的监听,是否会影响处理速度,另外是否会产生数据的存储压力?
兰荣坚@Harmony:这个问题,我们通过Master Chain来解决,每个分片的区块header都会先发到Master Chain存起来,Master Chain广播它的新块,这样每个片都可以高效的收到所有其他片的header。
以上为本期《一问到底》内容汇总,如有更多问题,请关注微信公众号(TokenGazer),欢迎交流。
责任编辑:TokenGazer
本文为TokenGazer原创内容,转载请注明出处。