@atomicsxyz发布的AVM虚拟机白皮书旨在让比特币主网具备智能合约系统能力,进一步管理复杂资产和状态记录。AVM采用比特币脚本模拟和沙盒运行环境,实现了图灵完备属性和状态哈希验证。理论上,AVM可以为比特币主网提供基础智能合约操作功能,使比特币具备处理复杂资产和DApp的能力。虽然AVM存在性能限制,但是作为BTC扩展能力创新的一部分,可以推动早期智能合约在BTC主网落地,并在第二层构建中发挥更大作用。建议对AVM持理性谨慎乐观态度。
如何理解@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 也取得了不错的成绩,并且得到普及后的成果让我们看到了“正统性”的吸引力,建议保持理性谨慎乐观的态度。
资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载