Gentoo currently has a number of packages required to run a bitcoin node in its tree, including:
* net-libs/libbitcoinconsensus
* net-p2p/bitcoin-qt
* net-p2p/bitcoind

In version 0.21.1, bitcoin included a consensus algorithm changed call taproot. There is no configuration opt-in with this change; bitcoin < 0.21.1 does not include taproot, bitcoin >= 0.21.1 does include taproot.

A PR [1] was created the bitcoin packaging proxy maintainer (Like Dash-Jr, CC'ed) for the bitcoin 0.21.1 version bump. In that PR, Luke insists that users must explicitly opt-in to the bitcoin 0.21.1 upgrade because of the taproot consensus algorithm change. I encourage interested parties to read the conversation in that PR to get the full context.

* This is a minor version bump (assuming semver, this is the "patch" level version change in bitcoin), indicating that upstream does not consider this to be a major/breaking change. * Upstream does not have a mechanism for notifying users or requiring them to opt-in to this change * Upstream does not have a mechanism to opt out of this change. The users only option is to develop their own fork of the bitcoin software or never upgrade the package if they want to avoid taproot.
* Taproot was locked by miners, so the network will be upgrading [2]

Therefore, I have a few questions for the fellow Gentoo developers:
1) Should we require users to explicitly opt-in to this upgrade beyond the usual? 2) If so, how do we do that? I have been unable to find any documentation or examples of existing packages that require explicit upgrade opt-in. A REQUIRED_USE or a LICENSE [3] were suggested as well as PROPERTIES="interactive" [4], but such approaches seem like unintended/unconventional abuses of those settings as well as annoying to the user.

My suggested approach was to notifying the user of the change in the pkg_pretend phase [5] so they're aware before they actually upgrade; however, the proxy maintainer disagreed and force a revert. [6]

Thank you for your consideration and assistance with this issue,
~Craig


[1] https://github.com/gentoo/gentoo/pull/21490
[2] https://taproot.watch/
[3] https://github.com/gentoo/gentoo/pull/21490#discussion_r663201705
[4] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877542346
[5] https://github.com/gentoo/gentoo/commit/e62b85aae5a2dd70ff120ebc284bf6d461e34b88#diff-e5afbd0e114be010e271302d0807aba076083d0e623ddd611f7e80b4b02a1c82R91
[6] https://github.com/gentoo/gentoo/pull/21490#issuecomment-877531697

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to