Ist es möglich, eine Adresse von p2pkh in p2sh umzuwandeln?

Ist es möglich, eine p2pkh-Adresse in eine p2sh-Adresse umzuwandeln?

Wird auch der Restbetrag der p2pkh-Adresse auf die p2sh-Adresse übertragen?

Antworten (2)

Ist es möglich, eine p2pkh-Adresse in eine p2sh-Adresse umzuwandeln?

Nicht.

Adressen werden vom Wallet bestimmt. Es ist die Brieftasche des Empfängers, auf der steht: „Ich akzeptiere die Zahlung, wenn sie bei Adresse X ankommt“. Das Senden an eine andere Adresse kann bedeuten, dass die Brieftasche sie nicht erkennt. Im schlimmsten Fall, wenn der Empfänger über ein Hardware-Sicherheitsmodul verfügt, das den Schlüssel speichert, kann es buchstäblich unmöglich sein, das Geld zurückzuerhalten, wenn es an die falsche Adresse gesendet wird.

Das ist nicht anders, als wenn man einem Freund etwas Geld schuldet und es ihm „zurückzahlt“, indem man einen Umschlag mit Bargeld in seinem Rasen vergräbt. Sie können technisch gesehen davon ausgehen, dass es sich um eine Überweisung von Geldern an sie handelt, aber wenn dies nicht in einer Angelegenheit erfolgt, die ihnen bekannt oder sogar erkennbar ist, ist es sehr schwer, dies als Zahlung zu betrachten.

Als Absender sollten Sie sich nicht darum kümmern, welche Art von Adresse der Empfänger Ihnen gibt, und schon gar nicht versuchen, zu erraten, wie Sie sie ändern können.

Wenn Sie als Empfänger eine P2SH-Adresse vergeben möchten (vermutlich, weil Sie Multisig-Sicherheit oder Segwit wünschen?), aktualisieren Sie einfach Ihre Brieftasche auf eine Software, die diese Funktion unterstützt, und erstellen Sie eine neue Adresse.

Wird auch der Restbetrag der p2pkh-Adresse auf die p2sh-Adresse übertragen?

Nein, Adressen haben kein Guthaben.

Obwohl ich Pieter zustimme, dass Sie dies im Allgemeinen nicht tun sollten, müssen Sie wissen, wie dies getan werden könnte, um ein gewisses technisches Verständnis zu erlangen. Folgendes dient als Referenz:

P2PKH

Eine P2PKH-Adresse A wird aus dem öffentlichen Schlüssel K wie folgt erstellt:

A = BASE58CHECK( 0x00 HASH160( K ) )

Wobei HASH160( K ) äquivalent zu RIPEMD160( SHA256( K ) ) ist und 0x00 das Versionsbyte darstellt (für P2PKH)

P2SH

Bei P2SH-Adressen hashen Sie anstelle des öffentlichen Schlüssels ein Transaktionsskript .

Eine 1 von 1 Multisig-Transaktion wird erstellt, indem die folgenden Bytewerte verkettet werden:

OP_0 0x14 HASH160( K )

Um eine P2SHAdresse zu erstellen, die eine 1-zu-1-Multisig-Transaktion verwendet, konstruieren Sie sie daher wie folgt:

BASE58CHECK( 0x05 HASH160( OP_0 0x14 HASH160( K ) ) )

Wobei 0x05 das Versionsbyte für Skript-Hash-Adressen und 0x14 die Anzahl der zu erwartenden Bytes in HASH160( K ) ist.

Bitcoin-Skriptreferenz