为什么说 Layer2 应该对 BTC 进行功能拓展
采访者:雾月,极客 web3
受访者:Jolestar,Rooch Network 创始人 & Faust,极客 web3 创始人
针对 Bitcoin Magazine 此前颇具意识形态色彩的「比特币 Layer2 三定律」,Rooch Network 的 Jolestar 老师在推特上发表了自己对比特币 Layer2 的看法。
此情此景,恰似此前 Nervos 公链联创 Jan,在推特上称「比特币 Layer2 不应该只考虑安全问题,还应该考虑功能拓展性,以及对 BTC 货币属性的赋能」。这些言论格外引人深思。
抱着对比特币 Layer2 相关理论进行「刨根问底」的态度,极客 web3 特别邀请到 Jolestar 老师,与 Faust 在不同价值观的角度,共同探讨比特币 Layer2 的定义框架,旨在揭示一种从 DA 与功能拓展角度,对比特币 Layer2 进行多角度定义的路径。虽然目前大家对于比特币 Layer2 该如何定义尚未形成共识,但相关的讨论过程仍然具有重要参考价值。
如何从技术或 DA 角度定义 Layer2
雾月:关于如何定义 Layer2 的问题,其实在以太坊社区也有类似的百家争鸣。按照 Jolestar 老师在推特的说法,Layer2 可以分为「技术或 DA 角度的定义」,与「功能拓展角度的定义」。那么我想先问下 Jolestar 老师,你对于从「DA」角度定义的 Layer2 怎么看?
Jolestar:其实,关键是要让大家明显感受到 Layer2 和 Layer1,以及中心化方案的区别。我认为核心有两点:
Layer2 并不创造新的区块空间。创建新区块空间的技术解决方案本质上都是 Layer1。
Layer2 要利用 Layer1 来实现 DA 以及安全。
雾月:Jolestar 老师在这里解释下,什么叫「创建新的区块空间」?
Jolestar: 这是个好问题。这里所说的区块空间,指的是通过区块链共识机制创造出的「数据存储空间」。区块链创造出的区块空间具备许多特性,比如:完全开放、不可篡改、永久存储 / 长期存储,蕴含着巨大价值。
Bitcoin 作为最去中心化的一个区块链网络,它的区块空间的价值并没有完全发挥出来。而这波 Ordinals 铭文热,可以理解成对 Bitcoin 作为数据可用性层(DA)的价值发现。
Ordinals 协议定义具有扩展性的数据格式标准,让解析、展示、交换 Bitcoin 上铭刻的数据有了套统一的方案。而 Bitcoin 上的扩展协议以及 Layer2,该如何充分有效的利用 Bitcoin 的区块空间,是一个重要的探索方向。
雾月:关于您之前说的「Layer2 要利用 Layer1 来实现 DA 以及安全」,我这里想问,怎样才算是利用 Layer1 实现 DA?
比如,有些以太坊 Layer2(如 Redstone),只把 DA commiment(datahash)发送到链上,commitment 关联着链下数据。虽然 DA 数据没有被完整发布到 Layer1 上,但它允许任何人对 Commitment 发起挑战,要求排序器把完整数据 On Chain。这样做算不算创造 Layer1 之外的区块空间?也就是说,不直接把完整的 DA 数据发布到 Layer1,算不算 Layer2?
Jolestar:这里我谈到的「实现 DA」的含义,其实非常宽容,并不是说 DA 数据的发布就要完全依赖于 Layer1,就算 DA 数据不是完全 on chain 的,只要 Layer2 的资产安全能够和 Layer1 产生关联,就行。
不同的 Layer2 方案,针对的应用场景不同,会有不同的 DA 实现路径,比如上面雾月提到的 DA 实现方式就很值得探索。再比如,CEX 把储备证明提交到链上,就已经向这个方向靠近了一步。所以说,我这里提及的「利用 Layer1 实现 DA」,要比以太坊基金会所说的那种方式,更宽泛。
Faust:其实,把 DA 数据完全 on chain,是为了让任何人或节点,都能够去信任的获取到新增数据,更进一步说是为了资产安全。DA 数据如果不完全 on chain,也未必不安全,比如在 RGB 协议中,只把 data Commitment 发布到比特币链上,关联着的交易数据都存放在链下,这种方案依然能保证资产安全,因为用户会亲自验证与自身相关的交易行为,如果验证不通过,就不允许这样的交易生效。显然这是十分安全的。
所以在 RGB 协议的场景下,即便 DA 数据没有发布到比特币链上,用户的资产仍然安全,如果不考虑用户把数据搞丢了的场景,我会认为这种客户端亲自验证的方式,比直接把资产托付给任何公链都要可靠。即便是把资产直接托管给以太坊网络或 Bitcoin 主网,也没有自己运行客户端验证来的安全,因为以太坊和 Bitcoin 都是第三方平台。
所以说,DA 是否 On Chain/On Layer1,不是 Layer2 的必要条件,但是应该有对应的机制设计,保障 DA 数据的发布是可靠的,至少不该「严重威胁」到用户资产安全。
从生态和功能拓展角度看待 Layer2
Jolestar:从生态和功能拓展角度定义 L2 时,我们关注的是 L2 如何利用或继承 L1 提供的能力。以 Bitcoin 为例,所有的 Layer2 都在讲如何赋能 BTC 的资产属性,如何让万亿级规模的 BTC 的资产,产生额外的使用场景,无论是交易,还是质押,都有非常大的想象空间。
而让一个区块链系统的资产到另外一个系统中交易,都需要一个桥,而这里的关键问题是如何让用户信任这个桥,并保证资产的安全。从这个角度,所有通过桥给 BTC 资产创造使用场景的方案,都可以理解成宽泛的 Bitcoin L2。甚至 BTC ETF 也可以理解成 Bitcoin 的 L2,它是一个完全中心化的托管的桥,通过法律监管保证安全。
所以大家纠结的不是去中心化问题,而是信任问题。去中心化的方案可以降低用户的信任成本,给新的项目带来机会,但 Bitcoin 上如何构造安全的去信任的桥,是一个关键难题,L2 能不能利用 Bitcoin 的其他特性来提高这个桥的安全性。另外,随着 Bitcoin 上的扩展协议发展,无论是 Ordinals,以及 Ordinals 之上的扩展协议(BRC20 等),Atomicals,还是 RGB,Taprootassets 等,Bitcoin 上的新型资产会越来越多,如何让这个桥具有扩展性,可以快速的支持新的资产类型,是一个巨大的挑战。
Faust:Jolestar 老师可能更看好那种宽泛的 Layer2 定义方案。但按照我个人的看法,Layer2 乃至于模块化区块链,是在以太坊社区火热起来的,西方人那边更多还是站在以太坊式的 Layer2 定义标准,来评判如今的比特币生态,这在很多西方 KOL 身上可见一斑。
比如 Oridnals 交易平台 Bioniq 的 CEO @BobBodily,就曾指出比特币生态需要 L2BEAT 那样的组织来评判 Layer2;Citrea 的联创更是直接引用 L2BEAT 发明的一些技术名词,如 Optimium 等,来概括某些特殊的比特币 Layer2 方案。Bitcoin Magazine 的 CEO,更是扬言要直接聘请 L2BEAT 的人来评审比特币 Layer2。[注:Optimium 就是指,不在 Layer1 上发布完整 DA 数据的 OP Rollup]
如果从以太坊 /Celestia 的视角来看待很多「比特币 Layer2」,会发现目前 BTC 生态有一个点很重要,就是很多项目方并没有很精确的找准自己的定位,Self Position 往往有问题。比如,Celestia 这种东西,你觉得算是以太坊 Layer2 吗?当然不算,但他是 Layer2 生态版图里的重要 DA 层模块,是影响力最大的一个。
类似的道理,很多项目不是 Layer2 本身,而是 Layer2 所依赖的基础设施或模块,本质就是 Jolestar 说的那种功能拓展层。这就好比,B^2 Network 与 B^Hub 网络的关系一样,前者是典型的 Layer2 方案,而后者是 Layer2 方案所依赖的设施。
现在比特币生态里很多项目的定位有点混乱,为了降低沟通成本,便于让大家理解,就直接把自己定位成 Layer2。但事实上,有不少项目是类似于 Celestia 和 Avail 的,Layer2 组件堆栈中的核心模块,而不是完整的 Layer2 本身。
具体该怎么分门别类,西方社区尤其是模块化区块链相关社区里的人,肯定一清二楚。相信西方的 OG 会把「哪些是 Layer2 本身,哪些是 Layer2 所依赖的功能拓展层」,给彻底区分开,到时候大家才能更清晰的看清整个 Layer2 生态体系,不至于像现在这么乱。
Jolestar:这里我有一些与 Faust 不同的看法。如果我们抛开具体的实现方式,抽象的理解 Layer2 和其他链下拓展方案,会发现它是一个连续光谱,从最左端的 CEX,到最右端的 Layer1,中间地带的解决方案都可以囊括到这个光谱范围内。
这个光谱的两端也代表着两种不同的成长模式。CEX 基本是完全产品和用户导向的成长方式,而 L1 构建周期比较长,则是叙事和蓝图优先,而 L2 则在中间,会是一种混合的成长模式。
采取包容性视角,我们无需过分纠结于何为「真正的 Layer2」。业界创造的各种技术和方案,Validium、Plasma、主权 rollup、OP/ZkRollup,模块化执行层、去中心化计算、侧链、L2/L3 等,都应被视为这一光谱的一部分,行业通过各种排列组合方式探索着新的应用需要的基础设施。
而不同的项目对新应用的假设不同,也决定了它的组合方式和成长模式,它可能是 Layer1 向左一点,或者 CEX 向右一点。未来是不确定的,这个阶段很难断言哪种模式会成长起来,但有一点是确定的,行业经过这么多年的摸索,有了上规模 Layer1,有了上规模的 CEX,也需要有上规模的中间层填补这个沟壑。
可以通过怎样的方式拓展 Bitcoin 网络
Jolestar:关于这个话题,我想先简单讲讲 Bitcoin 脚本的可编程能力。
BitcoinScript 的编程能力有限,它对资产的编程能力主要表现为三种锁:时间锁,Hash 锁,私钥锁。而 Taproot 让 BitcoinScript 的复杂度可以上一个量级,这为 bitvm 这类方案创造了可能。但更关键的问题在于,Bitcoin Script 是无状态的,作为一种链上执行的编程语言,它无法读取 Bitcoin 的状态,比如时间戳、过往区块的 nonce、以及 UTXO 上附加的寄生资产信息等。
比特币 script 只能依赖交易输入中附带的信息,我们能否利用 Bitcoin 脚本对链下恶意行为实现仲裁,依然是一个待探索的方向。
另外一个角度是密码学上的创新,包括基于密钥交换来构造博弈机制来保证安全的协议,比如闪电网络,「可提取的一次性签名」等。
在这里我想讲一个叫 StackableL2(堆叠式 L2)的概念。如果我们通过智能合约来实现 Bitcoin 的扩展协议的 Indexer,在 Indexer 中解析 Bitcoin 上的所有 UTXO 以及附加的状态,允许开发者通过智能合约部署应用到 Indexer 中,相当于给 Bitcoin 提供了一种新的智能合约层,这就是我们 Rooch Network 的方案。
之前我把这种模式叫做智能 Indexer,但 Indexer 的概念给人的感觉就是只读的,所以用了一个新词「Stackable L2」,指所有在 L2 中包含 L1 全状态的扩展方案,它完全继承了 L1 的所有状态。这种情况下,L2 的应用即可以读取 L1 上的所有状态,同时也可以创建新的状态,L1 和 L2 的资产可以通过堆叠组合来形成新的资产。而 L2 的安全,可以通过模块化的方案来保证。
雾月:能否举个例子说明 L1 和 L2 的资产可以通过堆叠组合来形成新的资产?
Jolestar:比如在 Bitcoin 上有一个铭文来表达一块地。然后 L2 可以在上面堆叠一个房子,他们整体形成了一种资产,它的价值就高于原始的地块。然后有人再把这个房子打造成一个展览馆,然后价值又不一样了。其实这个模式和现实世界中的资产增值模式是类似的。现实世界中的资产也是通过合成,组合,堆叠方式来实现增值的。
雾月:堆叠式的 L2 这个概念有点意思,这个想法是怎么产生的,现在有其他类似的项目在做这类事情吗?
Jolestar:我们是从如何继承 Bitcoin 上的已有状态,无论是 UTXO 还是铭文来思考的。开始想用一种 Merkle 证明的方式,Layer2 节点只保存 Bitcoin 的区块头,并不保存比特币网络的「全量状态」。但实现的时候发现,这种方案用户和开发者体验比较差,不能很好的支持铭文等新型资产。所以后面演化到了保存「全量状态」的形式。
我们看到市场上有类似构思的项目,Ethereum 社区有一种叫做 Booster Rollup 的方案,有个叫 Taiko 的项目,就是在 Layer2 保存了 Layer1 的全量状态,L2 中的智能合约可以直接读取到 L1 的所有状态。当然具体实现上我们还是有差异的,比如它是 EVM 虚拟机,Rooch 是 Move 智能合约,DA 以及安全机制上也有不同。
雾月:在上面的场景里,Rooch 的 Move 语言有什么优势吗?
Jolestar:Move 中的资产都表达成资源或者 Object,而Bitcoin 的 UTXO 以及铭文(Inscription),都可以直接映射为 Move 中的 Object。它们属于用户 Owner 的 Object。Bitcoin 上编程能力受限的一个关键原因是很难表达共享状态,而 Move 有 Shared Object 的概念,在 Layer2 配合起来可以提供不错的编程体验。
CKB 团队提出的 RGB++ 协议与同构映射,是这类思想的先驱,只不过他们的 Cell 是比 Move 语言中的 Object,更彻底、更纯粹的 UTXO,但核心理念其实差不多。
Move 的另外一个优势是它的组合能力,可以在一种资产中嵌套另外一种资产。比如前面那个例子,房子必须是嵌套在地块中的,否则很难实现地块和房子的原子化转让。
Faust:这里面 Jolestar 提到了 RGB++,的确 RGB++ 就是典型的从功能角度去拓展比特币 UTXO 的方案。RGB++ 也不只是适用于 CKB 自身,也适用于 Cardano、Fuel 或是 Sui 等和 UTXO 或类似状态存储模型沾边的公链。
从这个角度看,CKB、Cardano、Sui、Rooch 都可以作为比特币的功能拓展层,这一点无可厚非。现在西方社区过分纠结于「安全性」,而忽视了比特币 UTXO 功能的拓展,是我们该重视起来的。
雾月:Rooch Network 现在是一个什么状态了?上面的方案技术上有哪些挑战?
Jolestar: 我们正在准备 RoochBTC 先行网的启动,以及启动后的运营活动。RoochBTC 先行网会包含 Bitcoin 上的全量 UTXO 状态以及铭文,正在做最后的数据校验以及升级机制方面的改进。
Bitcoin 上的全量数据大约有几百 G,如果把 UTXO 以及铭文全量解析出来用 Move 语言来表达,数据量会再增加几倍。现在各种铭文协议比较多,铭文协议的标准化实现也不完备,很难一次性全部支持,我们需要提供一种动态支持新铭文协议的机制,然后根据社区的反馈逐步增加新协议的支持。
现在测试网已经上线了,欢迎对 Bitcoin 以及 Move 感兴趣的开发者和用户来体验,以及尝试开发应用。