Filecoin virtual machine M0.5 is online and can synchronize the current Filecoin mainnet!

Filecoin virtual machine M0.5 is online and can synchronize the current Filecoin mainnet!

The long-awaited Filecoin Virtual Machine (hereinafter referred to as FVM) has reached a new milestone, M0.5! In this update, FVM M0.5 adds support for Fuhon, Forest, Lotus, and Venus implementations. Currently, FVM can be used to synchronize the current Filecoin mainnet (network version v15 OhSnap). According to the FVM roadmap, this has made the project far exceed the progress of the "M0" milestone (in the previous FVM plan, the goal of M0 was to start the Lotus node on the mainnet), so it is called M0.5.



If you don’t know enough about FVM, let’s briefly review it.

The Filecoin Virtual Machine is a WASM-based execution environment for building IPLD data into the Filecoin blockchain. It is designed to support native Filecoin actors written in languages ​​that can be compiled to WASM (currently Rust built-in actors), as well as smart contracts written for external runtimes such as the Ethereum Virtual Machine (EVM).

First of all, what is a virtual machine (VM)? It is a special software that can create a completely independent environment between the computer platform and the end user, and the end user can use the environment created by the virtual machine to operate other software.


In the blockchain, WM provides the basis for the implementation of smart contracts, allowing smart contracts to run inside the blockchain virtual machine and implement more complex business logic. Generally speaking, different virtual machines support different programming languages.

What is WASM? Its full name is WebAssembly, which is an experimental low-level programming language that can run efficiently in the browser. It is specially created for the network and allows developers to compile using their own familiar programming languages ​​(such as C/C++) and then execute in the browser through a virtual machine. Its development team is composed of engineers from Mozilla, Google, Microsoft, and Apple.

In addition to WASM, the Ethereum Virtual Machine (EVM) can also be learned. EVM is a lightweight virtual machine used to run various smart contracts on the Ethereum network. The programming language it supports is Solidity. EVM can simulate the functions executed on a physical CPU and is responsible for most of the functions on the Ethereum network.

WASM has all the features of EVM, with additional features, and solves the shortcomings of EVM in many ways. In addition, for developers, WASM can avoid the learning curve of specific languages, allowing web2 developers to join web3 faster.

In addition, core developers have deployed the upcoming M1 milestone in the next network upgrade (v16), codenamed Skyr. This version upgrades the network to exclusively use FVM and Rust-based built-in actors (actors written in Rust, designed to run in the Filecoin virtual machine, the build process compiles each participant into WASM bytecode and generates an aggregate package for all clients to import).

Tentative version and network upgrade schedule


How to use FVM on the mainnet


The Filecoin team encourages node operators to use FVM with any of the following implementations:


  • Fuhon: Anyone interested can use the experimental FVM branch and enable FVM by setting env FVMFUHON_USE_FVM_EXPERIMENTAL=1.

  • Forest: Coming soon. You can follow #fil-forest-announcements in the Filecoin Slack for the latest updates.

  • Lotus: With Lotus 1.15.1, you can enable FVM using the LOTUS_USE_FVM_EXPERIMENTAL=1 environment variable. Join the Slack channel above for more information.

  • Venus: Coming soon. Follow #fil-venus-announcements in the Filecoin Slack for the latest updates.


*Please note that while FVM support on mainnet has been in testing for several weeks, the feature is still experimental. Users are not recommended to enable it in critical production environments.

The Filecoin team welcomes feedback from all FVM testers and early users. If you find any bugs, you can raise an issue in the ref-fvm project (https://github.com/filecoin-project/ref-fvm/issues), and of course, you can also share your thoughts and comments in this community discussion. So that the team can understand the block verification time and memory consumption of nodes using FVM.


Next steps


In summary, the team is working hard to achieve the M1 milestone on the mainnet, and the current goal is the Filecoin Network v16 Skyr upgrade (tentatively scheduled to be launched on the Filecoin mainnet in May). The current workflow includes atomically switching to FVM, finalizing gas parameters, testing built-in actors, and more.

With this upgrade, the code changes are significant (although most user-visible changes come from user-programmable smart contracts in M2). In preparation, many Filecoin core developers focused on hardening and auditing the security and correctness of the entire FVM and its dependencies.


Bug Bounty


In addition to internal and external audits, your help is essential to the team. We hope that during testing, we can promptly discover errors and attack vectors in the FVM runtime and rust built-in actors. In the coming weeks, the Filecoin community will be publicly invited to audit and report errors and issues through secure channels for a chance to win rewards in the Filecoin Bug Bounty Program.

M2 Milestone: Towards User Programmability

Developers have already started preparing to deploy custom actors to the Filecoin network! For this reason, the team has broken down the M2 milestone into two more fine-grained sub-milestones that can be parallelized into various work tracks:


  • Milestone 2.1 — Focuses on enabling user-deployed Wasm Actors that are deeply integrated with the Filecoin protocol, and creating a framework to enable deployment of external runtimes.

  • Milestone 2.2 — Delivers the first external runtime: the EVM runtime. A Request For Proposals (RFP) is coming soon for teams proficient in EVM, Rust, and Wasm. Currently, the EVM <> FVM mapping spec has been published as a reference starting point.


In the coming months, the work on FVM will continue to advance and go online. By then, there will be more exciting moments. Don’t forget to join the #fvm channel in the Filecoin Slack (https://filecoin.io/slack) to follow the real-time progress!

<<:  Multicoin Capital: How to Become a Contrarian Investor

>>:  Zhejiang: Immediately stop using virtual currency "mining" equipment and confiscate it according to law

Recommend

Arrogant and likes to compare with others

The best thing in life is to be humble and low-ke...

Blockchain 2.0 (VI): Ethereum - Complete Open Smart Contract Solution

Article summary image: What is Ethereum? In layma...

How to tell if a sunken forehead is good?

In physiognomy, the forehead is located between o...

Changes in facial features predict your recent fortune

Numerology often says: Feng Shui changes over tim...

Traveling just to find a partner

Sometimes people feel that there are many ways to...

Is it bad luck to have a long nose? What are the consequences?

The nose is the central part of our face and has ...