大家翘首以盼的Filecoin虚拟机(下文简称FVM)迎来了新的里程碑M0.5!在这次更新中,FVM M0.5增加了对Fuhon、Forest、Lotus和Venus实现的支持,目前,已经可以使用FVM同步当前的Filecoin主网(网络版本 v15 OhSnap)。根据FVM路线图,这使项目远远超过了“M0”里程碑的进展(在之前FVM规划中,M0的目标是在主网上启动Lotus节点),因此,将其称之为M0.5。
如果你对FVM还不够了解,我们再简单回顾一下。
Filecoin虚拟机是一个基于WASM的执行环境,用于将IPLD数据构建到Filecoin区块链中。它旨在支持以可编译为WASM的语言编写的原生Filecoin actors(目前是Rust内置actors),以及为诸如以太坊虚拟机(EVM)等外部运行时编写的智能合约。
首先,虚拟机(VM)是什么?它是一种特殊的软件,可以在计算机平台与终端用户之间创建一种完全独立的环境,终端用户可以给予虚拟机创造的环境来操作其他软件。
在区块链中,WM为智能合约的实现提供了基础,使得智能合约在区块链虚拟机内部运行,并实现较为复杂的业务逻辑。一般来说,不同的虚拟机支持不同的编程语言。
WASM又是什么?其全称为WebAssembly,是一个实验性的低级编程语言,可以在浏览器内高效运行,它专为网络创建,可以让开发者运用自己熟悉的编程语言(如C/C++)编译,再借由虚拟机在浏览器内执行。其开发团队分别是来自于Mozilla、Google、Microsoft、Apple几大浏览器的工程师。
除WASM外,以太坊虚拟机(EVM)也可以了解下,EVM是一种轻量级的虚拟机,用于在以太坊网络上运行各种智能合约。它支持的编程语言为Solidity,EVM可以模拟在物理CPU上执行的功能,并负责以太坊网络上的大部分功能。
WASM具有EVM的所有功能,并附带了额外的功能,也在许多方面解决了EVM的不足。此外,对开发者来说,WASM可以避开特定语言的学习曲线,使得web2开发人员能够更快地加入web3。
此外,核心开发人员已将很快到来的M1里程碑部署在下一次网络升级 (v16) 中,代号为 Skyr。此版本将网络升级为专门使用FVM和基于Rust的内置actors(由Rust 编写的actors,旨在在 Filecoin 虚拟机中运行,构建过程将每个参与者编译成WASM字节码,并生成一个聚合包以供所有客户端导入)。
暂定版本和网络升级时间表
如何在主网上使用FVM
Filecoin团队鼓励节点运营商,可以通过以下任何实现来使用FVM:
Fuhon:任何有兴趣的人都可以使用实验性FVM分支并通过设置env FVMFUHON_USE_FVM_EXPERIMENTAL=1来启用FVM。
Forest:即将推出。你可以关注 Filecoin Slack中的#fil-forest-announcements 以获取最新更新。
Lotus:使用Lotus 1.15.1的版本,你可以使用LOTUS_USE_FVM_EXPERIMENTAL=1环境变量启用FVM。可以加入上文Slack频道了解更多内容。
Venus:即将推出。关注Filecoin Slack中的#fil-venus-announcements以获取最新更新。
*请注意,虽然主网的FVM支持已经测试了数周,但该功能仍处于试验阶段。不建议用户在关键生产环境中启用它。
Filecoin团队非常欢迎所有FVM测试人员和早期用户提供反馈。如果你发现任何错误,可以在 ref-fvm项目中提出一个issue(https://github.com/filecoin-project/ref-fvm/issues),当然,也可以在这个社区讨论中分享你的想法和评论。以便于团队了解块验证时间和使用FVM的节点的内存消耗。
下一步计划
综上所述,团队正在努力在主网上实现M1里程碑,目前的目标是Filecoin Network v16 Skyr 升级(暂定5月在 Filecoin主网上上线)。当前的工作流包括原子地切换到FVM、最终确定gas参数、测试内置 actor等等。
通过这次升级,代码更改量很大(尽管大多数用户可见的更改都来自M2中的用户可编程智能合约)。为了做好准备,许多Filecoin核心开发人员专注于强化和审计整个FVM及其依赖项的安全性和正确性。
漏洞赏金
除了内部和外部审计,大家的帮助对团队而言也是必不可少的,希望在测试时,可以及时发现FVM运行时和rust内置actors中的错误和攻击维度。在接下来的几周内,将公开邀请 Filecoin社区进行审计并通过安全渠道报告错误和问题,以便有机会在Filecoin漏洞赏金计划中赢得奖励。
M2里程碑:迈向用户可编程性
开发人员已经开始着手准备,将自定义actors部署到Filecoin 网络!出于这个原因,团队将M2里程碑分解为两个更细粒度的子里程碑,可以并行化为各种工作轨道,分别为:
Milestone 2.1——侧重于启用与Filecoin协议深度集成的用户部署的Wasm Actor,并创建框架以启用外部运行时的部署。
Milestone 2.2——提供第一个外部运行时:EVM运行时。即将推出的提案请求 (Request For Proposals,RFP),供精通EVM、Rust和Wasm的团队参考。目前,已经发布了EVM <> FVM 映射规范作为参考起点。
在未来的几个月中,FVM的工作还会不断推进和上线,届时,一定会有更多精彩时刻,别忘了在Filecoin Slack(https://filecoin.io/slack)频道加入#fvm,以关注实时进展!
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。