跳至主要內容
Standards Track Final

BIP-341: Taproot: SegWit 版本 1 花費規則

引入新的腳本類型,提供更強的隱私性和更高效的智能合約能力。

Pieter Wuille, Jonas Nick, Anthony Towns 2020年1月19日
BIP 編號

341

類型

Standards Track

狀態

Final

創建日期

2020-01-19

摘要

Taproot 是比特幣 SegWit 版本 1 的輸出規則。它結合了 Schnorr 簽章和 MAST (Merkelized Abstract Syntax Trees),提供了更強的隱私性、更好的效率和更靈活的腳本能力。

核心概念

密鑰路徑花費

最簡單的花費方式:只需提供一個 Schnorr 簽章。這與普通的單簽名支付看起來完全相同, 即使背後可能是複雜的多重簽名或智能合約。

腳本路徑花費

當無法使用密鑰路徑時(例如,部分參與者不合作),可以揭示並使用預先設定的腳本之一。 只有被使用的腳本會上鏈,其他腳本保持隱藏。

Taproot 地址

Taproot 地址使用 Bech32m 編碼,以 bc1p 開頭:

bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr

MAST 結構

MAST(Merkelized Abstract Syntax Trees)允許將多個腳本組織成 Merkle 樹結構:

        Taproot Output Key
              |
        ┌─────┴─────┐
      Internal    Script Tree
        Key           |
                ┌─────┴─────┐
              Hash        Hash
              /  \        /  \
           Script Script Script Script
              A     B      C      D
    

使用任何一個腳本時,只需要揭示該腳本和相關的 Merkle 證明, 其他腳本的存在不會被披露。

優勢

  • 隱私性提升

    所有 Taproot 花費在鏈上看起來都相同,無法區分單簽、多簽或複雜合約

  • 效率提升

    密鑰路徑花費只需一個簽章,腳本路徑花費只揭示必要的腳本

  • 靈活性提升

    支持更複雜的智能合約,同時保持簡單案例的效率

  • 費用降低

    較少的鏈上數據意味著較低的交易費用

應用場景

  • 1.
    閃電網路

    通道開啟和關閉看起來像普通支付,提高隱私性

  • 2.
    多重簽名錢包

    2-of-3 或更複雜的多簽看起來與單簽相同

  • 3.
    DLC(離散對數合約)

    複雜的金融合約可以更高效地實現

  • 4.
    保管庫

    帶有時間鎖和恢復機制的安全儲存方案

採用情況

Taproot 於 2021 年 11 月 14 日在區塊高度 709,632 啟用。主要錢包和服務正在 逐步添加 Taproot 支持。使用 Taproot 地址(bc1p...)進行接收和發送 可以享受到這些優勢。

已複製連結
已複製到剪貼簿