Bech32m 編碼
Bech32m 延續 Bech32 的字元集與人類可讀性設計,但修改了 Checksum 校驗機制,使其更適合未來腳本系統的擴充需求。

Bech32m,是 Bech32 編碼格式的升級版本,由比特幣 Taproot 升級所引入,主要用於 Witness Version 1 以上的 SegWit 地址格式。
Bech32m 延續 Bech32 的字元集與人類可讀性設計,但修改了 Checksum 校驗機制,使其更適合未來腳本系統的擴充需求。
Bech32m 並不是加密技術,而是一種編碼格式。任何人取得 Bech32m 字串後,都可以解碼還原原始資料。其目的在於資料表示、人類可讀性優化與錯誤檢測,而非保護資料內容。
Bech32m 基本概念
-
基於 Bech32 使用一樣的字元集 Base32-like Encoding,以及人類可讀部分 HRP 資訊格式。
-
Checksum 校驗碼 Bech32m 使用與 Bech32 相同的 Polymod checksum,模 2¹⁵ 多項式系統,差別僅在於驗證時要求 Polymod 結果必須等於 0x2bc830a3。
以避免在 Witness Version 1 以上地址中,資料尾端意外增加或刪除數值為 0 的字元 q 時,有概率產生無法察覺的錯誤。
Bech32m 應用
-
P2TR (Pay-to-Taproot) P2TR 地址皆以 bc1p 開頭,bc 是主網,1 是分隔符,p 代表 Version 1。Taproot 引入了 更強的隱私性 MAST 與 Schnorr 簽名,這些新功能產生的地址必須強制使用 Bech32m 進行編碼。
-
未來的 SegWit 版本擴充 比特幣協議未來若引入 Witness Version 2 至 Version 16 的升級,例如未來的軟分叉新功能,根據 BIP-350 標準,都將強制統一使用 Bech32m,不再使用舊版的 Bech32。
Bech32m 相關 BIP
- BIP 173: Base32 address format for native v0 witness outputs
- BIP 341: Taproot: SegWit version 1 output spent type
- BIP 342: Validation of Taproot Scripts
- BIP 350: Bech32m format for v1+ witness addresses

更多文章