Bitcoin 的 Layer2 应该怎么做?

访客 11个月前 (12-22) 阅读数 214 #区块链
文章标签 前沿文章

作者:jolestar,来源:作者推特@jolestar

Bitcoin 上做通用计算智能合约的 Layer2 一直是个难题,因为无法依赖 Bitcoin 网络来保证智能合约安全。我们 18 年的时候尝试过让 Bitcoin 闪电网络支持了 WASM 的智能合约,但也需要第三方来提供仲裁,最后放弃了这个路线。

今年 Ordinals, BRC20 等 BTC 生态火爆的时候,展示了另外一种可能。它们只将 BTC 作为 DA,技术解决方案类似主权 Rollup,但得到了市场和用户的认可。然而,如果想进一步扩展生态,就会发现难题重重,Bitcoin 网络作为 DA 成本还是太高了。

于是我就想到那是不是可以换一种思路,Bitcoin 网络作为一种源 DA,而 Layer2 本身的 DA 通过另外的方式来解决,于是有了 Rooch 当前的方案。

Rooch作为Bitcoin的Side Rollup

TkY1srxI5Hn4j0dBNij9K38joWo9WfZBAeHg0wi5.png

1. 核心组件与交互:

- Bitcoin:主链,其区块信息被同步到Rooch,为Rooch提供验证数据。

- Rooch:作为Side Rollup,包含以下核心组件:

    - Bitcoin轻客户端:在Rooch中使用Move智能合约实现,负责校验从Bitcoin同步过来的区块头信息。

    - Relayer:定期将Bitcoin的最新区块头信息同步到Rooch的Bitcoin轻客户端。任何人都可以承担Relayer的角色,确保至少有一个诚实的Relayer可以确保整体安全性。

    - Rooch Sequencer:与Rooch中的应用合约交互,用于验证交易证明并处理相关应用的逻辑。

    - Rooch Full node:存储完整的Rooch链数据,并与DA交互同步交易信息。

- Client:用户或应用客户端,从 Bitcion 网络获取交易证明,并与应用合约交互。

2. 工作流程:

1. Relayer定期将Bitcoin的区块头信息同步给Rooch的Bitcoin轻客户端。

2. Bitcoin轻客户端在Rooch中校验和保存这些区块头信息。

3. 开发者可以使用Move智能合约在Rooch中创建应用,这些应用可以处理和验证Bitcoin交易,因为轻客户端可以提供验证交易的Merkle Tree证明。

4. 客户端从 Bitcoin 获取交易证明,并与应用合约交互。

3. 应用场景:

- 触发式应用:例如,当Bitcoin网络上完成某种交易时,自动触发Rooch中的某个合约执行。

- 数据复制与再执行:例如,将Bitcoin上的Ordinals,BRC20,GRC20等标准定义的json在Rooch中再次执行,使Rooch充当去中心化的Indexer服务。这样,任何人都可以部署一个Rooch节点,同步并重新执行交易,创建自己的Indexer服务。

这个方案的关键点:

1. Bitcoin 作为源 DA,它为 Layer2 提供时间,关键数据源,用户的 Ordinals 交易直接发送给 Bitcoin 网络。

2. Rooch 作为 Bitcoin Layer2,会通过智能合约执行 Bitcoin 网络上的 Ordinals 交易。

3. Rooch Layer2 可以发行 Layer2 上的 Coin 以及应用,围绕 Bitcoin 构建扩展生态。

4. 而 Layer2 自己的交易,可以通过写入另外一个 DA,来实现可验证,任何人都可以运行一个节点来校验 Indexer 提供放的数据。

5. 如果生态进一步发展,安全的需求提高,则可以接入一个仲裁层,通过欺诈证明或者有效证明的方式,增强安全性。比如由以太坊来提供仲裁。

这个方案是不修改 Bitcoin 的机制的前提下,实现 Bitcoin Layer2 ,提供应用支持的一种可行方案。

以前大家会限于门户之见,但我认为行业正在从以叙事逻辑转向应用逻辑,以应用为中心,基础设施只是提供支撑,就不会有门户之见了。

如果有对 Bitcoin 生态技术感兴趣的朋友欢迎和我联系,一起探讨技术方案以及实现。

版权声明

本文仅代表作者观点,不代表喜来顺财经立场。
未经喜来顺财经许可,不得转载。

热门