×

区块链水平扩展:以太坊分片和plasma区块链树(Part 2)

96
ChainGod
2018.04.18 16:45* 字数 1619

本系列文章初步暂定有三个部分组成:

  1. 区块链水平扩展:第二层网络(Part 1)
  2. 区块链水平扩展:第二层网络(Part 2)
  3. 区块链水平扩展:以太坊的最小化数据分片协议

在part 1中,我们定义了第二层网络:简单地说,第二层网络就是在主链之上,新建一层辅助的平台和协议,这样很多操作就可以脱离主链,直接在第二层中完成,以节省存储空间、提升效率。通常情况下,这些第二层网络本身就是区块链,但它们不能作为独立的区块链运作,它们支持的事务操作最终必须在基础层(主链)上进行验证。

本章将继续讲解其它形式的第二层网络。

Plasma

在目前正在开发的第二层解决方案中,plasma已经成为最热门的话题之一。在plasma中,众多区块链组合成树形结构,如果想要了解详细信息,可以查看Joseph Poon与以太的创造者Vitalik Buterin共同撰写了关于plasma的基础论文:https://plasma.io/plasma.pdf.

为了创建一个plasma网络,首先需要在以太坊主链上发布一套EDCC(智能合约),由这些合约来订阅相关的规则。根据Joseph Poon以及其它开发者的说法,基于以太坊主链延伸出来的plasma区块链或者基于plasma区块链延伸出的另外一个plasma,都被称为子链(child chain)。

在一个plasma子链中,“验证者”(validators, 其作用类似于主链上的矿工)负责将子链的相关活动通知给主链。这里为了节省存储空间:验证者只会将新加区块的hash发送给主链,其它信息一律保存在子链上。

如果其它验证者发现了某个验证者A提交了伪造的信息给主链,那么它们可以提交相关的证明数据给主链,以证明A之前提供的数据是伪造的。一旦证明成功,plasma子链将回滚到伪造之前的状态,这样伪造信息就将被去除,保证了子链的正确性。

实际上,在plasma主链上用到的共识协议,大家肯定耳熟能详:PoS,在这个协议下,某个用户如果想成为验证者,他需要往plasma中存储一些资金,这样才有资格。如果某个验证者提交了非法的区块数据,妄图伪造创建新的区块,那么该验证者的资金将被没收。

如果用户对自己所在的plasma链产生信任危机,那么他可以拿出自己的代币tokens,然后再回到当前plasma的父链,或者父链的父链,如果用户还是觉得不满意,可以直接把代币一直回到以太坊主链。

这里引用Joseph Poon的一句话:plasma区块链树就像各级法院构成的树一样,更高一级的法院可以否认第一级法院的审判结果,最终以太坊主链就是级别最高的最高法院。但是如果每场审判都需要最高法院来参与和审判,那整体效率就非常低了,平时应该由低级法院来审判,如果有用户不认同,则可以回到更高级的法院(最后直到最高法院)来审判。

分片(sharding)

在以太坊分片体系(https://github.com/ethereum/sharding/blob/develop/docs/doc.md)中,所有的用户被划分为一片一片的区域,每个区域就是一个分片,每个分片拥有不同的用户群。每个分片都可以是单独的区块链,分片和分片之间通过主链进行通讯。

这样的话,数以百万计的用户就不必全部拥挤到主链上(目前来说,以太坊就是这么拥挤),这些用户会被分成很多片,每个片都是一个区块链,它会在内部来处理所属用户群体的通讯和交易。这些分片是通过主链上的VMC(validator manager contract)来维持。

在早期的实现中,分片之间的通信被认为是不可能的。

目前来说,在一个分片中,如果用户想成为验证者,那么他需要通过VMC来存储资金(就像前问提到的plasma区块链树一样,分片也是使用了PoS共识协议)。存得资金越多,那么就有更大的概率被选举为该分片的验证者(通过伪随机算法选举)。

分片中的验证者被赋予在该分片创建"collations"(类似主链中的创建区块)的义务,他需要在特定的时间内完成创建。任何验证者都有可能被选举来创建collations,而且他们会在每个创建周期开始之前被选举处理,几乎没有办法去作弊。

由于验证者只需要去创建它们所属的分片中的collations,因此对于主链来说,完全避免了矿工的挖矿行为,节省了海量的计算资源和存储空间。

至此,本篇文章也该完结了,本系列的第三篇文章将带给大家太坊的最小化分片协议详解,敬请期待

外文链接:https://www.ethnews.com/a-survey-of-second-layer-solutions-for-blockchain-scaling-part-2

如果我写的任何文章曾在你的心里荡起涟漪,那至少说明在逝去的岁月里,我们在某一刻,共同经历着一样的技术探索之路。
有时候,虽然素未谋面,却已相识很久,很微妙也很知足。

想学习区块链技术,可以搜索公众号优优区块链课堂或者添加公众微信号uulesson

UU课堂

区块链
Web note ad 1