Heute haben wir die erste Version von MetaMask Snaps in der öffentlichen Distribution von MetaMask veröffentlicht. Dies ist das Ergebnis jahrelanger harter Arbeit und originärer Forschung eines großartigen Teams, und ich freue mich, euch zu erzählen, worum es geht, wie es dazu kam und wohin die Reise führt.
Ich glaube, dass die ursprüngliche Snaps-These nach wie vor zutreffend ist. Snaps sind aus demselben Grund eine gute Idee wie Ethereum eine gute Idee ist – aus demselben Grund, aus dem Computing eine gute Idee ist: Universelle Denkwerkzeuge sind großartig.
Die ganze Zeit haben wir versucht, eine Schnittstelle zu Ethereum zu bauen – einem Turing-vollständigen Computer –, aber unsere Schnittstelle wurde von einem einzigen Team entwickelt! Es liegt auf der Hand, dass das ideale Wallet für eine offene Maschine wie Ethereum genauso flexibel sein müsste wie diese selbst. Heute ist ein wichtiger Schritt in diese Richtung.
MetaMask Snaps ist ein neues System im Wallet, das es Nutzern ermöglicht, zur Laufzeit zusätzliche Erweiterungen für ihr Wallet zu aktivieren. Wir starten mit einer Reihe von APIs und Partnern, die diese nutzen und es unserem Wallet ermöglichen, plötzlich neue Blockchains, neue Anbieter für Transaktionssicherheit und eine Vielzahl von Benachrichtigungssystemen zu unterstützen (einschließlich eines Chat-Snaps!). Wir glauben, dass diese in Bezug auf Skalierbarkeit und Sicherheit viele neue Möglichkeiten bieten werden – aber das ist wirklich erst der Anfang.
Die Snaps-Geschichte: Wie sind wir hierher gekommen?
Das Wichtigste an der Snaps-Geschichte ist für mich, dass wir jetzt ein System im Herzen unseres Wallets haben, das es uns erlaubt, einen Schritt zurückzutreten und die Community bescheiden einzuladen, eigene Lösungen für die schwierigsten Probleme beizusteuern. Ich habe einige große Ideen und Meinungen dazu, wie die Zukunft der Transaktionssicherheit aussehen könnte – aber das ist kein Grund dafür, dass es die einzige Idee sein sollte, die validiert wird. Wir helfen dabei, ein neues Paradigma des verteilten Computings einzuläuten, und es gibt viele Fragen, die kreative Lösungen erfordern. Deshalb bin ich nach wie vor überzeugt, dass die Senkung der Hürden und Kosten für das Ausprobieren neuer Dinge ein wichtiger Beschleuniger sein kann, um gute Antworten auf diese schwierigen Fragen zu finden. Es geht nicht darum, Technologie um ihrer selbst willen voranzutreiben, sondern darum, den Prozess zu beschleunigen, mit dem wir Verbesserungen in unserer Arbeitsweise finden.
Im Laufe dieses Prozesses habe ich reflektiert, dass ich langfristig erwarte, dass mehr Software offen gestaltet und leicht erweiterbar und vernetzbar sein wird. Ein sicheres Erweiterungssystem sollte ein längst gelöstes Problem sein – und ehrlich gesagt denke ich, dass es der Standard sein sollte, nach dem Software gebaut und geschrieben wird. Ich gehe davon aus, dass es das langfristig auch sein wird. Da sicher erweiterbare Software noch kein günstiges Allgemeingut ist, bin ich zutiefst stolz auf unser Team dafür, dass es dazu beiträgt, einen Weg in Richtung einer kollaborativeren Zukunft des Computings im Allgemeinen zu ebnen.
Unsere Reise zu Snaps führte uns durch einige spannende Kapitel der Geschichte des Computings und ermöglichte es uns, wunderbare Freundschaften zu schließen. Der Wert unserer Partnerschaft mit Agoric in diesem Vorhaben kann nicht hoch genug eingeschätzt werden. Agoric hat eine JavaScript-Confinement-API entworfen, diese dem JS-Standardisierungskomitee TC-39 vorgeschlagen, einen funktionierenden Shim dieser API implementiert, der heute verwendet werden kann, und mit uns bei der Weiterentwicklung dieses Systems, LavaMoat, und unserem Ansatz zum sicheren Computing im Allgemeinen zusammengearbeitet. Unser Snaps-System nutzt den Agoric Compartment Shim, der zusätzlich in einem iframe eingeschlossen ist. Ihr könnt euch hier ein Gespräch zwischen mir und Mark Miller, Chief Scientist bei Agoric, ansehen. Unser Purple-Team-Audit des Compartment Shims könnt ihr hier lesen.
Wir haben diese Reise in einer besonders herausfordernden Zeit für eine WebExtension angetreten: Google selbst schlug eine grundlegende Überarbeitung der Funktionsweise von Erweiterungen wie MetaMask vor, und für einen Moment schwebte dies wie ein möglicher Todesstoß über dem gesamten Projekt (oder zumindest als eine Änderung, die uns zwingen würde, die Extension-Plattform zu verlassen). Glücklicherweise konnten wir – vor allem dank außerordentlich kluger und umsichtiger Business-Development-Mitarbeiter sowohl bei Consensys als auch bei Google – Kompromisse bei der Weiterentwicklung der Extension-Plattform finden, die MetaMasks ambitionierte Ziele ermöglichten, ohne die Sicherheitsvorstellungen eines der beiden Unternehmen zu gefährden.
Diese Änderungen erforderten dennoch enorme Beiträge aus dem gesamten Consensys-Umfeld, um uns dabei zu helfen, sie zu bewältigen. Es ist eine Sache, eine wichtige Initiative durch ein stark genutztes, sicherheitskritisches Produkt wie MetaMask voranzutreiben – aber noch mehr, dies zu tun, während gleichzeitig die gesamte Codebasis auf eine im Wesentlichen neue Plattform migriert wird. Diese Leistung ist ein Beweis für mehrere Teams bei MetaMask, die eng zusammengearbeitet haben, um die Last zu teilen, damit wir die weitaus spannendere Arbeit auf der anderen Seite freischalten konnten. Dafür bin ich ihnen allen zutiefst dankbar.
Das Snaps-System enthält einige der schönsten Design-Beiträge, mit denen das MetaMask-Wallet je gesegnet wurde (mit einigen verwandten Design-Änderungen, die bald in weitere Teile des Wallets einfließen werden!). Der Prozess, bei dem eine Website einem Nutzer einen Snap vorschlägt, der Nutzer die damit verbundenen Risiken sicher prüft und das erweiterbare Benutzeroberflächensystem, das wir Snaps für Bestätigungen zur Verfügung gestellt haben (das nur noch besser wird), ist das Ergebnis unglaublich tiefgründiger Gespräche über sicheres Design, Nutzerforschung und vieler Geistesblitze. Wir haben hier ein erstklassiges Berechtigungssystem geschaffen und treiben es weiter in spannende Richtungen voran.
Demnächst werden einige meiner Lieblings-APIs, die wir geplant haben, neue Account-Typen sein (Hallo 4337!), Snap-definierte Assets (Snap-Assets erscheinen noch nicht in der Haupt-Token-Liste… noch nicht) und Home-Screen-Widgets, die das erweiterbare UI-Framework nutzen werden, das wir gerade entwickeln und das ihr erstmals in den benutzerdefinierten Bestätigungen erleben könnt, die Snaps heute anzeigen können.
Wir haben eine Seite mit Snaps, die vollständig geprüft wurden und bereit zum Ausprobieren sind, und ich empfehle euch, diese auszuprobieren. Langfristig erwarte ich, dass einige der spaßigsten Snaps Dinge sein werden, die unsere bisherigen Vorstellungen davon, wofür das System gut ist, sprengen werden. Ich möchte Archis dafür würdigen, eine Snap-Demo erstellt zu haben, die ein LLM verwendet, um das Wallet anzuweisen, einen Trade durchzuführen. Angesichts des KI-Booms könnte der Zeitpunkt kaum besser sein, um das Wallet für verrückte Experimente zu öffnen.
Ein neues Kapitel: Das beste Internet entdecken
Ein System für die Verwaltung sicherer Erweiterbarkeit zu haben, ist wirklich ein Neuanfang. Die APIs, mit denen wir heute starten, könnten jeweils einen Snap ermöglichen, der den Nutzen von MetaMask vervielfacht. Aber vielleicht noch wichtiger ist die Tatsache, dass wir mit diesem Fundament zunehmend jeden Teil des Wallets betrachten können, bei dem wir glauben, dass Nutzer mehr Kontrolle verdienen oder bei dem Entwickler mehr Kreativität einbringen können – und wir können eine API-Methode öffnen und die Kreativität hereinlassen, um das Produkt in neue Richtungen zu lenken. Das ist nicht nur ein Feature-Release, das ist ein Produkt, das eine deutlich stärker nach außen gerichtete, kollaborative Haltung einnimmt. Einer meiner größten Schmerzpunkte bei der Mitgestaltung von MetaMask in meinen fast acht Jahren hier war das ständige Bewusstsein für den Ozean an Kreativität, der aufgrund unserer regulären Verpflichtung gegenüber den Grundlagen von Sicherheit und Kompatibilität einfach außerhalb der Reichweite unseres Backlogs lag. Snaps ist ein bescheidenes Eingeständnis, dass wir das nicht alles alleine schaffen können. Die Reise zur Entdeckung des besten Internets wird viele kreative Beiträge erfordern. Hinzu kommt, dass wir meine Ideen ohnehin nicht so schnell umsetzen konnten, wie ich sie hatte! Snaps ist heimlich ein selbstsüchtiges Feature: Ihr werdet das beliebteste Wallet jetzt mit weniger Bürokratie erweitern können, als es ein Gründer des weltweit beliebtesten Wallets noch letzte Woche konnte.
Ich halte es für wichtig, eine wesentliche Einschränkung des aktuellen Snaps-Systems anzusprechen. Heute kann es nicht vollständig ohne Genehmigung erweitert werden. Die Snaps, die installiert werden können, sind solche, die wir genehmigt haben, weil wir bestätigt haben, dass sie geprüft wurden – zusätzlich dazu, dass sie auf alle Weisen eingeschränkt sind, die der Installationsdialog beschreibt. Dies geschah sowohl aus einem Übermaß an Vorsicht als auch weil wir Ideen haben, wie wir zusätzliche Sicherheit für eine genehmigungsfreie Version hinzufügen können, deren Implementierung mehr Zeit in Anspruch nehmen wird. Wir wollten jedoch früher etwas veröffentlichen (es hat schon so lange gedauert).
Kein Zweifel: Das langfristige Ziel ist genehmigungsfreies Computing. Eines der auslösenden Ereignisse auf meiner Web3-Reise war, dass eine gute App von Apple aus willkürlichen Gründen abgelehnt wurde. Heute scheinen Computer entweder sichere, ummauerte Gärten oder völlig unsicher, aber genehmigungsfrei zu sein – und ich glaube, wir haben Grundlagen geschaffen, um einen Raum zu erschließen, der keines von beidem ist. Unser Blick ist auf diesen Raum dazwischen gerichtet. Sicheres, nutzerverwaltetes Computing ist auf dem Weg, und wir laden euch ein, dabei zu helfen, es zu definieren.
Wenn ihr als Entwickler mit dieser Plattform experimentieren möchtet, empfehle ich die Installation von Flask, unserer entwicklerorientierten Distribution von MetaMask. Damit könnt ihr jeden Snap installieren (auch einen, den wir nicht geprüft haben) und beginnen, euren eigenen zu entwickeln.
Wie auch immer – das ist ein großartiger Moment zum Feiern, denn wir vervielfachen die Anzahl der Features, die MetaMask heute hat. Das Witzige daran ist jedoch, dass das Aufregendste zweifellos das ist, was noch darauf aufgebaut werden muss. Also feiere ich, ich schätze es, ich bin zutiefst dankbar für ein brillantes, engagiertes Team, das diese enorme Leistung möglich gemacht hat. Ich freue mich auch darauf, dieses nächste Kapitel gemeinsam zu gestalten.