TokenGazer一问到底|第十二期:研究员 vs QuarkChain

TokenGazer一问到底|第十二期:研究员 vs QuarkChain

前言

TokenGazer《一问到底》是一档辨析区块链领域一级市场项目优劣的优质栏目。每一期将针对区块链领域早期的一级市场项目,邀请项目负责人做客现场,和社群内百余名研究员深度问答、科学辨析。旨在通过项目方与研究员高质量的对弈问答,打造专业级别的项目评析平台,厘清项目价值,探寻早期优质项目。同时,让社群用户真正参与价值评析,传递评析方法,在“问与答”中获取价值信息。

本期项目:

QuarkChain

活动时间:

10月11日 21:30

QuarkChain:基于分片技术的区块链底层技术方案,它具有安全、去中心化、高吞吐能力和可扩展的特性,它将实现每秒10万级链以上的交易处理能力。

以下为互动文字整理版:

01.TokenGazer研究员 L:QuarkChain的分片技术与市场上运用分片技术的项目(以太坊、Zilliqa)有何区别?有什么特别的优势吗?

QuarkChain 周期:

现在市场上面做分片主要有两个:

①Zilliqa是使用网络分片,这样的话,每个节点的存储开销会比较大。我们要做状态分片,通过集群的方式来管理。以太坊的话,是支持状态分片,但是设计的更加复,要保证向后兼容性。

②还有一种交易分片,其实网络分片和交易分片比较类似,在Zilliqa里面,是通过网络分片来实现交易分片。

02.TokenGazer社区成员 HILL:QuarkChain是如何保证算力被分片分散的情况下网络安全的?

QuarkChain 周期:

关于算力被分片分散的问题,这个是一个很有意思的话题。

首先,我们认为一个链的安全,现在很大的程度上面不是拥有全网多少算力,而且有多少算力,并且在拥有这些算力的情况下,攻击的成本。

举个例子来说,以太坊现在的算力是227.34 TH/S 以太坊经典的算力是14.97 TH/S。以太坊经典的算力连以太坊的10分之一都不到。也就是说以太坊上面的一个矿主,只要拥有7%的算力,就可以对ETC进行攻击,但是现在ETC还没被攻击,那是因为即使要使用14.97 TH/S进行攻击,成本也不少。

而我们的设计目的在于,让根链有一般以上的算力,比如如果是Ethash的例子,有(227.34 + 14.97)/2 = 141 TH/S的算力在主链保护大家安全,同时(假如有100个分片),有141 TH/S / 100 = 1.41TH/S在每个分片上面来出交易的块,使得1,每个分片更加安全(比ETC),每笔交易需要的算力更低 (比ETC/ETH),提高算力对安全和交易的效率。

03.TokenGazer社区成员 AV数字化教主|Viviyorg|周鹏:状态分片之间有什么类型和程度数据交互方式,如何实现的?

QuarkChain 周期:

状态分片之间的数据交流叫做跨片交易,现在支持跨片之间的转账。打个比方,我在各地有多个银行,比如中国和美国。我现在在美国有些余额,需要在中国开展业务,那么我需要把美国银行账户的金额转到中国哪里,才能开展。这个转账过程就叫跨片交易。数据类似银行之间转账需要的数据,包括发起方的地址,接收方的地址,金额之类的。

04.TokenGazer社区成员 张瑜:首先我是QuarkChain的老粉条,从去年12月开始,其他人问的问题这大半年我都有了答案,QuarkChain是颗耀眼的星。问周总一个区块链问题,区块链有不可篡改特质,假如上链信息是黄赌毒等国际共识不允许的信息上链,不可篡改该怎么办,怎么面对?

QuarkChain 周期:

这个是一个很好的问题哈。首先,区块链上面信息的成本相对于网站而言要高很多。比如Google的数据,以前默认是存三个备份,现在更多。但是区块链上面,每个节点都需要存储所有的数据,也就是备份系数会高很多(比如以太坊有差不多16000个节点,也就是备份)。这样的话,大规模提交这些信息在区块链上面,会有高的成本,很难规模化。

当然,不可避免的会有一些信息上传,但是传播的影响力就会小很多了。

05.TokenGazer研究员 旭蝈蝈:会不会出现分片向根链上提交数据失败这种情况,如果出现了,QuarkChain分片上对已经记录的交易是怎么处理的?

QuarkChain 周期:

不会出现分片向根链提交数据失败的问题。跟以太坊上面的L2解决方案不一样,L2的解决方案需要不定时的提交数据到以太坊上面,一旦拥堵,会导致数据不能及时上传。

我们的设计里面,有两个主要方法避免这个问题:

①我们的根链除了包含分片的片头数据之外,不处理额外的交易。这样的块的大小非常小,拥堵的情况比较难(除非是交易达到百万级每秒的规模)。

②我们有一个叫做纳税的代币经济学。根链的回报是根据包含分片的数目来觉得的。这样的话,其实是根链的挖矿人有非常强烈的动力来包含每个分片的数据的。

TokenGazer研究员 旭蝈蝈:就是一个是本身的数据结构的优化,一种是激励模型保证分片跟根链通讯正常?

QuarkChain 周期:

可以这么理解哈。

06.TokenGazer研究员 L:再问一下关于跨分片的问题,分片之间的通信是有固定频率吗?频繁的跨分片通信是否会影响主链的TPS?

QuarkChain 周期:

分片之间的通信频率是根据用户提交的跨片交易的频率来决定的。因为根链只确认每个分片的块头数据,所以不会影响主链(或者系统的)的吞吐。

但是如果跨片交易太多,尤其是发送到某一个分片的跨片交易太多,系统会通过共识来限制,避免出现一个分片过热的问题(Hot Shard Problem)。关于跨片交易的限制,现在我们还不允许跨片直接调用智能合约。但是允许用户转账到目的分片的地址之后再来调用智能合约。

07.TokenGazer研究员 L:QuarkChian如何对分片节点进行分配,是否运用某种随机的机制?是否存在一个分片内存在大部分恶意节点的情况?

QuarkChain 周期:

对节点分配也是现在一个比较火的问题。一般的思路是通过一个很大的节点池子来选择节点参与到不同分片。这样需要:

我们现在解决的思路比较暴力,让每个全节点处理所有的分片和根链的数据。当然,一个用户可以只运行某几个他感兴趣的分片的节点。这个想法给EOS的超级节点有点类似。但是有几个关键的不同:

①很好的随机机制来分配,并且该机制要足够随机并且大家都能够达到共识。

②分片的数目不能太多,要保证分片里面有足够多的节点避免恶意节点的问题。

③当节点要切换到不同分片的时候,需要做数据迁移。

TokenGazer研究员 L:会采用哪些具体的随机机制吗? 因为其他项目比如Algorand或者Dfinity是用了VRF的完全随机性。

QuarkChain 周期:

我们现在没有用这些随机性,如果用的话估计会用PoW/VRF的一些特性来做。

08.TokenGazer研究员 旭蝈蝈:QuarkChain这样的状态分片是否会根据交易进行分配到相应分片?

QuarkChain 周期:

每笔交易都会有一个字段,来说明该交易对应的分片是哪个,然后每个收到这个交易的全节点(或者集群),会根据这个字段,把这个交易广播到该分片的网络里面。

TokenGazer研究员 旭蝈蝈:这个字段是随机的还是根据地址或者交易哈希来的?

QuarkChain 周期:


TokenGazer一问到底|第十二期:研究员 vs QuarkChain


这个是以太坊的Uncle Rate图,可以看到在进入2018,以太坊火爆下,网络节点数目和挖矿数目的增加,Uncle Rate的增长也是大大增加。这个字段是根据发起方的金额所在地(分片)来决定的。

还是之前的转账的例子,我要从美国转账到中国,我必须在美国银行发起该交易,并提交中国银行的信息,才能执行。


TokenGazer一问到底|第十二期:研究员 vs QuarkChain


这个是https://whattomine.com/里面显示的以太坊和以太坊现金的算力和其他的挖矿信息。

09.TokenGazer社区成员 HILL:能具体谈下挖矿奖励具体是如何在全节点与分片/小节点之间分配的吗?有哪些维持全节点与分片/小节点上算力平衡的机制呢?

QuarkChain 周期:

一般一个区块链(比如比特币,以太坊),每个块的挖矿奖励包含两个:1. 该块本身的收益;2. 交易的手续费。

在我们的设计里面,引入的税率 alpha,分片的收益是 (块本身的收益+手续费) * (1 - alpha)。而主链的收益是根据包含的多少分片块头的信息,每个块头的收益是 (分片块本身的收益+手续费) * alpha。这样导致主链会尽量多的包含更多的分片的块头,收取更多的税收。这个整体的共识,我们叫玻色子共识。

具体信息可以看:

中文:

https://www.chainnews.com/articles/370079246435.htm

英文:

https://medium.com/quarkchain-official/quarkchain-explained-part-4-sharding-in-quarkchain-consensus-8032704319bd

10.TokenGazer研究员 L:第8个问题中,如果发起了一笔交易那么是哪一方的分片来记录这笔交易呢?就像是您举例的,从美国转账到中国,如果是美国记录这笔交易的话,那么为什么还需要跨分片通信呢?是不是只需要发起方的那一部分分片记录就行了?

QuarkChain 周期:

第8个问题的回答补充,需要发起方和接收方都要记录这个交易。发起方要保证转账的金额被扣除(发起交易),接收方要保证金额被确认并存入账号(接受交易)。这个过程其实跟nano特别像。大家可以去参考一下(其实我们认为nano就是一个极致的分片方案,使得所有交易都是跨片交易)。

11.TokenGazer研究员 旭蝈蝈:分片上的块是如何提交到根链上的,是随机选取代表节点由专门的节点提交么,整个提交流程能谈下么?还有就是如何保证每个分片的提交数据的时效性?

QuarkChain 周期:

因为每个全节点都有所有分片的信息,所以知道有哪些分片还没有被根链确认。在挖根链的一个新块的时候,为了能够拿到最大的收益,该全节点会把所有分片没有被确认的块收集起来,打包在该主链的块里面。在这里面,使用的是代币经济学,就像BTC/ETH的每个块,大家都尽量包含多的交易来收集更多的交易费作为挖矿的回报的经济学原理一样。

TokenGazer研究员 旭蝈蝈:集群过后的全节点提交么?

QuarkChain 周期:

全节点就是一个集群。

12.TokenGazer研究员 L:QuarkChain的具体应用场景是哪些?有什么Dapp生态的计划吗?

QuarkChain 周期:

应用场景很多。首先,作为支持智能合约的通用公链,我们可以完成现在以太坊/EOS的工作,并且能够把很多应用能够更好的扩容。其次,我们QuarkChain 2.0,会支持垂直公链的加入。包括:新的共识机制,新的虚拟机甚至新的代币经济学。

Dapp我们已经有50多个合作伙伴了,现在我们在做程序员社区,在举办TPS比赛,第一名有1个BTC的奖励。具体可以看:

https://www.chainnews.com/articles/868040677528.htm

13.TokenGazer社区成员 AV数字化教主|Viviyorg|周鹏 :QuarkChain 在GitHub代码提交不多呀,还有目前哪个社区平台讨论技术这块呢?

QuarkChain 周期:

我们的pyquarkchain的提交在半年左右时间已经有965个了,对应的以太坊pyethereum ,也才2997个。这个算不多吗?而且我们每个提交的commit都是很有料的,不像我们了解的一些项目,修改几个注释,也来提交,刷提交的数目。另外,我们还有一部分的代码还没有开源(钱包之类的),所以一些开发信息还没有看到。

14.TokenGazer社区成员 HILL:V神和吴忌寒在前一段时间上海区块链全球峰会上都强调了隐私的重要性,QuarkChain在此方面有哪些设计和考量呢?

QuarkChain 周期:

这方面的话,我们可以通过两方面来支持:

https://github.com/QuarkChain/pyquarkchain/blob/master/quarkchain/cluster/master.py#L731

TokenGazer研究员 旭蝈蝈:对问题14 的一些疑问,QuarkChain提到了一些灵活性,对分片的虚拟机进行升级,升级会不会对分片内的共识进行改动?

QuarkChain 周期:

升级一个分片的虚拟机,类似以太坊本身的一个硬分叉(比如最近的以太坊在测试最新的硬分叉),不需要对共识进行改动。

以上为本期《一问到底》内容汇总,如有更多问题,可关注公众号(TokenGazer)给我们发送信息,感谢您的阅览。


分享到:


相關文章: