bitcoin-dev

Should Graftroot be optional?

Should Graftroot be optional?

Original Postby Pieter Wuille

Posted on: May 24, 2018 01:58 UTC

Pieter Wuille, a Bitcoin Core contributor and blockchain expert, has raised concerns about the deployment of Taproot and Graftroot.

In an email sent to the Bitcoin developers' mailing list, he suggested that a practical deployment could require a way to explicitly enable or disable Graftroot spending. Wuille listed several approaches to this, but noted that all of them are less efficient or private than always permitting Graftroot spends directly. He suggested that the community should focus on reasons why a lack of commitment to enabling Graftroot may result in it being incompatible with certain use cases, or other reasons why it could interfere with applications adopting such outputs. Wuille clarified that his concerns only apply to a new hypothetical Taproot/Graftroot output type that combines pay-to-pubkey and pay-to-script in a single scriptPubKey that just contains a public key. He also noted that the concern of making Graftroot optional does not apply to Taproot, as the Taproot spending path's script is committed to, allowing the script to be explicitly chosen to be a non-spendable script.