(Zack)评论Zilliqa的分片

2019年01月02日 亏快链日记 AE前CTO抨击ZIL的分片:你就是个渣渣
信息来源: 亏快链日记 | 2019年01月02日 11:59

Zack抨击ZIL的分片

AE的前CTO——Zack——近日对Ziilliqa的分片进行了Diss(抨击),主要的Diss的大意是:

(对,就是那个两任CTO都跑了的AE,就是那个说AE创始人要打我的Zack,Zack现在搞的项目是Amoveo)

  • “你Zilliqa的随机分片分配不安全,很容易单个分片受到2/3攻击者的控制,然后这个分片变成攻击者的印钞机,然后我这个分片比你牛逼多了”
  • “你Zilliqa的分片给矿工诸多限制来防止攻击,我这个项目矿工可以自由选择哪个分片,比你牛逼多了”

那如果不了解分片是什么的,这里就不详细解释(因为太难我也解释不来哈),只做简单介绍一下:

在所有区块链协议中,每个节点存储整个状态(账户余额,合同代码和存储等)并处理所有交易,所以限制了性能。而分片就提供了一种方案,把区块链分片,然后其中一小部分节点来验证该分片的交易?只要有足够多的节点验证每个交易系统仍然是高度安全的。

分片是区块链性能提高的一个方案。比较著名的一些以分片作为亮点的项目有Zilliqa、Quarkchain等(Rchain也算一个吧),然后本体近期也宣布要做分片,还有就是以太坊的2.0计划,分片是其极为重要的一部分。分片其实已经是一个炒作过的题材,至于还有没有第二次炒作,如果以太坊的2.0或者其他一些新项目在分片上有重大突破,那可能还会有。

但是如果想了解分片的进阶知识我推荐两篇文章,

  • 一个是以太坊做的以太维基百科里面的分片部分,
  • 一个是NEAR Protocol的Alexander Skidanov写的“区块链分片权威指南”。(具体链接见文章最底)

Zack的言论原文

有兴趣看Zack的具体论据的可以阅读原文,原文发布在Zack的Github,具体如下(那如果觉得原文枯涩没关系,你看会上一部分中我写的Diss的大意就好了):

你可以看到 Zilliqa 描述了 如何在区块链上进行分片
关于Zilliqa的这篇文章,你也可以在微信搜索:Zilliqa的设计构思

Zilliqa选择是非常危险的,如果它任何一个分片上有超过2/3的攻击者,那么该分片上就会变成攻击者的印钞机。

Amoveo的分片策略非常不同。

  • 对于我们来说,每个区块都附带了验证区块有效所需的所有Merkel Proofs(默克尔证明)。
  • 因此,对于Amoveo,即使您删除了所有共识状态并且清空硬盘驱动器,您仍然可以验证任何区块。
  • 使用Amoveo,您甚至可以无序地验证区块,这是我们用来并行验证的工具,以便您可以更快地进行同步。

在Amoveo,如果一个分片出现异常,那么该块将无效。每个人都会拒绝这区块。即使它们是该分片上的唯一节点,它们仍然无法欺骗我们接受无效区块。

  • 对于Zilliqa来说,存在着分片的2/3攻击的危险,而随意印钱。所以Zilliqa有一个复杂的过程来为矿工分配分片,来防止这种攻击
  • 在Zilliqa中,每个分片上至少需要600个节点。但在Amoveo中,每个分片只需要一个节点。

有了Amoveo,任何矿工都可以自由地开采他们想要的任何分片。如果矿工缺乏某种共识状态,则矿工无法编写使用该状态的交易。但是如果其他人写了一个使用该状态的交易,并且包含了一些带有交易的默克尔证明,那么任何矿工都会接受交易到交易池中的有效状态。即使矿工使用分片并且没有记录该交易使用的状态。

所以从长远来看,我预计所有Amoveo矿工都将使用存储0%的共识状态的分片。通过这种方式,挖掘池可以快速安装,而您只需要1GB的硬盘即可运行采矿池。

将有其他节点专门存储共识状态并为用户生成交易。

Zack对Amoveo分片疑问的回答

其后Zack对于网友Coiner关于Amoveo的分片与通道(Channel)的混淆的回答也很精彩,至于他有没有对这个问题解释清楚,我觉得至少我是还没完全弄清晰的两者之间还是有点不确定的模糊,但Zack的回答里面有几个点我觉得挺有趣的,他说的两个有趣的点分别是:

  • “以太坊这样的有状态的智能合约系统与分片的目标完全矛盾,我的是无状态的智能合约系统,比你牛逼多了。”
  • “我的智能合约系统放到通道,更新通道不需要把所有东西都放到链上,所以我的分片So Easy,比你牛逼多了。”

Coiner的提问是: 你说你的“分片”与“通道”不同,但在你的解释中,你的分片像是通道。

Coiner所指Zack的解释是:

  • 以太坊这样的有状态的智能合约系统与分片的目标完全矛盾。
  • Amoveo是一个无状态的智能合约系统。由于区块链不存储智能合约中的任何状态,其解决方案解释如下:您付费服务器与您建立一个通道。该通道运行Amoveo上的智能合约。您还要支付该服务器以维护您的帐户状态和渠道状态的证明,发布交易需要这些证据。“

Zack的回答是:

分片是与通道不同的概念。

  • 分片意味着您可以运行完整节点而无需存储所有共识状态。分片节点只能生成使用此节点保留记录的共识状态部分中的帐户的交易。
  • 通道是双向关系,允许支付和智能合约,而不会在区块链上放置多少交易。通过通道,您可以立即付款或更新智能合约,您无需等待确认。因为更新通道不需要任何链上交易。

Amoveo有5种类型用于建立通道关系。通道是在链上记录的双方关系。2个参与者可以将通道中的Veo(Amoveo的代币)发送给彼此,而无需在链上发布任何交易。如果任一对等方未能参与该通道,则另一方可将交易其发布到链上并让区块链进行判断。

在Amoveo中进行分片是通过包含验证交易和交易所需的所有的默克尔证明来完成的。因此,您可以在不了解共识状态的情况下验证交易和区块。您可以按任何顺序验证区块。

在Amoveo中,我们利用此功能来并行验证多个区块,如果您有多个CPU,则可以更快地与网络同步。事实上,我们将智能合约系统纳入通道,这就是为什么分片对我们来说如此简单。

一个链上的智能合约很难与Amoveo分片策略混为一谈,因为它必须包含默克尔证明来证明它接触到的所有数据。

Amoveo只有链上的账户和通道,这两者都很容易进行默克尔证明

注:文章不代表Zack意见,毕竟翻译理解上可能会有偏差,仅供资讯分享用途,也不构成任何投资意见。(我有持有ZIL,暂时没有持有VEO)。

文中提到的分片进阶文章链接如下:

注:本文转载自 亏快链日记,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

    原文作者:大圣2017
    原文地址: https://www.jianshu.com/p/75d838678a6b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞