MEM features

List of notable MEM features

Language flexibility

3EM executes JS, WASM, and EVM contracts by leveraging V8 Engine and an embedded EVM byte code interpreter.

The MEM protocol leverages 3EM. This technology forms the foundation for MEM's execution machine, allowing MEM to inherit various features from the 3EM.

One of the notable features inherited is the extensive language support for writing serverless functions. Molecule supports languages that can compile to WebAssembly (WASM), such as AssemblyScript, JavaScript, TypeScript, Rust, C/C++, Zig, GoLang, Solidity, and Vyper. This wide range of language support provides flexibility and choice for MEM developers.

When it comes to MEM's capability to interpret EVM byte codes, it is important to consider the following limitations:

  • The CALL opcode is not fully implemented, which can lead to unexpected results.

  • The CREATE opcode is not currently supported by MEM.

Sandboxed and secure runtime

Another noteworthy feature provided by 3EM is a fully secure and modern runtime for function evaluation. It achieves this by utilizing isolated environments that prevent the evaluation of malicious code. This security measure ensures that functions executed within the MEM platform are protected from potential vulnerabilities and malicious activities. By leveraging isolated environments, 3EM enhances the overall security and integrity of function execution, promoting trust and reliability within the MEM ecosystem.

MEM is deterministic

3EM promotes determinism by employing techniques such as random seeding and pollifiing. This ensures that even if a function attempts to introduce non-deterministic states, 3EM environment maintains a high degree of determinism.

Also powered by 3EM, MEM ensures deterministic behavior in function execution. This feature enhances the reliability and consistency of the serverless function, significantly reducing the likelihood of non-deterministic behavior. The deterministic nature of MEM functions provides flexibility and opens up possibilities for various features and functionalities like Fetch any API, contract, or oracle.

Multi-authentication support

MEM functions can leverage the molecule.sh library to enable callerauthentication for interactions not only within the Arweave network but also across various EVM and non-EVM networks, such as Ethereum, Solana, Tezos, ICP, Tron, Kusama, and more. This expanded functionality allows MEM to emulate the behaviour of data-only smart contracts, enhancing their flexibility. Ark Protocol serves as an example of a project that utilizes this feature, enabling secure and authenticated identity attestation across different blockchain networks.

Walletless interaction

In addition to supporting multi-network caller authentication, MEM supports walletless functionality, allowing developers to create authentication-less function. This makes MEM crypto-agnostic for end users, eliminating the need for a wallet to interact with web3. It enhances accessibility and simplifies the user experience, promoting wider adoption of MEM-based decentralized applications.

Crypto-agnostic

MEM is crypto-agnostic, removing the need for deep blockchain understanding or dealing with testnets, faucet tokens, and different endpoints/environments. Developers can simply install MEM's environment platform (e.g. the SDK) and start building applications as if using an NPM package, focusing on code logic and functionality. MEM streamlines development, enabling faster creation of decentralized applications with serverless functions.

Gasless interactions

The MEM protocol introduces a significant advantage by substituting the storage cost of Arweave with function interactions. As a result, MEM functions operate in a gasless manner, eliminating the need for users to pay transaction fees. This feature enhances the user onboarding experience, resembling a web2-like experience, and encourages wider adoption of MEM dApps. By removing the financial barrier typically associated with gas fees, MEM promotes a more accessible and user-friendly environment for decentralized applications.

MEM offers crypto-agnosticism not only for developers but also for end users, providing a consistent experience across MEM applications.

Near-instant finality

MEM provides near-instant finality for read operations and instant finality for state changes in the execution's response (result). This feature ensures a high-quality user experience for dApps, third parties, and users utilizing MEM. With near-instant finality for read operations, data retrieval is fast and efficient.

Trustless and verifiable

Molecule, the 3EM fork underlying MEM, employs the concept of Lazy Evaluation, similar to the SmartWeave protocol. In MEM, all function interactions are transmitted to the Arweave network, which serves as the data availability (DA) layer for MEM. This design allows any user to lazy evaluate the state of a MEM function, verifying the validity of the state served by MEM servers (cache). By leveraging lazy evaluation, users can independently verify the integrity and accuracy of the function state, ensuring trust and transparency within the MEM ecosystem.

Fetch any API, contract, or oracle

MEM introduces a powerful feature called deterministicFetch for its functions. This in-function API function enables developers to make RESTful requests directly from the function.

With deterministicFetch, developers can perform various operations such as retrieving the states of other MEM functions through GET requests, fetching data from external API endpoints, and even making POST requests. This feature expands the capabilities of MEM functions, allowing for integration with external data sources and dApps.

Payment layer compatibility

everPay is a gasless and near-instant payments layer built by the everVision team, serving as a financial L2 for EVM and Arweave.

MEM offers native support for the everPay API at the protocol level, making it easier to develop financial applications on top of MEM. This integration simplifies the process of incorporating payment functionalities into MEM-based applications. The Arweave Name Service (ANS) is an example of a dApp that leverages this feature.

Highly scalable

MEM eliminates performance limitations by leveraging off-chain computation. This approach enables off-chain servers to handle large volumes of transactions, leading to exceptional performance comparable to traditional applications. The TPS metric relies solely on the server's machine performance and the technical architecture (tech-stack limitations), offering scalability and efficiency beyond the constraints of on-chain computations.

Optional functions whitelisting

Enabling whitelist-only mode for functions within the MEM core (also known as a node) enhances scalability and streamlines the work performed by the orchestrator. This feature ensures that the MEM core allocates its resources based on specific permissions, allowing for efficient utilization and allocation as desired. By leveraging the whitelist-only mode, MEM effectively optimizes scalability and resource management within its ecosystem.

Last updated

mem.tech ยฉ 2023