Introduction
MetaMask aims to be the singular gateway to the world of blockchain applications. It aims to give everyone everything they need to manage their digital assets in their digital life, like Ethereum and Binance coins. Our project focuses on the MetaMask wallet browser extension, which gives users simple access to blockchain-based apps. Its main utility is providing an interface between your ‘distributed’ wallet and a distributed web application. Using MetaMask, users can approve transactions, provide read-access and view their assets, all the while remaining able to choose what data to share and what to keep private1. In fact, this ability to control your own data, and therefore your privacy, is a cornerstone of MetaMask’s mission:
“To democratize access to the decentralized web, and through this mission, to transform the internet and world economy to one that empowers individuals through interactions based on consent, privacy, and free association.”2
So besides privacy, MetaMask’s mission also includes democratizing access to the decentralized web, which basically means that all users who wish to participate in the blockchain ecosystem, should be able to do so.
As of now, MetaMask has made considerable progress towards achieving this goal, as it is growing rapidly. Quite recently, MetaMask has acquired MyCrypto, another decentralized wallet solution for the Ethereum blockchain. Moreover, MetaMask has become compatible with many other wallets and decentralized token exchanges. With this acquisition and its compatibility with many other wallets and exchanges, it appears that MetaMask is indeed becoming the de-facto standard for users to interact with the Ethereum blockchain.
Therefore, MetaMask is a unique software package with increasing responsibilities in the form of asset management, ethical decision making and enabling a trustless digital economy. In this first essay, which is part of a series of four, we will walk through the product vision and problems that MetaMask is trying to solve.
Domain model
To understand MetaMask’s vision and the problems they face, it is important to understand the key domain concepts affecting MetaMask. Assuming that you know the basics of blockchain, decentralised apps (dApps) are applications running directly on the blockchain. Their code is not stored on a central or private server, but in smart contracts living on the chain. Programming is also not done in a traditional language, but in a language created for dApp development, and the execution of the code is done by the same servers that validate the blocks. This allows for applications that are hard to censor, like a decentralized exchange, because there is no central legal entity that can be shut down by law enforcement. Once a dApp is sent out in the world, it can live on the blockchain forever.
System’s key capabilities
MetaMask’s core functionality is to act as a bridge between a decentralized app and the blockchain To summarize, it mainly allows users to;
- Setup a new wallet or import an existing one.
- Connect and interact with distributed apps on the Ethereum Virtual Machine (EVM).
- Manage permissions and crypto-assets.
- Swap tokens through various decentralized exchanges.
A user is able to set up their wallet easily, such that it is understandable for newcomers. The setup process is made understandable for people who are new to crypto and they are warned frequently about the risks of losing any private keys.
Through MetaMask, a user can connect to a distributed app (dApp) and interact with it - for example by letting the site initiate a transaction on your behalf. A user is able to connect to any EVM-compatible network and interact with it. This makes it compatible with most state-of-the-art solutions, including Layer-2’s.
Through interacting with distributed apps, users often have to give permission for reading balances or making transactions on their behalf. It is important that users know what they are agreeing to, and MetaMask assists in this by interpreting contract calls and giving a readable summary of what a transaction is doing whenever possible.
A recent feature that has been added to every wallet is the ability to swap tokens for a small fee through various decentralized exchanges. This feature replaces the tedium of visiting different exchanges to try and find the best price, because there has been an unprecedented growth in the number of tokens.
Current and future context
MetaMask has been growing at a staggering rate due to the big increase in the value of crypto assets. Besides monetary value, blockchain infrastructure has reached a point where it allows the development of a whole new set of applications. For example, decentralized finance (DeFi) has become a popular way of earning interest on lending money. Since the use-cases are growing by the day, so does the need for a secure wallet that can interact with the infrastructure.
Current users are often tech-savvy and comfortable with doing complicated actions online. Therefore, current user-flows are designed to be optimal for those kinds of people. As the blockchain ecosystem and MetaMask mature, MetaMask has to adapt to a new context. This new context will be an environment where everyday people will want to interact with blockchain applications, without actually knowing what a blockchain is. Therefore, MetaMask is at a crucial point in time, where the right decisions will allow MetaMask to become mainstream to the public, such that it will come one step closer to accomplishing its mission.
Besides a shift to a broader audience, MetaMask must also carefully follow legal developments in the crypto-space and stay compliant with the latest rules and regulations of each country. This is an especially daunting task given that there is a large disparity in what governments think of crypto.
Stakeholder analysis
Besides the ever-growing retail user base, MetaMask has some other major stakeholders. The company behind MetaMask, ConsenSys, is the most obvious one as the main supplier of developers, and the entity that profits from the application. They also have institutional clients that have some requirements on top of those of retail users. Lastly, we identified the blockchain ecosystems MetaMask works in, as stakeholders. This does not only include the original Ethereum blockchain, but also Ethereum forks like Ethereum Classic or the Binance Smart Chain.
Although an ecosystem is not a classical type of stakeholder, it is certainly noteworthy since MetaMask has grown into a major influence in the crypto-space. In fact, it is the most used crypto-wallet extension by far3, which has turned MetaMask’s stability into an ecosystem-wide concern. Thus, a loss of trust in MetaMask could turn into a loss of trust in crypto at large.
Stakeholder | Role | Interest |
---|---|---|
Retail users | Largest userbase | Security of funds - Easy to use interface - Portability |
ConsenSys | Main developer | Reputation - Profitability |
Open Source developers | MetaMask development | Easy to use development environment - Ability to contribute |
Institutional users | Well paying userbase | Retail users’ interests - Secure custody - Legal compliance |
Various blockchain ecosystems | MetaMask context | Stable wallets (infrastructure) |
The interests of the stakeholders seem particularly well-aligned. The company, ConsenSys, generates the majority of its earnings through swap fees, and these can only be charged if users actually swap tokens (use the app). Therefore, it is of utmost importance to the profitability of the company to make sure the funds are secure, which is of interest to the users.
Besides features for end-users, MetaMask has a solid developer ecosystem that is welcoming to newcomers. Through a well-documented codebase and onboarding process, new developers are motivated to make changes which saves time for MetaMask. This makes the tool not only a favourite for many users, but also for the other stakeholders.
Furthermore, the ecosystems need a stable wallet infrastructure in order to function, and MetaMask tries to keep this stability as high as possible, again to generate revenue. In short, the goals of the stakeholders are aligned.
Key quality attributes
Essentially, MetaMask is a digital wallet. As such, a key quality attribute of the project is correctness, because monetary value is at stake. Any bug that would jeopardize the system’s correctness during a transaction could mean the loss of a person’s life savings, so the absence of such bugs must be ensured at all costs. By the same reasoning, security must be ensured as well. Therefore, MetaMask is open-source software, which allows a community of developers to inspect and improve the codebase. In turn, the attributes of correctness and security are enhanced.
Furthermore, the mission of MetaMask explicitly states privacy to be one of their main concerns. Naturally, the vision of a truly democratized web can only be realized if users can freely use decentralized applications without exposing sensitive information. In case this does happen, malicious entities might exploit this sensitive information by, for instance, specifically targeting individuals with high-value wallets.
Moreover, as MetaMask’s vision is to make blockchain accessible for everyone, accessibility is a key quality attribute. As of now, its users are often technical, so that they can easily understand MetaMask’s use cases and the information provided to them in the browser extension. However, users are becoming more and more non-technical, which requires the browser extension to abstract away from the technical details of using blockchain.
Product roadmap
As such, the majority of the new features address the accessibility of the software, as they aim to make the user interface as comprehensible as possible for the average user. For example, they are working on a single overview of all your assets across different chains, and are improving the page for viewing transactions by translating the hex code information to actual English. Furthermore, MetaMask is working on the security against malicious exchanges, which plunder unaware, often non-technical, users’ wallets once they are granted access. MetaMask is in the process of mitigating these security issues by whitelisting addresses of exchanges.
Besides improving the software for new users, MetaMask does not have a concrete product roadmap. Instead, MetaMask relies on user feedback and the (rapid) evolution of the blockchain ecosystem to extract ideas for features, as long as those features reflect the mission and values of MetaMask. In their 2022 community call4, the MetaMask team present the upcoming features of 2022. For example, dark mode will soon be added to the extension, as it was one of the most requested features by the users. Furthermore, they are working on improving their interoperability by supporting new blockchain technologies, including new hardware wallets, tokens and side-chains.
Ethical considerations
Naturally, improving the accessibility of the software allows non-technical users to start using the application.
However, the reviews of MetaMask on the Google Chrome Web Store5 clearly show that MetaMask and blockchain as a whole are not yet ready for these types of users.
The majority of (plentiful) single-star reviews are from individuals who are claiming that they got hacked, or from individuals who are experiencing delays while trading.
However, a technical user would know that these types of problems are not caused by MetaMask itself.
This gives rise to the debate on whether MetaMask should try to evaluate user knowledge before they can use the application, similar to online stock brokers like DEGIRO6.
So, with the recent influx of blockchain users, MetaMask now faces the ethical issue of balancing between accessibility (which directly increases the number of swaps, and therefore MetaMask’s income) and security, because non-technical users are inherently more likely to lose money as a result of their misunderstanding.
Conclusion
In conclusion, MetaMask and its wallet browser extension are slowly becoming the standard gateway to the world of blockchain applications. However, MetaMask will first have to adapt to the future context of non-technical users and diverse upcoming regulations, while maintaining their key quality attributes, and staying true to their values and mission. In the following essays, we will dive deeper into the architecture behind MetaMask, the technical debt and finally the scalability of this project.
-
MetaMask, https://metamask.io/ ↩︎
-
About MetaMask, https://metamask.io/about ↩︎
-
ConsenSys, https://consensys.net/blog/press-release/metamask-surpasses-10-million-maus-making-it-the-worlds-leading-non-custodial-crypto-wallet/ ↩︎
-
MetaMask on the Chrome WebStore ↩︎
-
DEGIRO, https://www.degiro.eu/ ↩︎