Segwit-Kompatibilität bc1 und 3 Bitcoin Wallet?

Ich würde gerne wissen, was der bessere Ansatz für ein Upgrade von einer Legacy-Adresse auf eine Segwit-Adresse ist, aber es gibt zwei Arten von Segwit als P2SH, beginnend mit 3 und Native SegWit (bech32), beginnend mit bc1, aber ich weiß nicht, welche davon zwei segwit one, ist besser und kompatibel mit der Übertragung und dem Empfang von einem älteren. ?

Ich weiß, dass eine Segwit-Brieftasche hilft, die Größe des TX zu reduzieren und die Gebühr zu senken, aber ich weiß nicht, ob es für jede Art von Segwit einen Nachteil gibt?

Antworten (2)

Es gibt zwei Arten von SegWit als P2SH, beginnend mit 3 und Native SegWit (bech32), beginnend mit bc1, aber Sie wissen nicht, welches der beiden SegWit besser ist und kompatibel ist, um es von einem älteren zu übertragen und zu empfangen?

Im Allgemeinen ist die native SegWit-Adresse „bc1“ besser. Es wurde im Vergleich zur klassischen/alten Base58-Codierung, die von Satoshi erfunden wurde, komplett neu gestaltet .

Alphabete in einer "bc1"-Adresse können entweder alle Großbuchstaben oder alle Kleinbuchstaben sein, ersteres passt besser zum QR-Code, was zu einem kompakteren QR-Code führt. Ohne gemischte Groß- und Kleinschreibung ist die Adresse „bc1“ auch leichter mündlich zu lesen.

„bc1“ (P2WPKH)-Adressen benötigen die wenigsten Bytes in Transaktionen im Vergleich zu „3“ (P2SH-P2WPKH)-Adressen oder „1“ (P2PKH)-Adressen, daher ist die Miner-Gebühr die günstigste unter den drei Adresstypen.

Bitcoins können zwischen allen drei Adresstypen frei transferiert werden.

Wenn Sie jedoch Bitcoins erhalten, gibt es ein Kompatibilitätsproblem bei „bc1“-Adressen, das einige (alte) Wallets (einschließlich der Auszahlungsschnittstelle einiger Börsen) einfach nicht erkennen.

Wenn Sie Bitcoins von SegWit-Adressen senden, müssen Sie sich keine Sorgen machen, außer einem kleinen Problem , dass eine 0-conf-SegWit-Transaktion möglicherweise nicht in der Ansicht des Zahlungsempfängers angezeigt wird, wenn der Zahlungsempfänger eine alte Brieftasche verwendet, die nicht SegWit-fähig ist. In dieser Situation wird es schließlich in der Ansicht des Zahlungsempfängers angezeigt, wenn es in die Blockchain aufgenommen wird.

Übrigens unterstützen SegWit-Adressen, einschließlich „3“ und „bc1“, derzeit nicht die Funktion „Nachricht signieren/verifizieren“ in Bitcoin Core. Einige Entwickler machten sich auch Sorgen über den Missbrauch dieser Funktion IIRC. Trezor und Electrum hatten diese Funktion auf eine Weise implementiert, die nicht miteinander kompatibel war. In Zukunft könnten wir dies vielleicht durch BIP322 standardisiert sehen.

Eine Segwit-Brieftasche hilft, die Größe des TX zu reduzieren und die Gebühr zu senken

Derzeit reduziert SegWit die Größe der Transaktion nicht wirklich. Die native SegWit-Adresse "bc1" reduziert die Größe nur um einige Bytes. Die „3“-P2SH-SegWit-Adresse verbraucht dagegen mehr Bytes im Block, da das P2SH-Wrapping selbst einen 20-Byte-Hash erfordert.

Meistens ist es nur ein Rabatt (auch bekannt als "virtuelles Byte", oder kurz vB), dass der "Zeugen"-Teil (meistens digitale Signaturen und Pubkeys) als 1/4 seiner tatsächlichen Größe gezählt würde. Offensichtlich genießen nur Transaktionen, die Coins von SegWit-Adressen ausgeben, diesen Rabatt.

SegWit hat jedoch andere Vorteile, wie das Signieren von Eingabewerten , das das unsignierte Transaktionsformat vereinfacht, insbesondere PSBT, was Offline-/Cold-/Hardware-Wallets und Transaktionen mit mehreren Parteien ( verbunden ) zugute kommen könnte. Update: Es stellt sich heraus, dass diese Verbesserung nicht wirklich für SegWit funktioniert, dann behebt Taproot dieses Problem: https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1- 9-1-und-trezor-model-t-version-2-3-1-1eba8f60f2dd

Laut Blockstream Explorer spart Ihnen natives Segwit (bc1) 40 % an Gebühren und Segwit-kompatible (3) spart Ihnen 30 %.
@mengeroshi Hängt von der Anzahl der Ein- und Ausgänge der Transaktion ab.
Warum sind asm-Hash-Längen für bc1-Transaktionen unterschiedlich? OP_0 4d6a8b2c7dfa984a0de1041f121453c220734e147f379461d2dbe8b9183eba2f vs. OP_0 0174f58fd3a3be597fb9110305f2c2cc2ffeb8dd
@VincentAlex, weil P2WPKH HASH160 verwendet, während P2WSH SHA256 verwendet. Siehe BIP141 für Details.

Hier ein kurzer Vergleich

Einheimischer Segwit

  • Kompatibilität: Nicht unterstützt von vielen Wallets wie blockchain.com, verschiedenen Bitcoin-Börsen wie Coinbase
  • Gebührenersparnis: 38 % [1]

Segwit in P2SH

  • Unterstützt von allen Bitcoin-Wallets/Börsen
  • Gebührenersparnis: 26 % [1]

Zusammenfassend lässt sich sagen, dass es gut ist, P2SH-Adressen zu verwenden, wenn Sie Bitcoin auf einer Website/einem Geschäft erhalten, da viele Ihrer Kunden Sie nicht bezahlen können. Wenn Sie BTC von Kollegen erhalten, von denen Sie wissen, dass sie bessere Brieftaschen haben, können Sie ihnen eine bech32-Adresse senden, um die niedrigere Gebühr zu nutzen.

[1] https://blog.blockonomics.co/saving-transaction-fee-using-segwit-how-to-be-a-bitcoin-ninja-78d8416375db