Bitcoin Core 32.0 PSBT Incompatibility Slips to Next Patch

iconCryptoSlate
Share
AI summary iconSummary
Bitcoin breaking news: A PSBT v2 incompatibility in Bitcoin Core 32.0 has caused issues with multisig co-signing on older nodes. Users report an 'unsupported-version' error when importing PSBT v2 files. Maintainers have postponed the fix to the 32.1 release. As a workaround, users can use the RPC interface to generate PSBT v0 format. Bitcoin news outlets highlight the issue as a key concern for wallet users.

A user report says Bitcoin Core 32.0's graphical wallet can disrupt co-signing with older Core wallets by producing transaction files those wallets cannot import. User mjdietzx reported on October 14 that importing a file from the new graphical wallet into pre-32 Core produced an unsupported-version decoding error. The graphical wallet provided no option to select the format version. The mismatch can prevent an older Core wallet from adding a signature to a transaction prepared by a newer Core wallet.

The incompatibility involves the Partially Signed Bitcoin Transaction (PSBT) format, which carries transaction information between participants during signing. The new graphical wallet produces PSBT v2 files. BIP 370 permits v2 files to receive additional inputs and outputs after creation when the modification flags allow those changes. However, BIP 370 intentionally makes v2 incompatible with software that supports only v0. The user report also says joinpsbts rejected v2 output because that RPC accepts only v0 files. External signing software could encounter the same problem without v2 support.

Maintainer fanquake assigned the compatibility issue to the 32.1 milestone on October 21. Fanquake said 32.0 was already overdue and no fix was ready for backporting. Pull request 36539 would make the graphical wallet produce v0 PSBTs again, but the proposal remained open when checked on October 22. September coverage of the release candidate had already identified changes to the RPC format defaults; deferral of the graphical-wallet fix came later.

GitHub lists a verified, signed final v32.0 source tag dated October 21. The official download page continued to advertise 31.1 when checked on October 22. The source tag therefore does not by itself confirm the availability of 32.0 binaries.

Mixed-version co-signers can avoid this specific mismatch by requesting v0 through Core 32's RPC interface. Users can set psbt_version=0 with walletcreatefundedpsbt or createpsbt. The v32.0 functional tests cover both PSBT versions and verify that decoded output uses the requested version. BIP 370 also allows conversion from an existing v2 PSBT to v0 through reconstruction of the unsigned transaction. However, BIP 370 supplies no operator command for that conversion.

Disclaimer: The information on this page may have been obtained from third parties and does not necessarily reflect the views or opinions of KuCoin. This content is provided for general informational purposes only, without any representation or warranty of any kind, nor shall it be construed as financial or investment advice. KuCoin shall not be liable for any errors or omissions, or for any outcomes resulting from the use of this information. Investments in digital assets can be risky. Please carefully evaluate the risks of a product and your risk tolerance based on your own financial circumstances. For more information, please refer to our Terms of Use and Risk Disclosure.