现在比特币生态里很多项目的定位有点混乱,为了降低沟通成本,便于让大家理解,就直接把自己定位成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,也需要有上规模的中间层填补这个沟壑。
Jolestar:关于这个话题,我想先简单讲讲Bitcoin脚本的可编程能力。
BitcoinScript的编程能力有限,它对资产的编程能力主要表现为三种锁:时间锁,Hash锁,私钥锁。而Taproot让BitcoinScript的复杂度可以上一个量级,这为bitvm这类方案创造了可能。但更关键的问题在于,BitcoinScript是无状态的,作为一种链上执行的编程语言,它无法读取Bitcoin的状态,比如时间戳、过往区块的nonce、以及UTXO上附加的寄生资产信息等。
比特币script只能依赖交易输入中附带的信息,我们能否利用Bitcoin脚本对链下恶意行为实现仲裁,依然是一个待探索的方向。
另外一个角度是密码学上的创新,包括基于密钥交换来构造博弈机制来保证安全的协议,比如闪电网络,可提取的一次性签名等。
在这里我想讲一个叫StackableL2(堆叠式L2)的概念。如果我们通过智能合约来实现Bitcoin的扩展协议的Indexer,在Indexer中解析Bitcoin上的所有UTXO以及附加的状态,允许开发者通过智能合约部署应用到Indexer中,相当于给Bitcoin提供了一种新的智能合约层,这就是我们RoochNetwork的方案。
之前我把这种模式叫做智能Indexer,但Indexer的概念给人的感觉就是只读的,所以用了一个新词StackableL2,指所有在L2中包含L1全状态的扩展方案,它完全继承了L1的所有状态。这种情况下,L2的应用即可以读取L1上的所有状态,同时也可以创建新的状态,L1和L2的资产可以通过堆叠组合来形成新的资产。而L2的安全,可以通过模块化的方案来保证。
雾月:能否举个例子说明L1和L2的资产可以通过堆叠组合来形成新的资产?
Jolestar:比如在Bitcoin上有一个铭文来表达一块地。然后L2可以在上面堆叠一个房子,他们整体形成了一种资产,它的价值就高于原始的地块。然后有人再把这个房子打造成一个展览馆,然后价值又不一样了。其实这个模式和现实世界中的资产增值模式是类似的。现实世界中的资产也是通过合成,组合,堆叠方式来实现增值的。
雾月:堆叠式的L2这个概念有点意思,这个想法是怎么产生的,现在有其他类似的项目在做这类事情吗?
Jolestar:我们是从如何继承Bitcoin上的已有状态,无论是UTXO还是铭文来思考的。开始想用一种Merkle证明的方式,Layer2节点只保存Bitcoin的区块头,并不保存比特币网络的全量状态。但实现的时候发现,这种方案用户和开发者体验比较差,不能很好的支持铭文等新型资产。所以后面演化到了保存全量状态的形式。
我们看到市场上有类似构思的项目,Ethereum社区有一种叫做BoosterRollup的方案,有个叫Taiko的项目,就是在Layer2保存了Layer1的全量状态,L2中的智能合约可以直接读取到L1的所有状态。当然具体实现上我们还是有差异的,比如它是EVM虚拟机,Rooch是Move智能合约,DA以及安全机制上也有不同。
雾月:在上面的场景里,Rooch的Move语言有什么优势吗?
Jolestar:Move中的资产都表达成资源或者Object,而Bitcoin的UTXO以及铭文(Inscription),都可以直接映射为Move中的Object。它们属于用户Owner的Object。Bitcoin上编程能力受限的一个关键原因是很难表达共享状态,而Move有SharedObject的概念,在Layer2配合起来可以提供不错的编程体验。
CKB团队提出的RGB++协议与同构映射,是这类思想的先驱,只不过他们的Cell是比Move语言中的Object,更彻底、更纯粹的UTXO,但核心理念其实差不多。
Move的另外一个优势是它的组合能力,可以在一种资产中嵌套另外一种资产。比如前面那个例子,房子必须是嵌套在地块中的,否则很难实现地块和房子的原子化转让。
Faust:这里面Jolestar提到了RGB++,的确RGB++就是典型的从功能角度去拓展比特币UTXO的方案。RGB++也不只是适用于CKB自身,也适用于Cardano、Fuel或是Sui等和UTXO或类似状态存储模型沾边的公链。
从这个角度看,CKB、Cardano、Sui、Rooch都可以作为比特币的功能拓展层,这一点无可厚非。现在西方社区过分纠结于安全性,而忽视了比特币UTXO功能的拓展,是我们该重视起来的。
雾月:RoochNetwork现在是一个什么状态了?上面的方案技术上有哪些挑战?
Jolestar: 我们正在准备RoochBTC先行网的启动,以及启动后的运营活动。RoochBTC先行网会包含Bitcoin上的全量UTXO状态以及铭文,正在做最后的数据校验以及升级机制方面的改进。
Bitcoin上的全量数据大约有几百G,如果把UTXO以及铭文全量解析出来用Move语言来表达,数据量会再增加几倍。现在各种铭文协议比较多,铭文协议的标准化实现也不完备,很难一次性全部支持,我们需要提供一种动态支持新铭文协议的机制,然后根据社区的反馈逐步增加新协议的支持。
现在测试网已经上线了,欢迎对Bitcoin以及Move感兴趣的开发者和用户来体验,以及尝试开发应用。
以上就是为什么说Layer2应该对BTC进行功能拓展的全部内容,望能这篇为什么说Layer2应该对BTC进行功能拓展可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。