Will MetaMask Snaps, a Web3 mini-program, be the savior of the non-EVM ecosystem?

Author: Peng SUN, Foresight News

The idea of MetaMask creating the Snaps plugin system to achieve cross-chain protocol interaction with non-EVM networks can be traced back to 2019. At that time, the envisioned use cases for MetaMask Snap included compatibility with DNS domain name resolution, contract accounts, Layer2, etc., attempting to provide a decentralized standard platform across clients through a shared test suite.

In the blink of an eye, four years have passed since MetaMask released the open test version of Snaps, which is compatible with non-EVM networks. It was found that this situation was somewhat coincidental. In 2019, the narrative of “Ethereum killer” and “high-performance public chains” prevailed, DeFi Summer had not yet arrived, and on-chain applications based on EVM had not yet become popular. Actively supporting a multi-chain ecosystem became a major narrative for wallets. Although the previous bull market made people believe that there were limited alternatives to non-EVM, the narrative related to Ethereum and EVM also reached a temporary end with the low point of the bear market. People began to look for new paths outside of Ethereum and EVM, and non-EVM networks such as Cosmos, Starknet, Polkadot, Dfinity, Aptos, Sui, Solana, etc. have made more noise this year.

The combination of MetaMask Snaps and the future of multi-chain is indeed a perfect match. Considering that MetaMask occupies more than 80% of the market share, it provides more possibilities for the large-scale adoption of crypto. Today, I will summarize and discuss the current situation, technical features, and future impact of MetaMask Snaps.

1. MetaMask Snaps: a “universal OS” with cross-chain support

For MetaMask, Snaps are the first step in creating a completely permissionless ecosystem. Generally speaking, MetaMask is a wallet that implements full-chain compatibility with EVM. If you want to add new features to MetaMask or support non-EVM networks, it depends entirely on the MetaMask development team. However, ConsenSys did not choose to actively support DApps and non-EVM chains like OKX Web3 wallet and Bitget Wallet. Instead, they hope to build an open and universal system.

By analogy, we can understand Snaps as the App Store or WeChat mini programs, where developers of any public chain, protocol, or tool can build their own MetaMask Snap based on a publicly available JSON RPC API, without worrying about their applications being rejected for any reason like the App Store. Adding a Snap means being able to use the native features of that Snap through MetaMask. Currently, MetaMask Snaps support three categories: notifications, interoperability, and transaction insights, with 35 Snaps already available.

  • Transaction insight Snaps can provide gas prediction for transactions in MetaMask, as well as transaction analysis, network phishing attack warnings, and more. The currently available Snaps include Threat Intel, Tenderly TX Preview, Saferoot, Assets Risk Detection, Kleros Scout, Forta, Blockfence, Web3 Security, and Wallet Guard Snap, all of which protect user assets and transactions, allowing users to avoid attacks or transaction failures through a single wallet entry point.

  • Notification Snaps integrate Web3 communication protocols and can receive notifications related to transactions and addresses. In the future, when DApps prosper, users can also subscribe to information streams and build chat pages on their own. Currently, notification Snaps include Web3MQ, app.walletchat.fun, and Push V1.

  • Interoperability Snaps mainly focus on compatibility with non-EVM networks and provide entry points for non-EVM ecosystems. We can see that many non-EVM ecosystems are actively integrating, including Bitcoin, Cosmos, LianGuairtisia Blockchain, Mina, Sui, Aptos, Solana, Algorand, Tezos, Starknet, Arweave, Casper, and more. Among the 35 Snaps, interoperability Snaps account for over 60%.

MetaMask has developed a universal JSON RPC API interface, giving the power to build Snaps back to the community. Developers can independently launch their own designed features to their users without the involvement of the MetaMask team, greatly enhancing the scalability of MetaMask. For example, MetaMask also provides UI customization and enhancement features for Snaps. Currently, there is a SIP-7 proposal suggesting the use of JSON-based format to allow users to build custom UI outside of the MetaMask main UI. In addition, Snaps also support CronJob commands, allowing users to periodically query external data and add the interface of this data to the MetaMask UI. Interestingly, considering that currently Snaps still need to open the native website to connect with MetaMask, users cannot directly enter the application through MetaMask. The openness of the system may provide possibilities for future Snap aggregators based on Snap.

I noticed that in addition to the first batch of 35 Snaps, Filecoin started building FilSnap on MetaMask Flask in early 2020. Since then, developers have also built SSI Snap to implement DID binding and SnapShot voting, and CoinChoice Snap to support free selection of tokens for gas fees payment, and so on. For MetaMask, simplifying the user onboarding of Web3 through AA wallets is a core demand. UniLianGuaiss Snap is one of the current use cases. MetaMask itself does not introduce account abstraction, but it supports users to experience the convenience brought by smart contract wallets through Snaps, such as UniLianGuaiss’s gas-free payment. How Intent will be combined with AA in the future and how Snaps will improve the user experience will also be a major focus. Recently, Polygon developers have used Snaps for intent-based transactions, which can achieve simple swaps through LLM and greatly reduce the barrier for users to use.

Second, “Fearless Collaboration”, based on permission-based sandbox isolation technology

MetaMask Snaps is a JavaScript program running in a Secure EcmaScript (SES) sandbox environment. SES is a JavaScript-based programming language built by Agoric, a smart contract development platform in the Cosmos ecosystem, and represents “Fearless Collaboration”, ensuring secure interoperability of smart contracts. Currently, most Web3 applications are written in JavaScript, and the SES secure sandbox can store Snap data and private keys. At the same time, user data is directly collected by Snap third-party developers and cannot be accessed by MetaMask.

Based on permission means granting specific permissions to applications inside the sandbox, and Snap can only access specific features of the native website with permission. Generally speaking, in the field of information security, there is a principle of least privilege (POLA), which means the safest system is the one with the least permissions. However, trust implies risk, and without trust, society cannot operate. Previously, every interaction with the blockchain required a signature, but the EIP-2255 protocol allows the same level of security to be achieved with a single permission request. Currently, Snaps support a few default permissions, and MetaMask will also remind users of permissions that involve risks, and users can decide to take informed risks. The permissions currently disclosed by Snaps include displaying notifications, displaying custom dialogs, displaying transaction insights, accessing the internet, periodic retrieval, accessing Ethereum providers, viewing protocol public keys, deriving Snap private keys, storing Snap data locally, allowing DApps to communicate with Snaps, and communication between Snaps, etc.

In terms of private key generation, since MetaMask is based on the elliptic curve secp256k1, Snaps’ private key generation also follows the hierarchical deterministic wallet (HD Wallet) scheme of BIP-32 and BIP-44. Wallets that integrate MetaMask Snaps can derive one or more new public-private key pairs (child keys) based on the MetaMask key (parent key). (Even if the Snap is deleted and reinstalled) As long as the MetaMask private key remains unchanged, the Snap private key will not change either. At the same time, as a plugin, Snap shares the same security as MetaMask, and the Snap private key is stored in an encrypted local folder, just like the MetaMask private key.

The permission model and sandbox environment of MetaMask Snaps ensure the security of interactions between Snaps and Snaps, and between MetaMask and Snaps. However, like MetaMask, storing private keys in a local folder still faces the risk of the computer being compromised. At the same time, MetaMask Snaps aims to create an open and permissionless ecosystem, which also means that the platform does not guarantee the security of Snaps. Currently, MetaMask has added an additional layer of review when listing Snaps, but future risks will still be a problem that the ecosystem and users need to face together.

III. Returning the direction of the ecosystem to developers and users

Currently, discussions about MetaMask Snaps mainly involve two aspects. First, there will be more possibilities for non-EVM ecosystems and multi-chains in the future, and second, non-EVM ecosystem wallets will be replaced. However, it may be questionable how many users and funds MetaMask Snaps can bring to non-EVM ecosystems, and it is unlikely to replace other wallets.

MetaMask wants to create a Web3 gateway for the entire ecosystem, based on its 30 million monthly active users. Regardless, this is a huge traffic entry point for non-EVM ecosystems. However, MetaMask itself is a browser extension and mobile app, not a hardware-based or cloud-based system like ChromeOS. Additionally, implementing all the Javascript development costs that comply with the SES sandbox requirements is high. Therefore, Snap may not be able to support all the functions of non-EVM applications. On the other hand, Snap and non-EVM ecosystem wallets have a competitive relationship, but just like WeChat Mini Programs, non-EVM ecosystem wallets can also impose certain restrictions on Snap functions, or offer discounts or rewards to users who use native wallets to attract them back.

Currently, MetaMask Snaps cannot directly access various ecosystems. Users need to connect to MetaMask Snaps through a specific ecosystem or application. Perhaps in the future, ecosystem aggregators like Snap or custom Snap modules in the MetaMask UI will provide better entry points for users. However, I believe that the growth that MetaMask Snaps can bring to non-EVM ecosystems is limited. What really matters is whether this chain itself, its applications, and products can attract users.

It is difficult to say who the winner is between MetaMask Snaps and non-EVM ecosystems, but it is a paradise for developers. Snaps naturally conform to the decentralized narrative of crypto. It is like an autonomous world and the wild west, allowing developers to freely build applications based on JSON RPC API. There is no universal standard here, and the autonomy and choice are fully determined by the users. Compared to discussions about non-EVM ecosystems, it is more exciting to anticipate what interesting applications developers will build here.

Like what you're reading? Subscribe to our top stories.

We will continue to update Gambling Chain; if you have any questions or suggestions, please contact us!

Follow us on Twitter, Facebook, YouTube, and TikTok.

Share:

Was this article helpful?

93 out of 132 found this helpful

Gambling Chain Logo
Industry
Digital Asset Investment
Location
Real world, Metaverse and Network.
Goals
Build Daos that bring Decentralized finance to more and more persons Who love Web3.
Type
Website and other Media Daos

Products used

GC Wallet

Send targeted currencies to the right people at the right time.