top of page
Krypto-Sicherheit: Uniswap Permit2 und sichere Tokenfreigaben

Uniswap Permit2 erklärt: Token-Freigaben, Signaturen und Phishing-Risiken

vor 2 Stunden
9 Min. Lesezeit

Was ist Uniswap Permit2 und warum ist es relevant?

Permit2 ist ein von Uniswap entwickeltes Smart-Contract-System für ERC-20-Tokenfreigaben und signaturbasierte Übertragungen. Es ergänzt die klassische approve- und transferFrom-Logik, statt diese vollständig abzuschaffen. Besonders wichtig ist die Trennung zwischen der Erlaubnis, die ein Token-Vertrag dem Permit2-Vertrag gibt, und der nachgelagerten Erlaubnis für eine konkrete Anwendung. Wer diese beiden Ebenen verwechselt, kann einer betrügerischen Webseite weitreichende Zugriffsrechte einräumen, obwohl die Wallet scheinbar nur eine kostenlose Signatur verlangt.

Dieser Leitfaden erklärt die Architektur anhand der offiziellen Uniswap-Implementierung, zeigt die Unterschiede zwischen AllowanceTransfer und SignatureTransfer und beschreibt, wie Du Signaturen, Laufzeiten und Widerrufe beurteilst. Permit2 ist kein eigener Coin und keine Renditestrategie. Es ist eine technische Berechtigungsinfrastruktur. Seine Nutzung sagt weder etwas über die Seriosität eines Tokens noch über die Sicherheit der aufrufenden Anwendung aus.

Die zwei Ebenen einer Tokenfreigabe

Erste Ebene: ERC-20-Approval an Permit2

Bei einem gewöhnlichen ERC-20-Token verwaltet der Token-Vertrag eine allowance: Besitzer, berechtigter Spender und maximaler Betrag. Um Permit2 zu verwenden, muss ein Nutzer dem Permit2-Vertrag in der Regel zunächst über den Token-Vertrag eine entsprechende Freigabe erteilen. Diese erste Transaktion kann Netzwerkgebühren verursachen. Eine hohe oder unbeschränkte Freigabe an Permit2 bleibt bestehen, bis sie geändert oder widerrufen wird. Sie ist nicht identisch mit einer Erlaubnis an jede beliebige DeFi-Anwendung.

Zweite Ebene: konkrete Berechtigung innerhalb von Permit2

Permit2 kontrolliert zusätzlich, welcher Spender für welchen Token welche Menge bis zu welchem Zeitpunkt verwenden darf. Die Details können über eine Signatur oder einen direkten Vertragaufruf festgelegt werden. Die Kombination beider Ebenen ist entscheidend: Eine Anwendung kann nicht mehr Token über Permit2 bewegen, als die effektive ERC-20-Freigabe und die relevanten Permit2-Bedingungen zulassen. Dennoch kann eine schädliche Signatur innerhalb bestehender Grenzen beträchtlichen Schaden anrichten.

Stell Dir vor, Du hältst 1'000 Einheiten eines ERC-20-Tokens. Du hast Permit2 im Token-Vertrag Zugriff auf 1'000 Einheiten eingeräumt. Anschliessend unterschreibst Du für einen fremden Spender eine Permit2-Erlaubnis über 800 Einheiten. Sind alle weiteren Bedingungen erfüllt, kann dieser Spender grundsätzlich bis zu 800 Einheiten über die erlaubte Schnittstelle abrufen. Die Signatur muss nicht wie eine normale Zahlung aussehen. Genau deshalb ist die Prüfung der signierten Felder wichtiger als die Frage, ob eine Wallet gerade Gas verlangt.

AllowanceTransfer: zeitlich und betragsmässig begrenzte Rechte

Werbung / Affiliate-Link: Relai ist eine Bitcoin-App. Bei Nutzung unseres Links oder Codes können wir eine Provision erhalten. Code: AUSWANDERNSCHWEIZ.

Relai Bitcoin kaufen – Code AUSWANDERNSCHWEIZ, Werbung

Die Komponente AllowanceTransfer speichert für die Kombination aus Besitzer, Token und Spender eine Menge, ein Ablaufdatum und einen Nonce-Wert. Im offiziellen Interface heissen die Felder amount, expiration und nonce. Der Betrag ist als uint160 vorgesehen; die beiden anderen Werte sind uint48. Das ist keine zufällige Gestaltung: Die Informationen lassen sich effizient in einem Speicherwort ablegen. Für Dich als Nutzer zählt vor allem, dass Berechtigungen konkret nach Token, Spender, Menge und Gültigkeit differenziert werden.

Eine signierte Freigabe enthält zusätzlich eine sigDeadline. Diese Frist bestimmt, bis wann die Signatur zur Einrichtung der Erlaubnis eingereicht werden darf. Sie ist nicht dasselbe wie expiration, also die spätere Gültigkeit der eingerichteten Erlaubnis. Eine kurz gültige Signatur kann eine länger gültige Berechtigung erzeugen. Prüfe daher beide Zeitangaben. Eine Webseite, die nur eine kurze Signaturfrist anzeigt, aber eine lange Berechtigungsdauer verschweigt, vermittelt ein unvollständiges Risikobild.

Rechenbeispiel mit Tokenbeträgen

Angenommen, ein Token hat sechs Dezimalstellen. Eine Freigabe über 250 Token entspricht im technischen Integer-Feld 250 × 10^6 = 250'000'000 Basiseinheiten. Bei 18 Dezimalstellen wären es dagegen 250 × 10^18 Basiseinheiten. Die angezeigte Zahl muss daher immer gemeinsam mit dem Token-Vertrag und seinen Dezimalstellen interpretiert werden. Eine rohe Integer-Zahl ohne diese Angaben ist für Nutzer kaum sinnvoll. Wallets und Sicherheitswerkzeuge sollten diese Umrechnung korrekt darstellen; bei unbekannten Token solltest Du die Interpretation besonders sorgfältig prüfen.

Ein zweites Beispiel zeigt die Wirkung einer Begrenzung: Du erlaubst einer Anwendung 300 Token und sie verwendet 120 Token. Wenn der Vertrag die Allowance wie vorgesehen reduziert, verbleiben 180 Token Berechtigung. Das ist eine rechnerische Illustration und keine Garantie für jede Tokenimplementierung. Bei ungewöhnlichen Token, Gebührenmechanismen oder fehlerhaften Integrationen kann das tatsächliche Verhalten abweichen. Prüfe deshalb nicht nur die Signatur, sondern auch die tatsächlichen Transaktionen und den Code beziehungsweise die Vertrauenswürdigkeit der beteiligten Verträge.

SignatureTransfer: einmalige Übertragung statt dauerhafter Spender-Allowance

Die zweite Permit2-Komponente heisst SignatureTransfer. Sie ermöglicht die Übertragung von Token anhand einer signierten Autorisierung, ohne dafür eine dauerhaft gespeicherte Allowance für den konkreten Spender innerhalb von Permit2 anzulegen. Das bedeutet nicht, dass keinerlei Freigabe erforderlich wäre: Die vorgelagerte ERC-20-Erlaubnis an Permit2 bleibt eine Voraussetzung. Der zentrale Unterschied ist, dass die signierte Transferberechtigung nach erfolgreicher Nutzung durch einen Nonce-Mechanismus verbraucht wird.

Bei SignatureTransfer werden Nonces in einer Bitmap verwaltet. Das erlaubt eine nicht streng aufsteigende Reihenfolge: Verschiedene signierte Aufträge können unabhängig voneinander eingereicht werden. Eine bereits verwendete oder invalidierte Nonce darf nicht nochmals akzeptiert werden. Das ist ein wichtiger Schutz gegen die identische Wiederverwendung derselben Autorisierung, ersetzt aber keine sorgfältige Prüfung des ursprünglichen Inhalts. Eine bösartige Erstverwendung kann bereits den gewünschten Schaden verursachen.

Was ist der Unterschied zu einer normalen Transaktion?

Eine normale Tokenübertragung wird durch eine Onchain-Transaktion ausgelöst, deren Signatur die konkrete Transaktion autorisiert. Bei Permit2 kann eine Offchain-Signatur eine später ausgeführte Aktion erlauben. Ein anderer Teilnehmer kann diese Autorisierung an einen Smart Contract weiterreichen. Ob die Nutzung tatsächlich sicher ist, hängt davon ab, welche Daten signiert wurden, welche Gegenpartei sie einreichen darf und welche weiteren Prüfungen die integrierende Anwendung durchführt. Eine Signatur ohne sofortige Gaszahlung ist deshalb keineswegs bedeutungslos.

EIP-712 und lesbare Signaturdaten

Permit2 verwendet typisierte Signaturen nach EIP-712. Dieser Ethereum-Standard definiert, wie strukturierte Daten mit Typen, Feldern und einem Domain Separator gehasht und signiert werden. Dadurch kann eine Wallet beispielsweise Token, Spender, Betrag und Frist als getrennte Felder anzeigen. Die technische Struktur verbessert die Prüfbarkeit, garantiert aber nicht, dass jede Wallet alle Informationen verständlich oder vollständig darstellt. Auch eine korrekt erzeugte EIP-712-Signatur kann einem Angreifer eine gefährliche Berechtigung geben.

Der Domain Separator kann unter anderem einen Anwendungsnamen, eine Version, eine Chain-ID und eine Verifizierungsvertragsadresse enthalten. Damit werden Signaturkontexte voneinander getrennt. EIP-712 selbst verspricht jedoch ausdrücklich keinen vollständigen Replay-Schutz. Zusätzliche Nonces und Fristen müssen vom Protokoll sinnvoll eingesetzt und kontrolliert werden. Ein Wallet-Popup, das nur einen vertrauenswürdig klingenden Namen zeigt, ist kein ausreichender Nachweis. Entscheidend sind auch die konkrete Vertragsadresse und die signierten Rechte.

Warum Permit2 bei Phishing besonders relevant ist

Bei einem klassischen Phishing-Versuch wird oft nach einem Seed-Phrase-Backup oder einer direkten Tokenüberweisung gefragt. Bei Signatur-Phishing genügt es dagegen, Nutzer zur Autorisierung schädlicher Daten zu verleiten. Eine täuschend echte Oberfläche kann einen Airdrop, eine NFT-Prüfung oder einen Kontosicherheitscheck vortäuschen. Die eigentliche Wallet-Anfrage enthält dann eine weitreichende Permit2-Freigabe oder eine Übertragungsautorisierung. Wenn Du bestätigst, kann ein Angreifer die signierten Rechte ausnutzen, sofern die technischen Voraussetzungen erfüllt sind.

Typische Warnsignale sind ein unbekannter Spender, ein ungewöhnlich hoher Betrag, eine lange oder praktisch unbegrenzte Laufzeit, ein nicht zum besuchten Dienst passender Token sowie eine Domain oder Vertragsadresse, die Du nicht verifizieren kannst. Auch ein Zeitdruck-Countdown ist ein Warnzeichen. Prüfe nicht nur den Namen einer Webseite. Angreifer können Namen, Logos und Texte kopieren. Der Inhalt der tatsächlichen Wallet-Signatur ist entscheidend, und bei unverständlichen Daten ist Abbrechen oft die sicherste Entscheidung.

Kann ein Angreifer mit einer Signatur sofort alle Token stehlen?

Nicht automatisch. Die Wirkung hängt von der bestehenden Tokenfreigabe an Permit2, der konkreten Signatur, dem betroffenen Token, dem Spender, der Menge, den Fristen und dem Verhalten der aufrufenden Verträge ab. Trotzdem ist das Verlustrisiko erheblich. Eine gefährliche Autorisierung kann gerade deshalb übersehen werden, weil sie nicht als gewöhnliche Überweisung erscheint. Eine Wallet sollte eine Signatur niemals allein deshalb als harmlos einstufen, weil sie keine unmittelbare Netzwerkgebühr kostet.

Freigaben und Signaturen sicher widerrufen

Bei AllowanceTransfer können gespeicherte Berechtigungen gezielt auf null gesetzt oder über die vorgesehene lockdown-Funktion für mehrere Token-Spender-Paare aufgehoben werden. Die Implementierung bietet ausserdem Funktionen zur Nonce-Invalidierung. Für SignatureTransfer können ungenutzte Nonces invalidiert werden. Welche Massnahme nötig ist, hängt davon ab, welche Art von Autorisierung Du erteilt hast. Eine allgemeine Aussage wie «einmal disconnect klicken genügt» ist falsch: Das Trennen einer Webseite in der Wallet entfernt nicht automatisch Onchain-Berechtigungen.

Zusätzlich kann die ERC-20-Approval an den Permit2-Vertrag im jeweiligen Token-Vertrag widerrufen werden. Damit entfällt für diesen Token eine wichtige Voraussetzung künftiger Permit2-Transfers. Beachte jedoch, dass andere direkte Tokenfreigaben an andere Spender davon unberührt bleiben. Eine umfassende Sicherheitsprüfung betrachtet daher sowohl direkte ERC-20-Allowances als auch die innerhalb von Permit2 verwalteten Berechtigungen. Prüfe nach einem Widerruf den bestätigten Onchain-Zustand und nicht nur die Erfolgsmeldung einer Webseite.

Praktische Sicherheitsroutine

Verwende für grössere langfristige Bestände möglichst eine getrennte Wallet, die nicht regelmässig mit unbekannten DeFi-Webseiten interagiert. Verbinde nur die Wallet, deren Risiko Du bewusst tragen möchtest. Kontrolliere vor jeder Freigabe Tokenadresse, Spenderadresse, Netzwerk, Betrag und Ablaufdatum. Nutze kurze Laufzeiten und begrenzte Beträge, wenn die Anwendung dies unterstützt. Dokumentiere wichtige Freigaben und prüfe sie regelmässig. Für die Verwaltung solcher Rechte kommen nur vertrauenswürdige und zum jeweiligen Netzwerk passende Werkzeuge infrage.

Wenn Du eine verdächtige Signatur bereits erteilt hast, ist rasches Handeln sinnvoll: Stoppe weitere Interaktionen mit der Webseite, prüfe die betroffenen Verträge und widerrufe noch bestehende Berechtigungen über einen unabhängig aufgerufenen, vertrauenswürdigen Weg. Falls der Private Key oder die Seed Phrase preisgegeben wurde, reicht das Widerrufen von Allowances nicht aus; dann ist die Wallet selbst kompromittiert. Beachte, dass auch Widerrufe Transaktionen mit Netzwerkgebühren sein können und eine bereits erfolgte Übertragung in der Regel nicht rückgängig gemacht wird.

Permit2 im Vergleich zu ERC-20 approve und ERC-2612 permit

Das klassische ERC-20-approve erteilt einem bestimmten Spender eine Tokenfreigabe im Token-Vertrag. ERC-2612 erweitert kompatible Token um signaturbasierte Freigaben direkt im Token-Vertrag. Permit2 setzt hingegen als separater Vertrag auf einer vorgelagerten ERC-20-Freigabe auf und stellt für integrierte Anwendungen einheitlichere Signatur- und Transfermechanismen bereit. Das ist besonders bei Token interessant, die ERC-2612 nicht selbst implementieren. Keine dieser Varianten macht eine unbekannte Anwendung automatisch sicher.

Die Unterschiede sind auch beim Widerruf wichtig. Eine ERC-2612-Signatur kann eine direkte Allowance im Token-Vertrag setzen. Permit2 AllowanceTransfer verwaltet zusätzliche Spenderrechte im Permit2-Vertrag. SignatureTransfer arbeitet mit einmaligen Autorisierungen. Ein Sicherheitstool, das nur gewöhnliche ERC-20-Approvals anzeigt, kann deshalb einen Teil des Risikobilds übersehen. Für eine vollständige Beurteilung brauchst Du das Zusammenspiel der Verträge und die Art der signierten Berechtigung.

Kosten, Gas und vermeintlich kostenlose Freigaben

Eine Offchain-Signatur selbst benötigt normalerweise keine Ethereum-Transaktion und damit keine unmittelbare Gaszahlung durch den Signierenden. Die initiale ERC-20-Approval an Permit2 ist jedoch eine Onchain-Aktion. Ebenso können spätere Ausführung, Widerruf und weitere Vertragaufrufe Gebühren verursachen. Wer die Kosten trägt, hängt vom Ablauf der Anwendung ab. Es wäre irreführend, Permit2 pauschal als kostenlos zu bezeichnen. Netzwerkgebühren variieren mit Chain, Auslastung und konkreter Ausführung.

Für einen Kostenvergleich musst Du den gesamten Ablauf betrachten. Beispiel: Eine Strategie benötigt eine initiale Approval und danach zehn Interaktionen. Bei einer anderen Lösung werden mehrere Schritte zusammengefasst. Ob dies günstiger ist, hängt von Gasverbrauch, Transaktionspreis, zusätzlicher Logik und gegebenenfalls Relayer-Kosten ab. Ohne Messung unter vergleichbaren Bedingungen ist eine konkrete prozentuale Einsparung nicht belastbar. Eine reduzierte Zahl an Wallet-Popups ist zudem kein verlässlicher Indikator für geringere finanzielle Risiken.

Sicherheitsgrenzen bei Smart Contracts und Wallets

Werbung / Affiliate-Link: Relai ist eine Bitcoin-App. Bei Nutzung unseres Links oder Codes können wir eine Provision erhalten. Code: AUSWANDERNSCHWEIZ.

Relai Bitcoin kaufen – Code AUSWANDERNSCHWEIZ, Werbung

Selbst eine korrekt implementierte Permit2-Schnittstelle kann unsicher integriert werden. Wenn eine Anwendung die Empfängeradresse, den Spender oder zusätzliche signierte Bedingungen unzureichend bindet, entstehen neue Angriffsflächen. Uniswap stellt dafür unter anderem witness-basierte Signaturen bereit, mit denen zusätzliche Daten in die Autorisierung aufgenommen werden können. Entscheidend ist, dass die Anwendung diese Daten tatsächlich richtig interpretiert und prüft. Die blosse Verwendung einer bekannten Bibliothek ersetzt weder Audits noch sichere Vertragslogik.

Smart-Contract-Wallets können bei Permit2 von der Unterstützung für ERC-1271-Signaturprüfung profitieren. Auch hier hängt die Sicherheit von der Wallet-Implementierung und ihrer Berechtigungsverwaltung ab. Bei Hardware-Wallets kann die Darstellung komplexer Signaturdaten eingeschränkt sein. Blind Signing oder stark verkürzte Anzeigen reduzieren die Möglichkeit einer sinnvollen Kontrolle. Nutze keine Funktion, deren signierte Bedeutung Du nicht beurteilen kannst, nur weil ein Interface einen grünen Haken oder einen bekannten Markennamen anzeigt.

Was bedeutet Permit2 für Anlegerinnen und Anleger in der Schweiz?

Permit2 ist primär ein technisches Sicherheits- und Bedienungsthema, kein eigener steuerlicher Vermögenswert. Für eine Schweizer Privatperson entstehen steuerliche Fragen vielmehr durch gehaltene Token, deren Bewertung, mögliche Erträge und die Art der tatsächlichen Transaktionen. Eine reine Signatur ist nicht automatisch mit einem Verkauf gleichzusetzen. Werden Token jedoch übertragen, getauscht oder für DeFi-Anwendungen eingesetzt, können je nach Sachverhalt steuerliche und dokumentarische Folgen entstehen. Für verbindliche Einzelfälle sind die zuständigen Steuerbehörden oder qualifizierte Fachpersonen relevant.

Für Deine persönliche Dokumentation sind Transaktionshashes, beteiligte Token, Mengen, Zeitpunkte, Gegenparteien und der wirtschaftliche Zweck hilfreicher als allein ein Screenshot des Wallet-Popups. Bewahre keine Seed Phrases in Steuerunterlagen oder Cloud-Tabellen auf. Auch die regulatorische Einordnung einer DeFi-Anwendung lässt sich nicht aus dem Einsatz von Permit2 ableiten. Ein technischer Standard ist weder eine FINMA-Bewilligung noch eine staatliche Sicherheitsgarantie.

FAQ: Häufige Fragen zu Uniswap Permit2

Ist Permit2 selbst eine Kryptowährung?

Nein. Permit2 ist eine Smart-Contract-Infrastruktur für Tokenberechtigungen und signierte Transfers. Der Name bezeichnet keinen eigenständigen Anlage-Token. Verwechsle ihn nicht mit beliebigen Coins oder Webseiten, die unter ähnlichen Namen auftreten.

Kann ich Permit2 einfach in meiner Wallet deaktivieren?

Eine allgemeine Abschaltfunktion existiert nicht für alle Wallets und Netzwerke. Du kannst relevante Tokenfreigaben und innerhalb von Permit2 gespeicherte Berechtigungen prüfen und widerrufen. Das reine Trennen einer dApp-Verbindung reicht dafür nicht aus.

Ist eine Permit2-Signatur sicherer als approve?

Nicht pauschal. Permit2 kann begrenzte und zeitlich kontrollierte Berechtigungen erleichtern. Es kann aber auch über Phishing missbraucht werden. Entscheidend sind die signierten Rechte, die vorgelagerten Freigaben und die Qualität der konkreten Anwendung.

Warum fragt eine Webseite nach einer Signatur ohne Gas?

Eine Signatur kann Offchain erzeugt und später von einer anderen Partei in einer Onchain-Transaktion verwendet werden. Keine direkte Gaszahlung bedeutet deshalb nicht, dass die Signatur keine Vermögenswerte betreffen kann.

Kann ich eine bereits verwendete Signatur rückgängig machen?

Eine bestätigte Tokenübertragung ist im Normalfall nicht rückgängig zu machen. Noch offene Berechtigungen oder ungenutzte Nonces lassen sich je nach Mechanismus widerrufen oder invalidieren. Ein Widerruf nach einem Schaden stellt bereits übertragene Token nicht automatisch wieder her.

Fazit: Die Signatur ist eine finanzielle Berechtigung

Permit2 erleichtert einheitliche Tokenfreigaben und kann wiederholte Interaktionen vereinfachen. Der Sicherheitsgewinn hängt jedoch von der konkreten Nutzung ab. Verstehe die beiden Ebenen aus Token-Approval und Permit2-Berechtigung, unterscheide AllowanceTransfer von SignatureTransfer und kontrolliere insbesondere Spender, Betrag, Frist und Netzwerk. Wer bei einer unverständlichen Wallet-Anfrage abbricht, vermeidet oft ein grösseres Risiko als durch eine besonders schnelle Bestätigung. Dieser Beitrag ist allgemeine Information und keine individuelle Anlageberatung.

Quellen und weiterführende Literatur

Kommentare


bottom of page