Jeffrey Hu

Posted on Apr 28, 2023Read on Mirror.xyz

比特币的 Layer2 们

Bitcoin Layer2 是最近一个非常火的话题,但通过最近参加会议、讨论和观察,可能每个人对比特币上 “Layer2” 的理解都不太一样。那么,有哪些技术和项目可以算是比特币“Layer2”?我做了一个大概的梳理:

Bitcoin Layer2s

1)侧链

侧链可能是大多数人认为比较典型的“Layer2”了。侧链项目也确实相对最多,也是目前可能新的“Layer2”项目比较集中的一个赛道。因为比特币上没法实现一个狭义上(或者说以太坊视角上)的“智能合约”,那么直接启一个新的链/侧链的换道飙车的方式就是一个很自然能想到的解决办法,用来提高性能和可编程性。

大部分侧链项目的共识(或者说是共识协议的安全性)由部分比特币主链的矿工通过合并挖矿的方式来提供安全性。这和(部分)跨链安全、restaking 有些异曲同工。

所以至少在侧链这个层面,和以太坊上目前主流 Layer2 的 Rollup 方式就有很大区别。我个人理解从技术上来看,侧链其实更像一个共享了部分主链安全性的 Layer1/子链。

从 Layer1/子链的角度,也就比较好去理解比特币侧链里的 peg 问题了。其实单向/双向锚定就很类似于跨链问题。特别是也有点像 EVM 和非 EVM 链之间的跨链,两个方向上具体使用的跨链技术会有所不同,所以会分成 peg-in 和 peg-out:

  • Peg-in:即主链 -> 侧链,一般比较容易。侧链可以通过 SPV 的方式来验证主链的交易。

  • Peg-out:即侧链 -> 主链,一般很难,因为比特币主链上没法直接去验证侧链上的交易,所以侧链会采用各种 trick,例如见证人(联盟侧链)、经济激励、对多签进行组合等。

每个侧链项目对于如何实现上面提到的共识、peg-in(转入侧链)、peg-out(转出侧链)的方式也不尽相同。以下是对主流侧链项目的一个汇总:

比特币的主要侧链项目

所以再回头来理解侧链和 Layer2 的定义:如果对完全没有使用比特币主链安全性的“侧链”,称其为“Layer2”就更加牵强了。否则,有各种比特币跨链桥的以太坊是否也应算是侧链或 Layer2 ?所以上面的表格里也暂时没有列 Nomic 等项目。

2)状态通道

最为大家所熟知的应该就是闪电网络了,基于 HTLC + RSMC。因为不需要通过主链上所有节点来通过重复运算的方式来验证具体的每笔交易,可以实现非常好的性能上的扩展。

不过值得注意的是,它的交易最终安全性由比特币网络(所有矿工/算力)来保证。所以闪电网络在共识安全性上,是和以太坊 Rollup 这类由 Layer1 整体来保证安全性的 Layer2 是一样的。

此外还有 OmniBOLT。它是 OmniLayer 兼容闪电网络的版本,也可以支持新的 token,但会将这些数据都放在链上。

3)Rollup

据我所知,比特币上的 Rollup 算是比较新的课题。去年有一个在比特币上构建 zkRollup 的研究报告 https://hrf.org/zkrollups ;后来也有一些新的项目,例如 Alpen 在尝试构建比特币上的 Rollup。

不过由于不太好直接实现一个“SmartContract Rollup”,目前的比较可行的方式还是把比特币当作一个 DA 来用。类似思路的还有 Rollkit。

4)客户端验证

和状态通道的想法有些类似,就是不需要所有的状态转换过程都在主链上的所有节点/矿工来通过重复计算的方式来验证;只需要利用主链来保证承诺的安全性即可,主要项目包括: RGB、Taro 等。

RGB 等项目也会提供 FT、NFT 的合约模板来支持一些合约的开发。这些项目也都很有可能和闪电网络结合,例如支持在闪电网络上用稳定币支付等。

除了合约模板之外,RGB 上也有一些项目在尝试更复杂的一些构建,例如 AluVM 等。

5)其他

还有一些比较有意思的链外尝试,例如 Statechain,通过一些技术在链下以类似传递私钥的方式来实现付款。

最后,稍微总结一下这些 Layer2 技术:

  • 侧链:一种比较经典的 Layer2,目前项目也比较多

  • 状态通道:闪电网络等可以实现很好的性能方面的扩展

  • Rollup:目前主要是将比特币的区块空间用作 DA

  • 客户端验证:另一种实现可编程性和扩展性的技术范式,也可以进一步和闪电网络等结合

参考资料: