比特币:开启编程之门的未来

By admin 5 月 17, 2024
比特币:开启编程之门的未来比特币:开启编程之门的未来

Bitcoin的可编程性扩展可以分为两个主要方向:链上扩展和链外扩展。

链上扩展一直受到Bitcoin脚本编程能力的限制。Bitvm等方案尝试通过Taproot树来模拟电路,实现图灵完备的计算。然而,Bitcoin L1面临的更大限制在于Bitcoin脚本是无状态的。无论计算多么复杂,对状态的所有权只能用时间锁、哈希锁和私钥锁来表达,无法表达出“状态锁”,而这是实现复杂应用的前提。

假设将Bitcoin的脚本替换为图灵完备的虚拟机,其他条件不变,请设计一个计数器,任何用户发送交易都可以让它加一,这样就可以理解这个限制有什么用。

这个计数器场景有什么用呢?在典型的打铭文场景下,需要一个计数器来计算资产的总量。如果链上能表达计数器,就不会有打废铭文的情况了。

用通俗的比喻来解释“状态锁”:如果将Bitcoin脚本理解为对UTXO的智能锁,这个智能锁可以通过密码解锁,可以通过指纹解锁,但它内部不能记录脚本执行后的结果,所以无法实现解锁几次后就不能再解锁的功能。

因此,链上扩展如果能结合一次性签名设计出仲裁和挑战机制,就已经非常突破性了。

Bitcoin链外扩展

既然链上扩展有限制,就只能寻求链外扩展。为了避免L2/侧链、on-chain/off-chain的歧义,统称为链外扩展。

链外扩展需要在几个选项之间权衡:

1. 选择什么智能合约和虚拟机。
2. 在智能合约中如何读写Bitcoin上的状态(包括数据和资产)。
3. 将交易写入何处以及如何保证可用性。

例如,在AVM方案中:

1. 选择Bitcoin Script。
2. 通过增加新的OP code来实现。
3. 将交易写回Bitcoin L1。

而EVM侧链方案通常是:

1. 使用EVM。
2. 通过桥跨资产过去。
3. 使用独立的共识网络进行保证。

文章提到了RoochNetwork,下面详细介绍了其方案:

1. 智能合约和虚拟机:使用Move和MoveVM。
2. 在智能合约中如何读写Bitcoin上的状态:在L2执行Bitcoin L1的所有交易,将Bitcoin的状态(UTXO/Inscription等)表达为Move Object。

这样有几个好处:

1. 智能合约中可以读取Bitcoin上的所有状态(UTXO/Inscription等),包括交易和区块头。
2. L2的状态可以通过Object的动态字段绑定到Bitcoin的状态上(原子绑定),所有权归Bitcoin资产的所有者。举几个典型场景:L1的状态表达地块,L2上盖房子;L1的状态表达域名,解析记录在L2。
3. 通过在L2的智能合约中生成Bitcoin Script和Bitcoin交易,为交易提供可编程性。

如何保证可用性

RoochNetwork的交易可用性依赖于第三方DA。由于Rooch方案中,L2包含了所有L1的交易,所以不需要将交易写回L1,只需要定期将L2状态树的根写回Bitcoin即可。这也保证了L2交易的成本足够低,为更复杂的应用提供基础设施。

总结

Bitcoin生态期待可编程性的扩展方案已经很久了,有各种不同的路线和方案的尝试。Bitcoin L1的可编程性有限,但其优势在于所有状态都是全局的,不存在合约之间的割裂。因此,无论采用何种扩展方案,只要该方案在Bitcoin上写入数据,就可以与其他方案结合,相互补充,最终将产生不同的生态系统。

By admin

Related Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注