跳至主要內容
Standards Track Proposed

BIP-84: Native SegWit 派生路徑

定義 Native SegWit (bech32) 地址的 HD 錢包派生路徑標準。

Pavol Rusnak 2017年12月28日
BIP 編號

84

類型

Standards Track

狀態

Proposed

創建日期

2017-12-28

摘要

BIP-84 定義了用於 P2WPKH(Pay-to-Witness-Public-Key-Hash)腳本類型的 派生路徑結構。這是 BIP-44 的擴展,專門用於原生 SegWit 地址(bech32 格式,以 bc1q 開頭)。

動機

SegWit(BIP-141)引入了新的腳本類型,包括 P2WPKH 和 P2WSH。 為了在 HD 錢包中正確支持這些新地址類型,需要定義新的派生路徑標準, 以避免與現有的 BIP-44(P2PKH)和 BIP-49(P2SH-P2WPKH)地址混淆。

派生路徑

BIP-84 使用與 BIP-44 相同的層級結構,但 purpose 設為 84':

m / 84' / coin_type' / account' / change / address_index

對於比特幣主網,完整的派生路徑範例:

m/84'/0'/0'/0/0

地址格式比較

BIP 腳本類型 地址範例 交易費用
BIP-44 P2PKH 1BvBMSEY... 最高
BIP-49 P2SH-P2WPKH 3J98t1Wp... 中等
BIP-84 P2WPKH bc1qar0s... 最低

為什麼使用 BIP-84?

  • 1.
    更低的交易費用

    P2WPKH 輸入比 P2PKH 節省約 38% 的交易大小,直接降低手續費。

  • 2.
    更高的容量

    見證數據有折扣,相同的區塊可以容納更多交易。

  • 3.
    錯誤檢測

    Bech32 地址使用更強的校驗機制,能檢測並定位錯誤字符。

  • 4.
    全小寫格式

    bc1q 地址全部使用小寫字母,更容易閱讀和輸入。

公鑰到地址的轉換

從 BIP-84 派生的公鑰轉換為 P2WPKH 地址的過程:

1. 從派生路徑獲取公鑰(33 字節壓縮格式)
2. 計算公鑰的 HASH160(RIPEMD160(SHA256(pubkey)))
3. 創建見證程序:0x00 0x14 <20字節哈希>
4. 使用 Bech32 編碼見證程序
5. 得到地址:bc1q...
    

擴展密鑰版本

BIP-84 定義了新的擴展密鑰版本,與 BIP-44 區分:

類型 主網 測試網 前綴
擴展公鑰 0x04b24746 0x045f1cf6 zpub / vpub
擴展私鑰 0x04b2430c 0x045f18bc zprv / vprv

現代錢包的最佳實踐

截至 2024 年,大多數現代錢包默認使用 BIP-84(bc1q 地址)來接收比特幣, 因為它提供最低的交易費用。對於需要 Taproot 功能的用戶, 可以使用 BIP-86(bc1p 地址)。

相關 BIP

  • BIP-44:多帳戶 HD 錢包標準
  • BIP-141:隔離見證
  • BIP-173:Bech32 地址編碼
已複製連結
已複製到剪貼簿