Ein Post auf X hatte gestern Abend über 50.000 Aufrufe: Ein Solana-Nutzer hatte am Abend zuvor nach und nach rund 10 SOL an Fremde geschickt, um ihnen in einer Notlage zu helfen. Am nächsten Tag wollte er sein Guthaben auf sein eigenes Coinbase-Konto abheben. Seinen Angaben zufolge wählte das von ihm genutzte Transaktionstool den Empfänger automatisch aus der Liste der „Zuletzt verwendeten“ Adressen aus – und so schickte er dem anderen erneut sein gesamtes Guthaben. Bis jetzt hat der Empfänger nicht geantwortet.
Die Details der Geschichte kann ich nicht überprüfen, und über die menschliche Seite steht mir kein Urteil zu. Aus technischer Sicht ist aber eines bemerkenswert: „Letzter Empfänger“ als Standard festzulegen, ist ein verdammt gefährlicher Standard. Im Kopf denkst du „Abheben“, aber mit der Hand signierst du die Adresse der vorherigen Transaktion. Die Blockchain kennt deine Absicht nicht – sie kennt nur die Zeichenfolge, die du signierst.
So gehe ich selbst bei Überweisungen vor:
1. Meine regelmäßig genutzten Adressen kommen ins Adressbuch und werden beschriftet. Beim Abheben wähle ich nur aus dem Adressbuch und nutze nicht die Liste „Zuletzt verwendet“. Für Börsenkonten aktiviere ich eine Whitelist für Auszahlungen.
2. Bei größeren Beträgen überweise ich zuerst einen kleinen Betrag. Erst wenn der eingegangen ist, schicke ich den Rest. Eine zusätzliche Gebühr ist eine Versicherung gegen einen unumkehrbaren Fehler.
3. Vor dem Signieren prüfe ich die ersten und letzten sechs Zeichen der Adresse. Bei Address-Poisoning werden gezielt Adressen verwendet, deren Anfang und Ende ähnlich aussehen. Nur die ersten paar Zeichen zu prüfen, ist so gut wie gar nicht hinzusehen.
4. In einer Hot Wallet halte ich nur den Betrag, den ich in nächster Zeit brauche. Das ganze Guthaben dauerhaft in einem Terminal zu lassen, in dem man leicht etwas anklicken kann, ist an sich schon ein Risiko.
Auch wenn du Fremden in einer Notlage Geld schickst: Halte dich an Punkt 2.
Die Details der Geschichte kann ich nicht überprüfen, und über die menschliche Seite steht mir kein Urteil zu. Aus technischer Sicht ist aber eines bemerkenswert: „Letzter Empfänger“ als Standard festzulegen, ist ein verdammt gefährlicher Standard. Im Kopf denkst du „Abheben“, aber mit der Hand signierst du die Adresse der vorherigen Transaktion. Die Blockchain kennt deine Absicht nicht – sie kennt nur die Zeichenfolge, die du signierst.
So gehe ich selbst bei Überweisungen vor:
1. Meine regelmäßig genutzten Adressen kommen ins Adressbuch und werden beschriftet. Beim Abheben wähle ich nur aus dem Adressbuch und nutze nicht die Liste „Zuletzt verwendet“. Für Börsenkonten aktiviere ich eine Whitelist für Auszahlungen.
2. Bei größeren Beträgen überweise ich zuerst einen kleinen Betrag. Erst wenn der eingegangen ist, schicke ich den Rest. Eine zusätzliche Gebühr ist eine Versicherung gegen einen unumkehrbaren Fehler.
3. Vor dem Signieren prüfe ich die ersten und letzten sechs Zeichen der Adresse. Bei Address-Poisoning werden gezielt Adressen verwendet, deren Anfang und Ende ähnlich aussehen. Nur die ersten paar Zeichen zu prüfen, ist so gut wie gar nicht hinzusehen.
4. In einer Hot Wallet halte ich nur den Betrag, den ich in nächster Zeit brauche. Das ganze Guthaben dauerhaft in einem Terminal zu lassen, in dem man leicht etwas anklicken kann, ist an sich schon ein Risiko.
Auch wenn du Fremden in einer Notlage Geld schickst: Halte dich an Punkt 2.