Es gibt vielleicht viele unerfahrene Freunde wie den Autor. Als sie das WEB3-Wallet zum ersten Mal benutzten, öffneten sie fröhlich das Bitcoin-Wallet und bereiteten sich darauf vor, die Adresse zu kopieren, stellten aber plötzlich fest, dass ein von ihnen erstelltes Wallet tatsächlich mehrere verschiedene Adressen hatte. Es ist, als würde man mit einem verwirrten Gesichtsausdruck an eine unbekannte Kreuzung gehen.
Warum gibt es unterschiedliche Adressen? Welche dieser Adressen soll verwendet werden?
<img src="https://img.php.cn/upload/article/000/000/000/171751057878929.png" alt="Web3 Newbie Series: Warum hat mein Bitcoin mehrere Adressen?">OKX 钱包的多个 Bitcoin 地址
Die Bitcoin-Community ist eine Community, in der sich die Technologie ständig weiterentwickelt und die Entwicklung der Technologie neue Inhalte hervorbringt. Durch den Einsatz neuer Technologien sind unterschiedliche Adressformate denkbar. Erkunden Sie als Nächstes die Unterschiede zwischen verschiedenen Adressformaten.
Dieses Format wurde bei der ersten Einführung von Bitcoin im Jahr 2009 übernommen und wird daher als Legacy-Format bezeichnet. Da die Bitcoin-Adresse zu diesem Zeitpunkt aus einem Paar aus öffentlichem Schlüssel und privatem Schlüssel erstellt wurde, wird es auch als „Legacy-Format“ bezeichnet eine Payment Public Key Hash (P2PKH)-Adresse.
Derzeit scheint es, dass Adressen vom Typ „Legacy“ bei Transaktionen mehr Platz beanspruchen, was zu höheren Transaktionsgebühren führt. Derzeit wird dieser Adresstyp nur verwendet, wenn einige alte Wallets verwendet werden, die mit der neuen Adresse nicht kompatibel sind.
Sie finden ein Merkmal von Legacy-Adressen. Die Adressen beginnen alle mit „1“. Dies liegt daran, dass beim Generieren einer Adresse je nach Szenario ein Präfix vor dem generierten öffentlichen Schlüssel hinzugefügt wird (z. B. testnet/mainnet). Nachdem der öffentliche Schlüssel mit dem hinzugefügten Präfix über Hash berechnet wurde, beginnt die Adresse schließlich mit „1“.
Im Vergleich zur herkömmlichen Legacy-Adresse verwendet die P2SH-Adresse nicht den Hash des öffentlichen Schlüssels, sondern den Hash des Einlösungsskripts (Redeem-Script). Laienhaft ausgedrückt zahlt P2PKH an den Hash eines öffentlichen Schlüssels, während P2SH an das Einlösungsskript zahlt. Erst nachdem der Empfänger die Übertragungsbedingungen des Einlösungsskripts erfüllt, kann das darin enthaltene Geld ausgegeben werden.
Da das Zahlungsobjekt von einem öffentlichen Schlüssel in ein Skript umgewandelt wird, wird die Flexibilität erheblich erweitert und die Ausführungslogik des Einlösungsskripts kann angepasst werden. Zu den typischen Anwendungen gehört die Implementierung von Transaktionen mit mehreren Signaturen.
Basierend auf P2SH: Wenn die Segregated Witness-Technologie eingebettet ist, ist das Format dieser Adresse eine mit Segregated Witness kompatible Adresse (Nested SegWit). Weitere Informationen zu Segregated Witness finden Sie bei der Einführung der Segregated Witness-Adresse. Nach der Einführung der Segregated Witness-Technologie kann das Transaktionsvolumen reduziert und damit die Transaktionsgebühren gesenkt werden.
Sie können sehen, dass die P2SH-Adresse mit „3“ beginnt.
Bevor wir diesen Adresstyp einführen, müssen wir die darin enthaltene Schlüsseltechnologie vorstellen – Segregated Witness (SegWit). Wie der Name schon sagt, isoliert Segregated Witness die Zeugendaten (Witness) und verarbeitet sie separat.
Ein wesentlicher Vorteil dieser Vorgehensweise besteht darin, dass die Größe der Transaktionsinformationen reduziert wird und dadurch die Transaktionsgebühren gesenkt werden. Ein weiterer Vorteil der Größenreduzierung besteht darin, dass die Obergrenze der Bitcoin-Blocktransaktionsgröße von 1 MB auf 4 MB erhöht wurde.
Das Merkmal der Segregated Witness-Adresse ist, dass die Adresse mit „bc1“ beginnt.
Die Vorteile der Taproot-Adresse sind Datenschutz und Effizienz in komplexen Transaktionsszenarien. Im Vergleich zu Native SegWit verwendet es den Schnorr-Algorithmus, um den Algorithmus für digitale Signaturen mit elliptischen Kurven zu ersetzen. Ersterer ist in Stapeltransaktionsszenarien effizienter und verbessert die Privatsphäre von Wallets mit mehreren Signaturen.
Das Merkmal der Hauptstammadresse ist, dass die Adresse normalerweise mit „bc1q“ beginnt.
Aktuelle Mainstream-Wallets wie OKX, Unisat und andere Wallets unterstützen die oben genannten vier Adressen. Um die Transaktionskosten zu senken, ist es daher sinnvoller, Adressen in den nativen SegWit- und Taproot-Formaten zu verwenden .
Wenn Sie außerdem an Bitcoin-Inschriften usw. interessiert sind, sind diese beiden Adressen die beste Wahl. Die meisten Wallets haben eine zusätzliche Verarbeitung der Inschriften dieser beiden Adressen durchgeführt, was Ihren speziellen UTXO nicht schützen kann bei einer Transaktion fälschlicherweise wegüberwiesen wurden. Suchen Sie nach der Wallet-Adresse, die mit „bc1“ beginnt!
Natürlich können Wallets mit unterschiedlichen Adressformaten Geldtransaktionen durchführen, also machen Sie sich keine Sorgen.
Wenn Sie den Kontostand oder die Blockierungsinformationen von Bitcoin überprüfen möchten, können Sie gerne den Knotendienst von ZAN nutzen. Wir stellen Entwicklern eine umfangreiche API zur Verfügung. Details zum API-Dokument: https://docs.zan.top/reference/zan_getbalance-enhance
Nach der obigen Einführung hat jeder ein vorläufiges Verständnis des Wallets, dann Sie sind genauso daran interessiert, einige Technologien in der Brieftasche zu erwerben wie ich, also werfen wir einen Blick auf die mysteriösen Technologien darin.
Bei der Einführung von P2SH wussten wir, dass es sich um eine Technologie für Redemption-Script-Transaktionen handelt. Was ist also ein Redemption-Script und welche Rolle spielt es im Bitcoin-Ökosystem?
Bevor wir das Einlösungsskript vorstellen, müssen wir die Grundstruktur von Bitcoin-Transaktionen vorstellen.
Das Folgende ist eine typische P2PK-Transaktion, bei der die Adresse, die mit 04ae beginnt, 10 BTC an die Adresse übertragen möchte, die mit 15kD beginnt. Das Konto mit der 04ae-Adresse muss anderen in der Kette zeigen, dass es tatsächlich das Recht hat, dieses Konto zu verwenden (den privaten Schlüssel zu besitzen), und dann muss er in dieser Transaktion eine Signatur (ScriptSig) bereitstellen, um seine Identität zu beweisen.
Zusätzlich zum Erhalten der Signatur muss der Verifizierer auch das Ausgabeskript der vorherigen Transaktion finden, das dem UTXO entspricht. Diese beiden Skripte werden zusammengefügt, um das Erlösungsskript zu bilden. Die Funktion des Einlösungsskripts besteht darin, die Legitimität der Transaktion nachzuweisen.
In dieser Transaktion können Sie sehen, dass es sich bei der Signatur und dem Ausgabeskript um Computeranweisungen handelt. „OP_PUSHBYTES“ bedeutet, dass ein Datenelement in den Stapel geschrieben wird. Zuerst signiert 04ae die gesamte Transaktion mit seinem eigenen privaten Schlüssel in ScriptSig, und die Signatur wird auf den Stapel übertragen. Schieben Sie dann den öffentlichen Schlüssel in den Stapel und verwenden Sie schließlich in „OP_CHECKSIG“ den öffentlichen Schlüssel, um die Signatur zu entschlüsseln und zu vergleichen, ob die Transaktion konsistent ist. Wenn sie konsistent sind, ist die Identität gültig.
Zusätzlich zu dieser P2PK-Methode kann das Einlösungsskript auch verschiedene Authentifizierungsmethoden wie P2PKH und P2SH implementieren.
Aus der obigen Einführung können Sie erkennen, dass die neueren Wallet-Formate derzeit die Segregated Witness-Technologie verwenden. Was ist also Witness und wie wird es isoliert?
Der Zeuge kann hier als Skriptsignaturinformation (scriptSig) in der Grundstruktur von Bitcoin betrachtet werden, die aus der Grundstruktur extrahiert und in eine neue Datenstruktur eingefügt wird.
Wie Sie im Bild oben sehen können, sind die einzigen erforderlichen Inhalte in der Transaktion die Transaktionsquelleninformationen und die Transaktionsausgabeinformationen. Die Größe der Transaktion wird reduziert, da der gelbe Teil (Gesamtgröße der Transaktion) vorhanden ist. hat eine Größenbeschränkung, so dass die separate Verteilung von Transaktionssignaturen es einem Block ermöglicht, mehr Transaktionen aufzunehmen. Darüber hinaus wird bei der Berechnung der Signatur einer Transaktion der Inhalt des Signaturteils nicht berücksichtigt, sodass das Problem der Transaktionsformbarkeit effektiv gelöst werden kann.
Das Folgende ist eine P2TR-Transaktion. Sie können sehen, dass diese Transaktion einen zusätzlichen Zeugenteil hat. Seine Funktion besteht darin, die Legitimität der Transaktion zu überprüfen. Nach der Verwendung von Witness anstelle von ScriptSig ist die Methode zur Überprüfung der Legitimität immer noch dieselbe, nämlich die Verwendung des öffentlichen Schlüssels zum Entschlüsseln der Signatur von Witness, um zu überprüfen, ob der Inhalt der Transaktion konsistent ist. Knoten fordern Zeugeninformationen nur dann an, wenn sie die Legitimität der Transaktion überprüfen müssen. Nutzen Sie jetzt kostenlos den ZAN Node-Dienst (besuchen Sie ZAN.TOP), um sich stabil und mit hoher Geschwindigkeit mit dem BTC-Netzwerk zu verbinden.
Zusammenfassend lässt sich sagen, dass Segregated Witness den Inhalt des Transaktionssignaturteils vom Rest der ursprünglichen Transaktion trennt, wodurch die Größe einer einzelnen Transaktion reduziert und die Kapazität des gesamten Blocks erhöht wird. Da der Inhalt des Signaturteils außerdem nicht in die Berechnung des Hash-Werts der Transaktion einbezogen wird, kann das Problem der Transaktionsformbarkeit effektiv gelöst werden.
Dieser Artikel wurde von Yeezo (X-Konto @GaoYeezo75065) vom ZAN-Team (X-Konto @zan_team) geschrieben.
Das obige ist der detaillierte Inhalt vonWeb3 Newbie Series: Warum hat mein Bitcoin mehrere Adressen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!