P2PKH-Adressen sind die häufigste Art von Adressen innerhalb von Bitcoin und werden normalerweise zur Durchführung von Transaktionen in diesen Kryptowährungen verwendet. Erfahren Sie hier, welche Eigenschaften es hat und wie es funktioniert.
Aobwohl es neue Skripte gibt Bitcoin Da sich Transaktionen immer größerer Beliebtheit erfreuen, erfolgt die Durchführung von Transaktionen im Netzwerk am häufigsten über Skripts Zahlen Sie für den Hash des öffentlichen Schlüsselsoder besser bekannt als P2PKH. Ursprünglich verwendete das Netzwerk das Skript Bezahlen mit öffentlichem Schlüssel (P2PK), aber aufgrund der Anfälligkeit zukünftiger Angriffe mit Quantencomputern wurde es für mehr Sicherheit und Netzwerkschutz in P2PKH geändert. Und seitdem spielt dieses Skript bei den meisten in Bitcoin durchgeführten Transaktionen eine sehr wichtige Rolle.
Die Wahrheit ist, dass sowohl P2PK als auch P2PKH sehr ähnlich sind. Nun, sowohl bei P2PK als auch bei P2PKH müssen Benutzer einen komplexen kryptografischen Mechanismus nachweisen. Dieser Mechanismus basiert auf dem Nachweis, dass sie die wahren Eigentümer des öffentlichen Schlüssels für den Empfang von Zahlungen und des privaten Schlüssels für die Ausgabe der erhaltenen Zahlungen sind. Der Hauptunterschied zwischen P2PK und P2PKH besteht jedoch darin, dass letzteres es dem Benutzer ermöglicht, ihm beim Empfang einer Transaktion nicht seinen vollständigen öffentlichen Schlüssel zur Verfügung zu stellen. scriptPubKey. Eine Situation, die innerhalb der P2PK-Skripte aufgetreten ist. Der den öffentlichen Schlüssel des Empfängers der Transaktion direkt sendet.
Diese einfache Änderung hat die Sicherheit von Bitcoin gegen mögliche Angriffe, die mit Quantencomputern durchgeführt werden könnten, erheblich verbessert. Gleichzeitig wurde aber auch der Transaktionsschutz verbessert und die Größe jeder Transaktion reduziert, was sich positiv auf die Skalierbarkeit von Bitcoin auswirkt. Dies liegt an der Tatsache, dass Stellen Sie stattdessen nur einen 20 Byte langen Hash bereit öffentlicher Schlüssel abzuschließen. Eine Situation, die verhindert, dass es bekannt oder offengelegt wird, wodurch die allgemeine Sicherheit des Netzwerks erhöht wird.
Aber Sie fragen sich wahrscheinlich: Wie macht P2PKH das alles möglich? Welche Mechanismen ermöglichen seinen Betrieb? Nun, wir werden das alles im Folgenden untersuchen.
Wie funktioniert ein P2PKH-Skript?
Der Betrieb eines P2PKH-Skripts beginnt in dem Moment, in dem sich Empfänger und Sender auf die Durchführung einer Transaktion vorbereiten. Zu diesem Zeitpunkt muss der Empfänger ein öffentliches und privates Schlüsselpaar erstellen. Sobald diese Schlüssel erstellt sind, teilt der Empfänger seinen öffentlichen Schlüssel mit dem Absender der Transaktion. Bei der Verschlüsselung dieser Schlüssel erstellt der Empfänger einen Hash des öffentlichen Schlüssels, der sicher an den Sender übertragen wird, um die Transaktion durchzuführen. Dieser Hash ist unsere Kryptowährung oder Bitcoin-Adresse. Wenn Sie etwas über diesen Generierungsprozess erfahren möchten, können Sie unseren Artikel lesen Wie erstellt man eine Bitcoin-Adresse?
Sobald der Emittent nun die Bitcoin-Adresse hat, beginnt er mit der Erstellung der Transaktion. Dieser Prozess führt zur Verwendung von Bitcoin-Skript, um ein spezielles Unterskript zu generieren, das Teil des P2PKH sein wird. Dieses Unterskript heißt scriptSig und dient dazu, zu überprüfen, ob der Emittent tatsächlich Eigentümer der Kryptowährungen ist, die er ausgeben möchte. Nehmen Sie dazu den öffentlichen Schlüssel, mit dem der Emittent die Kryptowährungen zu diesem Zeitpunkt erhalten hat, und überprüfen Sie, ob er über den privaten Schlüssel verfügt, der ihm die Ausgabe ermöglicht. Sobald dieser Schritt verifiziert ist, kann der Aussteller mit dem Generierungsprozess des P2PKH-Skripts fortfahren.
Im zweiten Teil des Prozesses wird das Unterskript scripPubKey generiert. Dieser Teil des Skripts übergibt den Besitz der gesendeten Kryptowährungen an den Public-Key-Hash, den der Aussteller erhalten hat. Durch die Verknüpfung von scriptSig und scriptPubKey erhalten wir als Ergebnis ein vollständiges P2PKH, dessen Funktion sich wie folgt zusammenfassen lässt:
Ein Emittent kann Bitcoins, die er erhalten hat, nur an einer öffentlichen Adresse ausgeben, die ihm gehört. Aber um sie auszugeben, müssen Sie nachweisen, dass die Adresse wirklich Ihnen gehört. Sie müssen also den richtigen öffentlichen und privaten Schlüssel angeben, um die Ausgaben freizuschalten.
Sobald dieser Punkt bestätigt ist, sendet der Emittent eine bestimmte Menge an Münzen an eine andere Adresse, die nicht mehr sein Eigentum ist und in das Eigentum eines anderen Benutzers übergeht, der diese Münzen nur nach dem gleichen Vorgang ausgeben kann.
Beispiel eines P2PKH
Schauen wir uns ein Beispiel an, um genauer zu erklären, wie dieser gesamte Prozess in Bitcoin abläuft. Wenn Maria eine Standardtransaktion im P2PKH-Format an Pedro senden möchte, muss Pedro den Prozess starten, indem er den Satz aus privatem und öffentlichem Schlüssel erstellt, in dem er die Transaktion empfangen möchte.
Im Bitcoin-System wird dieser Schlüsselsatz sicher mithilfe von erstellt Algorithmus für digitale Signaturen mit elliptischer Kurve (ECDSA) mit der Kurve secp256k1. Anschließend wird der generierte öffentliche Schlüssel mithilfe der Funktionen transformiert SHA-256 und RIPEMD-160.
Zu diesem Zeitpunkt sendet Pedro Maria die Adresse, die dann mit der Generierung der Transaktion und des P2PKH-Skripts beginnt. Maria gibt die Transaktionsdaten in ihr Wallet ein, das diese Daten dann in ein P2PKH-Skript übersetzt. Und sobald María auf „Senden“ drückt, beginnt der Vorgang. Die Transaktion wird an das Netzwerk gesendet, wo die Miner sie entgegennehmen und in einen Block einfügen. Nach Abschluss der Generierung dieses Blocks beginnen die Netzwerkknoten mit der Ausführung der einzelnen Aktionen jeder dieser Transaktionen.
In diesem Moment wird Marías Zahlung an Pedro Wirklichkeit. Somit führen die Knoten das P2PKH-Skript aus und übergeben das Eigentum an den Münzen, die María an Pedro gesendet hat, wodurch Pedro das alleinige Eigentum an diesen Münzen übernimmt. Für den Fall, dass der Vorgang eine Änderung hervorruft, wird diese Änderung an María gesendet, die das Eigentum daran behält. Bei den restlichen Münzen, die nicht Teil der Münzlieferung an Pedro oder des Wechselgelds von María sind, handelt es sich um Provisionen, die die Bergleute für ihre Arbeit erhielten.
P2PKH-Implementierung
Das Skript P2PKH ist standardmäßig in Wallets vorhanden, die den Bitcoin-Client implementieren seit praktisch den Anfängen des Systems. Nur wenige Tage nach der Einführung von Bitcoin und dem Abbau der ersten Blöcke des Netzwerks, am 16. Januar 2009, begann die Implementierung des P2PKH-Formats in Bitcoin-Transaktionen. Dieses Skript ist also in den meisten abgebauten Blöcken innerhalb der Blockchain zu finden.
Seine Entstehung hat hauptsächlich zwei Gründe:
- Satoshi Nakamoto Ich wollte, dass es für zwei Benutzer eine einfachere und einfachere Möglichkeit gibt, ihre öffentlichen Schlüssel zu teilen, um Transaktionen durchzuführen. Um den öffentlichen Schlüssel in einen kürzeren und benutzerfreundlicheren Ausdruck umzuwandeln, wurde daher eine Hash-Funktion angewendet, die diesen Schlüssel in einen viel besser verwaltbaren und verwendbaren Zufallssatz alphanumerischer Zeichen umwandelt. Diese wird als Adresse verwendet, die einfach und zuverlässig mit jedem Benutzer geteilt werden kann.
- Als ECDSA ist es anfällig für den modifizierten Shor-Algorithmus. Dieser Algorithmus kann mithilfe eines Quantencomputers den privaten Schlüssel aus dem öffentlichen Schlüssel ableiten. Die Implementierung von P2PKH verhindert diesen Angriff jedoch. Indem verhindert wird, dass der vollständige öffentliche Schlüssel bei der Durchführung einer Transaktion einem anderen Benutzer preisgegeben wird. Schaffung einer zusätzlichen Sicherheitsebene über dem privaten Schlüssel und dem öffentlichen Netzwerk, die ein höheres Schutzniveau bietet. Obwohl dies noch in weiter Ferne liegt, liegt die Quantenleistung, die für die Durchführung eines erfolgreichen Angriffs dieser Art erforderlich ist, bei etwa 1500 Qubits.
Vor- und Nachteile der P2PKH-Implementierung
Vorteil
Einer der größten Vorteile der Implementierung des P2PKH-Skripts und das, was es bei der Durchführung von Transaktionen sehr zuverlässig macht, liegt darin, dass verringert die Wahrscheinlichkeit von Angriffen oder Bedrohungen durch Quantencomputer. Welche privaten Schlüssel ein Benutzer hat, kann aus dem öffentlichen Schlüssel abgeleitet werden, den er für den Empfang einer Transaktion bereitgestellt hat. Und dank P2PKH werden öffentliche Schlüssel niemals preisgegeben oder gesendet. Anstatt den vollständigen öffentlichen Schlüssel zu senden, wird nur ein Hash davon verwendet.
Ein weiterer großer Vorteil, den dieses Skript bietet, ist der Einfachheit und Benutzerfreundlichkeit. Und dasAdressen, die P2PKH implementieren, sind viel kürzer und einfacher zu verwalten. Was wiederum die Fehlerwahrscheinlichkeit im Vergleich zu P2PK-Adressen verringert.
Nachteile
Obwohl P2PKH-Adressen viel einfacher zu verwenden sind, Der Prozess der Erstellung dieser Adressen ist viel komplexer und schwieriger als mit P2PK-Skripten. Sie erfordern daher die Anwendung vieler zusätzlicher Schritte oder Prozesse auf Programmierebene, um P2PKH-Transaktionen zu erstellen. Dies ist jedoch für den Nutzer transparent und führt bei aktuellen Geräten zu keinen negativen Auswirkungen auf die Performance.
Ebenso, da dieses Skript schon lange vorher veröffentlicht und implementiert wurde SegWit, Legacy-Adressen sind nicht mit Wallets kompatibel, die dieses Format implementieren, als ob das Skript dies tun würde P2SH. Es ist zwar möglich, eine Transaktion von einer P2PKH-Adresse an eine SegWit-Adresse zu senden. Allerdings können die Gebühren für diese Transaktionen im Allgemeinen hoch sein. Obwohl die Implementierung von P2PKH-Transaktionen im Bitcoin-Netzwerk eine wichtige Rolle spielt, Seine Nutzung kann beeinträchtigt und verringert werden, wenn Benutzer beginnen, SegWit in größerem Umfang zu übernehmen.