Öffentliche und private Schlüssel: Wie Bitcoin Eigentum beweist

Öffentliche und private Schlüssel: Wie Bitcoin Eigentum beweist

Öffentliche und private Schlüssel bilden ein Paar kryptografischer Schlüssel, das sogenannte Schlüsselpaar. Der private Schlüssel ist ein geheimer Wert, mit dem digitale Signaturen erzeugt werden. Der öffentliche Schlüssel wird aus dem privaten Schlüssel abgeleitet, kann offen geteilt werden und ermöglicht es jedem, eine Signatur zu prüfen, ohne das Geheimnis zu kennen. Bei Bitcoin ist es die Kontrolle über den privaten Schlüssel, die es überhaupt erst ermöglicht, BTC auszugeben.

Wie passen privater und öffentlicher Schlüssel zusammen?

Ein privater Schlüssel ist ein geheimer Wert, mit dem digitale Signaturen erstellt werden. Wer den privaten Schlüssel kennt, kann für den zugehörigen öffentlichen Schlüssel signieren – deshalb behält der Eigentümer ihn für sich und teilt ihn mit niemandem.

Ein öffentlicher Schlüssel wird aus dem privaten Schlüssel durch eine Einwegberechnung errechnet. Die beiden Schlüssel zusammen werden als Schlüsselpaar bezeichnet. Ein Schlüsselpaar wird so erzeugt, dass die Ableitung des privaten Schlüssels aus dem öffentlichen Schlüssel rechnerisch praktisch unmöglich ist – deshalb kann der öffentliche Schlüssel offen geteilt werden. Die folgende Tabelle fasst zusammen, welcher der beiden Schlüssel geteilt und welcher geheim gehalten wird.

SchlüsselWer ihn kennen darfWas er bewirkt
Privater SchlüsselNur der EigentümerErstellt digitale Signaturen
Öffentlicher SchlüsselJederVerifiziert Signaturen, die mit dem zugehörigen privaten Schlüssel erstellt wurden

Das Fachgebiet, das Schlüsselpaare verwendet, nennt sich Public-Key-Kryptografie oder asymmetrische Kryptografie, weil die beiden Schlüssel unterschiedlich sind und unterschiedliche Aufgaben erfüllen. Ein Schlüsselpaar kann verwendet werden, um Daten zu signieren oder zu verschlüsseln. Die symmetrische Kryptografie hingegen nutzt einen einzigen gemeinsamen Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln von Daten. Dieser einzelne Schlüssel wird oft als „geheimer Schlüssel“ bezeichnet.

Wie funktionieren Bitcoin-Schlüssel beim Ausgeben von BTC?

Bitcoin-Schlüssel funktionieren über digitale Signaturen. Auf der Bitcoin-Blockchain existiert BTC als Outputs, also als Beträge, die durch eine Bedingung gesperrt sind. Im einfachsten Fall ist diese Bedingung eine gültige Signatur des Schlüssels, der mit dem Output verknüpft ist – wer BTC kontrolliert, muss also diese Signatur erzeugen können.

Das Ausgeben von BTC mit einem Schlüsselpaar erfolgt in vier Schritten:

  1. Die Wallet – die Software, die den privaten Schlüssel speichert – signiert die Transaktion mit dem privaten Schlüssel.
  2. Die Wallet sendet die signierte Transaktion an das Bitcoin-Netzwerk.
  3. Nodes, also Computer, die mit dem Bitcoin-Netzwerk verbunden sind, prüfen die Signatur anhand des öffentlichen Schlüssels.
  4. Die Prüfung besteht oder scheitert, und die Signatur gibt den privaten Schlüssel nicht preis.

Für die Erstellung einer gültigen Signatur ist der private Schlüssel erforderlich, für die Prüfung genügt der öffentliche Schlüssel. Der Unterzeichner ist somit der Inhaber des privaten Schlüssels, während die Prüfung von jedem durchgeführt werden kann. Eine Signatur autorisiert die Ausgabe eines bestimmten Outputs und deckt standardmäßig die Transaktionsdetails ab: den ausgegebenen Output, das Ziel und den Betrag.

Bitcoin nutzt Schlüsselpaare, um Transaktionen zu signieren, nicht um Daten zu verschlüsseln. Die Transaktionen selbst sind auf der Blockchain öffentlich einsehbar, eine Signatur zeigt also, dass jemand, der den privaten Schlüssel besitzt, eine Ausgabe autorisiert hat, verbirgt die Zahlung aber nicht. Bitcoin akzeptiert zwei Signaturverfahren: den Elliptic Curve Digital Signature Algorithm (ECDSA) und Schnorr-Signaturen.

Wie erstellt Bitcoin ein Schlüsselpaar?

Eine Wallet erstellt ein Schlüsselpaar, indem sie zufällig einen privaten Schlüssel auswählt. Ein privater Bitcoin-Schlüssel ist eine 256-Bit-Zahl, das heißt, er benötigt 256 Bit bzw. 32 Byte Speicherplatz. Ein gültiger privater Schlüssel reicht von 1 bis knapp unter eine festgelegte Grenze, die als Ordnung der Kurve bezeichnet wird. Diese Grenze liegt geringfügig unter 2 hoch 256, sodass nahezu jede 256-Bit-Zahl ein gültiger privater Schlüssel ist.

Bitcoin verwendet die elliptische Kurve secp256k1, eine feste Menge mathematischer Konstanten, die von der Bitcoin-Software gemeinsam genutzt wird. Der öffentliche Schlüssel wird aus dem privaten Schlüssel durch eine Einwegberechnung auf dieser Kurve errechnet, ausgehend von einem festen Punkt auf der Kurve. Ein öffentlicher Bitcoin-Schlüssel benötigt in seiner komprimierten Form 33 Byte: ein Präfix-Byte gefolgt von 32 Byte. Taproot, ein anderer Adresstyp, der im nächsten Abschnitt beschrieben wird, verwendet stattdessen einen 32-Byte-Schlüssel.

Der folgende Block zeigt, wie ein privater Schlüssel, ein öffentlicher Schlüssel und eine gängige Einzelschlüssel-Adresse zusammenhängen. Die Einträge in spitzen Klammern sind beschriftete Platzhalter für Art und Größe des jeweiligen Werts, keine echten Werte. Jede Zeile wird aus der darüberstehenden Zeile durch einen Einwegschritt berechnet.

private key: <256-bit secret number, 32 bytes>\npublic key:  <compressed point, 33 bytes>\naddress:     <hash of the public key, encoded>

Wie entsteht eine Bitcoin-Adresse aus einem öffentlichen Schlüssel?

Bei den gängigen Einzelschlüssel-Adresstypen ist eine Bitcoin-Adresse eine Zahlungskennung, die durch Hashing aus einem öffentlichen Schlüssel abgeleitet wird – die Adresse ist also nicht der öffentliche Schlüssel selbst. Eine Einzelschlüssel-Adresse ist eine Adresse, die an einen einzigen öffentlichen Schlüssel gebunden ist; die beiden gängigen Typen sind der Legacy-Typ und der SegWit-Typ. Hashing ist eine Einwegberechnung, die eine Eingabe beliebiger praktischer Länge in eine Ausgabe fester Größe umwandelt.

Bei einer Legacy- oder SegWit-Adresse hasht die Wallet den öffentlichen Schlüssel zunächst mit SHA-256, einer Hashfunktion, und anschließend das Ergebnis mit RIPEMD-160, einer zweiten Hashfunktion. Das Endergebnis ist 20 Byte lang. Eine SegWit-Adresse verwendet dieses 20-Byte-Ergebnis unverändert, während eine Legacy-Adresse ein Versionsbyte und eine Prüfsumme hinzufügt und in einer Kodierung namens Base58Check geschrieben wird.

Nicht jeder Bitcoin-Adresstyp entsteht durch Hashing eines einzelnen öffentlichen Schlüssels. Script-Hash-Adressen hashen ein Skript – also die Bedingung, die zum Ausgeben erfüllt sein muss – anstelle eines Schlüssels. Taproot-Adressen enthalten direkt einen 32-Byte-Schlüssel statt eines Hashes davon.

Bei Legacy- und Script-Hash-Adressen, die nicht wiederverwendet werden, wird der öffentliche Schlüssel erst dann auf der Blockchain sichtbar – vorher nur sein Hash –, wenn die an diese Adresse gesendeten Mittel zum ersten Mal ausgegeben werden. Die Adresse ist der Ort, an dem BTC empfangen wird, der private Schlüssel ist das, womit es ausgegeben wird.

Was speichert eine Wallet, und wer hält die Schlüssel?

Eine Bitcoin-Wallet ist eine Art Krypto-Wallet: Software, die private Schlüssel speichert und damit Transaktionen erstellt und signiert. Im Kern ist eine Wallet eine Sammlung privater Schlüssel, kein Speicher für BTC. BTC selbst wird auf der Blockchain als unspent transaction outputs (UTXOs) erfasst. Ein UTXO ist der Output einer früheren Transaktion, der noch nicht ausgegeben wurde – „mein BTC ist in meiner Wallet“ ist also eine vereinfachte Ausdrucksweise.

Self-Custody (Eigenverwahrung) bedeutet, dass der Eigentümer die privaten Schlüssel selbst hält. Solange niemand sonst eine Kopie der Schlüssel besitzt, kann nur der Eigentümer das BTC ausgeben – und er trägt das Risiko, die Schlüssel zu verlieren.

Eine Custodial-Wallet ist eine Wallet, bei der ein Anbieter die privaten Schlüssel im Namen des Nutzers verwahrt. Wer die privaten Schlüssel besitzt, kann das daran gebundene BTC ausgeben – der Unterschied zwischen Self-Custody und einer Custodial-Wallet liegt also darin, wer das ist: im einen Fall der Eigentümer, im anderen der Anbieter.

Viele Wallets, sogenannte Hierarchical Deterministic (HD) Wallets, können alle ihre Schlüssel aus einem einzigen Backup regenerieren, meist einer Seed-Phrase.

Was passiert, wenn ein privater Schlüssel verloren geht oder weitergegeben wird?

Ein privater Schlüssel kann nicht wie ein Passwort geändert oder zurückgesetzt werden. Existiert kein Backup, ist der Zugriff auf die mit diesem Schlüssel gesperrten Mittel verloren, denn die Outputs bleiben auf der Blockchain bestehen, und es kann keine Signatur mehr erzeugt werden, um sie auszugeben.

Jeder, der eine Kopie des privaten Schlüssels besitzt, kann signieren und ausgeben. Eine bestätigte Bitcoin-Transaktion ist als endgültig konzipiert, und diese Endgültigkeit gilt ebenso für eine Ausgabe, die mit einem kopierten privaten Schlüssel vorgenommen wurde.

12. November 2026

GoMining News

Das könnte Sie auch interessieren: