Address

關於原生 Segwit 地址的兼容性問題

  • October 23, 2020

我有一個關於 Native Segwit 地址的問題。我知道這些地址效率更高,並且當您從它們發送 BTC 時您可以節省費用。但是,接收者使用哪種類型的地址(舊版、隔離見證、原生隔離見證)是否重要?無論如何,我都會獲得相同的減費優惠嗎?

另外,我經常讀到很多錢包不能正確支持原生 Segwit 地址。我的理解是,此類錢包無法正確驗證 Native Segwit 地址,也無法創建 Native Segwit 輸出。這是否也意味著此類錢包無法正確使用 Native Segwit 地址產生的輸出?

發送比特幣意味著將資金鎖定到特定的輸出腳本。輸出腳本確定以後如何使用資金。例如,如果資金被發送到 P2WPKH(支付給見證人的公鑰雜湊)地址,它們以後可以使用 P2WPKH 輸入腳本來使用。如果資金被發送到 P2PKH(支付到公鑰雜湊)地址,則必須使用 P2PKH 輸入腳本代替。

(本地 segwit)P2WPKH 輸入腳本的權重比 P2PKH 輸入腳本的權重小,因此當您以後花費這些資金時,將資金接收到 P2WPKH 地址將為您節省費用。兩者的輸出腳本大小相似。

在此處輸入圖像描述

任何類型的輸入資金都可以分配給交易中任何類型的輸出。你甚至可以混合使用:在一個事務中花費一個本地隔離見證和一個非隔離見證輸入,並發送到一個非隔離見證和一個本地隔離見證輸出都可以正常工作。

但是,正如您所說,某些錢包可能不支持發送到本地隔離見證地址。在這種情況下,接收方應該回退到提供向後兼容的 P2SH 包裝的隔離見證地址,該地址仍然比非隔離見證更便宜,但幾乎所有錢包都可以發送到該地址。您可以在Bitcoin Optech 的兼容性矩陣whensegwit.com上跟踪本機 segwit 的採用情況。

我的理解是,此類錢包無法正確驗證 Native Segwit 地址,也無法創建 Native Segwit 輸出。這是否也意味著此類錢包無法正確使用 Native Segwit 地址產生的輸出?

正確的。不知道如何解釋本地隔離見證地址的錢包將無法使用從本地隔離見證地址收到的資金。這在實踐中不是問題,因為收款人向消費者提供了他們想要接收資金的發票地址。當接收方錢包不知道本地隔離見證時,它不會生成本地隔離見證地址。

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