Pay-to-Public-Key-Hash (P2PKH)
Pay-to-Public-Key-Hash (P2PKH) (Bitcoin)
Pay-to-Public-Key-Hash (P2PKH) ist das am häufigsten verwendete Transaktionsformat im Bitcoin-Netzwerk. Es ermöglicht eine Zahlung an eine Bitcoin-Adresse, die in Wirklichkeit der Hash eines öffentlichen Schlüssels (Public Key Hash) ist. Der Empfänger der Transaktion muss einen gültigen öffentlichen Schlüssel und eine entsprechende digitale Signatur vorlegen, um die Bitcoin ausgeben zu können. P2PKH wird oft als der „klassische“ Bitcoin-Transaktionstyp betrachtet.
Wie funktioniert P2PKH?
Eine P2PKH-Transaktion besteht im Wesentlichen aus einer Zahlung an eine Bitcoin-Adresse, die aus einem Hash des öffentlichen Schlüssels des Empfängers besteht. Dieser Hash wird erstellt, um die Sicherheit und Anonymität des Empfängers zu erhöhen, da der öffentliche Schlüssel nicht direkt, sondern nur sein Hash öffentlich sichtbar ist.
Metapher: Stell dir vor, du möchtest jemandem Geld schicken, aber anstatt seinen vollen Namen zu verwenden, schreibst du nur die Initialen auf den Umschlag. Der Empfänger muss beweisen, dass er die Person hinter diesen Initialen ist, indem er seinen vollständigen Namen (in diesem Fall den öffentlichen Schlüssel) und eine Unterschrift (die digitale Signatur) vorlegt, um das Geld abzuholen.
Erstellung der P2PKH-Adresse
Um eine P2PKH-Adresse zu erstellen, wird der öffentliche Schlüssel des Empfängers zuerst durch den kryptografischen Hash-Algorithmus SHA-256 und anschließend durch den Algorithmus RIPEMD-160 geleitet. Dieser doppelte Hashing-Prozess erzeugt eine 160-Bit-Bitcoin-Adresse, die dann für den Zahlungsempfänger verwendet wird.
Beispiel: Wenn der öffentliche Schlüssel eines Nutzers „abcdef“ lautet, wird dieser Schlüssel durch die beiden Hash-Algorithmen geleitet und ergibt eine Bitcoin-Adresse wie „1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa“.
Ablauf einer P2PKH-Transaktion
1. Senden der Bitcoin
Der Absender einer P2PKH-Transaktion gibt in seiner Wallet die Bitcoin-Adresse des Empfängers und den zu sendenden Betrag ein. Die Adresse ist dabei der öffentliche Hash des Empfängers.
2. Signierung der Transaktion
Der Absender signiert die Transaktion mit seinem privaten Schlüssel, um zu beweisen, dass er berechtigt ist, die Bitcoin auszugeben. Diese digitale Signatur wird zusammen mit dem öffentlichen Schlüssel des Absenders an das Bitcoin-Netzwerk gesendet.
Metapher: Die Signierung ist wie das Verwenden eines PIN-Codes bei einer Banküberweisung. Ohne den korrekten Code (den privaten Schlüssel) kann die Transaktion nicht abgeschlossen werden.
3. Verifizierung durch das Netzwerk
Das Bitcoin-Netzwerk überprüft nun, ob der öffentliche Schlüssel des Absenders zum Hash passt, der in der Blockchain gespeichert ist, und ob die Signatur mit dem öffentlichen Schlüssel übereinstimmt. Wenn alles korrekt ist, wird die Transaktion validiert und in einen Block aufgenommen.
4. Empfang der Bitcoin
Der Empfänger, der im Besitz des entsprechenden privaten Schlüssels ist, kann nun die Bitcoin ausgeben, indem er eine neue Transaktion erstellt, die den Empfang nachweist.
Vorteile von P2PKH
- Sicherheit: Durch das Hashen des öffentlichen Schlüssels wird ein zusätzliches Maß an Sicherheit hinzugefügt. Der öffentliche Schlüssel selbst wird erst veröffentlicht, wenn der Empfänger die Bitcoin ausgibt, wodurch Angriffe auf den Schlüssel erschwert werden.
- Weite Verbreitung: P2PKH ist die am häufigsten verwendete Methode im Bitcoin-Netzwerk und wird von fast allen Wallets und Transaktionsdiensten unterstützt.
- Anonymität: Da nur der Hash des öffentlichen Schlüssels veröffentlicht wird, bleiben der volle öffentliche Schlüssel und der private Schlüssel des Empfängers zunächst verborgen.
Beispiel: Wenn ein Nutzer Bitcoin an einen Freund senden möchte, gibt er nur dessen Bitcoin-Adresse an. Diese Adresse ist jedoch nur der Hash des öffentlichen Schlüssels des Freundes, was die Anonymität und Sicherheit erhöht.
Nachteile von P2PKH
- Speicheranforderungen: Da P2PKH-Transaktionen sowohl den öffentlichen Schlüssel als auch die Signatur enthalten, können sie relativ viel Speicherplatz auf der Blockchain beanspruchen.
- Komplexität: Im Vergleich zu einfacheren Transaktionsformen, bei denen der öffentliche Schlüssel direkt verwendet wird, erfordert P2PKH zusätzliche Schritte, wie das doppelte Hashing des öffentlichen Schlüssels und die Erstellung der Signatur.
P2PKH und andere Bitcoin-Transaktionsformate
Neben P2PKH gibt es auch andere Transaktionsformate im Bitcoin-Netzwerk, wie z.B. Pay-to-Script-Hash (P2SH) und Pay-to-Witness-Public-Key-Hash (P2WPKH). P2SH wird oft für komplexere Skripte verwendet, während P2WPKH eine Variante ist, die in Segregated Witness (SegWit)-Transaktionen verwendet wird, um Speicherplatz auf der Blockchain zu sparen.
Wissenswertes
- Eine P2PKH-Transaktion benötigt eine Signatur des privaten Schlüssels des Absenders, um gültig zu sein.
- Bitcoin-Adressen, die mit „1“ beginnen, sind in der Regel P2PKH-Adressen.
- P2PKH war das ursprüngliche und ist das am häufigsten verwendete Transaktionsformat im Bitcoin-Netzwerk.
Wissen – kurz & kompakt
- P2PKH ist ein Transaktionstyp, bei dem Bitcoin an den Hash eines öffentlichen Schlüssels gesendet wird, und der Empfänger muss eine Signatur und den zugehörigen öffentlichen Schlüssel vorlegen, um die Bitcoin auszugeben.
- P2PKH bietet durch das Hashing des öffentlichen Schlüssels zusätzliche Sicherheit und Anonymität.
- Es ist das am weitesten verbreitete Transaktionsformat im Bitcoin-Netzwerk.
Glossar
- Public-Key-Hash: Der Hash eines öffentlichen Schlüssels, der als Adresse in P2PKH-Transaktionen verwendet wird.
- Private Schlüssel: Ein kryptografischer Schlüssel, der benötigt wird, um Transaktionen zu signieren und Bitcoin auszugeben.
- Blockchain: Eine dezentrale Datenbank, die Transaktionen in unveränderlichen Blöcken speichert.
- Signatur: Eine digitale Unterschrift, die beweist, dass der Absender berechtigt ist, die Bitcoin zu verwenden.
- Segregated Witness (SegWit): Eine Verbesserung des Bitcoin-Protokolls, die Transaktionen effizienter macht, indem Signaturdaten außerhalb des ursprünglichen Transaktionsblocks gespeichert werden.
Denkanstöße und weiterführende Fragen
- Wie könnte sich das Transaktionsformat von Bitcoin weiterentwickeln, um mehr Speicherplatz auf der Blockchain zu sparen?
- Welche Vorteile könnte es haben, auf modernere Formate wie P2WPKH umzusteigen?
- Wie können kryptografische Verfahren weiter verbessert werden, um die Sicherheit und Anonymität bei Bitcoin-Transaktionen zu erhöhen?