基于比特币网络建立主权 Rollup,这可行吗?
近日,知名比特币最大主义者(BTC maxis)Jameson Lopp 转发了基于比特币网络建立主权 rollup 的想法,随后该想法在比特币以及以太坊社区内引起了大量讨论。
据悉,Rollkit 是一个用于 rollup 的模块化框架,现在,其宣布支持基于比特币网络建立主权 Rollup,而这样做的目的是让 rollup 继承比特币的数据可用性保证和安全保证。理论来说,基于比特币的主权 Rollup 不仅扩大了 rollup 的可能性,而且还有可能帮助在比特币网络上引导一个健康的区块空间费用市场,从而实现更可持续的安全预算。
图片来源:由 Maze AI 生成。
使用 Taproot 在比特币网络上发布数据
2023 年 2 月 1 日,Luxor 矿池挖出了有史以来最大的比特币区块 (#774628),其大小大约为 4 MB,而其中大部分的区块空间是被 Ordinals 协议用来记录 Taproot Wizards NFT,该项目通过在链上发布图像数据以实现比特币网络上的 NFT。通过 Taproot 升级,比特币 NFT 成为了可能,它允许任意数据的写入。
在引入 Taproot 之前,比特币单笔交易中可以写入的数据被限制在 80 字节以内。Taproot 升级增加了交易可以写入的数据量,从 80 字节增加到一个完整区块的数据量(大约 4MB)。简而言之,将大量数据发布到比特币区块链变得更加容易了。
从那时起,Ordinals 用于 NFT 铭文以及 Taproot 的使用就开始了。Eric Wall 发现,在他发推文时,在比特币网络上发布数据要比以太坊便宜 7 倍。现在,比特币网络上有了成千上万的铭文,那主权 Rollup 以及比特币上的 dapp 生态系统能否也成为可能呢?
将比特币网络作为数据可用性(DA)层集成到 Rollkit 中
Rollkit 是一个用于 Rollup 的模块化框架,开发人员可以在其中插入自定义执行层和数据可用性层。最初,Rollkit 仅支持 Celestia 作为数据可用性和共识层选项。现在,由于 Rollkit 比特币数据可用性模块的早期研究实施,比特币也成为了一种选择。在这种情况下,主权 Rollup 管理自己的执行和结算,同时将共识和数据可用性的任务交给比特币网络。
Rollkit 如何将数据发布到比特币网络
要在比特币网络上写入和读取数据,我们要使用 Taproot 交易。为了促进这一点, Rollkit 实施了一个名为 bitcoin-da 的 Go package,它为比特币提供了一个读写器接口。有关界面如何工作以及如何使用 Taproot 的详细信息,请参阅规范。这个 package 可以被任何想要在比特币上读取或写入数据的项目重复使用。
Rollkit 以模块化为核心构建,它有一个数据可用性接口,开发人员可以简单地实现特定的方法来添加一个新的数据可用性层。要添加数据可用性层,实施者需要满足定义数据可用性客户端行为的 DataAvailabilityLayerClient
接口以及定义如何同步区块的 BlockRetriever
接口。这些接口位于 da package 中。这些接口中最重要的方法是用于读取和写入区块的 SubmitBlock
和 RetrieveBlock
。
比特币网络上的 EVM demo
Rollkit 支持自定义执行层,包括 EVM、CosmWasm 或 Cosmos SDK。为了测试集成,Rollkit 在本地比特币测试网络上运行 EVM(使用了 Ethermint) 作为主权 Rollup。请参见下面的演示。
争议
就像 Ordinals 以及比特币 NFT 引起的争议一样,Rollkit 以及基于比特币网络的主权 rollup 想法同样会占用原本就不充裕的比特币区块空间,从而进一步导致比特币网络变得拥挤。
对于很多比较传统的比特币最大主义者(BTC maxis)来说,这样的发展可能是不受欢迎的。
此外,关于使用比特币作为(DA)层的想法,斯坦福大学教授 David Tse 也发表了他的看法:
“即使是 4MB 区块,比特币网络的总吞吐量也低于每秒 56 kbits,直接存储数据的空间不大。”
而 Eigenlayer 创始人 Sreeram Kannan 则更详细地对该主权 Rollup 的想法发表了他的看法:
“我不打算谈这个术语,但想谈谈安全属性,以及它是否能从比特币网络借用安全性。
该系统基本上是让主权 rollup 的客户端直接将交易写入比特币网络,然后在链下解释账本,这是比特币领域一个古老的想法。
安全性(包括安全性和活性)始终是特定确认规则的属性,而不是链的属性。
有四个属性共同决定了一条区块链的安全性:(a) 抗重组能力,(b) 抗审查性,(c) 数据可用性以及 (d) 有效性。
如果我们使用比特币网络作为写入交易的层,那么我们从比特币网络继承了 (a) 、(b) 以及 (c) ,因为新链仅在比特币重组时重组,系统借用比特币网络的抗审查性并且数据可用于比特币全节点。
如果我们为“主权 Rollup ”运行一个全节点,我们可以直接推断有效性。 所以对于一个全节点的确认规则,我们得到了比特币网络的安全性和活性。
如果系统有链下欺诈/有效性证明,那么对于主权 rollup 的轻节点来说,我们也可以继承比特币网络的安全性和活性。
但没有办法在比特币网络上编写主权 rollup 的全节点或轻节点,因此没有验证桥可以从主权 rollup 来回移动资产。
那这有用吗? 视情况而定。 如果主要目标是安全地传输和使用 BTC,那这绝对是没有用的。 但是,如果目标是构建 NFT 或其他驻留在比特币网络上并以比特币安全性进行链下解释的链,那这绝对是有用的。
那这是高性能的吗? 并不是。保证比特币安全的唯一方法,是将所有数据写入比特币网络——区块限制为 4MB/10 分钟,因此数据速率为 53kbps。
有没有办法建立与其他区块链的安全跨链桥? 是的! 如果接收链(比如以太坊)上有一个 BTC 轻客户端跨链桥,然后接收链上有一个 ZK 证明验证器,那么可以在那里检查“比特币 rollup”的有效性规则。
总而言之,主权 rollup 为本地发行的资产(如新的 NFT 或本地发行的稳定币)保留了比特币网络的安全性,但无法安全地与比特币网络进行跨链连接。
”
对此,你的看法是什么呢?