Ursprünglicher Autor: Lightclients
Originalquelle: Twitter
Zusammengestellt von: MetaCat
Nach EIP-3074 kann eine fehlerhafte Signatur das Guthaben auf Ihrem Ethereum-Konto belasten.
Ja, es ist wahr.
Die Co-Autoren von EIP-3074 sind da! Bevor die Dinge noch mehr außer Kontrolle geraten, möchte ich diese Sorge für einen Moment zerstreuen.
Zunächst einmal: Ich habe derzeit noch nichts von Wallets gehört, die das Signieren von Daten ohne Präfix unterstützen. Das bedeutet, dass derzeit kein Wallet EIP-3074 unterstützt. Ganz gleich, wie viele Bedienfelder Sie durchsuchen oder wie viele erweiterte Funktionen Sie aktivieren. Nachrichten für EIP-3074 können derzeit nicht signiert werden.
Die Nachricht, die Sie zum „Anmelden“ beim Dapp signieren, verwendet einen völlig anderen Standard als EIP-3074, der auf EIP-191 basiert. Dadurch werden Ihrer signierten Nachricht die folgenden Daten hinzugefügt:
0x19 <0x45 (E)> <thereum Signierte Nachricht:\n" + len(message)> <data zum Signieren
Aus diesem Grund ist es unmöglich, jemanden, der bei einem Dapp angemeldet ist, dazu zu verleiten, tatsächlich eine gültige Ethereum-Transaktion zu signieren.
Transaktionen wird ein Einzelbyte-Wert vorangestellt:
0x01 - 2930 tx0x02 - 1559 tx0x03 - 4844 tx
Weitere Informationen finden Sie unter: https://github.com/ethereum/execution-specs/tree/master/lists/signature-types
EIP-3074 plant die Verwendung des Präfixes 0x04. Dadurch wird es von allen anderen Arten signierbarer Daten in Ethereum unterschieden. Wallets müssen sich aktiv dafür entscheiden, Benutzern das Signieren dieser Nachrichten zu ermöglichen.
Aufgrund der spezifischen Art und Weise, wie das Wallet EIP-3074 integriert, kann es dazu führen, dass Benutzer leichter ausgenutzt werden. Um dies zu verstehen, müssen wir sicherstellen, dass wir verstehen, wie EIP-3074-Signaturen funktionieren.
Die Authentifizierungsnachricht, die die Signatur erstellt, enthält die folgenden Felder. Wichtig ist, dass es eine Anruferadresse enthält. Dies ist die einzige Adresse, bei der AUTH die Signatur als gültig ansieht.

Damit der Kontostand aufgebraucht ist, müssen beide der folgenden Bedingungen erfüllt sein:
1) Das Wallet muss es Benutzern ermöglichen, bei jeder Aufruferadresse zu signieren.
2) Der Benutzer muss nicht überprüfen, ob der Anrufer (Invoker) vertrauenswürdig ist.
Dies bedeutet, dass es kein Problem gibt, wenn der Benutzer eine davon ausführt.
Wir möchten, dass die Wallet-Software Folgendes versteht: EIP-3074-Invoker ähneln eher Erweiterungen des Wallet-Softwarecodes als Verträgen. Wallets erlauben es Benutzern nicht, beliebigen Code auszuführen und auf ihre PKs (private Schlüssel) zuzugreifen; ebenso sollten sie Benutzern nicht erlauben, ihre Ethereum-Konten willkürlich zu delegieren.
Wenn die Wallet-Software EIP-3074 unsicher integriert und Benutzer den Anrufer, mit dem sie interagieren, nicht verifizieren, kann es daher sein, dass sie an einen böswilligen Anrufer delegiert. Dies kann jedoch immer noch rückgängig gemacht werden, indem eine einzelne Sendung von EOA gesendet wird. Dadurch werden alle „in Bearbeitung“ befindlichen AUTH-Signaturen widerrufen.
Zumindest sollte die Wallet-Software das Signieren von EIP-3074-Nachrichten zu einer großen Sache machen, genauso wie das Exportieren Ihres privaten Schlüssels eine große Sache ist.
Vorausgesetzt, dass das Wallet 3074 sicher integriert, ist es immer noch möglich, dass ein Konto kompromittiert wird. Dies ist die grundlegende Eigenschaft von Massentransaktionen. Es ermöglicht Ihnen, problemlos mehrere Aktionen zu senden, genauso wie es einem Angreifer ermöglicht, Sie dazu zu verleiten, eine Reihe von Assets an eine von ihm kontrollierte Adresse zu senden.
Die Wallet-Software muss jede Aktion, die Sie unterschreiben, deutlich anzeigen. Auf diese Weise ist es leicht zu erkennen: „Ich hatte nur vor, eine Transaktion durchzuführen, aber diese Signaturanforderung hat mich dazu gebracht, ein Dutzend weitere Transaktionen durchzuführen.“ Dies kann nicht erkannt werden, wenn die Stapelverarbeitung über blindes Signieren erfolgt.
Ja, EIP-3074 vertraut der Wallet sehr. Wir vertrauen ihnen jedoch bereits unseren privaten Schlüssel sicher an! Es gibt kein höheres Maß an Vertrauen.
EIP-3074 kann sicher integriert und verwendet werden. Wenn eine Wallet Fragen dazu hat, können Sie sich gerne an uns wenden. Als Autoren von EIP-3074 überlegen wir derzeit, wie wir die nächste Phase der Weiterentwicklung des Standards am besten unterstützen können.
Wir haben in den letzten Jahren viel Zeit damit verbracht, Was-wäre-wenn-Szenarien darüber zu entwickeln, wie es genutzt und missbraucht werden könnte. Wir freuen uns, dass diese Ideen nun in die Produktion übergehen. Aber wir sind uns auch darüber im Klaren, dass dies der schwierigste Teil ist.
Um die Bedenken nach EIP-3074 zusammenzufassen, dass eine einzige fehlerhafte Signatur Ihren Ethereum-Kontostand belasten könnte:
- Derzeit unterstützt das Wallet keine Signaturen vom Typ EIP-3074, die dem neuen Format folgen.
- EIP-3074 Das Anruferfeld in der Signatur ist sehr wichtig. Ein schlechter Anrufer kann Ihr Geld stehlen.
- Das Wallet muss sicherstellen, dass die Anruferadresse vertrauenswürdig ist. Dies ähnelt der Art und Weise, wie Wallets derzeit die Ausführung von beliebigem Code verhindern.
– Massentransaktionen in EIP-3074 eröffnen immer noch eine Welt, in der böswillige Akteure Sie dazu verleiten können, Transaktionen zu signieren, die Vermögenswerte übertragen. Wallets müssen deutlich zeigen, was passiert, wenn eine EIP-3074-Nachricht signiert wird.
- Ja, wir haben ein hohes Maß an Vertrauen in Wallets, aber die Benutzer haben ihnen ihre privaten Schlüssel anvertraut, was das höchste Maß an Vertrauen darstellt.

EIP-3074 und EIP-4337
EIP-3074 ist eine sehr gute Sache für Account Abstraction-Anbieter, da es für unsere Kunden von großem Nutzen ist.
- ERC-4337 ist der beste Weg, neue Benutzer in den Kryptoraum einzuführen.
- EIP-3074 ist die beste Möglichkeit, bestehende Benutzer in Smart Accounts einzubinden.
