🦊 MetaMask Extensibility — Issue No. 71
/📰News
On October 10th of this year, the team behind the MetaMask browser wallet announced an upcoming change which may prove pivotal for the advancement of the Ethereum ecosystem. The new version of MetaMask, which remains in beta for now, will be extensible. That means third party developers will be able to expand both the functionality and user interface of the wallet via plugins. Examples of how this could be used include implementing functionality for a new token standard, a new signing scheme, or an arbitrary layer 2 network. Importantly, these sorts of features, and any others that developers can dream up, can be implemented without approval or development effort from the MetaMask team itself. Link.In addition to plugin-based extensibility, the new version of MetaMask will also implement an extensible permissions system, described in the EIP-2255 standards proposal. This will enable dApps to request specific permissions, allowing users to grant those permissions on a gradated basis. A decentralized exchange, for example, might request permissions to send a specific token. The user would be able to grant this permission outright, avoiding the need to approve every transaction. Alternatively, they could choose a more restrictive permission, such as requiring per-transaction approvals, or approving withdraws up to a certain limit. Link.
While we're on the subject of improvements to MetaMask, it's worth noting the team recently shipped a mobile app. MetaMask mobile entered public beta testing in July, and is available for iOS and Android. In addition to being a solid mobile wallet, it also enables the same dApp browsing features users are accustomed to in the desktop based browser extension. Link.
The announcement that MetaMask will be extensible by third parties has flown largely under the radar. I haven't seen it get much attention, and I feel many have brushed it off as "some developer thing." Well, as a developer, I am very excited by it, and think it could be a critical moment for the burgeoning Ethereum ecosystem. Let's unpack why.
Decentralized cryptonetworks are interesting for a couple of reasons. One will be familiar to regular readers of this newsletter, as I touch on it regularly: they enable broad, global collaboration without the concentration of power. I think this is critical for the world moving forward.
There is a second benefit of decentralization that, while related, is in fact subtly different. As a decentralized computing network, Ethereum is by definition permissionless, and permissionless computing platforms are historically hotbeds for innovation.
When a new technology comes around, it's extremely difficult to predict the ways it might eventually be used. In the beginning, most try to force existing systems to work in the new paradigm, while many of the use cases that eventually come to be important look trivial or even dumb at first. This is why permissionlessness is so critical. If a gatekeeper exists, they are likely to extinguish nascent ideas that seem silly, but are actually profound.
A historical example is in order. The web is a permissionless platform for the dissemination of information. When the web was young, most people imagined obvious use cases: online newspapers, research publications, etc... Many of the applications we now take for granted were scoffed at by mainstream commentators in the early days. These included blogs, chats, social networks, wikis, crowd-sourced rating systems, and online dating sites. None of these would exist today had they required the blessing of a "serious" businessperson.
Permissionless platforms let developers and entrepreneurs build what they want. A thousand flowers bloom, and while many of them wither, the best survive and thrive. Permissionless platforms enable bottom up innovation, where good ideas percolate to the surface.
What does all this have to do with MetaMask? Well, gatekeepers can exist in many forms, and at many levels of the stack. The web was a permissionless platform, but for a time, it was mostly captured by Microsoft via the dominance of Internet Explorer. If your site needed functionality their browser didn't implement, you were out of luck, because they controlled 90% of the market.
For a while, it was starting to feel like MetaMask could end up being something like the Internet Explorer of the Ethereum world. Ethereum is a permissionless network, but if a huge percentage of users interact with that network through MetaMask, then the MetaMask team can effectively pick winners and losers.
Imagine someone creates an innovative new layer 2 network. Before that network has users, the MetaMask team is unlikely to prioritize integrating it into the wallet, and rightly so. They have a ton of other features to focus on. But without a MetaMask integration, how likely is such a network to get adopted, even if it's quite good? It's easy to see how MetaMask's dominant position in the ecosystem could end up impeding innovation.
This changes with extensibility. The team deserves huge credit for taking this step, because while such power is bad for the ecosystem, it can be quite profitable for the entity that wields it. By making MetaMask extensible, the folks building it have opened the door for a lot more experimentation in the Ethereum ecosystem. That experimentation is likely to bear fruit in unexpected ways.