Einführung in Web3-Plugins – MetaMask

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining


Wenn Sie eine Video-Einführung bevorzugen, können Sie dies sehen!

Bei Ethereum ging es seit jeher darum, das Potenzial zukünftiger Innovationen auszuschöpfen. Wenn wir wüssten, wofür es gut ist, hätte es alle diese Funktionen anstelle einer virtuellen Maschine geliefert. Und die Innovationen sind weitergekommen.

Staatliche Kanäle. Plasmaketten. Vertragskonten. Meta-Transaktionen. Namenssysteme. Intelligente Vertragsanalyse. Identitätssysteme. Universal Logins. Fortschrittliche Sicherheit. Bindungskurven. DAOs.

An die Bauherren, mit denen niemand mithalten kann!

In den letzten vier Jahren hatte MetaMask das Privileg, einer großen Community visionärer Entwickler dabei zu helfen, sich in einem neuartigen Computer-Ökosystem zurechtzufinden: Einem, in dem Benutzer ihre eigenen Konten, Konten ihre eigenen Gelder und die Geschwindigkeit von Innovationen kontrollieren ist der einzige Torhüter.

Da ist das Problem. Während sich das MetaMask-Team schon seit langem für unerlaubte Innovationen begeistert hat, haben wir das Gewicht der Verantwortung auf unseren Schultern gespürt, das aus dem Aufbau einer Plattform resultiert, die den Anforderungen eines so vielfältigen und brillanten Ökosystems gerecht werden soll. Wir haben das Ökosystem aktiviert, aber in vielerlei Hinsicht auch das Innovationstempo vorgegeben. Die Funktionen, die wir hinzugefügt haben, wurden zu einer Art Gatekeeping, einem Engpass bei der Innovation. Die Token, die wir aufgelistet haben. Die von uns unterstützten Signaturschemata. Die Netzwerke, die wir standardmäßig anzeigen. Wir haben einige erste Schritte unternommen, um diese Auswahl wieder in die Hände der Nutzer zu legen, aber wir wussten, dass dies nicht ausreicht. Wir mussten mehr tun.

Berechtigungslose Erweiterung

MetaMask hat den Browser in wichtigen Punkten erweitert, um Ethereum auf normale Websites zu bringen. Dies ist jedoch nicht die letzte Funktion, die wir für die Erstellung des Web von morgen benötigen.

MetaMask selbst war zunächst eine Browser-WebExtension, und viele Benutzer spürten schon früh den Schmerz dieser Installation: Damit MetaMask funktioniert, müssen Benutzer einigen wirklich übermäßigen Berechtigungen zustimmen. Dies liegt nicht daran, dass wir sie fordern oder benötigen, sondern daran, dass es sich um die am wenigsten leistungsfähigen Berechtigungen handelt, mit denen MetaMask das tun kann, was es benötigt.

Das Hinzufügen von Erweiterungen zum Browser ist heutzutage ein gefährlicher Prozess mit groben Berechtigungen. Daher kann jede neue Erweiterung den Benutzern enormen Schaden zufügen. In der Zwischenzeit ist das Hinzufügen von Funktionen ein unglaublich leistungsfähiges Muster, das wohl das Kennzeichen von Open Computing ist.

Überall um uns herum finden große und wichtige Innovationen statt, von Skalierungsstrategien bis hin zu neuen intelligenten Vertragsprotokollen. Viele davon erfordern die Interaktion mit den Konten eines Benutzers Ausführen eines persistenten Skripts im Namen des BenutzersEntweder um den Status zu überwachen, Transaktionen vorab zu verarbeiten oder einfach um einen neuen Peer-to-Peer-Dateitransport zu verschiedenen Standorten mit einem gemeinsam genutzten Cache bereitzustellen.

Um all diesen und weiteren Anwendungsfällen gerecht zu werden, möchten wir Folgendes vorstellen Das Metamask Plugin System.

Ein MetaMask-Plugin ist ein Skript, das über ein verifiziertes und erlaubnisloses Protokoll wie ENS, IPFS oder Swarm geladen wird. Diese Skripte haben standardmäßig keine Berechtigung, können jedoch über eine neue API, die wir als "MetaMask" bezeichnen, eine Reihe leistungsfähiger Wallet-APIs von MetaMask anfordern Brieftasche API.

Das Brieftasche API ist eine Erweiterung des Klassikers Äther oder web3.currentProvider API, aber mit einigen zusätzlichen Funktionen, die einige unserer bevorzugten Anwendungsfälle vereinfachen, wie z. B. Layer-2-Skalierungsstrategien, und bald weiteren Funktionen für die Unterstützung von Vertragskonten. Sie können jetzt hier mit dem Lesen der Dokumente beginnen.

Wir machen unsere APIs absichtlich sehr granular, so dass MetaMask-Plugins niemals nach übermäßiger Autorität fragen müssen und viele mit wenig Wissen darüber arbeiten können, was vor sich geht. Beispielsweise muss ein Filesharing-Plugin nicht wissen, auf welcher Seite Sie sich befinden, sondern nur, welchen Hash Sie laden oder festlegen möchten.

Jedes Plugin kann den von einem Benutzer besuchten Sites sowie anderen Plugins eine eigene API zur Verfügung stellen, sodass Plugins in einer Art dezentralem Abhängigkeitsdiagramm aufeinander aufbauen können. Ein State-Channel-Plug-In kann beispielsweise ein Whisper-Plug-In verwenden.

All dies ist mit unserem EIP 2255-Berechtigungssystem möglich. Sehen wir uns also einige Berechtigungen an, mit denen einige neue Arten von Plugins aktiviert werden können.

Smart Contract Security ist ein großes Problem, da Sie nicht sicher genug sein können und unabhängig von der Anzahl der hinzugefügten Schecks immer gefragt werden müssen, wer die Wächter überwacht. Mit einem auditAddress Plugin-API, Plugins können Warnungen oder Vermerke von Konten hinzufügen, wo immer MetaMask sie anzeigt.

Dezentrale Namenssysteme bieten eine aufregende Möglichkeit, Inhalte außerhalb des herkömmlichen Zertifizierungsstellensystems zu laden, und wir möchten nicht festlegen, welche Namenssysteme ein Benutzer abonnieren kann resolveName Über die API können neue Strategien zur Namensauflösung hinzugefügt werden.

Datenschutzbezogene Protokolle erfordern einzigartige Formen der Kryptografie. Anstatt also zu versuchen, alle vorhandenen Signaturalgorithmen zu implementieren, zu prüfen und zusammenzuführen, können Plug-ins diese Rolle übernehmen: Das erste Team, das eine neue Kurve benötigt, kann unsere verwenden wallet.getAppKey () API zum Abrufen eines eindeutigen privaten Schlüssels für ihre Domain, der aus der eigenen Startphrase des Benutzers generiert wird und eindeutig für die Herkunft des Plugins bestimmt ist. Dies wird nun als Berechtigung für diesen Schlüsseltyp behandelt, der auch unseren verwenden kann bestätigen API (die vorerst grob ist, aber möglicherweise benutzerdefinierte Bestätigungen unterstützt), um die Zustimmung des Benutzers für diese Art von Signatur zu erhalten.

Vertragskonten eröffnen in Ethereum unbegrenzte Potenziale, sind aber auch ein aktives Innovationsthema. Anstatt sich auf ein einzelnes Vertragskonto festzulegen, können wir jedes erdenkliche Vertragskonto mit einer Reihe von kontozentrierten Plug-in-APIs unterstützen. Durch die Unterstützung beliebiger Vertragskonten kann MetaMask nicht nur neue Arten von Konten zulassen, sondern auch Benutzer integrieren, die ursprünglich temporäre Konten, Brennerkonten und Universal-Login-Konten erstellt haben, und diese Konten mit einer einzigen Berechtigung direkt in die Erweiterung laden.

Die Skalierung der Blockchain ist eines der schwierigsten und aktivsten Themen bei der Erforschung des gesamten Ökosystems. Auch bei MetaMask möchten wir keine einzige Strategie wählen und dann versuchen, alle zu zwingen, diese für die nächsten Jahre anzuwenden. Stattdessen haben wir im Meta-Geist eng mit einer Reihe von Layer-2-Skalierungsteams zusammengearbeitet, die gemeinsamen Funktionen gefunden und sie in eine Suite von Plug-in-APIs abstrahiert, von denen wir hoffen, dass sie die Dapp-Entwicklung für die Innovation dezentraler Vereinbarungen freischalten weit weg von der Hauptkette. Dazu gehören die getAppKey () oben diskutierte Methode sowie eine neue wallet_manageAssets () Vorschlag.

Eine große Kategorie der Vertragsskalierbarkeit ist für kontrafaktische Vermögenswerteoder Vermögenswerte, die Sie haben würden Wenn Sie eine signierte Nachricht gesendet haben, die Sie in der Blockchain gespeichert haben. Damit ein kontrafaktisches Schema nützlich ist, muss die Brieftasche wissen, wie diese Nachrichten gespeichert werden, wie und wann sie an die Blockchain gesendet werden und wie sie in der Brieftasche des Benutzers gerendert werden. Mit unserer wallet_manageAssets () Mit dieser Methode kann jeder ein neues Schema für das Prägen von Token oder Sammlerstücken mit einer einfach signierten Nachricht entwickeln. Jetzt können wir also Assets sofort füreinander „prägen“ und vermeiden, in die Blockchain zu wechseln, bis wir das Asset tatsächlich an senden möchten jemand anderes.

Das Präfix "Meta" bedeutet darüber hinausWir glauben, dass MetaMask durch die Bereitstellung dieser API endlich seinem Namen gerecht wird und zu einer Meta-Wallet wird, die nicht mehr für jede neue Innovation im Brieftaschenbereich erforderlich ist, sondern sich stattdessen auf die Implementierung von APIs konzentriert, die eine zweite ermöglichen Innovation, wie die APIs oben.

Jede dieser APIs wird in Kürze zu EIP-Diskussionen führen, und wir hoffen, dass die Entwicklergemeinde uns dabei helfen wird, eine Reihe von API-Oberflächen zu definieren, die die Brieftasche zu einer vielseitigen und dennoch sicheren Plattform machen, auf der wir alle aufbauen können, um die beste Arbeit der jeweils anderen aufzubauen.

Eine dezentrale Normungsorganisation

Bei Devcon 2 ging ich auf die Bühne und forderte eine dezentrale Normungsorganisation. Ich habe die anderen Web3-Wallet-Entwickler gebeten, sich zu einer gemeinsamen Testsuite zusammenzuschließen und Entwicklern eine Plattform zu bieten, die für alle Kunden stabil ist. Während es eine echte Leidenschaft und ein echtes Interesse gab (Casey Detrio), verwiesen Untätigkeit und Koordinationskosten diesen Traum letztendlich in den Raum der Fantasie.

In Anbetracht unserer Berechtigungen und unseres Pluginsystems möchte ich Sie heute noch einmal fragen, wie wir eine dezentrale Normungsorganisation aufbauen können.

Was wäre, wenn nicht jeder Brieftaschenentwickler bei jeder Methode, die jeder App-Entwickler wünscht, den Überblick behalten muss, sondern nur Teile unserer gemeinsam genutzten API von verschiedenen Quoren im Ökosystem verwaltet werden und sich andere Entwickler auf diese Komponenten verlassen können? sie wünschen? Für mich ist dies ein dezentraleres Standardsystem als der Versuch, eine Gruppe von ansonsten konkurrierenden Geldbörsen dazu zu bringen, sich auf eine Testsuite zu einigen.

Auf diese Weise kann jeder Plug-in-Autor auf einfache Weise eine eigene API für die von einem Benutzer besuchten Websites erstellen. Diese APIs werden derzeit über den Ethereum-RPC verfügbar gemacht. Derzeit sind jedoch Tools in Arbeit, mit denen Plug-ins beliebige Objekte mit vielversprechenden Funktionen oder Ereignis-Listenern als APIs für Websites und andere Plug-ins bereitstellen können.

Wie ist das möglich?

Die Isolierung dieser Plugins wird durch das visionäre JavaScript-Sandboxing ermöglicht, das aus dem Secure EcmaScript-Projekt von Agoric stammt. Dank einer kontinuierlichen Partnerschaft mit Agoric verfügen wir (als JavaScript-Community) allmählich über die Tools, um wirklich sichere verteilte Systeme zu erstellen. Wie Mark Miller von Agoric gerne sagt,

Wenn Sie eintauchen und es selbst ausprobieren möchten, besuchen Sie bitte unser Plugin-Beta-Wiki. Für eine gewisse Echtzeitunterstützung können Sie unseren Keybase-Channel "metamask_plugins" beitreten. Es gibt viel zu lesen und auszuprobieren, und wir freuen uns auf Ihr Feedback und Ihre Anwendungsfälle. Wir haben dies gemacht, um das Potenzial dieses Ökosystems wirklich zu erschließen. Bitte teilen Sie uns Folgendes mit:

Free Bitcoins: FreeBitcoin | BonusBitcoin

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close