a new way to abstract VMs and deliver maximally expressive on-chain applications
Blended execution enables apps built for different VMs to compose with each other on the same blockchain without friction or switching wallets.
Blended execution allows programs written for different virtual machines (VMs) to work together within a unified execution environment. Smart contracts, programming languages and tools built for disparate VMs share the same blockchain state, allowing them to communicate seamlessly. This results in real-time, atomic composability between these otherwise isolated paradigms, making it possible for developers to create cohesive applications, leveraging multiple programming languages and tools without compatibility concerns. It also enables existing apps built for different VMs to benefit from combined network effects and shared liquidity. The upside? Users can interact with apps across a blended execution network without needing to bridge or switch wallets.
Fluent is the first blended execution network, supporting EVM, SVM and Wasm-based apps on an Ethereum L2.
On Fluent, functionalities of the EVM, SVM, and Wasm are “blended” together at the execution layer. This is achieved through rWasm—a low-level intermediate representation (IR) which serves as Fluent’s VM. rWasm is effectively a state verification function responsible for representing every operation within the Fluent execution layer. Fluent simulates the behaviors of the EVM, SVM, and Wasm, which are compiled down to rWasm for execution. This ensures compatibility and smooth interaction across these diverse systems and is optimal from a zk-proving standpoint, as only one state transition (as opposed to multiple, as with multiVM solutions) is ultimately proven. Fluent’s blended design is also extensible - with the potential to represent additional VMs with dedicated AOT/JIT compilers.
An altVM is a VM that serves as an alternative to the EVM, with differentiated characteristics.
An "altVM" (alternative virtual machine) generally refers to a VM that serves as an alternative to the EVM, which is the most widely used VM for executing smart contracts. AltVMs can support different execution environments, architectures, or technologies that are not inherently compatible with the EVM. AltVMs often aim to provide different functionalities or efficiencies, such as supporting multiple programming languages, improved performance, or lower costs for executing smart contracts. Examples include Wasm-based VMs, which enable developers to write contracts in languages like Rust, Go, or C++, and the MoveVM for its formal verification security properties. In the context of blockchain systems, altVMs enhance the flexibility and expressivity of decentralized applications by allowing developers to use a broader range of development tools and programming paradigms compared to the traditional EVM.
keeps different VMs separate, leading to complexity in cross-VM interactions and inefficiencies for zk-proving
merges VMs into a cohesive system, facilitating seamless cross-environment collaboration and shared state management
MultiVM is a type of altVM that uses multiple, separate virtual machines within the same network. Each VM operates independently, and caters to different programming languages or execution environments. Maintaining separate VMs introduces complexity, particularly when it comes to state synchronization and cross-VM interactions.This can lead to a fragmented developer and user experience, as interactions across environments require additional coordination. Blended Execution, on the other hand, is a more integrated approach compared to multiVM. Instead of maintaining separate VMs that interact, Blended Execution brings different VMs together into a unified execution environment. This allows multiple VMs to share the same state and execute seamlessly within the same framework. It is also optimal from a zk-proving standpoint, as only one state transition is ultimately proven. In essence, the main difference lies at the integration level.
an app that operates within a blended environment and takes full advantage of the unique ability to use multiple VM targets, such as the EVM and Wasm, within a single, unified framework
This enables developers to write different parts of an application in the language and execution environment best suited to each component, resulting in better performance, flexibility, and usability.
Imagine a DeFi platform that uses a Wasm-based order-matching engine combined with an EVM-based contract for settlement. In this setup:
The order matching engine, which requires high computational efficiency and low latency, is implemented in Wasm using Rust. Wasm provides a high-performance environment for processing orders in real time, which is essential for ensuring that trades are matched quickly and accurately.
The settlement logic, which involves managing assets and interacting with user wallets, is written in Solidity and runs on the EVM. This allows the padd catlatform to leverage Ethereum's existing token standards (ERC-20, etc.) tooling, and wallet compatibility, ensuring that users can easily interact with the platform without needing new interfaces.