Schnorr-Signatures

是否可以使用帶有 schnorr 簽名的 P2PKH 輸出?

  • December 17, 2021

我知道比特幣有許多不同的交易輸出類型(P2SH、P2WPKH、P2WSH、P2TR 等)。

而且我知道 P2PKH 是一種舊的交易輸出類型,在 Segwit 和 Taproot 之前就已經存在。

是否仍然可以創建與 Schnorr 簽名一起使用的 P2PKH 輸出?

不,不能將 Schnorr 簽名與舊的輸出類型一起使用。

目前評估交易的節點軟體需要一個 ECDSA 簽名,用於花費 P2PKH 輸出的輸入。根據接受的規則,在那裡放置 Schnorr 簽名將是無效的。即使更新了規則以允許使用 Schnorr 簽名,舊節點軟體也總是會拒絕使用更新後的理解的交易,因此這將被歸類為硬分叉。

不,Schnorr 簽名僅用於BIP-342中指定的主根支出(帶有 32 字節見證程序的 v1 segwit) 。這不能被 P2SH 包裝,並且僅使用 Bech32m 編碼。

Taproot 的腳本路徑成本修改 OP_CHECKSIG(VERIFY) 以使用 Schnorr 簽名而不是 ECDSA。還為批量驗證提供了一個新的操作碼 OP_CHECKSIGADD。這意味著不再可能在主根腳本中使用 ECDSA。

引用自:https://bitcoin.stackexchange.com/questions/111308