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