回应黑文《Quarkchain(夸克链)?Fuck链?日!》

黑文中文链接:

https://mp.weixin.qq.com/s/Qtx04YTVRLvhlGhB02XQKQ

黑文英文链接:

https://steemit.com/quarkchain/@bitcoinstartrek/quarkchain-red-flags-we-know-something-you-don-t-know


我们回应的英文链接:

https://steemit.com/technology/@quarkchain/response-to-the-article-quarkchain-red-flags-we-know-something-you-don-t-know

QuarkChain 团队感谢社区的支持和理解。对于媒体发表的文章,我们本着大家探讨和研究的态度给予详细回复。下面,我们针对这篇文章里提出的异议给予回复。


黑文:“例如,如果您的分片ID为1的钱包,并且您希望向分片ID 1中的另一个钱包发送1000个令牌,则该过程将非常快,因为TX位于相同的分片中,因此不需要去通过根链,图1。但是,如果要从分片ID 1中的钱包发送1000个令牌到分片ID 5中的另一个钱包,那么由于源地址和目标地址位于不同的分片中,事务需要通过根链,并且它是称为交叉分片交易,见官方答案,图1,问题5。”


回应黑文《Quarkchain(夸克链)?Fuck链?日!》_第1张图片

回复:这里的图3(Figure 3)完全是误导,丝毫没有展示QuarkChain的结构,我们完全不知道这些黑点是什么。首先,所有分片上都是区域链,也就是链状结构。而在此图中每个小方格里“星状”结构代表了什么?其次,所有分片/子链都与根链相连。每个分片都可以进行很多交易并且一个集群/超级节点可以支持多个分片。QuarkChain完全不是这种“公交车站”式的结构。关于这点,我们将白皮书上的QuarkChain结构图附在这里:


回应黑文《Quarkchain(夸克链)?Fuck链?日!》_第2张图片



黑文:“如果某分片在分片的过程中被损坏了,那么该片所存的代币会永久性丢失并且无法恢复。这叫单片分管攻击,同样的问题已经在以太坊(Ethereum) FAQ里讨论过了。在交易分片中,恢复是可能的,因为每个分片都存了完整的全局账本。”


回复:我们不同意以上所述。首先,一片分片不等于一个节点。一片分片是由多个来自不同集群的多个节点运行,每个节点所在的集群都有该分片总账的备份。具体实例请参考QuarkChain的白皮书图7。除此之外,以太坊分片也正朝着状态分片的方向努力。


黑文:“目前还不清楚在国家分片中如何进行重组,这是否会暂时导致网络无法使用?Quarkchain主渠道询问了这些问题,他们的管理员也没有给出答案。看起来Quarkchain的团队似乎不知道如何解决分片状态的问题,但却敢于声称它将使用状态分片来达到1 mps!”


回复:“重新分片”是一个有意思的话题。晚些时候我们将透露更多的技术细节。简而言之,这个设计和谷歌BigTable重新分片技术十分类似:将每个分片的状态一分为二,所以每个状态都有两个分片。基于谷歌之前的研究成果,这点很容易实现。


黑文:“请注意,Quarkchain的团队由Phd和电气和电子工程领域的教授组成,而不是来自区块链相关领域,并且在此之前零区块链经验。值得怀疑的是,该团队可以实现他们声称的1米tps,同时仍然保持足够的安全性和正常运行时间。”


回复:区域链本身不是一个刚刚“破土而出”的全新的技术。实际上,它是一个高度综合的领域,结合了包括安全,分布式数据库,分布式网络,分布式计算,信号处理,优化,网络原理以及大数据等在内的一系列学科。在不久的将来,区域链也将依赖于硬件电路设计。QuarkChain团队实际上综合了许多来自学术界和工业界的经验和专业技能。我们的核心工程师们均是前谷歌和Facebook的员工,这两家公司众所周知已经在集中化的领域成功使用分片技术。我们工程师们正在用分片技术解决大型分布式系统扩容问题。因此,我们的团队对这个项目充满信心。


黑文:“为什么Quarkchain仍然使用PoW而不是最近流行的PBFT算法?这是因为PBFT算法的局限性是PBFT能够支持的节点数量非常有限(不超过50个节点)。Zilliqa正在使用PBFT + PoW,这是一种混合和改进的共识算法。很显然,Quarkchain团队试图完成的事情相当微不足道。他们没有技术知识如何制作强大且安全的分片区块链。他们不知道如何处理国家分片的问题。他们甚至没有意识到通过增加碎片数量,他们的实际TPS将会减少,这是由于交叉碎片交易的增加,如下面在交叉碎片交易中所解释的。”


回复:QuarkChain在分片中使用PoW共识协议算法。“为什么不用PBFT算法?” 没有人确认PBFT更流行。实际上,最具代表性的比特币和以太坊都在使用PoW。“QuarkChain团队试图完成的事情相当微不足道”,难道这意味着“区块链扩容微不足道”?我们认为区域链社区不会同意这个观点。就像在之前回复中描述的那样,我们的核心开发者有着数年在谷歌及Facebook等公司解决大型分布式系统中扩容问题的经验。作者是怎么得出“他们不知道怎样解决状态扩容问题”这一结论的呢?关于“TPS会随着跨片交易增加而降低”这一观点,我们会在底下回复。


黑文:“Quarkchain的另一个问题是每个分片没有最小和最大节点,请参见图1.这会危害区块链的安全性。如果一个节点数量很少的碎片数量很多,那么黑客很容易破坏这个碎片并丢失这些令牌。虽然根链会记录每个分片哈希,但它不记录分片分类的副本。由于分片不共享其分类帐,所以分类账仅位于每个分片中。如图4所示,根链只能识别真正的碎片与被破坏的碎片。”


回复:这一评论实际上证明了作者对状态分片技术的误解。因此,作者提供的图片没有代表QuarkChain的网络结构。QuarkChain支持由许多节点构成的集群来支持安全。具体实例请参考QuarkChain白皮书5.1以及图7(a)和7(b)。


黑文:还有人说,25%的hashpower攻击会危害Quarkchain的整个网络。这是一个主要的红旗,并显示Quarkchain的架构如何不安全,见图5。


回复:所有在QuarkChain网络上进行的交易都会被总体网络哈希算力(hash power)的50%所保护,一个双重支付攻击需要至少25%的hash power。虽然这比一个区域链所需的50%要少,但是由于QuarkChain网络更加去中心化,相对于单个区域链,挖矿者在我们的网络上会更难聚集51%的hash power。更多关于去中心化和安全的细节,请参考白皮书第四部分。


黑文:还有人说,每个钱包最后几位的地址都是来自现场测试视频的碎片ID [7]。这将为黑客提供一个简单的目标,将这些钱包定位到拥有大量代币并知道黑客需要妥协的分片。因此Quarkchain架构的设计只是一个很大的警告。


回复:作者又一次混淆了分片和节点的概念。所有的集群都会保持所有分片的总账,如果要破坏一片分片,黑客必须破坏全部网络?此外,所有在QuarkChain网络上进行的交易都会被总体网络50%的hash power所保护,并且所有的分片都被集群支持。请参考QuarChain白皮书第四章和第五章。


黑文:“这意味着交叉分片交易将由每个块末尾的根链完全确认(比分片链慢15倍)[6]。这是分片的一个有趣的副作用,因为您正在进行跨分片交易[5],您可能不太愿意让您的交易等待15x时间,而不是其他人。”


回复:接收跨片交易的确需要根链的确认(通过确认交易的块头),这需要花比同片交易更长的时间。然而,当交易启动时,用户可以通过地址确认他们是否正在进行跨片交易。就最终结果而言,同片交易和跨片交易都需要等量的时间由根链确认。


我们分片技术的一个很好的类比是因特网:把加密货币在片与片之间的传递就如同互联网中IP 包在不同IP地址间的传递。要访问一个其他洲的网址需要很多跳因此路由时间会长一些。同样的,对于QuarkChain, 用户在进行跨链交易时会有一定的延迟。这里请注意15倍的延迟只是一个悲观的估计。为解决这个问题,我们正在进一步优化区块链里的参数。


黑文:您的交易的概率是交叉分片(TX慢)

源和目标钱包在同一分片中的概率以及交叉分片交易的概率计算如下:

假设是每个分片中的钱包数量相同。

如果我们只有2个碎片,那么相同碎片的概率是50%。交叉分片概率是50%。

如果我们只有10个碎片,那么相同碎片的概率是10%。并且交叉分片概率为90%

如果我们有100个分片,相同分片的概率仅减少到1%。交叉碎片概率是99%

如果我们有1个milllion碎片?同一分片的概率仅为1/1000000 = 0.000001%。交叉分片为99.999999%。

如果不在同一个碎片中会发生什么?然后吞吐量将显着降低,比文献[5]慢15倍。它首先需要被源分片确认,然后通过根链发送,然后从根链发送到目标分片。这实际上比Ethereum网络慢得多。

通过查看上面的场景,很容易发现可用的碎片越多,交叉碎片交易的可能性就越高,因此实际上会减慢区块链的吞吐量!

Quarkchain在现实生活中实际上会变得比以太坊慢!”


回复:这个计算表充分显示作者完全不理解状态分片技术。首先,使用分片技术的目的就是为了提高容量,就是TPS。举个例子,假设每个分片可以处理1000 TPS。 如果一个应用需要500TPS, 那么一片就可以了。 但如果一个应用需要5000TPS,那么它就需要5个分片。为什么吞吐量会下降呢?再次声明,根链只是确认块头来确认跨链交易。


黑文:“用户需要将令牌移动到碎片1是不方便的。为什么他们不能使用任何碎片上的钱包?

X项目发现了不便和低吞吐量的问题,并决定在所有碎片上启动智能合约。因此,现在您不需要在碎片1创建钱包并将您的令牌移动到碎片1.您可以在任何碎片中参与项目X Crowdsale。而且现在TPS要高得多,速度是5倍,因为总共有5个碎片,所以速度是5000 TPS。”


“成本:项目X需要支付5倍的费用来创建智能合约。请注意Quarkchain打算拥有数百万个碎片,换句话说,实际上,Project X可能需要支付100万次的费用,与以太坊的类似ICO合约相比!”


回复:作者再次证明对QuarkChain跨链交易的误解。在这里,我们直接引用白皮书的6.3小节来回答。

“由于用户可以通过私钥管理分片和根链所有地址,因此用户理论上上将拥有与分片数量相同的地址数量。如果分片的数量很大(例如,数千或数万),则用户可能在多个分片中具有多个余额,因此管理所有分片中的所有余额可能是不方便的。我们通过定义以下两种类型的账户进一步简化账户管理:

●主帐户:主帐户是默认分片中用户的地址和余额。

●次帐户:次帐户管理剩余分片中用户的其他地址。

为了简化管理,如果交易需要(例如,访问不同分片中的智能合约),并且如果在交易之后在次账户中存在余额,则用户的大多数交易将从主账户发起,暂时转移到次账户中的地址进行交易,交易结束后余额将被移回主账户。这可以确保用户的余额大部分时间都在主账户中,因此用户不需要管理次账户地址中的余额。此功能由智能钱包执行,由QuarkChain团队提供,并作为开源项目。”


黑文:“智能合约如何跟踪销售的总令牌数量?在这种情况下令牌的最大数量是1百万个令牌。用户可以从任何碎片购买。在其他用于跟踪销售令牌总数的情况下,可以使用很少的方法。

A)跨分片沟通。如果销售令牌,则每个分片中的每个智能合约都将互相更新。如果有一百万个碎片,那意味着如果出售一个令牌,则需要通过根链的一百万次通信!这意味着它是非常乐观的慢!要么

B)特殊的智能合约在Shard 5中表示特别用于跟踪销售的代币。所以,每当一个碎片卖出一个令牌时,它需要更新碎片5中的特殊智能合约,速度要快得多,但仍有很多开销,费用的5倍仍然没有解决。要么

C)通过碎片的数量划分总的令牌。这里1米的代币除以5个碎片,所以可用于碎片销售的每个最大代币仅限于200,000个代币。这种方法将消除跨部门通信并且效率最高,但同时启动如此多的智能合同仍然很昂贵。但它会以牺牲用户的不便为代价。如果分片1有很多参与者,那么它比分片2卖得更快,这对Shard1中的参与者不公平。”


回复:我们认为这里的结论都是基于对状态分片和跨链交易错误理解。QuarkChain系统支持基于以太坊虚拟机的智能合约。为了利用QuarkChain网络的高可扩展性功能,我们还将提供的可扩展性已知的界面,其功能包括合同是在哪些分片上执行以及通过不同的分片发送智能合约特定数据。请参阅我们的白皮书第6.4节关于智能钱包如何支持智能合约进行交叉分片交易的内容。


黑文:“换句话说,Quarkchain架构不会为智能合约执行提供更便宜和更快的速度。实际上,智能合约执行速度比以太坊更慢,更昂贵!”


黑文:“在Quarkchain未来运行的Dapps呢?Dapps无法在所有碎片上运行,因为每个碎片都像是自己的一个岛屿,自己的账本和自己的智能合约执行彼此独立。连接其他碎片的唯一桥梁是通过根链,但根链不记录交易细节,也没有碎片分类的副本,并且绝对不会处理智能合约。”


回复:这是一个误解。根据作者的想象 - “星”形分片,分片可能看起来像一个岛。但是,这不是我们对分片的定义。显然作者对交易和确认完全混淆。交叉分片交易需要根链来确认 (交易块头)。但是,由于采用了分片技术,QuarkChain的交易结算(无论是交叉分片还是分片交易)都需要相同的时间,并且网络吞吐量仍然很高。用户端几乎不能识别交叉分片和分片交易之间的交易结尾差异。QuarkChain系统支持基于以太坊虚拟机的智能合约。为了利用QuarkChain网络的高可扩展性功能,我们还将提供的可扩展性已知的界面,其功能包括合同是在哪些分片上执行以及通过不同的分片发送智能合约特定数据。请参阅我们的白皮书第6.4节关于智能钱包如何支持智能合约进行交叉分片交易的内容。

回复:基于前面所有的回复,可以看到这个结论是不成立的。


黑文:“在Quarkchain未来运行的Dapps呢?Dapps无法在所有碎片上运行,因为每个碎片都像是自己的一个岛屿,自己的账本和自己的智能合约执行彼此独立。连接其他碎片的唯一桥梁是通过根链,但根链不记录交易细节,也没有碎片分类的副本,并且绝对不会处理智能合约。”


回复:这是一个误解。根据作者的想象 - “星”形分片,分片可能看起来像一个岛。但是,这不是我们对分片的定义。显然作者对交易和确认完全混淆。交叉分片交易需要根链来确认 (交易块头)。但是,由于采用了分片技术,QuarkChain的交易结算(无论是交叉分片还是分片交易)都需要相同的时间,并且网络吞吐量仍然很高。用户端几乎不能识别交叉分片和分片交易之间的交易结尾差异。QuarkChain系统支持基于以太坊虚拟机的智能合约。为了利用QuarkChain网络的高可扩展性功能,我们还将提供的可扩展性已知的界面,其功能包括合同是在哪些分片上执行以及通过不同的分片发送智能合约特定数据。请参阅我们的白皮书第6.4节关于智能钱包如何支持智能合约进行交叉分片交易的内容。


黑文:“假如一个高速Dapp需要在Quarkchain上部署,那么如果Dapp只在Shard 1上执行,那么TPS只有1000 TPS!这是慢的。为了提高Dapp的速度,Dapp需要在所有碎片上执行。说Quarkchain有100万个碎片,因此它需要支付100万次的费用!这种方法有多荒谬!”


回复:我们对这里的计算感到完全不能理解。 一般来说费用是基于交易,而不是分片。 所以,一百万个分片并不意味着一百万次的费用。 再次使用Internet示例,公司不会为每一跳路由器收取用户费用。 如果作者在这里所指是智能合同部署的费用。 是的,您需要为每个部署支付费用,但前提是这个Dapp需要许多TPS来支持。 就像使用云服务来支持移动应用程序一样,应用程序越受欢迎,应用程序需要的资源越多,因此您需要为购买这些资源付出更多的资金。 当某个应用只需要一台机器时,没有人会花一百万美元来购买一千台机器。 关键是我们提供可扩展的区块链解决方案,由用户决定Dapp需要多少容量。


黑文:“Quarkchain缩放结构完全有缺陷!它不会奏效,它只会比以太坊贵一百万倍,比百夫太慢百万倍!这是一个由非区块链博士和教授设计的缺陷体系结构,整个团队在区块链方面没有经验,他们发表的论文仅在电子和电子工程领域。这清楚地表明,团队缺乏对分片和如何正确应用技术的理解。”


回复:这个结论是基于作者误导性的解释。 关于QuarkChain团队资格,请参阅我们之前的回复。 我们觉得争论100万倍更慢或者更昂贵是没有意义的。 目前我们的测试网络已经达到超过10,000 TPS,并将在本月底或下月初向公众发布。 我们相信,一旦我们推出主网络,事实将证明一切。


总之,我们认为这篇文章是基于对QuarkChain技术的一些有偏见和曲解的描述,并且缺乏对分片技术的了解。 为了向社区和媒体表明诚意,我们写了这个回应。 我们希望这个回应能够澄清并揭示更多QuarkChain技术细节。

                                                        QuarkChain 团队

你可能感兴趣的:(回应黑文《Quarkchain(夸克链)?Fuck链?日!》)