19:00:10 #startmeeting 19:00:10 Meeting started Thu Feb 1 19:00:10 2018 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:10 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:00:25 hi 19:00:32 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator 19:00:34 hi 19:00:35 hi 19:00:39 hi 19:00:52 ack 19:00:58 hey folks 19:01:04 hi 19:01:08 hi 19:01:14 0.16! 19:01:19 \o/ 19:01:23 so with regard for 0.16.0 status, there already have been some issues that came up with rc1, so I think it makes sense to skip uploading binaries for that and go to rc2 soon 19:01:30 ack 19:01:31 what issues? 19:01:32 agreed 19:01:48 achow101: see backlog for the last ~3hrs 19:02:01 https://github.com/bitcoin/bitcoin/milestone/30 19:02:18 the serious issue is https://github.com/bitcoin/bitcoin/issues/12323 19:02:46 ok 19:03:24 there's another issue with onetry connections being re-tried forever, resulting in potential DoS on DNS seeds in the case they temporarily fail 19:03:34 cfields is working on a patch for that 19:03:42 oh right, thursday 19:03:59 https://github.com/bitcoin/bitcoin/pull/12327 fixes a more minor issue with coin control and the change type setting 19:04:05 in the gui 19:04:20 by the way, is it a policy that a DNS seed also runs a node (same ip) for the oneshot? 19:04:34 jonasschnelli: no, that's not necessary 19:04:48 jonasschnelli: it looks up the DNS seed which will return a (the first?) node 19:04:51 wumpus: okay. My seeders will refuse connections to 8333 19:05:02 wumpus: okay. 19:05:34 jonasschnelli: that is not the IP of the DNS server. I was confused about that too at some point in the past. 19:05:50 I think also has something do to with tor mode 19:05:54 Using A records is what makes it confusing 19:05:54 yea, it's just some random peer 19:06:18 jonasschnelli: yes, you'd have to include your own ip in the dnsseed to (maybe) get the oneshot to be you, but that would be bad, and a violation of dnsseed policy (IIRC) 19:06:32 BlueMatt: sure. 19:06:41 yes, in tor mode no resolving is used to get multiple results (that'd require some SOCKS5 extension being used), so it uses a one shot to a random node as replacement 19:06:53 But in tor only mode, don't we do a oneshot to the seeds? 19:06:58 no 19:06:58 BlueMatt: and an effective way to DDOS yourself 19:07:12 wumpus: okay. Thanks... never looked that up properly 19:07:30 it never looks up the IP of the DNS server at all, that's all happening below the libc abstraction 19:07:49 any topics? 19:10:03 Everyone already back at work it seems 19:10:04 ok.. seems not... well please review anything under the 0.16.0 milestone, and anything added in the next day too 19:10:09 if we don't have more pressing things to discuss, i'd like to solicit feedback on #11739 (backdating p2sh /segwit v0 script rules) to genesis 19:10:12 https://github.com/bitcoin/bitcoin/issues/11739 | Enforce SCRIPT_VERIFY_P2SH and SCRIPT_VERIFY_WITNESS from genesis by sdaftuar · Pull Request #11739 · bitcoin/bitcoin · GitHub 19:10:14 then we'll tag rc2 after that 19:10:42 and try to find the next round of bugs :) 19:10:50 [13bitcoin] 15theuni opened pull request #12329: net: don't retry failed oneshot connections forever (06master...06no-infinite-oneshot) 02https://github.com/bitcoin/bitcoin/pull/12329 19:10:51 sdaftuar: okay 19:11:03 mostly i want to know if there are any concept NACKs 19:11:14 #topic enforce SCRIPT_VERIFY_P2SH and SCRIPT_VERIFY_WITNESS from genesis (sdaftuar) 19:12:17 and i guess the other question is confirming whether/how such a change should be documented 19:12:19 +0 19:12:40 sdaftuar: going forward, you mean? or this one? 19:12:44 both? 19:12:48 i drafted a BIP for this one 19:13:05 well going forward, i think we could specify this intention as part of a soft-fork bip? 19:13:06 no NACK from me, if the code can be simplified that way then it's great 19:13:29 +1 19:13:34 it doesn't change the rules enforced for current blocks, does it? 19:13:38 how is it a softfork? 19:13:42 no effect on current blocks 19:13:56 if it's a softfork I am misunderstanding 19:14:04 its a soft spoon - only prevents a 6-month reorg from removing segwit :p 19:14:06 it restricts the rules on older blocks 19:14:07 it's a softfork under a technical definition 19:14:10 not a fork 19:14:18 of making valid things now invalid 19:14:21 sorry, my fault. 19:14:29 +1 as well.. but i do have concerns about how we could do this on a going forward basis 19:14:30 oh, right 19:14:38 Or just Buried Deployment? 19:14:39 but it makes no difference bencause the old blocks all qualify 19:14:41 the question comes down to, are we limiting soft/hardfork definitions to only ones that affect future blocks? 19:14:43 it seems like if this is always our intention, then as soon as we announce a future soft fork 19:14:53 some jack ass is going to mine violations just to make us annoyed 19:15:00 luke-jr: yes, we should start calling buried deployments spoons 19:15:02 or do we consider this an implementation detail? 19:15:13 morcos: true 19:15:17 morcos: i think it's not really worth worrying about that 19:15:21 I see this as an implementation detail to validation 19:15:32 there's no need to cause a lot of rufus about it 19:15:42 if you call it softfork you'll have the miners in arms, and whatnot 19:15:43 luke-jr: well if there's an absolutely massive reorg, it's not just an implementation detail, no? 19:15:48 well it addresses cfields point about having the original BIP specify the intention. i think we should always only consider backdating after the fact 19:16:03 morcos: oh i see your point 19:16:07 because then it also needs to be signaled some way, I guess 19:16:10 cfields: if there's an absolutely massive reorg, it's unclear what the outcome will be period 19:16:24 cfields: for example, Knots has a checkpoint on a Segwit block 19:16:30 well isn't the intention here to clarify that outcome? 19:16:32 if there's a 6 month reorg there will be debate as to whether to follow it...whether we follow it or not ends up being a community question anyway :p 19:16:35 if there's a reorg that big that all segwit blocks are reorged out, well... 19:16:53 i think in this case, it's clear that segwit transactors do not intend for their funds to be spendable on a segwit-inactive chain 19:17:00 yes, I'm sure there will be discussion enough in that case 19:17:14 so backdating the segwit rules matches consensus, in that sense 19:17:15 so, definitely not a fork 19:17:22 right 19:18:10 in which case, I don't see that we need a BIP for it. I suggest we make a new repo for Core-specific documentation like this. 19:18:26 morcos: i half agree about after-the-fact. Not mentioning backdating with the intention of doing so anyway is a bit... iffy 19:18:31 BIPs are for cross-software standards, which doesn't really include implementation details 19:18:34 seems fine to me, I also appreciate gmaxwell's partially-joking suggestion of calling it a spoon 19:18:48 hehe 19:18:51 (actually, we have a repo for gitian docs already, right?) 19:18:51 i personally think that it's helpful to put it in a BIP, because it affects the implementation of existing BIPs 19:18:52 and then doing a bip and just saying "Soft Spoon" 19:19:05 but i don't feel strongly 19:19:19 i mean we use BIPs for things that are core-specific anyway, like getblocktemplate 19:19:23 but in the end it doesn't matter whether people implement this BIP 19:19:27 because it's an implementation detail 19:19:27 BlueMatt: GBT isn't Core-specific 19:19:29 wumpus: agreed 19:19:32 it's an informational BIP 19:19:37 luke-jr: there are several post-mortem BIPs 19:19:38 BlueMatt: well that's an interface! interfaces need documentation 19:19:42 hi. 19:20:29 maybe we can put it in an annex for the BIPs it affects or something? just seems like it will get old to have two BIPs for every fork 19:20:37 if a softspoon drops at 300000 blocks deep and no one hears it, did it happen at all? 19:20:44 one for the deployment and implementation, and another for the reinterpretation of the deployment 19:20:54 luke-jr: that seems reasonable to me as well, if the BIP authors agree? 19:22:08 luke-jr: agree 19:22:25 none of the authors appear to be here now, but I doubt they'd object 19:22:34 at least for Segwit 19:23:32 And the winner of the git bisect game is.... 19:23:37 bluematt! https://github.com/bitcoin/bitcoin/commit/62e764219b25f5d5a4de855e53f62c43130ec918 19:23:57 we already decided it was cfields' fault 19:24:07 i knew it was both of you 19:24:08 * BlueMatt is gonna keep repeating that until someone buys it 19:24:10 :) 19:24:21 * BlueMatt *definitely* didnt also review and ack the bug-introducing pr...... 19:24:23 heh it was me for sure 19:24:41 the busted part of 62e7642 was even my suggestion! 19:25:10 it's everyone's fault for not finding the fault in review! :) 19:25:17 +1 19:25:32 well, sorry everyone. I'm glad it didn't make it into a release. 19:25:52 I'm glad someone noticed it before a release XD 19:25:54 the rc process, it works 19:26:15 yea, the surge of reports in the last ~day is actually really nice to see 19:26:19 Bad linux skills on my part (causing the seed not to restart): it works 19:26:38 good thing it was down or we never would have found this before release! 19:26:44 (which is very disturbing) 19:26:54 we do need tests for the DNS seed code 19:27:02 clearly 19:27:04 +1 for tests there 19:27:15 agreed. I'll add some. 19:27:20 lol, maybe keep your dnsseed down until after rc cycle? :P 19:27:57 any other topics? 19:28:07 or we could just add a dummy seednode to test.com or something :p 19:30:03 testing that code is not entirely trivial as-is as you somehow need to redirect DNS resolving 19:30:22 if no other topics, I'm closing the meeting early 19:30:43 #endmeeting