来源:闪电HSL
随着比特币生态上发了n多币,几乎都被冠于L2概念来获得严肃性,我们有必要认真研究下Layer2这个概念。
在比特币网络上我们管以下产品类型叫过Layer2:
1.闪电网络
2.侧链(驱动链、联盟链这些玩意)
3.客户端验证:omni协议、ordinals协议、RGB协议……等等
从解决问题的视角来说:Layer2应该是解决区块链的可扩展性问题,或者换成更具体的问题来说是增加平均每秒交易量(TPS)、提高交易速度,和降低交易费用。
如果遵守这个功能性定义,我觉得闪电网络和侧链是配得上叫Layer2,但客户端验证配不上。
闪电网络和侧链里的交易都是独立于比特币主网的,这两产品里的比特币交易都是不需要主网矿工来处理,只是在比特币充值和提现到闪电网络侧链时矿工才需要介入。
这样就大大提供了比特币的交易量、速度和大大降低了交易矿工费。
客户端验证本质上还是比特币主网交易,是在比特币交易数据结构里优化,在数据结构里塞一些新数据来表达新功能。
但现在客户端验证也都称自己为Layer2,更可能是将Layer2要解决的问题扩展成了:丰富L1的功能。
受限于比特币主网L1功能贫乏,就只能转个账,现在各路客户端验证的项目都是奔着扩充比特币的功能去的,主要就是扩充了发币功能和非托管式交易所(dex)。
照这样的发展趋势,我想比特币社区的共识可能会将Layer2的概念修正为:解决比特币的可扩展性问题的方案,或丰富主网的功能性解决方案。
从资产的安全性来看Layer2,Layer2里的资产和交易原则上是不应该和L1有本质的差别的。
但目前看来,闪电网络在安全性上是比特币生态里众多Layer2里做的最好的。
侧链更多的是一个多签保证里面的资产的安全性,这是非常不够的。
客户端验证主要是扩充比特币L1的功能,用于发行资产,其他发行的资产的安全性还得受限于客户端本身的共识,这也是和比特币L1的安全模型有本质不同的。
目前看得到的发币协议,taproot
assets是一个安全模型上和L1非常接近的协议。
从计算机的运行原理来看Layer2,任何交易在计算运行原理上可以分成:计算、存储和传输。
在Layer2产品里,闪电网络里的交易的计算、存储和传输都是独立于比特币L1的。只有将BTC充值到闪电网络,和提出到L1时,主网L1才需要介入。
侧链也类似。
而客户端验证则存储和传输都是使用了比特币L1网络,只有计算在自己的客户端。
综上,Layer2这个概念现在正在进入一个达成共识前的混乱时期,很可能会演化成如下的定义:
Layer2是致力于是解决L1的可扩展性问题,或丰富L1的功能性,在安全性致力于实现Layer2的资产尽可能和L1接近。
这里的“或”是关键字。
参考以太坊的实践更加清晰,我觉得以太坊的Rollup的设计是将一个Layer2非常好的设计实现。
Rollup的本质可以用这么一句话来解释:
1.设计一个中心化服务器运行的软件(也可以叫成是客户端吧)和在L1部署一个智能合约钱包;
2.将以太坊资产充值到一个L1的合约钱包,并且在客户端里映射出1:1的token,反过来销毁掉客户端里的token,则可以1:1在L1的合约钱包里提现出对应的资产。
3.在客户端里可以完成资产相关的任何功能和计算,并且定期将资产的最终状态更新到L1的那个合约钱包里(只更新状态根)
4.在安全性上,Rollup里的资产的安全性做到了和L1几乎接近。
5.在计算资源的消耗上,Rollup里的交易主要是在客户端软件里消耗计算资源,在L1上花少量计算资源(压缩比从20:1到几千:1的都有)
Rollup可以说是很好地解决了实现了资产安全性、链的可扩展性、功能性这三个目标,即保证了资产的安全性,又扩展了资产的交易量TPS和交易速度之类的,还大大提高了资产的功能性。
而Rollup是将上面的“或”字,变成了“和”。
目前看来UTXO技术体系里还没有诞生出类似于Rollup的Layer2实现,我感觉bitVM有很小的概率可以做到。