Lightning

Posted on Feb 16, 2022Read on Mirror.xyz

区块链的可扩展性问题可能在理论上已经解决了

区块链的可扩展性问题一直都是币圈最大的事,解决方案也层出不穷,现在最成功的Rollup看起来已经摸到了最后的皇冠的边了。

什么是可扩展性问题?

可扩展性最具体的指标就是链的TPS,即链每秒能承载的交易笔数。BTC是理论上是最多7笔每秒,实际平均值是3笔每秒。即BTC网络一秒最多能处理7笔交易,多了就只能排队等。以太坊网络的TPS平均是10到15笔/秒。要知道支付宝的支付峰值TPS是54.4万笔/秒(2019年双11节创下的),比BTC高了超过10万倍。

除了提高TPS,可扩展性解决方案还要保证区块链最原始的目标,最重要的就是去中心化和无须许可,只有这样才能保证安全和隐私。

可扩展性还有另外一个隐性的目标是经济收敛性,即扩展出来的交易和用户量得要在一个经济生态里。

像Polygon这样的侧链确实是实现了ETH的扩容,但它另发了一个币,经济上是和ETH相隔离的,没有实现经济收敛。

可扩展性还有一个隐性的目标是实现功能的多样性,即让区块链可以做更多更复杂的事。

 

历史上主要的可扩展性解决思路。

1.另造链。这个最简单粗暴。但最大的缺点经济不收敛,做出来很难获得用户。

2.直接链上扩容。如BCH对BTC的1M区块改成8M;如ETH提高区块的gas limit。优点是简单有效,但会影响去中心化,存在可扩展的上限。

3.状态通道。如BTC的闪电网络、ETH的雷电网络。技术太复杂了,一直没成功。

4.侧链。和另造一条链差不多,但目标是想做到和主链经济收敛,以及和主链共享安全性。但实践起来一直不理想,最大的问题是目前还没找到去中心化的主链和侧链之间双方锚定(two-way-peg)的相互转币的解决方案。BCH的侧链smartbch有望在今年5月发布sha-gate升级,目标就是解决这个two-way-peg问题,希望能成功。

5.分片。可看成是特殊的侧链。放弃一个完整节点包含和处理所有(历史的和未来的全部)交易的目标,将待处理的交易分成片,一个片包含相当于一条链,并且在理论上可以证明这些分片可以相互信任。技术太复杂了,一直不成功,包括最著名的ETH2.0,基金会都宣布放弃最初的分片计划。

6.分层L2 。最早的usdt-omni就是基于此技术实现的。在2018年BCH生态对这一理论做了大量的理论建设和实践。基本原理是将交易的存储和计算分开来,在L1-BCH当成是存储层,将计算全部迁移到L2上。

分层L2的缺点非常明显,安全性无法和L1保持一致。

7.Rollup。是现在最火,看起来也将会是最成功的可扩展性解决方案。

 

L2-Rollup的核心思想。

Rollup的设计的本质就是通过某方式来证明在L2上的交易执行的规则,完全符合L1的执行规则。

zk系列的L2设计方案,就是通过数学(零知识)证明,证明在zk-L2上的交易完全符合L1上的交易规则。L2-Rollup节点会验证用户在L2发送的交易,并定期(一般是10分钟)将交易数据和证明文件上传到L1,L1并不需要去真实验证这些用户发送的交易,只需要验证L2递交的证明文件,就能知道这些交易是合法的。

OP系统的L2设计方案,是通过抵押资产,声明自己不作弊,如果谁能证明我作弊了,就可以罚我的抵押资产。就是默认L2不会作弊,这就是所谓的乐观rollup。

L2-Rollup包含了分层L2的设计理念。L2-Rollup会将用户发送的交易数据全部存到L1,这些数据是证明L2符合L1规则的必要组成部分。这也是Rollup这个词的来源,将多笔交易卷起来扔上去(L1)。

Rollup这种思路非常牛逼,完美地实现了可扩展性所有的指标,提高TPS,安全性和L1接近(甚至一致),(可以)实现去中心化(现在的rollup项目都是中心化的),经济收敛。

但还有一个问题。

L2将交易数据存在L1,L1存储数据也可能是瓶颈,这又引出了数据可用性问题。

 

数据可用性

主链ETH只存储Rollup上传过来的数据也是要成本和验证证明文件(zk方向),如何保证L1的节点会完整存储这些数据,以及如何实现数据存储可以无限制的扩展。

L2的设计理论并没有要求运行Rollup的节点永久保存这些交易数据。

对ETH来说,如果L2-rollup实现了1万倍的扩容效果,那L1需要存储的数据就要多1万倍。这也会伤害去中心化。

如果让L1的节点进行“分组”,让一组节点只存储部分来自L2的交易数据,所有分组加起来就等于存储了其他交易数据。这就是以太坊L1的数据分片设计思路。

但每个分片如何知道和验证来自L2-Rollup所有的交易确实被存储到了L1的各个分片区块里呢?

这就用到了数据可用性的概念,数据可用性的算法很多,但有一种是很好理解,对数据进行抽样检查,L1的节点可以任意抽取一些数据,每多一次成功抽样检查就提高了交易数据完整被上传到了L1的概率,当概率大于一定程度就可以认定为完全合法了。

 

L1+L2-Rollup+L1数据分片+数据可用性,这样就构成了一个完整可扩展性解决方案。从逻辑上感觉这个很完美,L2的安全性和L1基本上致,整个系统的去中心化程度可以不打折扣,可实现的扩容效果非常高,轻松上万倍。

 

BTC和BCH这些UTXO派可以用这套逻辑去解决可扩展性吗?