比特币行情价格_以太坊行情价格_区块链数字货币大数据服务平台

AVM:基于模拟虚拟机的比特币智能合约

2024-06-05 14:53
摘要

就在本周,@atomicsxyz 发布了最新的 AVM 虚拟机白皮书。相信大家还记得去年跨年期间上线的 $ATOM 和 $quark 等 ARC-20 代币。这次 Atomicals 协议的 AVM 白皮书到底讲了什么,又会对后续的比特币生态产生什么影响呢?下面我们来分析一下协议和白皮书的内容。

就在本周,@atomicsxyz 发布了最新的 AVM 虚拟机白皮书。相信大家还记得去年跨年期间上线的 $ATOM 和 $quark 等 ARC-20 代币。这次 Atomicals 协议的 AVM 白皮书到底讲了什么,又会对后续的比特币生态产生什么影响呢?下面我们来分析一下协议和白皮书的内容。

1. 背景

随着比特币生态的发展,Segwit、Taproot、Schnorr、MAST、Taproot Scripts等技术的更新和推出,促使新的应用不断涌现,在此基础上诞生了众多比特币代币发行方式,也推动了比特币生态的不断发展。

Ordinals 协议的诞生和比特币网络上的 satoshi 概念息息相关,协议中引入了序数和铭文的概念。Ordinals 按照挖矿的顺序为每个 satoshi 分配一个唯一的数字,无论 satoshi 如何在不同的钱包之间转移,其序数标识都是不变的。铭文是通过在 satoshi 上刻录信息来实现的。结合 SegWit 和 Taproot,Ordinals 协议允许在比特币区块链上为每个 satoshi 刻录一个小于 4MB 的文件,即铭文。随着比特币生态系统的发展,Ordinals 的创始人 Casey 建议使用 Runes 来替代 BRC-20。与 BRC-20 相比,Runes 减少了服务器共识层,变得更加简单,同时不依赖链下数据,不需要原生代币,非常适合比特币原生的 UTXO 模型。

我们要介绍的Atomicals协议的诞生,也是一个巧合。一开始,创始人Arthur在Ordinals协议刚发布时就想基于它开发一个DID项目,但在过程中发现了一些限制。随后他在2023年5月无法在推特上发送关于该协议概念的推文,随后在去年9月才正式上线。对于Atomicals中的ARC-20概念,其实并不是很多人理解的铭文协议,更像是染色币,以比特币最小单位sat作为基本“原子”。其独特之处在于,每个代币单元至少由一个satoshi单元支撑,并按照使用未花费交易输出UTXO架构发送和接收比特币的相同规则运行。

在追踪历史交易记录、计算当前 ARC-20 资产余额时,人们只需要检查与 ARC-20 代币关联的比特币 UTXO,而无需从链下存储模块中检索额外数据。这是 ARC-20 与 BRC-20 协议的主要区别,因为 BRC-20 协议通常依赖于链下索引器和链下存储层。ARC-20 协议显著降低了索引服务器的成本,提高了去中心化程度。其转账安全性依赖于 BTC 网络,不会产生冗余交易,并保持与 BTC 相同的原子性,适合开发各种原生应用。Atomicals 协议不只是发行资产,而是如何为资产提供更丰富的使用场景,以增强其流动性并扩展其功能性。

2.什么是 AVM

比特币最初被设计为具有一定Script脚本数据存储功能和基本OP Code的点对点电子现金系统。迄今为止,比特币上的所有覆盖协议都基于固定或预定义的状态机。所有覆盖协议基本上都共享两个状态机:一个用于发出创建数字资产的信号,​​另一个用于管理这些数字资产的转移。状态机规则本质上是不可变的,并且硬编码在各自的覆盖协议索引器中——应用程序开发人员无法自定义数字资产的行为。

但由于UTXO模型和预定义状态转换规则的限制,这种无状态模型只能处理有限的BTC单一资产管理。为了将BRC20、ARC20、Runes等新资产加入到比特币网络,需要更复杂的动态“状态机”模型来记录这些资产的存储、交易和状态变化。一种方法是采用外部协议和Layer 2解决方案,例如我们之前文章中提到的Nervos Network、RGB、Lightning Network等,也就是在链下构建“状态机”模型;而另一种方式则是直接扩展Script脚本功能,添加新的操作码或存储空间,例如Covenant、OP_CAT等BIP提案。但问题在于第一种方法很难在短时间内达成共识,第二种方法存在不确定性。

AVM 虚拟机提供了介于两者之间的解决方案。它直接在比特币主网上构建虚拟机执行环境,以特殊的处理方式实现复杂资产的创建和转移,并允许应用程序开发人员为其数字资产完全定制和定义任意规则。其基本思想是允许开发人员将智能合约代码放置在交易的数据段中,以便所有相关方都可以执行。通过将代码存储在区块链上,不同的相关方可以通过以相同的方式执行逻辑来轻松地同步状态。

三、工作原理

我们都知道,智能合约编程语言至少应该具备以下几个关键属性:可预测的运行时间、图灵完备性,以及在资源受限的系统上高效执行的能力。从以上要求来看,比特币脚本非常适合作为定义数字资产创建和转移规则的指令集。智能合约程序代码存储在比特币交易中,覆盖协议索引器执行这些代码以进行各种方法调用和状态转换。所有相关方执行相同的逻辑并达成相同的状态转换,从而形成自发共识。

通过模拟比特币虚拟机及其脚本解释器,创建并执行涵盖数字资产的各类智能合约。比特币区块链作为时间戳和数据提供方,将智能合约程序存储在链上,但这些程序的执行是由沙箱运行时中的覆盖协议索引器执行的。覆盖协议索引器节点由应用开发者、服务提供者和用户共同运营,形成一种新兴共识:

1、比特币脚本模拟:比特币指令集,通过双栈PDA实现图灵完备性质;

2.沙盒运行环境:整个模拟器处于受控的隔离环境中,沙盒内执行与沙盒外执行互不干扰;

3. 状态哈希:允许参与者验证其索引器的状态是否正确同步,防止因状态不一致而导致的潜在攻击。

简单来说,AVM 直接利用了 BTC 目前有限的存储空间和 OP Codes 处理框架,在每笔 BTC 主网交易中引入了一种特殊的编码和解码方式,即沙盒环境。这个沙盒是比特币脚本解释器的精简版,但有一些显著的不同,比如直接接受锁定脚本(scriptPubKey)和解锁脚本(scriptSig)的执行,以及代币状态、受保护的内存快照等各种其他数据。这个环境可以独立完成一整套资产的存储和交易记录,进而可以实现复杂的智能合约处理和状态同步与验证。

四、未来发展

AVM 未来有哪些可能的发展?它提供了一个能够处理智能合约和 dApp 的高级执行环境,配备了自定义指令集以增强性能,同时降低了 gas 费用并优化了状态转换函数以增加并行处理能力,从而提高了吞吐量和可扩展性。同时,AVM 实现了互操作性和跨链通信。简单来说,AVM 使 Atomicals 协议能够执行多种任务,而不仅仅是之前简单的代币发行机制。只有满足了发行资产和管理资产的基本需求后,比特币生态系统才能真正发展起来,才会有更大规模的应用程序和系统架构的实现。

虽然 AVM 存在诸多限制,比如只能操作 ARC20 资产,主网一层智能合约的可用性、出块速度和速率等都还是未知数,另外,虽然比特币脚本语言是为资源受限的环境设计的,但复杂的智能合约可能还是会消耗大量的计算资源,执行效率也还是存在疑虑。但它的出现还是让人兴奋的,期待进一步的技术创新突破。

声明:本文所述观点并非数字焦点的立场,不构成任何投资活动的邀约或建议。本文仅供参考。投资存在风险,请自行评估。转载需注明来源,违者必究!文章投稿请联系miqianbao@gmail.com