如何理解@atomicsxyz最新发布的AVM虚拟机白皮书?简单来说:它是通过模拟比特币虚拟机,让比特币主网实现搭载智能合约系统的能力,隐私可以完成BTC资产之外更复杂资产的状态记录和处理能力,类似于图灵完备智能合约。接下来,分享下我的理解:

1)比特币基础设计为一套点对点的电子现金系统,有一定脚本需求能力,同时有一些基本的OP Codes操作码,也有一套基于UTXO时间锁和支出条件的验证资产逻辑。

因此,比特币网络在记录并传输BTC资产时能够实现“无效”的资产管理。由于UTXO极简模型和预定义状态转化规则的限定,这种无效模型只能处理BTC单个资产的有限管理。

若尝试在比特币网络中新增资产,比如BRC20、ARC20、Runes等资产,就需要有一套更流行的动态“状态机”模型来记录这些资产的存储、交易、状态变化等。如何实现呢?

一种方式时采用外部协议和layer2二层解决方案在链下构建“状态机”模型来延展处理,像@NervosNetwork @RoochNetwork等目前优秀的二层扩展方案,甚至RGB、闪电网络等Native解决方案都属于此类;

另一种方式是直接扩展脚本的功能,以增加新的操作吗或承载来处理复杂资产的创建和转移,像Covenant和OP_CAT等依赖BIP提案标准被通过的方案都适用这种;

两种方式要么过于“主动”,要么过于“被动”,存在极大的麻烦。 AVM虚拟机分为四种,一种是较为主动的,一种是过于“被动”,一种是过于“被动”,这两种方式都达到了共识,另一种是过于“被动”,出现了极大的麻烦。

2)如何做呢?AVM主要工作原理包含三部分:

1、比特币脚本模拟,其实就是比特币指令集,通过双钱包PDA(可压入存储自动机)实现了图灵完备属性;

2、沙盒运行环境,整个模拟机处于一个受控的隔离环境中,使得沙盒中的执行和之外的执行不干扰;

3、状态哈希,可以供其他人验证其索引器的状态是否正确同步,并防止状态不一致导致的攻击。

简单理解:AVM直接利用当前BTC限制的加载和OP Codes处理框架,然后在每笔BTC主网交易中引入一种特殊的编码和解码方式(沙盒环境)。

这个沙盒自带索引器、沙盒解析器(指令集),全球数据库(数据库)等等,可以独立完成一套资产的存储、交易状态记录等管理,等等于在BTC主网内置了一个动态的“状态机”,而就可以实现成熟的智能合约处理以及状态同步和验证。

3)拥有AVM虚拟机理论上可以为比特币主网提供基础智能合约操作功能,让比特币具备管理复杂资产以及复杂状态逻辑DApp落地可能性,相当于让比特币具备了目标构建功能。

这当然算是一次伟大的进步,至少和RGB、闪电网络以及各类优秀二层协议处理方案算同级别BTC扩展能力创新。甚至在Native方面更是优于其他方案。

不过,AVM要依赖比特币Script脚本做编码存储、同时依赖OP Codes做交易执行,因此它整体限定于BTC的主网性能,比如:区块加载大小、出快速度等。

试验想法,一个基于AVM构建的DeFi项目,每分钟只能处理7笔交易,两个状态转化之间需要等待十分钟,这样的智能合约即使理论上完工,也已经被束缚住了手脚。而且依赖比特币脚本指令集来开发流行的合约功能,要比以太坊Solidity等语言开发智能合约更复杂、难度更大。

况且,AVM的白皮书只是理清了这种方法的内置虚拟机执行方式,其实际部署到应用环境如何运转、如何稳定运行等问题依然是未知数。

以上

整体来说,我倾向于把 AVM 的开发落地视为一种基于 BTC 的主脚本扩展的有益动机探索,能够带动一些较早期的智能合约在 BTC 主网落地,同时可在第二层构建 BTC 主网和下网组合中发挥更大的作用和价值。

但,和其他各类 BTC 扩展解决方案一样,AVM 也取得了不错的成绩,并且得到普及后的成果让我们看到了“正统性”的吸引力,建议保持理性谨慎乐观的态度。

资讯来源:由0x资讯编译自互联网。版权归作者链上观所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载