P2SH-P2WPKH 地址格式
P2SH-P2WPKH 是 SegWit 隔離見證在比特幣過渡期間的一種封裝型輸出格式,屬於 P2SH 與 P2WPKH 的組合結構。

P2SH-P2WPKH,Pay-to-Script-Hash Nested Pay-to-Witness-Public-Key-Hash 是 SegWit 隔離見證在比特幣過渡期間的一種封裝型輸出格式,屬於 P2SH 與 P2WPKH 的組合結構。
它將 SegWit 的 Witness Program 作為 Redeem Script,再以 P2SH 將其 Hash160 後建立輸出,使尚未支援原生 SegWit 地址的錢包與服務仍可識別並支付。
該類型地址外觀上仍使用 Base58Check 編碼,主網通常以 3 開頭,但內部實際使用的是 SegWit 的 P2WPKH 腳本結構。
其核心目的是在不破壞既有 P2SH 生態相容性的前提下,引入 SegWit 的簽章分離與交易延展性改善。
P2SH-P2WPKH 基本概念
-
ScriptPubKey 交易輸出 ScriptPubKey 並不直接鎖定公鑰雜湊,而是鎖定一段 Redeem Script 的 Hash160 雜湊值。
OP_HASH160 <20-byte ScriptHash> OP_EQUAL = ScriptPubKey
-
內層使用 Witness Program P2SH-P2WPKH 的內層腳本 Witness Program 為
OP_0 <20-byte PublicKeyHash>
當花費該 UTXO 時,ScriptSig 僅包含 Redeem Script,本身不包含簽章與公開金鑰。真正的簽章資料與公開金鑰則放置於交易末尾的 Witness 欄位中。
P2SH-P2WPKH 運作方式
- 建立公私鑰對 使用者生成 ECDSA 公私鑰對。私鑰用於簽章,公鑰用於驗證。
進行 Hash160 雜湊計算 將生成的原始公鑰,依序放入 SHA-256 以及 RIPEMD-160 的雜湊函數中進行計算,此方式稱之為 Hash160,可產生一個 20 位元組,160 位元的 PublicKeyHash。
RIPEMD-160(SHA-256(PublicKey)) = PublicKeyHash
-
建立 Witness Program 將版本號 OP_0 與 PublicKeyHash 組合成標準 P2WPKH Witness Program,建立 Redeem Script。
OP_0 <20-byte PublicKeyHash>
-
Redeem Script 計算 Hash160 將上述 Redeem Script 再進行 Hash160 計算,產生 ScriptHash。
RIPEMD-160(SHA-256(RedeemScript)) = ScriptHash
-
建立 ScriptPubKey 將 ScriptHash 放入 P2SH ScriptPubKey 中,形成最終鎖定條件。
OP_HASH160 <20-byte ScriptHash> OP_EQUAL = ScriptPubKey
-
計算 Base58Check 地址編碼 將版本位元組、ScriptHash 與 Checksum 依照 Base58Check 編碼,轉換為 P2SH-P2WPKH 可讀地址,以 3 為開頭,通常為 34 個字元的字串。
-
ScriptSig 與 Witness 解鎖資料 當花費該輸出時,ScriptSig 僅提供 Redeem Script。
OP_0 <20-byte PublicKeyHash>
真正的解鎖資料則存放於 Witness 中,包括Signature,與 PublicKey。 節點首先驗證 ScriptSig 中提供的 Redeem Script 是否符合 ScriptPubKey 所指定的 ScriptHash,接著依照 SegWit 規則,利用 Witness 中的簽章與公開金鑰完成最終驗證。
P2SH-P2WPKH 應用
- SegWit 相容性過渡 現行大多數新建立的錢包皆直接採用 P2WPKH,P2SH-P2WPKH 是 SegWit 推出初期最重要的過渡格式,使尚未支援 Bech32 地址的錢包、交易所與支付服務,也能正常接收 SegWit 交易,同時享有交易延展性修正與手續費降低等優勢。
P2SH-P2WPKH 相關 BIP
- BIP 16:Pay to Script Hash
- BIP 141:Segregated Witness (Consensus Layer)
- BIP 143:Transaction Signature Verification for Version 0 Witness Program
- BIP 49:Derivation scheme for P2WPKH nested in P2SH

更多文章