Glossary
Signatur-Malleabilität
Ein Fehler, bei dem eine gültige Signatur ohne den privaten Schlüssel in eine zweite, ebenso gültige Form umgewandelt wird, was den Transaktions-Hash ändert und Replay-Bugs ermöglicht.
Jede ECDSA-Signatur hat die Form (r, s), und wegen der Symmetrie der Kurve ist das Paar (r, n - s) eine ebenso gültige Signatur für dieselbe Nachricht und denselben Schlüssel. Ein Angreifer, der keine Signatur fälschen kann, kann s dennoch zu seinem Komplement umkehren und so eine zweite, anders aussehende Signatur erzeugen — und in Systemen, die eine Transaktion über den Hash ihrer signierten Bytes identifizieren, eine andere Transaktions-ID für dieselbe Absicht.
Bitcoins frühe Anfälligkeit dafür — berüchtigt als Ausrede beim Mt.-Gox-Kollaps angeführt — und die Bedrohung für naiven On-Chain- Replay-Schutz führten dazu, dass Ethereums EIP-2 die kanonische Low-s-Form vorschreibt. In Smart Contracts sollte eine Signatur nie als eindeutige Kennung dienen: per explizitem Nonce deduplizieren und mit einer geprüften Bibliothek wie OpenZeppelins ECDSA verifizieren, die die malleable High-s-Variante ablehnt.