SegWit 隔離見證

隔離見證,將交易數據中的簽名數據,與主交易數據中分離,並將其存儲在區塊的另一部分中。解決舊版本中交易可塑性 Transaction Malleability 問題,並提升每個區塊可以容納更多的交易,並降低交易手續費。

 SegWit 隔離見證

 

SegWit,Segregated Witness 隔離見證,是比特幣於 2017 年通過軟分叉的方式引入到比特幣網絡中的一項升級,解決舊版本中交易可塑性 Transaction Malleability 問題,並提升每個區塊可以容納更多的交易,並降低交易手續費。

SegWit 是將交易數據中的簽名數據,與主交易數據中分離,並將其存儲在區塊的另一部分中。

SegWit 的啟用為後續多項技術發展奠定基礎,包括閃電網路 Lightning Network、Taproot 升級及其他第二層擴容方案。


隔離見證 基本概念

擴大區塊容量 比特幣區塊原始大小仍然是 1 MB,而通過 SegWit可以容納更多的交易。

區塊權重 SegWit 引入 區塊權重 Block Weight 概念,取代原本單純以區塊大小作為限制的方式。區塊權重上限為 4,000,000 Weight Units。由於 Witness Data 資料的權重計算僅主資料的 25%,因此區塊能夠容納更多交易資料。

解決交易可塑性 在 SegWit 啟用之前,交易簽名資料可能被修改而不改變交易實際內容,導致交易 TXID 發生變化。這種現象稱為交易可塑性 Transaction Malleability。SegWit 將簽名資料排除於 TXID 計算之外,使交易 ID 更穩定可靠。


隔離見證 運作方式

  • 建立交易 使用者建立交易指定輸入 Input 與輸出 Output 。同時產生對應的數位簽名與驗證資料。

  • 分離見證資料 交易廣播前,Witness 資料會被放置於獨立的 Witness 區域。主要交易資料與 Witness 資料共同構成完整交易。

  • 計算交易識別碼 SegWit 交易會產生兩種識別碼:

    • TXID(Transaction ID)
    • WTXID(Witness Transaction ID)
    • TXID 不包含 Witness 資料。
    • WTXID 則包含完整 Witness 資料。因此即使 Witness 發生變化,也不會影響 TXID,解決交易可塑性 Transaction Malleability 問題。
  • 寫入區塊 礦工將交易打包進區塊時,主要交易資料與 Witness 資料一同被記錄。 區塊中會額外包含 Witness Commitment,用於驗證 Witness 資料的完整性。


隔離見證 應用

  • 提升區塊容量 由於 Witness 資料採用較低權重計算方式,相同區塊可容納更多交易。 因此提高了整體網路交易處理能力,且降低交易手續費。

  • 解決交易可塑性問題 SegWit 將簽名資料從 TXID 計算中分離,使第三方無法透過修改簽名資料改變交易識別碼。 提升了交易追蹤與驗證的穩定性。並成為閃電網路等第二層協議的重要基礎。

  • 提升複雜腳本效率 降低驗證資料對區塊空間的消耗,為 Taproot 等後續腳本技術的發展奠定基礎。

  • 地址類型

    • P2WPKH(Pay-to-Witness-Public-Key-Hash)
    • P2WSH(Pay-to-Witness-Script-Hash)
    • P2SH-P2WPKH(相容型 SegWit)
    • P2SH-P2WSH(相容型 SegWit)
    • P2TR(Pay-to-Taproot)

隔離見證 相關 BIP 協議

  • BIP 141:Segregated Witness (Consensus Layer)
  • BIP 143:Transaction Signature Verification for Version 0 Witness Program
  • BIP 144:Segregated Witness Peer Services
  • BIP 173:Base32 Address Format for Native SegWit Outputs
  • BIP 350:Bech32m Format for v1+ Witness Addresses
2026/9/17 7:5 AM


更多文章