我们都知道区块链慢的主要原因是所有节点都需要对交易进行全量冗余(计算和存储),随着大家对于区块链理解的加深,我们可以对整个区块链系统做一个功能上的大体划分,以前叫P2P网络和密码学层,共识层,存储层,执行层,rpc接口层,这个时候还仅仅是对区块链系统做一个架构上的划分而已,一开始想到的提高TPS方案
我们都知道区块链慢的主要原因是所有节点都需要对交易进行全量冗余(计算和存储),随着大家对于区块链理解的加深,我们可以对整个区块链系统做一个功能上的大体划分,以前叫P2P网络和密码学层,共识层,存储层,执行层,rpc接口层,这个时候还仅仅是对区块链系统做一个架构上的划分而已,一开始想到的提高TPS方案是分片,就像数据库分片一样,把不同的交易放到不同的分片中,从而提高整体区块链网络的TPS,在2019的时候,分片的概念非常火热,以太坊也朝着方法努力着,甚至分片也分成两个阶段,网络分片和存储分片。比如:quarkchain,near都是分片的代表,也是这个时期的佼佼者。
后面也许是车大难掉头(技术负担太重,利益/经济变动太大等等原因吧,我也不知道具体因为啥),以太坊的V神改变了以太坊的路线图,分片还是目标,但是是最终目标,在到达这个终局目标之前,全力推进rollup方案来提升TPS。ETH2.0的叫法也变成了共识层。
后面分片链的情况大家也都看到了,虽然quarchain和near都号称实现了分片(但是据我的调研,near的分片就是假分片,分片之间没有办法进行跨分片通信),但是币价反应了一切。
也许分片的难度实在太大吧,分片之间如果要通信的话,就引入了另一个难题:跨链。跨链本身就是一个巨大的话题,哪怕到了现在,跨链还是一样离成熟期早着呐。更不要说难度更加大的分片了。
OK,说回rollup。
rollup的思想很简单,我们知道区块链系统耗时的几个阶段有:共识,执行,验证等等几个阶段,我们如果把其中一个,或者几个阶段放到链外(或者叫做链下)去做的话,链的负担轻了,是不是整体的tps就提高了呐。
基于上面的想法,rollup就是把交易的执行放到链下去执行。具体的流程如下:
这里有几个容易导致误解的地方:
rollup的出现,让模块化公链更加清晰,区块链开始学习微服务架构,希望用更加专业分工合作,把区块链分成DA(数据可用性)公链,共识性层公链,结算层公链。然后这些公链合作来解决TPS问题。
区块链里面充满了但是,这里也不能少,因为只要是公链,一定要有共识算法,一定要有token代币,这么多公链之间如何跨链协作,是一个天大的问题。
当下嘛,大家都是基于优先级(money)出发,都在解决token流动的问题,跨链的可组合性还是遥遥无期啊。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!