對 Taproot 的哪些錢包支持將包含在 Bitcoin Core v22.0 中?
比特幣核心v22.0將包含對 Taproot 的哪些錢包支持?使用 Core 錢包我能做什麼,不能做什麼?
這是一個草稿答案,可能包含不准確之處。如果有,我會更新。
值得注意的是,Taproot 很可能會在 2021 年 11 月在主網上啟用,但在此之前,Taproot 規則將不會在網路上實施。在此之前任何嘗試的 Taproot 支出都將被網路視為任何人都可以支出。
Bitcoin Core v0.21.1允許您發送到 Taproot(SegWit 版本 1,bech32m編碼)地址。它還支持驗證 Taproot 在 regtest 和 signet 上的花費。但它不允許你在錢包中生成主網 Taproot 地址(你可以生成一個 regtest Taproot 地址?)或從 Taproot UTXO 中消費。
對於v22.0,有錢包拉取請求(例如PR 21365、PR 22051、PR 22166)允許您從 Taproot UTXO 花費,只要您花費的密鑰路徑或腳本路徑只是一個 pubkey 花費(例如描述符
tr(KEY)
或tr(KEY,{pk(KEY),pk(KEY)}
. 不支持任何腳本、multisig 或 MuSig 支出(例如tr(MUSIG, {wsh(SCRIPT), wmulti(k,KEY_1,KEY_2,...,KEY_n)}
)。描述符錢包根本不支持任意腳本,Taproot 或非 Taproot,稍後會在描述符支持 Miniscript時出現。錢包將生成一個有效的 Schnorr 簽名(使用 libsecp256k1 庫)來使用 Taproot UTXO,但不會廣播它(稍後將在 Taproot 於 2021 年 11 月啟動後支持)。您可以使用此處的說明創建描述符錢包。
有關各種描述符(包括
tr()
Taproot 描述符)的資訊在此處。該文件有一個 Taproot 描述符範例。
tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556),pk(e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13)})
c6047f...
,fff97b...
並且e493db...
是範例 Schnorr 公鑰。c6047f...
位於 Taproot 密鑰路徑中,另外兩個公鑰位於腳本路徑中,即可以從 P2TR 地址中使用的替代腳本的 Merkle 樹。