Bitcoin-Core

其次是兼容性 bc1 和 3 比特幣錢包?

  • June 25, 2020

我想知道從舊地址升級到隔離見證的更好方法是什麼,但是有兩種隔離見證,即從 3 開始的 P2SH 和從 bc1 開始的原生隔離見證 (bech32),但不知道哪種兩個 segwit 一個,更好,並且兼容從舊的傳輸和接收。?

我知道 segwit 錢包有助於減少 tx 的大小,並降低費用,但不知道每種類型的 segwit 是否有缺點?

有兩種類型的隔離見證,即以 3 開頭的 P2SH 和以 bc1 開頭的 Native SegWit (bech32),但不知道這兩種隔離見證中的哪一種更好,並且兼容從傳統隔離見證傳輸和接收?

一般來說,“bc1”原生 SegWit 地址更好。與 Satoshi 發明的經典/傳統 Base58 編碼相比,它完全重新設計。

“bc1”地址中的字母可以全大寫也可以全小寫,前者更適合二維碼,因此二維碼更緊湊。沒有大小寫混合的字母,“bc1”地址也更容易被口頭閱讀。

與“3”(P2SH-P2WPKH)地址或“1”(P2PKH)地址相比,“bc1”(P2WPKH)地址在交易中佔用的字節最少,因此其礦工費是三種地址類型中最便宜的。

比特幣可以在所有三種地址類型之間自由轉移。

但是,當您接收比特幣時,“bc1”地址存在兼容性問題,一些(舊)錢包(包括一些交易所的提款介面)根本無法辨識它。

當您從 SegWit 地址發送比特幣時,沒有什麼可擔心的,除了一個小問題,如果收款人使用不支持 SegWit 的舊錢包,0-conf SegWit 交易可能不會出現在收款人的視圖中。在這種情況下,當它被納入區塊鏈時,它最終會出現在收款人的視野中。

順便說一句,SegWit 地址,包括“3”和“bc1”,目前不支持 Bitcoin Core 中的“簽名/驗證消息”功能。一些開發人員還擔心濫用此功能 IIRC。Trezor 和 Electrum 以彼此不兼容的方式實現了此功能。將來,也許我們可以看到這被 BIP322 標準化。

segwit 錢包有助於減少 tx 的大小,並降低費用

目前的 SegWit 並沒有真正減少交易的規模。“bc1”本機 SegWit 地址僅將大小減少了幾個字節。相反,“3”P2SH SegWit 地址在塊中消耗更多字節,因為 P2SH 包裝本身需要 20 字節雜湊。

大多數情況下這只是一個折扣,“見證”部分(主要是數字簽名和公鑰)將被視為其實際大小的 1/4(又名“虛擬字節”,或簡稱為 vB)。顯然,只有從 SegWit 地址花費硬幣的交易才能享受該折扣。

但是,SegWit 還有其他好處,例如輸入值的簽名,它簡化了未簽名的交易格式,尤其是 PSBT,它可以使離線/冷/硬體錢包和涉及多方(相關)的交易受益。更新:事實證明,這種改進並沒有真正起作用:https ://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-模型-t-version-2-3-1-1eba8f60f2dd

這是一個簡短的比較

原生跟隨

  • 兼容性:許多錢包(如 blockchain.com)、各種比特幣交易所(如 coinbase)不支持
  • 費用節省:38% [1]

其次是P2SH

  • 所有比特幣錢包/交易所都支持
  • 節省費用:26% [1]

總之,如果您在網站/商店上接收比特幣,最好使用 P2SH 地址,因為您的許多客戶將無法向您付款。如果您從知道有更好錢包的同行那裡收到 BTC,您可以向他們發送 bech32 地址以利用較低的費用。

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

引用自:https://bitcoin.stackexchange.com/questions/96138