Ein öffentlicher Schlüssel ist die „teilbare“ Hälfte eines Schlüsselpaars. Er wird mathematisch aus einem privaten Schlüssel abgeleitet und lässt jeden prüfen, dass eine Signatur vom passenden privaten Schlüssel stammt – ohne diesen Schlüssel preiszugeben.
Wie er entsteht
Bitcoin nutzt elliptische-Kurven-Kryptografie auf einer Kurve namens secp256k1. Der private Schlüssel – eine Zahl – wird mit einem festen Startpunkt auf der Kurve multipliziert. Das Ergebnis ist ein anderer Punkt: der öffentliche Schlüssel. Vorwärts multiplizieren ist schnell. Rückwärts zu arbeiten, vom öffentlichen zum privaten Schlüssel, gilt mit heutigen Computern als undurchführbar. Auf dieser Einweg-Eigenschaft ruht alles.
Öffentlicher Schlüssel vs. Adresse
Eine Adresse ist nicht dasselbe wie ein öffentlicher Schlüssel. Die meisten Adressformate sind ein Hash des öffentlichen Schlüssels, geschrieben in einem Format mit eingebauter Fehlerprüfung wie Base58Check, Bech32 oder Bech32m. Adressen sind kürzer und fangen Tippfehler. Neuere Taproot-Adressen, aktiviert im November 2021, enthalten einen (getweakten) öffentlichen Schlüssel direkt statt seines Hashes.
Was er in einer Transaktion tut
Wenn du einen UTXO ausgibst, enthält deine Transaktion deinen öffentlichen Schlüssel (oder er ist schon bekannt) und eine digitale Signatur. Jede Node prüft, dass die Signatur für diesen öffentlichen Schlüssel gültig ist und der öffentliche Schlüssel zu den ausgegebenen Coins passt. Wenn ja, ist die Ausgabe autorisiert.
Erweiterte öffentliche Schlüssel
Wallets nutzen oft ein „xpub“ – einen erweiterten öffentlichen Schlüssel, der alle Empfangsadressen einer Wallet erzeugen kann. Er eignet sich für Watch-only-Wallets, die Salden sehen, aber nicht ausgeben können. Behandle ein xpub trotzdem als private Information: es enthüllt deine ganze Transaktionshistorie.
Die Quanten-Fußnote
Ein großer künftiger Quantencomputer könnte theoretisch private Schlüssel aus öffentlichen ableiten. Das ist ein Grund, warum Adresswiederverwendung abgeraten wird und Forscher quantenresistente Signaturen für Bitcoin untersuchen.