[bitcoin-dev] Taproot Activation Meeting Notes, April 6th: The CoinFlip

Jeremy jlrubin at mit.edu
Tue Apr 6 21:31:31 UTC 2021

Bitcoin Developers,

The second fortnightly taproot activation meeting has just concluded. Below
are my notes:

1) On AJ's mods to MTP
   - luke-jr is still NACK any MTP related thing
   - It is generally uncontested that the Mods are fine; that it should be
LOT (via LAST_CHANCE) compatible
   - it does make MTP a bit harder to review, but not unacceptably so
2) On selecting between MTP and Height
   - There are some benefits to MTPs
   - There are some benefits to Heights
   - Both are technically probably OK to use for Taproot
   - Both about as hard/easy to review (some think height has fewer edge
   - AJ and Andrew Chow are going to see if they can unify approaches
3) Timeline + CoinFlip
   - Many present at the meeting preferred to work together to compromise
and reach consensus to stick to the timeline from the last meeting over
either height or MTP.
   - as such a coinflip is being run via `bitcoin-cli getblockhash
$((678059+20)) | cut -b64 | grep -q '[02468ace]' && echo MTP || echo
height` (that's about 13 blocks from writing).
   - If it comes up MTP, contributors mentioned below will work towards
moving MTP forwards.
   - If it comes up height, contributors mentioned below will work towards
moving height forwards.
   - You can pre-commit to following this path by responding in the next
hour or so, or also choose to abide by it async
   - If in the next day or so, AJ and Andrew Chow reach a compromise
between approaches that is compatible with the timeline of getting to a RC1
with deployment, then that can be considered on its merits in preference of
either of the existing approaches.
    - If this approach fails at helping move towards consensus on an
approach, then we will have to push back the timeline most likely for a
core release (or an emergent group will have to offer a community release)

The following folks in the meeting agreed to abide by the flip:

- roasbeef
- benthecarman
- harding
- jonatack
- rgrant
- copumpkin (in DM)
- Emcy
- jeremyrubin

There were also several folks, anonymously, who said essentially that they
don't want to commit to a flip but if it works it works and they'd roll
with it.

As noted, if you want to +1 on to coinflip before it settles, feel free to
do in response here or IRC. It's also fine to just abide by it after the
fact as well.


Personal comment on coin flip: A coinflip seems like an odd choice for a
technical decision. But let me excerpt some quotes from the meeting.

[4/6/21 12:26] <jeremyrubin> We are super lucky that both achow101 and aj
are such competent developers that we have not one but two fantastic PRs to
look at
[4/6/21 12:26] <jeremyrubin> At the same time, we have two PRs to look at
[4/6/21 12:28] <jeremyrubin> In this section I'd like to remind people to
check dug-in opinions at the door, what matters here is if we can agree on
a plan of action and get the bulk of everyone on the same page. That said,
there are nuanced technical points to examine that favour either approach
[4/6/21 12:28] <jeremyrubin> I think the differences between MTP and height
are less important than working towards a single PR to review

[4/6/21 13:09] <harding> I think both MTP and heights are fine for mainnet,
so one of them having an advantage for test networks seems worth

[4/6/21 13:09] <rgrant> This topic seems to be winding down.  I'm hearing:
that signet configuration isn't a dealbreaker but there is technical debt
incurred if we ignore it; MTP-based activation (read: celebration parties)
can be known weeks in advance if parameters are chosen well; and that code
reviews matter.  Coinflip seems to be winning.

[4/6/21 13:45] <jeremyrubin> people selecting coinflip because they think
the interest in timeline outweighs any individual perceived technical
[4/6/21 13:45] <jeremyrubin> it's not a don't care, it's a recognition
there are two decent proposals with different tradeoffs
[4/6/21 13:45] <jeremyrubin> and a desire to break stalemate on it mutually
and voluntarily

[4/6/21 13:49] <copumpkin> IMO coinflip is more of an acknowledgment that
the two CRs differ largely in shed color and that we all want the shed, and
don't care as much about its color
[4/6/21 13:49] <BlueMatt> what copumpkin said
[4/6/21 13:50] <copumpkin> (not to minimize the differences between them,
but gotta keep the big picture in mind and not die on hills that don't need
dead people on them)

We have two good options, and coinflip is people agreeing to put aside
minute preferences on two acceptable options for the big picture. As such,
I think that a coinflip is appropriately used in this circumstance,
although I recognize the sentiment that some may feel it's treating
development a little too *flippantly*.

Rough consensus and running code.



@JeremyRubin <https://twitter.com/JeremyRubin>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210406/2fc04b53/attachment-0001.html>

More information about the bitcoin-dev mailing list