18:59:23 #startmeeting 18:59:23 Meeting started Thu Oct 22 18:59:23 2020 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:59:23 Useful Commands: #action #agreed #help #info #idea #link #topic. 18:59:39 hi 18:59:43 hello 18:59:47 hi 18:59:48 hi 18:59:51 #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 18:59:53 amiti fjahr jeremyrubin lightlike emilengler jonatack hebasto jb55 elichai2 19:00:01 hi 19:00:04 hi 19:00:22 hi 19:00:23 no topics have been proposed yet in http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt 19:00:40 any last-minute ones? 19:01:05 yay for all the work that made it into 0.21 19:01:15 +1 19:01:15 yes!!! 19:01:32 hi 19:01:36 21.0 not 0.21 19:01:44 michaelfolkson: not yet 19:01:47 haha 19:02:10 #topic 0.21 milestone 19:02:15 https://github.com/bitcoin/bitcoin/pulls?q=is%3Aopen+is%3Apr+milestone%3A0.21.0 19:02:17 I have a DNSSEC setup for dnsseed. Not directly bitcoin core related. 19:02:48 I think this is the high priority for review now 19:03:06 hi 19:03:25 is any way to label with 0.21 milestone prs from the https://github.com/bitcoin-core/gui ? 19:03:53 the planned date for the branch split-off and rc1 is 2020-11-01 19:04:06 hebasto: there are no milestones there? 19:04:19 we probably need to create them then 19:05:06 wumpus: no milestones at all 19:05:19 emzy: would DNSSEC help there? 19:06:06 I guess it would hide what results are returned from the DNS seed to the public internet 19:06:15 wumpus: was for the last-minute topic list. 19:06:35 perhaps #20220 which has fixes for 0.21 and on which the #19543 work is building 19:06:37 https://github.com/bitcoin/bitcoin/issues/20220 | wallet, rpc, test: explicit feerate follow-ups by jonatack · Pull Request #20220 · bitcoin/bitcoin · GitHub 19:06:38 https://github.com/bitcoin/bitcoin/issues/19543 | Normalize fee units for RPC ("BTC/kB" and "sat/B) · Issue #19543 · bitcoin/bitcoin · GitHub 19:06:52 that's ok, you weren't clear about it being a proposed topic 19:07:09 wumpus: it is mainly to add DNSSEC to the sipa seeds. 19:08:00 jonatack: ok added 19:08:05 wumpus: not hiding insted signing. 19:08:49 maybe #20205 should be added 19:08:51 https://github.com/bitcoin/bitcoin/issues/20205 | wallet: Properly support a wallet id by achow101 · Pull Request #20205 · bitcoin/bitcoin · GitHub 19:09:03 right, DNSSEC authenticates it doesn't encrypt, my bad 19:09:35 achow101: is that a bugfix? 19:09:49 wumpus: luke-jr argues it is. 19:10:23 something about sqlite wallets need unique ids too to not cause problems in the future 19:10:24 you might want to mention this in the PR description, it is currently unclear about the why of the change, in any case, added 19:11:07 hebasto: we definitely need to add the milestones there then 19:11:12 hebasto: I just created the milestones 19:11:23 jonasschnelli: thanks! 19:11:32 jonasschnelli: perfect, thanks! 19:12:58 jonasschnelli: possible candidates for 0.21 https://github.com/users/hebasto/projects/5 19:12:59 okay, moving to emzy's topic 19:13:13 #topic DNSSEC setup for dnsseed 19:13:27 Ok. All new here for me to attend.. :) 19:14:08 This is the issue https://github.com/bitcoin/bitcoin/issues/19714 19:14:35 #19714 19:14:36 https://github.com/bitcoin/bitcoin/issues/19714 | ops: Enable DNSSEC on all Bitcoin DNS Seed domain names · Issue #19714 · bitcoin/bitcoin · GitHub 19:15:16 It's about having DNSSEC on all dnsseeds. Sipas implementation has no dnssec so I made a setup to run it behind a Bind9 19:15:44 The howto to set it up is here: https://github.com/sipa/bitcoin-seeder/pull/85 19:16:06 neat 19:16:13 nice emzy. Thanks 19:16:18 Will it only work with bind? 19:16:26 Would there be the chance to get it working it djbdns? 19:16:29 Someone needs to check it. I hope it is compleate. 19:16:51 emzy: i'll read in more detail later, but how big a batch of IPs does it serve at any point in time? 19:16:54 jonasschnelli: if djbdns allows dynamic updates. Yes. 19:17:10 (as in, how many get extracted from the seeder and pushed into zonefiles) 19:17:23 sipa: it clones the responce from your seeder. 19:17:42 but a response only has 20 or so IP addresses 19:17:46 maybe better say caches it. 19:17:57 i hope it's not serving the same 20 for a whole day? 19:18:05 no 1h 19:18:43 if there was a way to load more of them into the zone file at once, would bind serve random subsets? 19:18:50 could be changed. but the ttl on the sipa seeder is also 1h 19:19:03 emzy: yes, but per request - every ISP gets different results 19:19:07 ah I see. 19:19:49 practicalswift wants to avoid a "bind monoculture". What are the concerns with that? 19:20:08 I could also request every minute or so. But every time it needs to be signed. So it can't be every request different. 19:20:11 wumpus: 20205 is a bugfix because otherwise sqlite wallets lack a unique id which bdb has provided until now 19:21:10 michaelfolkson: there is still the dnsseed from bluematt 19:21:11 emzy: your doc has a cronjob in cron.daily 19:21:15 is that something else? 19:21:19 luke-jr: this unique id is there to detect loading the same wallet twice? 19:22:06 emzy: i think bluematt's dnsseed also uses bind 19:22:08 sipa: thats wrong. I will fix that. 19:22:24 wumpus: to identify the same wallet even if renamed/moved/backedup/etc 19:22:33 emzy: if you'd load say 100 IP addresses in the zone file instead, would everyone get those 100 IPs on every request? 19:22:40 sipa: wrong in my documentation. My seed has it in crom.hourly 19:22:49 sipa: yes 19:22:50 luke-jr: right 19:22:51 wumpus: we *can* use it for a warning of loading it twice, but thats only one use case 19:23:13 also 20025 doesn't actually prevent loading twice; it just adds an ID (iirc) 19:23:35 luke-jr: but I thought that was the one that was critical 19:23:46 wumpus: my prune locks pr is an example of another use case 19:23:57 wumpus: it was for BDB, due to environments being unable to load same db twice 19:24:04 wumpus: loading duplicate sqlite wallets is not a problem. it's only an issue with bdb due to environment caching stuff 19:24:15 oh 19:24:21 wumpus: in sqlite wallets there is no such constraint, but it may be useful at an application level 19:24:36 Ah there have been past vulnerabilities in BIND 19:24:44 there is also no use for that currently in the codebase, but adding one is harder if old wallets don't have unique ids 19:24:56 i'm not convinced it's very urgent, but it does seem harmless to add one 19:25:07 achow101: it can still be a problem due tio metadata divergence 19:25:10 (correct me if i'm wrong on any of this) 19:26:10 luke-jr: it may be undesirable at an application level (though ryanofsky seems to disagree with that), but that's different from BDB which has an actual problem with it 19:26:26 I think adding it cannot hurt in any case and it might come in useful 19:26:32 yeah 19:27:37 sipa: yes imo we should at least warn but thats another pr 19:28:09 luke-jr: seems reasonable to me 19:28:26 going from error to silently fine is not very good ux imo 19:29:07 [13bitcoin] 15sushant-varanasi opened pull request #20224: doc: CI system link added, clarity increased (squashed into a single commit) (06master...06master) 02https://github.com/bitcoin/bitcoin/pull/20224 19:29:10 well, sqlite wallets are new; anything supported for them is whatever we declare is supported 19:29:31 well "silently fine *except* you may end up with divergent metadatat" :p 19:29:33 release notes can state in which ways they are different from bdb wallets, which may include support for loading multiple copies 19:29:40 right 19:29:46 i agree with at least warning 19:30:23 sipa: ideally users dont care about underlying db 19:31:00 (sorry laggy irc today) 19:31:42 any other topics? 19:31:59 changing the version number scheme? 19:32:25 #topic Change version number scheme (achow101) 19:32:44 it's about that time of year again to have users complain about our version numbers 19:32:48 I don't really feel strongly about it either way but a ok with it 19:32:51 Good blog post from achow101 on moving to sqlite https://achow101.com/2020/10/0.21-wallets 19:33:01 so #20223 drops the leading 0. 19:33:01 lets keep semver at least… 19:33:02 https://github.com/bitcoin/bitcoin/issues/20223 | Drop the leading 0 from the version number by achow101 · Pull Request #20223 · bitcoin/bitcoin · GitHub 19:33:18 and makes our major version number actually the major version 19:33:29 concept ack 19:33:47 nobody really treats our 0 as a major version 19:33:48 and maybe people will stop asking for 1.0 19:34:09 I'd rather just bump 0 to 1 19:34:31 this should also be a purely cosmetic change since CLIENT_VERSION doesn't change 19:34:57 why not? 19:35:09 1000000 * 0 is still 0 19:35:10 luke-jr: i'm afraid that'd be misinterpreted as an actual major step in development 19:35:23 it also wouldn't solve anything 19:35:29 besides 'there is a zero at the beginning' 19:35:45 which i don't think this is; it's correcting for the fact that in practice our minor version number has turned into a conceptual major version 19:35:57 sipa: 1.21? 19:36:08 yes, that is the issue 19:36:15 luke-jr: and what would be next one be? 2.0 or 1.22? 19:36:21 luke-jr: but that 1 is meaningless like 0 is now 19:36:30 (the "next" one as in what would otherwise become 0.22) 19:36:30 having a static 1 at the beginning would be the same as a 0 19:36:33 right 19:36:35 wumpus: indeed 19:37:08 sipa: I don't agree… major versions rarely reach 20+… 19:37:36 sipa: next could be 1.22 or 2.0 depending non what we think its significance is 19:37:44 on* 19:37:45 Could cause some limited confusion with references to previous 0. versions 19:37:50 I found the versioning mildly unusual at first, nevertheless am unsure it's worth fixing at this point 19:37:50 that's not how it works with our project 19:37:52 luke-jr: and yet here we are with a version number that's ostensibly major at 21 19:38:03 we don't judge significance of versions and have a fixed release schedule 19:38:20 achow101: but it really isnt 19:38:21 I feel having a high number in front of the dot is more marketing related. 19:38:29 if we change the version scheme it should be to better reflect what we're actually doing 19:38:30 Replace questions on when 1.0 with questions on what happened from 0.21 to 22.0 19:38:56 luke-jr: we call it a major release.. 19:38:56 not what other projects are doing 19:39:07 bugfixes increment the 3rd int 19:39:18 michaelfolkson: but that's way easier to explain 19:39:31 luke-jr: if we'd actually also switch to releases that are based on magnitude of changes, but i don't think that's what we're doing 19:39:42 our numbers are already just an indication of time 19:39:58 magnitude would only determine 2.0 vs 1.22 19:40:33 [13bitcoin] 15jonasschnelli pushed 2 commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/88271184e822...9453fbf5a022 19:40:34 13bitcoin/06master 146ed4bca 15Hennadii Stepanov: qt: Wrap tooltips in the intro window 19:40:35 13bitcoin/06master 149453fbf 15Jonas Schnelli: Merge #20: Wrap tooltips in the intro window 19:40:42 it's not like versions are the release schedule 19:41:20 we do not classify versions by magnitude, the whole reason for proposing to remove the 0. would be to get rid of that illusion (for some people) once and for all 19:41:21 luke-jr: there are software with high major versions. e.g. pip 19:41:48 firefo 19:41:50 https://bitcoincore.org/en/lifecycle/ 19:41:54 chrome 19:41:54 Bitcoin Core releases are versioned as follows: 0.MAJOR.MINOR, and release candidates are suffixed with rc1, rc2 etc. 19:41:58 We aim to make a major release every 6-7 months. 19:42:02 wumpus: well thats what versions are for 19:42:32 luke-jr: not in this project 19:42:53 sigh 19:43:36 then everything should be 1.x forever 19:43:47 then that's just as meaningless 19:43:49 that's no better than 0.x forever 19:44:08 and then we'll get questions about for when 2.0 19:44:12 going in circles now 19:44:22 either we should classify or not… -.- 19:44:55 we don't and we won't, the only proposal is to remove a useless 0. that pretty much everyone already leaves out anyway 19:45:36 do we want it for this release or the next? 19:45:42 it's not useless and people leaving it off should stop so long as it's there 19:45:45 this is too late for 0.21 imo 19:45:58 I don't see any reason to push this last minute 19:46:04 sure 19:46:06 luke-jr: they won't stop given that it's meaningless 19:46:32 our versioning scheme is literally 0.MAJOR.MINOR; the 0. serves no function 19:46:32 Major versions means breaking API changes. If we say breaking API changes are breaking consensus changes in Bitcoin wouldn't it make sense to keep 0.x until we have to do a hardfork? I know that's not how people think of the versioning but I think that would make sense. 19:47:27 fjahr: Core and Bitcoin are different things 19:47:35 no, the versioning ahs nothing to do with forks and hardforks 19:47:44 luke-jr: exactly 19:47:45 firefox's versioning scheme is not based on which HTML version they support 19:47:47 ok 19:48:05 I thought it was an interesting idea fjahr 19:48:09 fjahr: then we'd be on version 5 or something like that with the changes satoshi made early on 19:48:19 sipa: its really 0.minor.bugfixi 19:48:26 luke-jr: it's on our site 19:48:40 then the site is wrong 19:48:58 luke-jr: we refer to every 0.x release as a major release 19:49:27 so 21.0.bugfix,l 22.0.bugfix? 19:49:59 looks silly imo but at least it can make some sense2… 19:50:08 Ditching the zero assumes we will *never* have a use for it. Any reason for redundancy here however fanciful? 19:50:23 luke-jr: there was a 0.19.0.1 19:50:35 emzy: I'm aware 19:50:43 michaelfolkson: that's exactly the problem 19:50:58 michaelfolkson: nobody has an answer to the question "what would constitute something worthy of a 1.x release" 19:51:01 ? 19:51:23 we should really be past 1.0 19:51:59 yes, we do a major release every 6-7 months! 19:52:45 If the redundancy is entirely unnecessary for all possible future scenarios I think get rid of it. Just so this discussion doesn't keep coming up (assuming there are no downsides other than a little user confusion) 19:52:52 if its not major enough to get 1.0, it's not major ;) 19:53:06 luke-jr: circular reasoning gets us nowhere 19:53:16 michaelfolkson: I agree 19:53:26 sipa: circular? 19:53:46 1.0 is no more importwant that 22.0 19:53:53 michaelfolkson: that would be the only reason to do it, really, in the end it's just a number and doesn't matter that much, there's no strong reason to change anything 19:54:10 luke-jr: 1.0 has a meaning to dumb humans 19:54:16 if we can't do 1.0 because its not important enough, it shoouldnt be 22.0 either 19:54:37 1.0 is a magic number even if it shouldn't be 19:54:49 i think none of this matters 19:54:59 it won't be 2 years later 19:55:11 our release process is around time-based releases, and our version numbers _are_ time-based too 19:56:15 however much you'd like that to be different, the number X in 0.X.Y doesn't mean anything else but "the series of stable releases forked off at a point in time depending on X" 19:56:16 then do a calendar version like Ubuntu? :/ 19:56:32 I prefer semver, but at least we should use some stabdard… 19:56:53 5 minutes to go 19:56:56 it doesn't convey magnitude of changes, and without substantial changes to our release process, they won't be 19:56:58 luke-jr: i'd honestly prefer a calendar version, but dropping 0 is the simplest and least confusing change to make 19:57:03 luke-jr: firefox? chrome? 19:57:27 achow101: +1 19:57:39 actually this is our one chance to switch to calendar cleanly 19:57:53 luke-jr: ikr. I proposed that for 0.20 19:58:15 sipa: nt for bugfixes 20:01:06 #endmeeting