分片之间分割后的验证节点

 

分片经常被视为一种可以随着网络中节点数的增加而无限扩展的方案。虽然从理论上看,人们是有可能设计出这种方案的,但任何使用信标链概念的方案都不可能无限扩展。为了理解其原因,我们要意识到,信标链要做一些记账的计算工作,例如给分片分配验证节点,或快照分片链区块,而这些都与系统中的分片数量成比例关系。因为信标链本身只是一条单独的链,计算量受限于运行节点的算力,因此分片数量自然就受到了限制。

 

然而,分片网络的结构确实对节点的改进产生了倍增的效果。想象一下这样一个场景,对网络中节点效率作出一定量的改进,从而使得节点处理交易的时间缩短。

 

如果节点(包括信标链中的节点)运行网络的速度提高了四倍,那么,每个分片都可以处理原先交易量的四倍多,而信标链也可以维持原先分片数量的四倍多。整个系统吞吐量的将提升:4 × 4 = 16 倍,这就是二次方分片名称的由来。

 

当前,对于究竟能支持多少分片,很难提供精确的度量。但是,在可以预见的未来,区块链用户的吞吐量需求不太可能超过二次方分片的能力。运行如此众多的分片所需要的节点数,可能比当今所有区块链节点数的总和还要高出几个数量级。

 

illiqa是最广为人知的对交易处理而不是存储进行分片的项目。对处理分片相对容易:因为每个节点都有完整的状态,意味着一个合约可以自由调用其他合约,从链上读取任何数据。为了确保对状态同一部分进行更新的多个分片不会产生冲突,还需要一些细致的技术工作。从这方面来说,Zilliqa的方法有些简单 (2)。

 

尽管之前有提出过对存储分片但不对处理分片的方案,但这是极不寻常的情况。在实践中,对存储分片,也就是状态分片,几乎总是隐含了对处理分片和网络分片。

 

实际上,状态分片中,每个分片中的节点都在构建他们自己分片的区块链,这条链仅包含那些对被分配给该分片的全局状态的本地部分产生影响的交易。因此,分片的验证节点只需要存储全局状态的本地(分片)部分,也仅仅执行和中继那些影响到这些本地状态的交易。这种分区线性地减少了所有包括算力、存储、带宽的需求。但是这也带来了新的问题,例如数据可用性和跨分片交易的问题。这两个问题我们会在下文阐述。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值