收藏本页
返回顶部

币海首页> 要闻资讯 > 文章

每日科普:区块链分片的理念与挑战(三)

来源:以太坊爱好者    Aries 2019-10-24 10:23 星期四 1,150
币海网微博
微信扫一扫

二次方分片(Quadratic sharding

Sharding(分片)通常被宣传为一种能够通过增加参与网络的节点数来实现网络无限扩展的解决方案。虽然理论上是可能设计出这样一种分片解决方案,但任何基于信标链(Beacon Chain)概念的解决方案都不可能无限地扩展。为什么这样说呢?因为信标链需要做一些记账计算工作,比如上文中提到的,信标链需要将验证者分配到各个分片链中,并对分片链区块做快照,这些计算量是与系统中分片的数量成正比的(即分片数量越多,计算的工作量就越多)。由于信标链本身也是一条区块链,其处理能力受到运行信标链的节点的计算能力的限制,因此分片的数量自然是有上限的。

但是,分片网络的结构确实会使节点改进而产生倍乘效应。因为任何提高节点效率的提升都会使节点能更快地处理交易。如果运行网络的所有节点(包括信标链中的节点)处理交易的速度都变成 4 倍,那每个分片能够处理的交易量将是之前的4倍,且信标链能够维持的分片数量也将是之前的4倍。由此来看,整个系统的吞吐量将变成 4×4=16 倍——这就是为什么这种方案被称为“二次方分片(quadratic sharding)”。

当前还很难准确地衡量划分多少分片是可行的,但在可预见的未来,区块链用户的吞吐量需求不太可能超出二次分片所能提供的。若要安全地处理那么大的交易量,大量的分片所需的节点数量会比现在所有区块链的节点数总量还要大上几个数量级。

但是,如果我们想要开发可以迈向未来的协议,研究这一问题是非常有必要的。截至当前,最为完备的提议就是指数增长式分片(exponential sharding),其中片区会组成一棵树,每个母分片(parent shard)统筹一系列子分片(child shard),而母分片本身可以是其他分片的子分片。

众所周知,Vlad Zamfir 正在研究一种不涉及信标链的分片设计,我曾与他共同研究过相关的原型,具体细节请参阅此文。

状态分片

到目前为止,我们还没有很好地对此进行定义:当网络被分成多个分片时,什么东西被划分开来了,什么东西没有被划分开来。具体而言,区块链网络中的节点主要执行三个重要的任务:

1 处理交易;

2 将已被验证的交易和已完成的区块中继给其他节点;

3 存储整个网络账本的状态和历史记录。

这三项任务中的每一项都对运行网络的节点提出来越来越高的要求:

1 随着需要处理的交易的数量不断增长,节点处理交易时需要更多的计算能力;

2 随着需要中继的交易的数量不断增长,节点在中继交易和区块时需要更多的网络带宽;

3 随着状态的增多,节点在存储数据时需要更多的存储空间。重要的是,与前两者不同,即便交易率(即每秒处理的交易量)不变,节点的存储需求依旧会不断增加。

由此可见,存储需求看起来似乎是最为紧迫的,因为它是唯一一个即便每秒处理的交易量不变,照样会随着时间的推移而增加的要求。但实际上,当前最为紧迫的是对计算能力的需求。目前,整个以太坊状态为 100G,对于大多数节点来说都不是什么难事。但当前以太坊可以处理的交易量约为每秒 20 笔,比许多实际用例中所需要的 TPS 少了好几个数量级。

当前最著名的对交易分片(而非对存储分片)的项目是 Zilliqa 。对交易处理进行分片是一个很容易解决的问题,因为每个节点都存储网络的完整状态,这意味着每个合约可以自由地调用其他合约,并从区块链中读取所有数据。为此仅需要一些谨慎的工程,保证来自多个分片的状态更新不会相互冲突。由此来看,Zilliqa 采取了一种非常简单的方法,详细的分析可参阅我的这篇文章。

虽然很多人提议对存储进行分片,而不是对交易处理进行分片,但我还没有看到有任何项目在这么做。在实践中,对存储进行分片,或者说状态分片(State Sharding)几乎也就意味着同时对交易处理和网络进行分片。

实际上,在状态分片中,每个片区中的节点就是在搭建自己的一条分片链,这条链中包含的交易只会影响这条分片链本地的状态。因此,分片中的验证者只需要存储本地的状态,并且只需执行和中继那些影响本地状态的交易。这种拆分减少了节点对计算能力、存储和网络带宽的需求。但也引入了新的问题,如数据可用性和跨分片交易。我们会在下文中探讨这些问题。

点击关注币海启行微信公众号,了解更多

币海微信二维码

版权信息
来源:以太坊爱好者
版权:转载
原文链接:https://www.bihai123.com.cn/news/zhuanlan/65579.html
作者:Alexander
编译发布:Aries
声明:
此文为转载内容,不代表币海启行网的观点和立场,仅供参考。

用户评论 (0)

0/140

关注支持

内容合作 / 友情链接

服务与应用

币海公众号
扫一扫,关注币海
币海网

区块链行业资讯链媒[币海资讯官网]

  CopCopright @币海网 · 前海宏创投资(深圳)有限公司 · 版权所有