19:01:09 #startmeeting 19:01:09 Meeting started Thu Jan 28 19:01:09 2016 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:09 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:01:26 hi 19:01:43 #topic refactoring window 19:02:06 I just want to have a clearer idea of when those are 19:02:27 I'm fine with starting moveonly stuff at least - I've already merged #7348 19:02:32 and what it means when we're on a "refactoring window" 19:02:55 we're nearing the 0.12 release, and there's not that much urgent to be merged otherwise 19:03:10 note that there is significant segwit work that is affected by this, OTOH, it may not be affected in a way that matters 19:03:29 Hello, sometimes I get a time out on rpc calls to bitcoind. I am using 0.11.2. I have a big wallet file(big keypool). The slowdown occurrs upon all commands(example wallet decryption too) not just sending out funds. 19:03:44 not sure about that petertodd, but they're based on 0.12 AFAIK 19:03:46 what_now: we're in the middle of a dev meeting; best if you ask again in an hour 19:03:49 what_now: please use #bitcoin-core-dev (meeting in this channel) 19:03:58 jtimon: can you prioritise refactors gthat dont conflict segwit? 19:04:21 wumpus: yeah, being based on v0.12 is part of what helps here 19:04:23 so it doesn't affect segwit immedaitely, although at some point it needs to be forward-ported over the moves 19:04:34 Ok thanks 19:04:47 (which for pure move-only isn't too much effort, at least) 19:04:55 wumpus: I'm assuming we're most likely to release segwit first as a 0.12.x? 19:05:09 petertodd: I suppose so 19:05:21 0.13 will be june-july 19:05:22 petertodd: ofc, 0.13 isnt scheduled for months yet 19:05:24 It previously occured to me that having refactor windows at the beginning of a version cycle may interfear with the constant backporting we do then. 19:05:39 but it should be merged to master first 19:05:40 petertodd: my longest consensus refactoring branch is based on last-0.11.99 3cd836c 19:06:02 gmaxwell: it does, but 0.12.0 final is near, I don't expect much more backporting to be needed now 19:07:17 we'll do a rc3 next week and if really necessary a rc4 the week after that and then that's that 19:07:44 Luke-Jr: if we don't want to backport refactors with segwit and we want to wait for segwit, then the 0.13 refactor window may be missed again for really simple things like #7310, which I assume you consider conflicting with segwit 19:08:53 gmaxwell: yeah, that's what I've been saying since the first time we talked about this windows, I think they are far best at the end of the release cycle, before forking the next version to release from master 19:09:08 jtimon: I was thinking more like closing refactors a week after segwsit 19:09:17 I guess the thing to admit is that there is no good time for refactors, and that we'll just have to deal with their costs. 19:09:40 jtimon: thats a point. 19:09:43 yes, otherwise you keep postponing 19:09:58 if we had done it before forking 0.12...I really think that's the best time (doesn't mean that it won't have costs) 19:10:06 as said above, I'd say now is a pretty good time, but if people prefer postponing I won't complain, it's always a bad time 19:10:25 no, before forking 0.12 it was *really* busy 19:10:35 all kinds of stuff that needs to b e merged as soon as possible 19:10:56 at least it came to rest a bit now 19:12:25 yeah, a lot of PRs are mergeable now without needing rebased. 19:12:39 imo do non-SW-conlicts first and if we end up conflicting anyway so be it 19:12:40 but there's nothing that needs to be merged urgently 19:13:25 Luke-Jr: better yet, what about not bip68-112-conflicting, not versionbits conflicting and non-segwit conflicting ? 19:13:33 I do think it's time to start thinking about merging #7184 and #6564 after they get a few more ACKs 19:13:42 in contrast to before a release deadline, when there's pressure to get things in 19:13:46 19:13:47 I'd vote for getting it over with now, as jtimon's been rather patient :) 19:14:00 (for dev branch) 19:15:17 ok, next topic? 19:15:23 Everyone complains that the blocksize is not discussed in these meetings. So maybe it can be discussed for once? 19:15:32 Tasoshi: no 19:15:37 why not? 19:15:47 has a decision been made on it? 19:16:03 Tasoshi: this is not the place 19:16:14 Tasoshi: this is a technical meeting to discuss relatively short-term dev work 19:16:23 Tasoshi: these meetings are for our day-to-day work. We need a place for that, even if it's not sexy topics. Please respect that. 19:16:28 maaku of course it is, it is a technical meeting, so lets discuss a technical topic, the blocksize question 19:16:31 yes, we'll not do a blocksize hardfork for now 19:16:52 so the decision is to not maxbloklimit_increase? 19:16:53 wumpus: +1. Next topic? 19:17:06 until when? 19:17:13 Tasoshi: Core has a published capacity roadmap, feel free to comment about that on the list. 19:17:21 this isn't the core chan 19:17:26 this is general bitcoin development 19:17:35 Tasoshi: this is a bitcoin core meeting 19:17:47 maybe core should have it's meetings in the core chan? 19:17:50 Tasoshi: stop interfering 19:17:56 I thought this was a general bitcoin dev meeting 19:18:00 wumpus: it is genereal bitcoin meeting.. 19:18:11 actually he has a point, maybe these meetings should happen in #bitcoin-core-dev 19:18:11 Tasoshi: please you're disrupting the meeting. 19:18:22 but yeah, not the time 19:18:24 Tasoshi: still nlo decisions are made in meetings 19:18:30 jtimon: seems reasonable if this keeps coming up, but that's for next meeting 19:18:33 no* 19:19:10 getrawtransaction works as long as a pruning is not enabled and at least 1 spendable output is still available right? 19:19:29 Tasoshi: email the ML to schedule a new meeting another day, maybe? 19:19:43 we can move the meeting to #bitcoin-core-dev, sure 19:19:46 or maybe you guys can actually discuss it 19:19:48 but whatever 19:19:54 the users are about to vote 19:19:57 anyway, so the refactor window is from now to when? and what does it mean that there's a refactor window? 19:19:58 NEXT TOPIC 19:20:00 you can bury your heads all you want 19:20:02 Topic suggestion: Any outstanding issues for 0.12RC? 19:20:34 #topic outstanding issues for 0.12.0 19:20:55 not declaring removal of priority 19:20:56 uhmm, it was brought to my attention that we may need to sign the win32 release with a new key for win7+ 19:21:16 expired? 19:21:23 so, ignoring the fact that we need a new key in general, we can upgrade ours to work for this release 19:21:34 it needs to use sha256 19:21:36 i believe it doesn't take long. I'll be starting that process today 19:21:41 right, current is sha1 19:21:45 ^^ 19:21:49 ouch 19:22:10 i'll get an eta on that asap so we'll know if it's worth holding up rc3 19:22:18 #action cfields: new key for win release signing 19:22:24 Topic suggestion: creating a roadmap for aspiring devs to catch up with code? 19:22:33 cfields: do we have an idea of how many windows users test rc's btw? 19:22:36 otherwise jonasschnelli could sign, he has a key iirc 19:22:52 btcdrak: only OSX 19:23:18 what_now: I'd suggest posting that to the dev list; also, first look at bitcoin.org's documentation efforts 19:23:20 petertodd: I test them.. have serval win VMs here. Although only "smoke" tests. 19:23:24 btcdrak: not nice to change keys during the release cycle. I believe this keeps the current chain intact 19:23:37 cfields: agree 19:23:39 what_now: not really a meeting topic, better to ask that outside the meeting 19:23:46 Thank you petter see you in 2 years :( 19:23:56 petertodd: same as jonasschnelli above. I verify that they start up and are infact the correct tagged release 19:23:59 Roger, gonna shut up now 19:24:08 jonasschnelli: cool - I was thinking that if we're not getting many windows testers, that suggests we shouldn't hold back the rc releases because of a windows-specific issue. 19:24:27 well we need some key for signing, it doesn't matter too much which one 19:24:47 I can offer to sign the OSX binaries in future (maybe from 0.13) 19:25:38 makes sense to me, since you're the most active on osx these days 19:25:38 cool jonasschnelli 19:26:30 ok, that concludes the topic I think, we don't know how long it will take to get a new key, if it takes too long someone else can sign this time 19:27:34 I mean concludes the signing topic, not the "outstanding issues" topic 19:28:27 it seems there is still some controversy re: priority, or at least how the changes should be noted in the release notes 19:28:42 e.g. https://github.com/bitcoin/bitcoin/pull/7346 19:28:50 +1 for keep it as it is 19:29:02 I realized tht we never did anything about the issue I raised with localhost being banning whitelisted + autoonion support; do we care? 19:29:31 Luke-Jr: is there anything we can do to make it easier for LJR to support priority if Core doesn't? 19:29:39 jonasschnelli: I'd say so too - though it makes sense to mention the plans to remove priority in the release notes 19:30:04 Luke-Jr: or i should say, Bitcoin :) 19:30:08 Okay. I follow the majority. 19:30:23 gmaxwell: link? 19:30:42 gmaxwell: of course we do 19:30:56 petertodd: I think that's a good question 19:31:26 I guess there is no reported issue. 19:31:30 The plan should have been announced even earlier. Even the change in the default priority settings. 19:31:35 there is a blinking _pr_ 19:31:36 I mean some people are bound to want to keep some semblance of priority support, but supporting it in the current mempool framework is hard/inefficient 19:31:39 * jtimon remembers asking a similar question to Luke-Jr some time ago... 19:31:50 I'll go rebase it and cut it down. 19:31:58 What we can do now is to announce the removal of prio code - special section in release notes, probably? 19:32:18 paveljanik: yes , we should certainly announce it somewher 19:32:23 Okay. I'm happy to work on the banning whitelisted + autoonion support issue (start end of feb.). 19:32:34 if only to get an idea what people outside direct dev circles think about it 19:32:50 the original PR got hung up because of the locking mess around nodestats. 19:32:59 I'm happing to work on it too, but after 0.12.0 release 19:33:02 happy* 19:33:10 (it's PR 7082) but I can make the change more minimal. 19:33:16 Yes. I guess after some changes there i'm familiar with the locking concept in CNode CNodeStat 19:33:47 it's not something I have enough confidence in to get correct for a last minute fixup 19:34:08 Wasn't aware of that PR (7082). Will test / rebase and or extend. 19:34:09 wumpus: yes, I can just change the patch to remove the privledging of localhost only. 19:34:26 gmaxwell: yep, if we can slip in some simpler fix that'd be better 19:34:30 No. I guess its for 0.13 or 0.12.1? 19:34:36 then leave the rest for 0.13/0.12.1 19:34:46 jonasschnelli: please lt me. I just wanted confirmation that it wasn't intentionally dropped. 19:34:59 Sure. 19:35:04 yea, just the one line change should at least avoid the simple attack, I'll do that. 19:35:08 no, certainly not intentionally, it's just easy to forget about things 19:35:14 Do we need a solution for this in 0.12.0? 19:35:27 Thats why I brought it up. 19:35:40 jonasschnelli: the one line change ? 19:35:53 Please see the PR, without doing something the autoonion support makes connection exhaustion attacks much easier. 19:35:56 #action gmaxwell: "one line change" to fix #7082 in 0.12.0 19:36:02 Thanks. 19:36:04 +75 −37 in main/net seems to late for a after-rc2-change 19:36:17 ok. Agree. 19:36:58 gmaxwell: so, specifically you're worried about exhausting all incoming connections right? 19:37:38 yes, it's about incoming connections 19:38:29 petertodd: yes we have eviction to protect from that but localhost is excempted. 19:38:29 I think we should also announce somewhere that current openssl bugs do not affect Bitcoin Core... 19:38:50 good idea paveljanik 19:39:07 +1 19:39:14 #topic how does this new "critical" OpenSSL release affect us 19:39:17 btcdrak: a website blog post? 19:39:37 https://mta.openssl.org/pipermail/openssl-announce/2016-January/000061.html 19:39:42 jonasschnelli: sure. 19:39:43 #link https://mta.openssl.org/pipermail/openssl-announce/2016-January/000061.html 19:40:00 nothing that affect us in any way? 19:40:15 Does it not affect bip70 / GUI? (haven't checked) 19:40:16 also not for qt payment protocol TLS stuff? 19:41:13 I wish we had some way of measureing if that stuff was ever used, it seems barely usable (send only, gui only) to me and has been a source of multiple problems. 19:41:19 did the replacement for the wallet encription PR get merged? what other parts of core still depend on openssl apart from bip70? 19:41:30 yes, it is being used 19:42:00 jtimon: entropy, AES (wallet), bip70 19:42:19 jtimon: no, I think those all need rebase 19:42:23 jtimon: and the wallet encryption PR from cfields is not yet merged. 19:42:40 I think they're all labeled 0.13 19:42:43 thanks 19:42:44 and sipa/gmaxwells fortuna change needs also rebase. 19:43:01 (although we should pack it into a sep. library) 19:43:04 wumpus: according to that mail, 1.0.1 isn't affected 19:43:17 vetting if any particular openssl release impacts the BIP70 implementation is too much work; I'd generally be unwilling to sign off on a claim that it didn't. The amount of involved code is huge, including a bunch of code in QT. 19:43:19 (not discounting self-builders of course, just pointing that out) 19:43:36 yes, fortuna needs to be a separate lib 19:43:50 are there any plans to replace openssl for entropy? 19:44:01 I would say static builds are nice,.. but the once we need to care about are the once that self-compile. 19:44:02 jtimon: yes 19:44:29 wumpus: oh, I see, that's the fortuna thing 19:44:32 jtimon: that's what the fortuna thing would be basically 19:44:41 jtimon: https://github.com/bitcoin/bitcoin/pull/5885 19:44:44 gmaxwell: agree on that 19:45:25 gmaxwell: I don't expect that from you either - my question was more "does it affect TLS usage" 19:45:28 I would also see it as a plain C(89 or 99) library 19:46:00 jonasschnelli: fortuna? why isn't C++ ok here? 19:46:07 as openssl is basically one huge TLS library I expect the answer to that is "yes" 19:46:08 petertodd: MCU 19:46:26 jonasschnelli: oh, you mean for microprocessors? 19:46:28 jonasschnelli: there are many difficult complications in making a safe, generic RNG, first among them is fork detection; which is more or less impossible to do completely safely on linux. :( 19:46:55 gmaxwell: we only have to be better than openssl 19:47:13 I would say libsecp256k1 together with a C based fort. implementation would be a very good team. 19:47:13 (even if you do the slow thing of testing the PID on every call, a sequence of multiple forks could leave you with the same PID as a now-gone grandparent process) 19:47:14 wumpus: we still have to be better than /dev/urandom :) 19:47:21 if it's impossible to do safely on linux, then openssl doesn't do that either 19:47:41 note also that bitcoin never forks 19:47:46 Long term, i don't think entropy really matters for bitcoin core 19:47:55 (well, it does, but only to launch ancillary processes) 19:47:56 wumpus: yes but when we must be a library we need to be safe for more than bitcoin. 19:48:02 Mainly for the const time hack in libsecp 19:48:14 I don't expect people generating keys on the same machine then core runs. 19:48:15 gmaxwell: just add a disclaimer 'not fork safe' 19:48:35 I don't think it needs to satisfy any possible use case everyone can have 19:48:39 'not fork safe'? HW or SF.... 19:48:42 "<@wumpus> note also that bitcoin never forks" 19:48:44 19:48:47 lol 19:48:54 LOL btcdrak 19:48:56 wumpus: see, that's one of the reasons I'd lean towards C++ - I'm not sure we want to be in the business of making these libraries if others' will use them 19:48:58 hadn't even thought of that 19:49:03 thata going to get misunderstood by the public... 19:49:08 hehe 19:49:35 petertodd: c++11 even has fancy prngs built-in... 19:49:41 though i doubt that would go over well 19:50:31 in any case, I thin kfor seperation of concerns it needs to be a seperate lib, if it ever turns out useful for anyone else is not our problem ;) 19:50:59 in any case, these also need locking; ... regardless, I spent a fair amount of time talking to nick from tor about this, and I'm also on a mailing list of people trying to replace the RNG in openssl. I'm now pretty confident that we wouldn't be able to satisify that many people; lots of people care greatly about really high performance, which we more or less don't care about. (OpenSSL's is exception 19:51:05 ally slow, and we've seldom noticed) 19:51:16 wumpus: Sorry, I don't beleive in that "not our problem" approach. :) 19:51:17 though if jonasschnelli has applications in mind himself then it makes sense to keep those in mind 19:51:30 gmaxwell: we can't do everything for everyone 19:51:43 * jtimon resists to bring the C vs C++ for ultra-long-term future libconsensus topic 19:51:44 gmaxwell: well you are welcome to try, of course :) 19:52:16 We're going off on a tangent here in any case. 19:52:28 -wizards 19:52:36 but sure, we can stay with openssl's RNG if that's what is preferred 19:52:44 no decision needs to be made today 19:52:44 I'm not saying that. 19:52:46 next topic? 19:53:21 only ~7 minutes left 19:53:23 wumpus: I just posted some important stuff re: segwit upgrades, but I don't think it needs to be discussed here yet 19:53:32 wumpus: (posted to the -dev list) 19:53:32 wumpus let's leave openssl only for bip70, even if it's not today 19:53:53 jtimon: I agree with that in theory, but if making our own RNG is really so dangerous I don't want to risk it 19:54:47 wumpus: I'd feel happier if this was part of an effort including non-bitcoin users (e.g mailing list & tor that gmaxwell mentioned above) 19:54:52 it is a really risky endavour to implement this kind of stuff ourselves and get it completely right, many people are messed up before with hand rolled RNGs in the bitcoin space 19:54:53 wumpus: maybe not for 0.13, but I trust that we will have done it already be 0.20 :p 19:55:02 s/be/by 19:55:07 petertodd: agree 19:55:25 wumpus: please don't punish me for speaking frankly. The prior efforts to upgrade ours were derailed by a desire to make something generic. I've determined that making something generic is quite hard to do right. 19:55:35 so I'm just trying to be pragmatic, yes we'd like to get rid of openssl dependency but not at all cost 19:55:49 I think it would be a worthwhile thing to do, but I don't think the resources can be spared to do something generic right now. 19:55:52 gmaxwell: how am I punuishing you? 19:55:59 gmaxwell: Agree. It takes much more time.. 19:56:07 But maybe other are ready to contribute. 19:56:19 wumpus: by jumping to not doing it at all when I raised a single complaints. 19:56:22 (and I have use cases) 19:56:33 gmaxwell: I'm not saying we should do it, just that we should be careful 19:56:40 Sure. 19:56:45 gmaxwell: I've been saying that from the beginning and you convinced me to be even more 19:56:49 jonasschnelli: if your usecases are solidly separated from Bitcoin Core, that'd help re: review 19:56:57 that's *agreeing* with you, not punishment. 19:57:09 petertodd: nice! 19:57:28 wumpus: ok, I misinterpreted your "let's be careful when doint it" as well 19:58:06 On another note: aj has written some functional test scripts for OP_CSV (requires #7184 + #6564) https://github.com/ajtowns/op_csv-test - so anyone who wants to test those PRs has another tool at their disposal. We do need to think about wrapping those PRs up next month to keep on the roadmap schedule. 19:58:10 jtimon: I haven't said "let's never do this", but I'd be fine postponing it a year or so so there can be a serious generic effort 19:58:18 (as petertodd says) 19:58:36 RNG's are weird after all - they're not really the same skillset as normal cryptographic code 19:58:42 right. 19:59:22 wumpus: lets disuss later in the 0.13 cycle. I think getting off of OpenSSL's is important. 19:59:55 I mean for the wallet the RNG is pretty much what it all hinges on, I don't even want to think about the consequences of a bug there 19:59:59 gmaxwell: sure 20:00:15 wumpus: I don't think I can contribute so I can't say much dates, just nacking the "never" I thought I heard but you didn't say 20:00:42 Getting rid of openssl sounds like a plan. Lets announce it somewhere... 20:00:43 * btcdrak rings the bell 20:00:47 #endmeeting