bitcoinj fork with Taproot support [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2021-11-17T20:05:55+00:00


Summary:

On the Bitcoin development mailing list, a discussion took place regarding the relaying of P2TR spends. Prior to version 0.19.0, creating outputs with an unknown witness version was considered non-standard and violated BIP 173. However, this issue was resolved in PR #15846 for version 0.19.0+. Despite the fix, post-segwit pre-taproot Bitcoin Core releases still reject P2TR spends. A user on the Bitcoin StackExchange forum suggested a potential solution using bitcoinj. They made it so that the client only connects to nodes with at least protocol version 70016, which successfully addressed the issue. In another discussion led by Andrew Chow on November 17th, 2021, it was mentioned that creating outputs with an unknown witness version was previously deemed non-standard and violated BIP 173. The problem at hand, however, pertains to getting P2TR spends to relay. All post-segwit pre-taproot Bitcoin Core releases currently reject these spends. A developer named n1ms0s recently shared their work on a fork of bitcoinj that includes basic Taproot support. This fork allows for sending and receiving with Taproot addresses using a bitcoinj SPV wallet, as well as public/private key tweaking. However, when attempting to broadcast a Taproot transaction to older nodes (around version 0.18.0), an error response stating "Witness version reserved for soft-fork upgrades" is encountered. Seeking assistance, the developer posted a question on Stack Exchange, inviting feedback and contributions to address this issue.Overall, the discussions highlight the challenges surrounding P2TR spends and the rejection of such spends by post-segwit pre-taproot Bitcoin Core releases. Additionally, they shed light on the efforts of a developer working on a bitcoinj fork with basic Taproot support, who seeks assistance in resolving the issue encountered when broadcasting Taproot transactions to older nodes.


Updated on: 2023-08-02T05:09:46.483793+00:00