The Filecoin Virtual Machine (FVM), announced at Filecoin Orbit 2021, is the next step in the Filecoin Network’s growth. It combines decentralized storage and advanced processing.
The FVM enables smart contracts to enhance the utility and power of data saved on the network. Actors are smart contracts in the Filecoin ecosystem).
Data storage and retrieval are the focus of the Filecoin platform. People commonly refer to these two capabilities as the protocol’s Layer 0 features.
The technology is simple and basic. However, it is insufficient for developers who want to employ user-programmable smart contracts to create more complicated apps and solutions.
Smart contract programmability will be located one layer above, on Layer 1.
The developers hard-coded the Filecoin network’s logic through system-defined actors. This means that Filecoin can only leverage user-defined smart contracts. This is via exterior gateways to other programmable blockchains such as Ethereum and NEAR (via solutions such as Textile Bridges). The Filecoin Virtual Machine extends the Filecoin network with native user-defined actors.
Under Filecoin Improvement Proposal 113, the most recent technical discussions began in June 2021.
The Filecoin Virtual Machine (FVM) intends to be a polyglot virtual machine, drawing on Hypervisors for multi-VM architecture inspiration. There was also the examination of adopting the EVM as-is, LLVM-IR, eBPF, Secure EcmaScript, and other techniques.
WASM is the FVM’s native runtime at its core.
They hope that WASM has a great potential in the blockchain industry. This setting allows coders to write native actors in whatsoever programming language that compiles to WASM. However, not all languages are suitable; they also built the reference SDK in Rust.
Moreover, this allows web2 developers to transition to web3 more quickly. This is by meeting them where they are now and avoiding language-specific learning curves.
The Enterprise Storage Provider Accelerator (ESPA) can help businesses embrace Filecoin more quickly.
An intensive one-week bootcamp in Las Vegas will be followed by a digital apprenticeship. This apprenticeship includes courses on everything from crypto-economics to business development and expansion into the Web3 enterprise space, as well as a residency period during which participants will work on their business plan and its expansion.
They’re also supporting the imitation of foreign runtimes, with the Ethereum Virtual Machine as the first of these (EVM). Besides, requests from the Filecoin development community for FVM to support EVM/Solidity with no or little source code changes inspired this decision.
Ethereum has built a wide library of useful and –most importantly– vetted and battle-tested smart contracts like Ethereum Smart Contracts over the years. ERC-20-compliant tokens like NFTs, DAOs, and flash loans, for example.
Reusing these contracts in their current form will kick-start a Cambrian explosion of inventive, composable Filecoin solutions. Furthermore, allowing Solidity developers to communicate solutions across chains via bridges and oracles will only increase the value and utility of the system as a whole.
It’s also worth noting that they limited EVM compatibility to the bytecode layer, retaining the possibility to use the mature Ethereum toolchain in Filecoin, for example: VSCode plugins, Truffle, Remix, Hardhat, and more.
Apart from implementing existing smart contracts, developers can build new actors in Solidity to get up and running quickly, or switch to native actors if performance is a concern.
The Filecoin network obtains computing capabilities in addition to storage capabilities with the FVM. On the Filecoin network, we foresee two types of computation: on-chain computation over state and off-chain computation over data. In both, the FVM is a crucial component.