Blockchain/Niveau VII · Evolution/7.1 Ethereum: der Weltcomputer/Lektion 4
Explizites Signieren: UTXOs vs. Token-Approvals
Die Signatur, die ausgibt, und die Berechtigung, die sie überdauert
MaterialienEine Hardware-Wallet mit PSBT-UnterstützungZugang zu Etherscan oder einem ähnlichen Block-ExplorerDie Revoke.cash-Schnittstelle
Neugier
- Warum kann ein Smart Contract Ihre Tokens noch Jahre, nachdem Sie mit ihm interagiert haben, bewegen?
- Was ist der strukturelle Unterschied zwischen dem Signieren einer Transaktion und dem Erteilen einer dauerhaften Berechtigung?
- Wie sorgt ein Dateiformat dafür, dass alle Eingaben und Ausgaben einer Bitcoin-Transaktion vor der Anwendung einer Signatur sichtbar sind?
Erkunden
- Auf EVM-Chains regelt der ERC-20-Standard Token-Transfers. Um Tokens von einer externen Wallet an einen Contract zu übertragen, muss der Inhaber zuerst `approve` aufrufen und dem Contract damit erlauben, in seinem Namen eine bestimmte Menge dieses Tokens auszugeben. Diese Allowance wird im State des Contracts gespeichert und bleibt unbegrenzt bestehen, bis sie widerrufen oder aufgebraucht ist. Ein Nutzer, der einer dezentralen Börse 10.000 Tokens freigibt, behält diese dauerhafte Berechtigung auch nach Abschluss des Swaps bei.
- EIP-2612 führte `permit` ein, mit dem Nutzer eine Off-Chain-Nachricht signieren können, die diese Allowance festlegt, ohne sofort eine Transaktion abzusenden. Die Signatur bleibt gültig, bis sie verwendet wird oder ihre Deadline abläuft, und verleiht dieselbe Ausgabebefugnis. Sobald eine Allowance existiert, kann jeder, der die freigegebene Spender-Adresse kontrolliert, die Allowance durch Aufruf von `transferFrom` ausschöpfen – selbst wenn der Nutzer seitdem nicht mehr mit diesem Contract interagiert hat.
- Wallet-Drainer nutzen diese Architektur aus. Phishing-Seiten bringen Nutzer dazu, ein unbegrenztes `approve` oder `permit` für eine bösartige Adresse zu signieren. Ist es signiert, hält der Angreifer eine dauerhafte Berechtigung, Tokens nach Belieben zu bewegen. Der Widerruf dieser Approvals erfordert zusätzliche Transaktionen und Gasgebühren, was Reibung erzeugt. Das Ergebnis: Eine einzige Signatur kann eine dauerhafte Schwachstelle schaffen, die unsichtbar bleibt, solange der Nutzer seine aktiven Allowances nicht selbst mit Tools wie Revoke.cash oder Etherscan überprüft.
- Das UTXO-Modell von Bitcoin funktioniert anders. Es gibt keine dauerhaften Berechtigungen. Jede Transaktion gibt ausdrücklich bestimmte nicht ausgegebene Transaktionsausgaben (UTXOs) aus, um neue zu erzeugen. Eine Signatur autorisiert die Bewegung eines bestimmten Coins von einer bestimmten Adresse an ein bestimmtes Ziel, ohne dass eine Restbefugnis zurückbleibt. Signiert ein Nutzer eine Transaktion, die 1 BTC an eine Börse sendet, kann diese Signatur später nicht erneut verwendet werden, um weitere 1 BTC zu senden.
- BIP-174 definiert das Format der Partially Signed Bitcoin Transaction (PSBT). Vor dem Signieren enthält eine PSBT alle Inputs und Outputs, sodass Software- oder Hardware-Wallets genau anzeigen können, was ausgegeben wird und wohin es geht. Der Nutzer sieht die vollständige Struktur der Transaktion – Inputs, Outputs, Gebühren – und signiert genau diese Daten; beim Standard-Signaturtyp bezieht sich die Signatur auf die gesamte Transaktion. Da keine versteckten Berechtigungen entstehen, kann eine bösartige Signatur nur die in dieser einen Transaktion angegebenen Coins bewegen; sie kann keine Hintertür für künftige Transfers hinterlassen.
- Der Zielkonflikt betrifft die Composability. EVM-Approvals ermöglichen komplexe, mehrstufige Interaktionen, bei denen Contracts über mehrere Aktionen hinweg Token-Guthaben im Namen der Nutzer verwalten. Das explizite Modell von Bitcoin verlangt, dass jede Bewegung einzeln signiert wird, was die Möglichkeit einschränkt, Befugnisse auf ähnlich fließende Weise an Smart Contracts zu delegieren. Nutzer gewinnen durch Transparenz und das Fehlen dauerhafter Berechtigungen an Sicherheit, verzichten aber auf den Komfort automatisierter, dauerhaft handelnder Agenten.
Kernfakten
- ERC-20 `approve` erteilt einem Contract die Berechtigung, Tokens im Namen eines Inhabers auszugeben; sie bleibt bestehen, bis sie widerrufen wird.
- EIP-2612 ermöglicht es, Token-Allowances per Off-Chain-Signatur festzulegen, ohne sofort eine Transaktion auszuführen.
- Wallet-Drainer nutzen unbegrenzte oder vergessene Genehmigungen, um Tokens aus kompromittierten Wallets abzuziehen.
- Bitcoin-Transaktionen geben bestimmte UTXOs aus und erzeugen neue Outputs; es entstehen keine dauerhaften Berechtigungen.
- BIP-174 (PSBT) ermöglicht es Nutzern, alle Inputs und Outputs einer Bitcoin-Transaktion vor dem Signieren zu prüfen.
- Die Composability der EVM beruht auf dauerhaften Allowances, die Sicherheit von Bitcoin dagegen auf expliziten, einmaligen Signaturen.
Übung neun, sechs, drei, eins
9SammelnListen Sie 9 gängige Aktionen in DeFi oder Kryptowährungen auf, die Benutzersignaturen erfordern. Geben Sie an, welche dauerhafte Berechtigungen schaffen und welche einmalige Übertragungen sind.
6GruppierenGruppieren Sie die 9 in 6 Gruppen danach, was jede Signatur hinterlässt.
3VerdichtenReduzieren Sie die 6 auf die 3 wesentlichen Gründe, warum dauerhafte Berechtigungen im Vergleich zu einmaligen Transfers besondere Sicherheitsrisiken mit sich bringen.
1KristallisierenSchreiben Sie einen Satz darüber, was eine Signatur in jedem Modell autorisiert und wie diese Autorisierung bestehen bleibt (oder nicht).
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.