19:00:20 #startmeeting 19:00:20 Meeting started Thu Jul 23 19:00:20 2020 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:20 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:01:22 hi 19:01:28 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob ken281221 ryanofsky gleb moneyball kvaciral ariard digi_james 19:01:29 amiti fjahr jeremyrubin lightlike emilengler jonatack hebasto jb55 elichai2 19:01:37 hi 19:01:40 hi 19:01:52 Hi 19:01:54 hi 19:01:58 hi 19:02:04 hi 19:02:10 hi 19:02:12 hi 19:02:20 hi 19:02:36 hi 19:02:42 hi 19:02:46 hi 19:02:53 one proposed meeting topic for this week: taproot in 0.20 (somethingsomethi) 19:02:54 hi 19:03:15 hi 19:03:25 any last-minute topics? 19:03:30 given that 0.20 is already released, this seems hard 19:03:42 hi 19:03:42 sipa: 0.20.2 19:03:48 8:34 PM #proposedmeetingtopic: tag rc1 19:03:50 0.20.0 (and 0.20.1) have been almost released 19:04:16 yes 19:04:23 let me explain 19:04:34 This is something that came up in the taproot-activation channel: When could we actually start an activation cycle? 19:04:40 meshcollider: that's already done, nothing to discuss about that in the meeting I think? 19:04:44 somethingsomethi: usually we wait till the actual topic is switched to 19:04:49 ok 19:04:58 hi 19:05:02 wumpus: Yeah I'm confused too haha dw 19:05:02 wumpus: he meant release not tag 19:05:10 Isn't it already released? 19:05:11 aj: that's also been done 19:05:20 not at the time he posted that 19:05:31 3:58 AM rc1 binaries up https://bitcoincore.org/bin/bitcoin-core-0.20.1/test.rc1/ 19:05:37 \o/ 19:05:39 ya 19:05:50 #topic High priority for review 19:05:53 Easy topic then ;) 19:06:06 hi 19:06:09 achow101 wanted #19335 on HP 19:06:11 https://github.com/bitcoin/bitcoin/issues/19335 | wallet: Cleanup and separate BerkeleyDatabase and BerkeleyBatch by achow101 · Pull Request #19335 · bitcoin/bitcoin · GitHub 19:06:19 https://github.com/bitcoin/bitcoin/projects/8 11 blockers, 1 bugfix, 3 chasing concept ACK 19:06:26 hi 19:07:18 I'll add #19478 as a blocker for me (I don't have any currently slotted) 19:07:21 https://github.com/bitcoin/bitcoin/issues/19478 | Remove CTxMempool::mapLinks data structure member by JeremyRubin · Pull Request #19478 · bitcoin/bitcoin · GitHub 19:07:40 meshcollider:added 19:08:25 jeremyrubin: well if it is a blocker for you it should be added as blocker, if not not, it's not like everyone needs to have a blocker slotted every week :) 19:09:10 I'd like to make some progress on #19398. The first PR in that sequence is #19472 so perhaps that could be added to high priority? 19:09:11 https://github.com/bitcoin/bitcoin/issues/19398 | Move remaining application layer data to net processing · Issue #19398 · bitcoin/bitcoin · GitHub 19:09:16 https://github.com/bitcoin/bitcoin/issues/19472 | [net processing] Reduce cs_main scope in MaybeDiscourageAndDisconnect() by jnewbery · Pull Request #19472 · bitcoin/bitcoin · GitHub 19:09:22 There's like 70 commits worth of other work that is queued up pending on progress on similar stuff for like the last 6-9 months 19:09:53 jeremyrubin: ok, so it's a blocker; no other justification needed :) 19:10:25 Those could be all parallelized I guess, but I don't want to overwhelm review 19:11:19 jeremyrubin: jnewbery added 19:11:46 wumpus: dank 19:11:50 tx 19:12:57 #topic taproot in 0.20 (somethingsomethi) 19:13:28 Like I said, this came up in the taproot-activation channel: When could we really start an activation cycle? 19:13:43 Going by the segwit playbook, the activation params would be released in 0.21.1, which is probably about 8 months from now, so some people were wondering if this could be shortened 19:13:56 welcome btw somethingsomethi I don't remember seeing you in a meeting before 19:14:11 yeah, made this account just two hours ago :-) 19:14:28 I'm really more trying to pass messages between irc channels 19:14:41 I was expecting a 0.20.2 with it, but apparently there's a dependency on wtxid relay? 19:15:36 I think the question of whether to backport it to 0.20.x is completely independent of shortening anything 19:15:51 I think there's sort of a tradeoff; how incompatible is master with 0.20 right now v.s. how incompatible will 0.21 be with 0.20? 19:15:51 for the purposes of the taproot-activation channel, it would be interesting to know how much time there is before anything starts 19:16:02 wumpus: well, if it didn't have the wtxid dependency, we could release 0.20.2 in a few weeks with it… 19:16:05 I think the expectation is to backport it to that branch when it's ready 19:16:22 (assuming the usual requirements get met quickly) 19:16:33 wumpus, that meaning 0.20(handwaving away deps) 19:16:35 ? 19:16:43 wumpus: or maybe backport it to the current major release/last major release when it's ready 19:16:45 or whatever branch is ready by then 19:16:54 jeremyrubin: yes 19:17:01 +1, here's to hoping that does mean 0.20 tho 19:17:18 in any case it shouldn't end up in a .0 first 19:17:38 i think it's very reasonable that the consensus logic for it goes into a .0 19:17:48 activation I presume he meant 19:17:48 and then activation goes into a .1 19:17:50 I suppose another option would be to just start the 0.21.0 release process after 0.20.1 gets finalised, so that 0.21.1 could be sooner 19:18:01 I mean the actual activation 19:18:01 the real question here is when the consensus logic can be in a release, as that's a lower bound 19:18:15 of course ,preparations can go in sooner 19:18:38 I'm somewhat of the opinion that if a release cycle schedule is holding up when we think a consensus thing gets put out then it makes sense to shift around the release windows, so i agree with luke-jr 19:18:55 but is this really a problem right now? 19:19:08 mac recently released an OS with two version numbers btw so that, e.g., 20.2 is identical to 21.1 19:19:28 if there is an expectation to backport the consensus logic to a 0.20 branch, we could take some care to avoid having too many preparation changes in master first 19:19:31 wumpus: in the ##taproot-activation discussion, yes 19:19:38 I'd prefer not to shift along major version schedules too much 19:19:40 wumpus: I think generally there's a sense that we should have at least a 1 year timeout, and waiting a year before even starting that annoys people :p 19:20:28 i wasn't expecting taproot in a 0.20 branch- but i also sympethize with the argument that consensus changes, when reviewed and agreed upon, shouldn't be too strongly affected by bitcoin core's release schedule 19:20:56 in any case, the release schedule for 0.21 is in #18947, is this a problem? do you think it should be moved backward or forward? 19:20:57 https://github.com/bitcoin/bitcoin/issues/18947 | Release schedule for 0.21.0 · Issue #18947 · bitcoin/bitcoin · GitHub 19:21:19 I think also that if 0.21 has a bunch of other changes, then people may not upgrade out of major upgrade conservatism 19:21:31 wumpus: if we're not backporting to 0.20, the sooner 0.21.0 is released the better IMO 19:21:39 So we might be further lengthening adoption until, e.g., 0.22 major 19:22:26 what is the major difference between 0.20 and the curent master branch that you think warrants an early 0.21 release? 19:22:43 wumpus: my thought is, as soon as 0.20.1 is released and Taproot logic merged, move the 2020-10-01 date to the next day 19:22:59 wumpus: generally I think most end users are woefully confused about what our version number system means. 19:23:02 wumpus: this would be if wtxid relay + Taproot is seen as too big to backport 19:23:13 we've never based releases on features 19:23:33 except segwit wallet release :-) 19:23:34 didn't we do it for segwit(and wumpus got upset :) ) 19:23:37 luke-jr: the goal is having wtxid _deployed on the network_ before a new segwit softfork 19:23:40 every 6 months a new major version is released, minor versions are released for bugfixes and softforks 19:23:41 that's it 19:23:53 sipa: yes, that'd be why releasing 0.21.0 ASAP? 19:24:02 that seems reckles 19:24:22 sipa: how? 19:24:22 sipa: i was thinking we should consider not relaying txs with taproot inputs except to wtxid peers 19:24:30 I don't see the need for hurry here to be honest 19:24:36 sipa: I don't mean bypassing the release process, just starting it sooner. 19:24:48 luke-jr: sure, but why? 19:25:00 wumpus: +1 19:25:04 I don't think 'users want this sooner' is a good reason, quality before everything 19:25:19 doesn't prove anything but I did two twitter polls https://twitter.com/JeremyRubin/status/1283873417301639169 and https://twitter.com/JeremyRubin/status/1283879638435950594 which shows people don't really understand versioning fwiw 19:25:26 wumpus: the release schedule isn't a matter of quality, though, is it? 19:25:46 luke-jr: agree, but it's a matter of development cadence 19:25:55 I'm fairly sure a predictable schedule helps there 19:26:12 if people on twitter don't understand the release schedule, explain it to them 19:26:45 i tried and they told me that I'm trying to attack bitcoin :p 19:26:50 I suppose I could put it in Knots.. 19:26:58 sigh 19:26:59 so 0.21.1 around feb it is then? 19:27:02 was planning to wait in case the protocol has any further changes though 19:27:07 that sounds like just riling up things 19:27:17 wumpus: ? 19:27:22 if there is a strong desire to have taproot earlier in a bitcoin core release, i think we should prefer backporting to 0.20 over accelerating 0.21 19:27:30 "that I"m trying to attack bitcoin" I mean 19:27:32 ah 19:27:35 sipa, ok that's fair enough 19:27:37 (whether that desire exists, i have no opinion about) 19:27:44 there's lots of trolls on twitter we know that 19:27:44 sipa: so two backports? 19:27:56 sipa: one with wtxid relay, then the next with Taproot? 19:28:22 luke-jr: i don't have a good answer here -i feel that wtxid deployment will take way longer than people here seem to tolerate for taproot 19:28:31 regardless of what releases it goes into 19:28:42 as it takes sometimes ~years to get new releases deployed... 19:28:45 it also matches roconnor's complaints 19:28:57 well, at least then we can tell people "not enough wtxid relay users yet" if they whine about the delay? :p 19:28:59 people should care much more about wtxid relay than taproot in some respects 19:29:16 wtxid doesn't really hurt until there are major relay policy changes 19:29:21 s/hurt/help/ 19:29:33 this is the first time I hear about wtxid relay being a problem for taproot 19:29:43 if I knew this sooner I would not have merged it 19:29:48 we talked about it like 2 or 3 meeting away 19:29:50 wumpus: the lack of it is the problem.. 19:29:55 when moneyball brought taproot topic 19:30:12 we can still revert that PR I suppose though it sounds like a mess 19:30:19 wumpus: the opposite; wtxid is arguably required to be deployed on the network, before we can make major relay policy changes 19:30:25 (such as taproot would imply) 19:30:32 ok 19:30:38 sdaftuar: is wtxid relay protocol stable? should we update the BIP to Proposed status? 19:30:42 or any script extension on top of segwit 19:30:59 luke-jr: it has been merged yesterday, sipa has some follow-ups needed 19:31:18 the follow-ups don't change the (specified part of) protocol 19:31:25 so at least merging it is progress right? 19:31:31 yes, definitely 19:31:43 I think the problem is that people are proposing a 4 year rollout timeline for the soft fork, to be conservative. If we're not releasing any clients for that until february it's like 5 years. I think we're inviting controversy if we do that. 19:32:11 any guesstimate on how long the gap between wtxid and taproot would have to be? 19:32:12 jeremyrubin: ? 19:32:19 february? 19:32:32 jeremyrubin: I don't see the community tolerating 4 years 19:32:33 *wtxid and taproot rollout 19:32:36 "proposed 0.21.1 release" 19:32:44 somethingsomethi: depends on how long it takes nodes to upgrade 19:33:07 luke-jr that's why I wrote guesstimate :-) 19:33:09 I don't see it being tolerated either, but I think that's what a decent number of people are expecting and proposing. 19:33:43 By being slow we end up inviting a big kerfuffle UASF thing again. 19:33:50 I really dislike this discussion about tolerating, things are ready when they're ready 19:34:03 it sounds like you're trying to pressure us and I really dislike this 19:34:29 You can build most of applications improved by schorr/taproot today (in hacky way though) 19:34:35 you can draw a line between what I'm expressing and what I'm relaying 19:34:36 It's not so much about pressure, if everyone agrees it's at least a year out, then at least we can plan accordingly 19:34:37 like ecdsa scriptless scripts 19:34:46 ariard, i.e., probably not at all :) 19:35:00 sorry if it's coming across as *me* pressuring 19:35:11 I agree with the "release when it's ready" mentality 19:35:22 if you want to push this I'm going to quit as maintainer 19:36:13 I feel enough responsibility for this to not like if things like this get rushed 19:36:38 fwiw, i don't think there is much in master today that interacts with taproot, that would be hard to backport 19:37:08 i think the bigger question may be wtxid relay 19:37:35 instagibbs: I disagree a bit, some people instead of complaining are building on ecdsa while envisioning to upgrade to schnorr 19:37:40 I guess I can look into backporting that 19:37:41 for their use-case, when ready 19:37:48 sipa: updating secp in a backport would be large, but self-contained, so preumably fine? 19:37:49 sipa: I think we can reasonably release taproot without wtxid relay, no? Taproot blocksonly validation, don't accept things to mempool? 19:37:50 fantastic ariard 19:37:55 FWIW I like taproot but this is not some shitcoin where we rush features in to boost the price or something like that 19:38:29 jeremyrubin: ugh... 19:38:33 jeremryrubin: hmmm wouldn't this break compactblock? 19:38:48 aj: yes 19:38:56 ariard: no? 19:39:05 sipa, ok so you said it takes time for wtxid relay to propagate, how much time? Is this a hard blocker from even setting a signaling window? 19:39:22 sipa: I mean, whatever is less software work to get it so that clients can take a backport... 19:39:44 instagibbs: IMO we shouldn't set a signaling window until at the very least Taproot is merged into master.. 19:39:45 luke-jr: I mean loosing the propagation benefits of validating transaction before seeing them in a block? 19:39:54 luke-jr, right I assumed that 19:40:06 I'm asking *bare* minimum 19:40:17 obviously things take time on top 19:40:25 ariard: sure, but that's true even without Taproot logic 19:40:29 ariard: the idea would be that wtxid can't be backported, so it's in 0.21. 0.20 gets degraded compactblock performance 19:41:00 luke-jr: good point, all old clients get degraded compactblock 19:41:44 instagibbs: i need to think about that 19:41:56 it would be interesting to split policy acceptance of Taproot, from Taproot consensus deployment 19:42:07 sipa, roger 19:42:08 jeremyrubin: that sounds interesting to me. sipa: why "Ugh" to that? 19:42:09 that sounds a bit awful for network robustness, you will favor connections to upgraded nodes 19:42:36 ariard: there is no uniform network policy anyway, nor is the network dependent on that 19:42:56 well, the network won't actually have any taproot-spending transactions until activation, so i think anything before activation doesn't matter 19:43:34 instagibbs: an interesting corollary of your point is it may be good to try to backport wtxid relay even earlier (e.g., 0.19 if possible) to boost those #'s 19:43:47 that might be too difficult/dangerous 19:43:52 (I dont know) 19:44:32 well, if we split Taproot consensus vs policy… we only need wtxid relay for policy, right? 19:44:39 luke-jr: I was thinking consequences on peer eviction/selection, if you degrade performances of a whole subset of them 19:44:40 there's been a punch of p2p changes since 0.20 that will probably make backporting wtxid relay a bit hard at this point (not very hard if you just rewrite it; pretty annoying if you try cherry-picking/rebasing) 19:44:42 so that can proceed in parallel to the consensus/activation 19:46:21 luke-jr: i don't see how that is related to splitting anything 19:46:27 if activation happens ~a year from now, having only consensus logic in 0.20, and wtxid relay + Taproot policy only with 0.21+ seems fine? 19:46:31 relay of those relevant transactions won't happen until activation 19:47:20 sipa: right, which is why we don't need to sort relay issues until closer to activation 19:47:28 yes, i agree with that 19:48:08 we could start the Taproot activation process, and even in the worst case scenario (too few updated to 0.21) have it activate without changing the node policy 19:48:18 mmmm 19:48:31 wumpus: do we have any other topics? 19:48:54 i feel the part of the discussion relevant to bitcoin core's release process is over 19:49:35 no, that was all 19:49:37 #endmeeting