Bei einer Banküberweisung verlässt man sich auf Kontodaten und die Prüfung durch die Bank. Auf einer Blockchain gibt es keine Institution, die deine Identität überprüft – das Netzwerk erkennt nur eines an: die digitale Signatur. Wenn du sie verstehst, verstehst du auch, warum der private Schlüssel so wichtig ist.
Beim Senden von $BTC signiert die Wallet die Transaktion mit dem privaten Schlüssel. Die Knoten im gesamten Netzwerk überprüfen diese Signatur mit dem öffentlichen Schlüssel. Aktuell 71,229.83 (24h -3.83%).
【Ein Schlüsselpaar】
Für digitale Signaturen wird ein Schlüsselpaar verwendet: Mit dem privaten Schlüssel wird die Signatur erstellt, mit dem öffentlichen Schlüssel wird sie überprüft. Der private Schlüssel ist eine zufällig generierte große Zahl. Der öffentliche Schlüssel wird mithilfe elliptischer Kurvenberechnungen aus dem privaten Schlüssel abgeleitet. Bitcoin und Ethereum verwenden beide die Kurve secp256k1.
Diese Berechnung ist eine Einbahnstraße: Aus dem privaten Schlüssel lässt sich leicht der öffentliche Schlüssel berechnen, aber die Umkehrung ist rechnerisch nicht machbar. Deshalb können der öffentliche Schlüssel und die daraus abgeleitete Adresse öffentlich sein; den privaten Schlüssel musst du selbst sicher aufbewahren.
【Was beweist eine Signatur?】
Wenn du eine Transaktion sendest, signiert dein Wallet den Inhalt der Transaktion mit deinem privaten Schlüssel. Die Nodes im Netzwerk überprüfen die Signatur mit dem öffentlichen Schlüssel. Ist sie gültig, beweist das gleichzeitig zweierlei: Die Transaktion stammt tatsächlich von jemandem, der den privaten Schlüssel besitzt, und ihr Inhalt wurde nach dem Signieren nicht verändert. Wird auch nur ein Byte am Betrag oder an der Empfängeradresse geändert, ist die ursprüngliche Signatur ungültig.
Beachte, dass eine Signatur den Inhalt einer Transaktion nicht verschlüsselt. Beträge und Adressen von On-Chain-Transaktionen sind weiterhin für alle sichtbar. Eine Signatur klärt, „wer sie gesendet hat und ob sie verändert wurde“, nicht, „ob andere sie sehen können“.
【Verhindern, dass eine Transaktion zweimal verwendet wird】
Jede Ethereum-Transaktion enthält einen fortlaufenden Nonce-Wert, und derselbe Nonce kann nur einmal in einen Block aufgenommen werden. Außerdem enthält die Transaktion eine Chain-ID (EIP-155), sodass eine signierte Transaktion nicht auf einer anderen Chain erneut abgespielt werden kann. Bitcoin verhindert das wiederholte Ausgeben derselben Coins mit der Regel, dass jede nicht ausgegebene Ausgabe nur einmal ausgegeben werden kann.
【Signaturen dienen nicht nur zum Überweisen】
Eine Signaturanfrage, die in deinem Wallet erscheint, muss nicht unbedingt eine Überweisung sein. Es kann sich auch um eine Token-Freigabe oder eine Off-Chain-Signaturnachricht handeln. Manche Off-Chain-Signaturen haben nach dem Signieren dieselbe Wirkung wie eine direkte Freigabe: Die andere Partei kann damit deine Token übertragen.
Prüfe daher vor dem Signieren genau den Vorgangstyp, die Adresse, mit der du interagierst, und den Betrag. Wenn du etwas nicht verstehst, signiere erst einmal nicht. Wer dich auffordert, deinen privaten Schlüssel oder deine Seed-Phrase zur „Überprüfung der Signatur“ preiszugeben, begeht Betrug.
【Zusammenfassung】
On-Chain ist eine Signatur wie deine „eigenhändige Unterschrift“, und der private Schlüssel ist der einzige Stift, mit dem du sie schreiben kannst. Geht der Stift verloren oder gerät er in fremde Hände, kann keine Institution die Signatur widerrufen. Setze nicht deine gesamten Ersparnisse auf eine einzige Einschätzung.
Worüber möchtest du beim nächsten Mal mehr erfahren? Smart Contracts oder etwas anderes?