Eines der Markenzeichen von Web3 besteht darin, den Benutzern die volle Kontrolle über ihre Privatsphäre und ihre Interaktion mit den Plattformen zu geben. Erfahren Sie, wie Sie Genehmigungen und Berechtigungen in MetaMask verwalten.

Selbst wenn Ihre Erfahrung mit Blockchains wie Ethereum auf das Senden einfacher Transaktionen zwischen Wallets beschränkt ist, haben Sie Ihre Transaktion genehmigt, autorisiert oder signiert. Das bedeutet einfach, dass Sie die Übermittlung an die Blockchain bestätigen.

Derselbe Prozess gilt auch für die Interaktion mit Dapps in Web3: Es gibt viel, dem zugestimmt, was genehmigt und was zugelassen werden muss. Aber was steckt wirklich in einer MetaMask-Genehmigung?

Um diese Frage zu beantworten, müssen wir zunächst einige Kernaspekte der Kryptografie behandeln.

Schlüssel und Kryptografie: Was ist Genehmigung?

Alle Ihre Kryptoaktivitäten basieren auf Public-Key-Kryptografie. Im Wesentlichen verfügt jede Wallet über einen passenden öffentlichen und privaten „Schlüssel“, der bei der Erstellung der Wallet generiert wird. Stellen Sie sich eine Tür vor, bei der Sie zum Öffnen einen Riegel aufschließen und einen Riegel umdrehen müssen, und zwar für jeden Schlüssel. Mit einem einzigen Schlüssel kommen Sie nicht weiter – Sie brauchen das Paar.

Obwohl dies eine Vereinfachung ist, können wir uns der Herausforderung dieser hypothetischen Tür stellen und eine ähnliche Logik auf Ihr Krypto-Wallet anwenden. Sowohl Ihr privater als auch Ihr öffentlicher Schlüssel sind für die Transaktion erforderlich: der private Schlüssel, damit Sie nachweisen können, dass Sie die Transaktion initiiert haben, und der öffentliche Schlüssel, damit der Empfänger den Ursprung überprüfen kann. Und so funktioniert es:

  1. Sie entscheiden, Token an einen Kontakt zu senden. 

  2. Da Sie die Wallet-Adresse des Empfängers kennen, besitzen Sie auch dessen öffentlichen Schlüssel – ersterer ist lediglich eine gehashte (verschlüsselte) Version des letzteren. Der öffentliche Schlüssel wird zum Verschlüsseln der Transaktion verwendet.

  3. Der Empfänger, Inhaber des privaten Schlüssels, erhält die Transaktion. Da ihre Schlüssel zusammengehören, kann nur der entsprechende private Schlüssel – den nur er besitzt – die mit seinem öffentlichen Schlüssel gesendete Transaktion entschlüsseln.

So weit, so gut: Wir haben festgestellt, wie Paare aus privaten und öffentlichen Schlüsseln interagieren, um Blockchain-Transaktionen zu ermöglichen. Um dieses Wissen jedoch auf Genehmigungen/Signaturen anzuwenden, tauschen wir die Rollen der Schlüssel: Stattdessen verschlüsselt der Absender die Nachricht mit seinem privaten Schlüssel. Da andere den öffentlichen Schlüssel des Absenders (seine Wallet-Adresse) leicht herausfinden können, können die Schlüssel kombiniert werden, um die Nachricht zu entschlüsseln und so die Identität des Absenders zu bestätigen. Nur ein passendes Schlüsselpaar enthüllt den Inhalt der Nachricht, sodass niemand den Ursprung bestreiten kann.

Das Aufbringen einer Art Signatur auf jede Transaktion garantiert Unveränderlichkeit, sodass niemand außer Ihnen – dem Inhaber Ihres privaten Schlüssels – Sie betrügerisch imitieren kann.

Dapp-Berechtigungen

Die erste der beiden Hauptgenehmigungsarten, auf die Sie stoßen werden, ist die erstmalige Verbindung Ihres Wallets mit einer Dapp – sei es DeFi, ein Dienst wie Etherscan oder ein NFT-Marktplatz.

Dabei erteilen Sie der Dapp die Berechtigung, Ihre Wallet-Adresse abzurufen. Dies ist eine Voraussetzung für die Interaktion mit der Plattform. Dies erklärt auch, warum Sie als „Berechtigung“ oder „Berechtigungen“ bezeichnet werden; Substantive, die genau beschreiben, was Sie tun. In einigen Fällen werden Sie von Dapps automatisch aufgefordert, die Berechtigung zu erteilen. In anderen Fällen müssen Sie auf Schaltflächen mit der Aufschrift „Verbinden“ oder Ähnlichem klicken.

Die Erteilung Ihrer Erlaubnis sieht in unserem Fall ungefähr so ​​aus:

Token-Genehmigung

Egal, ob Sie ein erfahrener Krypto-Native oder ein absoluter Anfänger sind: Um mit einem Smart Contract interagieren zu können – also mit der Art, die Dapps ausführt (einschließlich DeFi, Blockchain-Gaming, NFT-Käufe) – müssen Sie dessen Zugriff auf Ihre Token genehmigen.

Dieser Vorgang wird, wenig überraschend, auch als Token-Genehmigung bezeichnet. Was Sie hier tun, ist:

  1. Erlauben Sie dem Smart Contract, auf Ihren Token-Saldo zuzugreifen. Betrachten Sie dies als die „Smart-Contract-Phase“. MetaMask zeigt an dieser Stelle deutlich an, wie viel Zugriff Sie abtreten: Einige Dapps geben möglicherweise eine begrenzte Anzahl von Token an, während andere unbegrenzten Zugriff anfordern.

  2. Bestätigen Sie, dass Sie die betreffende Transaktion abschließen möchten: d. h. die „Blockchain-Phase“, in der Sie dem Smart Contract erlauben, die Transaktion in Ihrem Namen an das Netzwerk zu übermitteln.

Angenommen, Sie möchten einen Token-Tausch auf Uniswap durchführen, der nach Handelsvolumen größten dezentralen Börse (DEX). Wenn Sie zum ersten Mal einen Tausch in einem Token-Paar initiieren, werden Sie aufgefordert, Smart Contracts für das ERC-20-Token-Paar zu genehmigen, mit dem Sie handeln (allerdings nicht für ETH selbst, das keiner Genehmigung bedarf). Dies geschieht zwar nur beim ersten Handel mit diesem Paar, der nächste Schritt – also Schritt zwei oben – ist jedoch jedes Mal erforderlich und bedeutet, dass die Protokolle von Uniswap Ihren Handel auf Anfrage ausführen.

Dieser Vorgang läuft ungefähr wie folgt ab: 

  • Zunächst werden Sie von der Plattform aufgefordert, das Token zu genehmigen. Klicken Sie auf die Eingabeaufforderung und MetaMask wird aktiv.

  • MetaMask zeigt Ihnen die Vertragsadresse des Tokens und bestätigt, dass die Berechtigung zum Zugriff auf Ihre Gelder und zum Verschieben dieser angefordert wird. Um sicherzugehen, dass Sie den richtigen Vertrag zulassen, sollten Sie die Token-Adresse mit der auf der Website der Dapp aufgeführten Adresse vergleichen – diese finden Sie normalerweise im Hilfecenter, in der Wissensdatenbank oder in den Dokumenten. Sie haben sogar die Möglichkeit anzugeben, wie weit diese Berechtigung gehen soll – klicken Sie dazu auf „Berechtigung bearbeiten“.

  • Mit dieser Option können Sie genau sehen, wie viel Zugriff Sie gewähren. In diesem Fall möchte Uniswap auf eine praktisch unbegrenzte Menge an stETH (1,1659) zugreifen, aber wir können diese Berechtigung bei Bedarf mithilfe des Felds „Benutzerdefiniertes Ausgabenlimit“ begrenzen.

Mit dieser Funktion behält MetaMask die Kontrolle über Ihre Token-Genehmigungen – Sie müssen einer Dapp nie blindlings mehr Zugriff gewähren, als Sie möchten, oder unerwünschte Risiken eingehen, nur um eine neue Plattform auszuprobieren.

Bei der Handelsanfrage selbst kommt Ihr Schlüsselpaar ins Spiel: Sie unterzeichnen die Transaktion mit Ihrem privaten Schlüssel. Stellen Sie sich das so vor, als würden Sie mit einem Stift auf der gepunkteten Linie unterschreiben; bei der Public-Key-Kryptografie ist das Risiko eines Identitätsbetrugs jedoch vernachlässigbar. In unserem Beispiel bedeutet Zustimmung, dass Sie einen Smart Contract von Uniswap autorisiert haben, diesen Token in Ihrem Namen in Ihr Wallet und aus ihm heraus zu verschieben. Jedes Mal, wenn Sie versuchen, einen Tausch einzuleiten, kann der Smart Contract Ihre „Nachricht“ – d. h. die Anweisung zur Durchführung des Tauschs – überprüfen und bestätigen, dass Sie als einzige Person mit Zugriff auf Ihren privaten Schlüssel der Urheber waren.

Wie kann ich Genehmigungen und Berechtigungen verwalten?

Eines der Markenzeichen von Web3 ist es, den Benutzern die volle Kontrolle über ihre Privatsphäre und ihre Interaktion mit den Plattformen zu geben. Das nicht-treuhänderische Design von MetaMask spiegelt dies wider. Seine Prinzipien erstrecken sich jedoch auch auf andere Funktionen; dazu gehört die Möglichkeit, Genehmigungen für Dapps und Smart Contracts anzuzeigen und zu verwalten.

Anzeigen verbundener Sites in MetaMask

MetaMask enthält eine native Funktion zum Überprüfen, mit welchen Sites Ihr Wallet verbunden ist. Diese heißt „Verbundene Sites“ (wie Sie wahrscheinlich schon bemerkt haben, machen wir es nicht gern zu kompliziert). Ebenso unkompliziert ist die Methode zum Entfernen dieser Sites.

Token-Genehmigungen anzeigen

Etherscan hat vor Kurzem einen Token-Genehmigungsprüfer implementiert, mit dem Sie Token-Genehmigungen anzeigen und widerrufen können.

Sobald Sie MetaMask verbinden und Etherscan die Berechtigung erteilen, Ihr Wallet anzuzeigen, wird eine Liste mit Token-Genehmigungen angezeigt – kennen Sie das? Sie können dann deren fortlaufende Relevanz überprüfen und entsprechend widerrufen. Hilfreicherweise können Sie auch das jeweilige Asset anzeigen, wen Sie genehmigt haben (z. B. welche Dapp, namentlich referenziert) und die Menge der Token, für die Sie den Zugriff genehmigt haben.

Es gibt auch mehrere Alternativen, darunter approved.zone, Revoke und den Token Allowance Checker (TAC).

Komm nicht klar

Die persönliche Handlungsfreiheit, die mit der Verwaltung einer nicht verwahrten Wallet wie MetaMask einhergeht, ist ein zweischneidiges Schwert. So wie die sichere Aufbewahrung Ihrer geheimen Wiederherstellungsphrase Ihre persönliche Verantwortung ist und Wachsamkeit gegenüber Betrügern erfordert, sind Sie auch der Einzige, der die Dapp-Berechtigungen und Smart-Contract-Genehmigungen verwalten kann. Wenn man dies mit der einfachen Erstellung eines neuen ERC-20-Tokens kombiniert – zum Zeitpunkt des Schreibens gibt es ungefähr 485.000 Token –, werden die Risiken sehr deutlich. Während die meisten in gutem Glauben erstellt werden, könnte jeder von einem böswilligen Akteur erstellt worden sein.

Token-Genehmigungen sind ein relativ häufiger Angriffsvektor für Betrügereien – schauen Sie sich einfach rekt.news an, um einen Eindruck vom Ausmaß zu bekommen, und diesen Finematics-Artikel, um einen Eindruck von den Methoden zu bekommen. Wie bereits erwähnt, müssen Dapps angeben, auf wie viele Token sie zugreifen möchten. MetaMask beispielsweise stellt sicher, dass diese Information auf dem Genehmigungsbildschirm angezeigt wird, bevor Sie bestätigen, sodass Sie ein klareres Bild davon bekommen, wofür Sie sich genau anmelden.

Zugriffsanfragen von Dapps können von bestimmten, begrenzten Mengen bis hin zu völlig unbegrenzten Zugriffen reichen, bei denen der Smart Contract so viel aus Ihrem Wallet ziehen kann, wie er möchte. Grundsätzlich ist unbegrenzter Zugriff an sich kein Problem oder Warnsignal – viele seriöse Plattformen wie große DEXs tun dies, um Ihnen die Mühe einer häufigen erneuten Genehmigung zu ersparen, wenn Sie die Dapp regelmäßig verwenden. Das Problem entsteht bei Dapps, die unbegrenzten Zugriff auf Ihre Token mit der ausdrücklichen Absicht des Diebstahls anfordern.

Bevor Sie einem Smart Contract den Zugriff auf eine beliebige Anzahl von Token genehmigen, sollten Sie zur Risikobewertung eine mentale Checkliste durchgehen. Im Internet werden Sie häufig auf das Akronym „DYOR“ stoßen: Es ist definitiv eine gute Angewohnheit, vor der Gewährung des Zugriffs eigene Nachforschungen anzustellen. Beispiel:

  • Wie bekannt ist das Projekt?

  • Wie lange gibt es es schon?

  • Gibt es einen aktiven Community-Kanal auf Discord, Telegram oder Twitter?

  • Sind die Entwickler/Eigentümer der Dapp transparent und öffentlich erreichbar, z. B. auf Twitter oder Discord?

  • Gab es kürzlich eine Sicherheitsverletzung? Es lohnt sich, hier zu suchen.

  • Wurden sie einem Smart-Contract-Audit durch Dritte unterzogen?

  • Überprüfen Sie die Vertragsadresse im Block-Explorer. Einige Explorer, wie Etherscan, verfügen über einen benutzergesteuerten Berichtsmechanismus, der betrügerische Adressen (Verträge oder Wallets) markiert. Auch wenn sie nicht markiert sind, achten Sie auf verdächtige Aktivitäten, wie z. B. große Geldein- oder -ausflüsse in kurzen Zeiträumen.

Zusammenfassen:

Token-Genehmigungen sind nicht nur eine symbolische Geste der Zustimmung, sondern ein alltäglicher, wesentlicher Aspekt der Interaktion mit Web3. Einige wichtige Punkte:

  • Zur Authentifizierung Ihrer Berechtigungen bei der Interaktion mit Dapps wird Public-Key-Kryptografie verwendet.

  • Mit den Dapp-Berechtigungen können Dapps Ihren Wallet-Kontostand einsehen.

  • Bei Token-Genehmigungen wird dem Smart Contract einer Dapp gestattet, auf ein bestimmtes Token in Ihrem Wallet zuzugreifen und es zu verschieben.

  • Informieren Sie sich stets über die Referenzen der Dapp und überzeugen Sie sich von ihrer Vertrauenswürdigkeit, bevor Sie ihren Smart Contract genehmigen.

OBST