1 2017-03-02 05:08:02	0|luke-jr|any idea what /TestClient:0.0.1/ is?
  2 2017-03-02 05:50:29	0|mryandao|spy node, just guessing
  3 2017-03-02 05:55:31	0|luke-jr|seemed to be abusing bloom to work my CPU
  4 2017-03-02 06:42:45	0|luke-jr|fyi https://www.mirbsd.org/permalinks/wlog-10_e20170301-tg.htm
  5 2017-03-02 06:45:02	0|gmaxwell|people are misinterperting the gihub license, the things people are objecting to are related to moral rights, not copyright, moral rights largely don't exist in the US.
  6 2017-03-02 08:32:13	0|wumpus|at some point, github is going to do something really stupid and we'll see an exodus of projects, just like what happened to sourceforge, and we'll have to move our main development hub somewhere else. But this seems largely based on misinterpretation and very avid attempts at "reading between the lines", at least it seems to me...
  7 2017-03-02 08:38:09	0|bitcoin-git|13bitcoin/06master 145b528d7 15Marko Bencun: qt: clean up initialize/shutdown signals...
  8 2017-03-02 08:38:09	0|bitcoin-git|[13bitcoin] 15jonasschnelli pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/d19d45a1e6a4...b00ba6251f71
  9 2017-03-02 08:38:10	0|bitcoin-git|13bitcoin/06master 14b00ba62 15Jonas Schnelli: Merge #9834: qt: clean up initialize/shutdown signals...
 10 2017-03-02 08:38:35	0|bitcoin-git|[13bitcoin] 15jonasschnelli closed pull request #9834: qt: clean up initialize/shutdown signals (06master...06exitcode) 02https://github.com/bitcoin/bitcoin/pull/9834
 11 2017-03-02 08:40:41	0|bitcoin-git|[13bitcoin] 15laanwj opened pull request #9902: Lightweight abstraction of boost::filesystem (06master...062017_03_fs) 02https://github.com/bitcoin/bitcoin/pull/9902
 12 2017-03-02 08:44:26	0|jonasschnelli|ryanofsky: I have a question about your comment: https://github.com/bitcoin/bitcoin/pull/9681#discussion_r102847930
 13 2017-03-02 08:44:32	0|jonasschnelli|Tell me if you are available...
 14 2017-03-02 09:08:01	0|bitcoin-git|13bitcoin/06master 146665977 15Gregory Sanders: remove 'label' filter for rpc command help
 15 2017-03-02 09:08:01	0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/b00ba6251f71...0496e15aef1c
 16 2017-03-02 09:08:02	0|bitcoin-git|13bitcoin/06master 140496e15 15Wladimir J. van der Laan: Merge #9894: remove 'label' filter for rpc command help...
 17 2017-03-02 09:08:21	0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9894: remove 'label' filter for rpc command help (06master...06filterrpc) 02https://github.com/bitcoin/bitcoin/pull/9894
 18 2017-03-02 09:09:21	0|luke-jr|wumpus: GitHub's ToS were never particularly good
 19 2017-03-02 09:09:29	0|wumpus|luke-jr: indeed
 20 2017-03-02 09:30:31	0|MarcoFalke_|jonasschnelli: Can you update/upload your public subkey on a keyserver.
 21 2017-03-02 09:47:53	0|jonasschnelli|MarcoFalke_: I did... 30mins ago... mit/debian keyservers at least.
 22 2017-03-02 09:48:07	0|jonasschnelli|Can someone check if i haven't screwed up my first new subkey commit: https://github.com/bitcoin/bitcoin/commit/b00ba6251f71fa1edaabdf809514e1bc3c67862e
 23 2017-03-02 09:48:37	0|jonasschnelli|I think the key is here available: https://pgp.mit.edu/pks/lookup?op=vindex&search=0x29D4BCB6416F53EC
 24 2017-03-02 09:48:43	0|jonasschnelli|03C7922D
 25 2017-03-02 09:50:07	0|wumpus|yes, I can request the key
 26 2017-03-02 09:50:31	0|wumpus|sub      0E/0x713A6E6216EA1E7F 2017-03-01 [expires: 2027-02-27]
 27 2017-03-02 09:54:39	0|wumpus|gpg2 is more informative: sub   nistp256/0x713A6E6216EA1E7F 2017-03-01 [S] [expires: 2027-02-27]
 28 2017-03-02 09:59:02	0|wumpus|for 9834: * |   gpg: Signature made Thu 02 Mar 2017 09:37:40 AM CET
 29 2017-03-02 09:59:02	0|wumpus|| | | gpg: Can't check signature: public key not found
 30 2017-03-02 09:59:02	0|wumpus||\ \  gpg:                using RSA key 0x1EB776BB03C7922D
 31 2017-03-02 09:59:19	0|wumpus|that seems a different key? I cannot find that one anywhere
 32 2017-03-02 10:00:23	0|jonasschnelli|wumpus: hmm.. 0x1EB776BB03C7922D is available at https://pgp.mit.edu/pks/lookup?op=vindex&search=0x29D4BCB6416F53EC IMO
 33 2017-03-02 10:01:13	0|jonasschnelli|I delkey every other key (like 0x713A6E6216EA1E7F), but they seem to still exist on the keyserver
 34 2017-03-02 10:01:41	0|jonasschnelli|(*every other key == the NIST-P key)
 35 2017-03-02 10:02:22	0|wumpus|gpg2 --recv-key 0x1EB776BB03C7922D gives me "gpg: keyserver receive failed: No data"
 36 2017-03-02 10:02:39	0|MarcoFalke_|wumpus try curl and pipe that into gpg
 37 2017-03-02 10:03:13	0|MarcoFalke_|I had issues with refreshing keys when they already existed
 38 2017-03-02 10:03:28	0|jonasschnelli|wumpus: maybe use a specific keyserver --keyserver pgp.mit.edu
 39 2017-03-02 10:03:31	0|wumpus|ah, network issues, I somehow cannot acces pgp.mit.edu at all
 40 2017-03-02 10:12:36	0|wumpus|piping https://pgp.mit.edu/pks/lookup?op=get&search=0x29D4BCB6416F53EC into gpg --import worked
 41 2017-03-02 10:21:02	0|jonasschnelli|wumpus: I think #9143 is ready for merge... babysteps towards multiple database backend (deprecate BDB)
 42 2017-03-02 10:21:03	0|gribble|https://github.com/bitcoin/bitcoin/issues/9143 | Refactor ZapWalletTxes to avoid layer violations by jonasschnelli · Pull Request #9143 · bitcoin/bitcoin · GitHub
 43 2017-03-02 10:28:54	0|wumpus|jonasschnelli: thanks, will take a look
 44 2017-03-02 10:33:01	0|bitcoin-git|13bitcoin/06master 140165a56 15Jonas Schnelli: Refactor ZapWalletTxes to avoid layer vialotions
 45 2017-03-02 10:33:01	0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/0496e15aef1c...65d90f585a83
 46 2017-03-02 10:33:02	0|bitcoin-git|13bitcoin/06master 1465d90f5 15Wladimir J. van der Laan: Merge #9143: Refactor ZapWalletTxes to avoid layer violations...
 47 2017-03-02 10:33:10	0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9143: Refactor ZapWalletTxes to avoid layer violations (06master...062016/11/wallet_db_refactoring_1) 02https://github.com/bitcoin/bitcoin/pull/9143
 48 2017-03-02 10:42:40	0|luke-jr|does #8775 need anything else?
 49 2017-03-02 10:42:42	0|gribble|https://github.com/bitcoin/bitcoin/issues/8775 | RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest by luke-jr · Pull Request #8775 · bitcoin/bitcoin · GitHub
 50 2017-03-02 11:07:31	0|wumpus|luke-jr: adding it to my list...
 51 2017-03-02 11:14:17	0|wumpus|indeed seems important to get that merged now after the 0.14 fork
 52 2017-03-02 11:14:29	0|wumpus|but I need to go over it in detail
 53 2017-03-02 11:15:36	0|luke-jr|#7533 would be nice to get over-with (needs rebasing often), but is lacking review (8775 has a decent amount already)
 54 2017-03-02 11:15:39	0|gribble|https://github.com/bitcoin/bitcoin/issues/7533 | RPC: sendrawtransaction: Allow the user to ignore/override specific rejections by luke-jr · Pull Request #7533 · bitcoin/bitcoin · GitHub
 55 2017-03-02 12:50:52	0|bitcoin-git|[13bitcoin] 15ian-kelling opened pull request #9903: Docs: add details to -rpcclienttimeout doc (06master...06docs-client-timeout) 02https://github.com/bitcoin/bitcoin/pull/9903
 56 2017-03-02 13:55:21	0|bitcoin-git|[13bitcoin] 15laanwj opened pull request #9904: test: Fail if InitBlockIndex fails (06master...062017_03_test_check_blkindex_result) 02https://github.com/bitcoin/bitcoin/pull/9904
 57 2017-03-02 14:32:44	0|ryanofsky|jonasschnelli: something about shared_ptr?
 58 2017-03-02 14:32:57	0|jonasschnelli|ryanofsky: I think i could solve it...
 59 2017-03-02 14:33:41	0|jonasschnelli|ryanofsky: it was about https://github.com/bitcoin/bitcoin/pull/9681
 60 2017-03-02 14:34:08	0|jonasschnelli|ryanofsky: So I did this: https://github.com/bitcoin/bitcoin/commit/c81a8a7ddef6f3c1e4cb0816aa12ae16b91cbf02
 61 2017-03-02 14:40:10	0|BlueMatt|jonasschnelli: yes, it appears pgp.mit.edu is broken (not syncing to other servers), again....this happens often
 62 2017-03-02 14:40:20	0|BlueMatt|anyway, I pushed your key to the sks pool, so it should be good in a bit
 63 2017-03-02 14:42:15	0|jonasschnelli|Okay. Pushed to sks pool
 64 2017-03-02 17:03:34	0|cfields|wumpus: nice work on fs! reading now.
 65 2017-03-02 19:00:34	0|achow101|meeting?
 66 2017-03-02 19:00:40	0|sipa|meeting!
 67 2017-03-02 19:01:13	0|Chris_Stewart_5|gniteem
 68 2017-03-02 19:01:17	0|wumpus|#meetingstart
 69 2017-03-02 19:01:33	0|lightningbot|Meeting started Thu Mar  2 19:01:32 2017 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.
 70 2017-03-02 19:01:33	0|wumpus|#startmeeting
 71 2017-03-02 19:01:34	0|lightningbot|Useful Commands: #action #agreed #help #info #idea #link #topic.
 72 2017-03-02 19:02:03	0|wumpus|#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt
 73 2017-03-02 19:02:04	0|wumpus|instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 instagibbs
 74 2017-03-02 19:02:09	0|sdaftuar|hi
 75 2017-03-02 19:02:10	0|kanzure|hi.
 76 2017-03-02 19:02:25	0|BlueMatt|topics?
 77 2017-03-02 19:03:02	0|sdaftuar|topic suggestion: any open items for 0.14?
 78 2017-03-02 19:03:09	0|wumpus|BlueMatt: +1
 79 2017-03-02 19:03:35	0|wumpus|any new issues with rc3?
 80 2017-03-02 19:04:18	0|gmaxwell|I have an issue.
 81 2017-03-02 19:04:42	0|gmaxwell|It isn't released yet. :P
 82 2017-03-02 19:04:47	0|sipa|ha.
 83 2017-03-02 19:05:02	0|wumpus|hehe
 84 2017-03-02 19:05:10	0|BlueMatt|yup
 85 2017-03-02 19:05:41	0|BlueMatt|rc3 was posted yesterday, so release is next tuesday if nothing else comes up, I believe?
 86 2017-03-02 19:06:19	0|sipa|seems reasonable
 87 2017-03-02 19:06:25	0|gmaxwell|I saw some positive comments on Bitcoin talk.
 88 2017-03-02 19:06:31	0|BlueMatt|dont we normally do a week after rc?
 89 2017-03-02 19:06:40	0|wumpus|yup, that's how it useually goes yes, BlueMatt
 90 2017-03-02 19:08:09	0|MarcoFalke|#action plan to release next tuesday if nothing else comes up
 91 2017-03-02 19:08:40	0|morcos|i'd like to briefly discuss the timing of merging #9602..  b/c assuming we are going to do it, it would be nice to get it out of the way so its not a rebase/review nightmare.  i also have a ton of fee estimation changes built on top
 92 2017-03-02 19:08:43	0|gribble|https://github.com/bitcoin/bitcoin/issues/9602 | Remove coin age priority and free transactions - implementation by morcos · Pull Request #9602 · bitcoin/bitcoin · GitHub
 93 2017-03-02 19:09:00	0|BlueMatt|morcos: will finish review soon, but so far lgtm
 94 2017-03-02 19:09:07	0|BlueMatt|would agree it should merge fast
 95 2017-03-02 19:09:27	0|wumpus|#topic discuss the timing of merging #9602
 96 2017-03-02 19:09:29	0|gribble|https://github.com/bitcoin/bitcoin/issues/9602 | Remove coin age priority and free transactions - implementation by morcos · Pull Request #9602 · bitcoin/bitcoin · GitHub
 97 2017-03-02 19:09:38	0|sdaftuar|+1 for merging sooner rather than later
 98 2017-03-02 19:10:23	0|wumpus|well if it is ready for merge it should be merged
 99 2017-03-02 19:10:24	0|sdaftuar|i'm also working on some mining tweaks that i'd rather just build on top of 9602
100 2017-03-02 19:10:50	0|BlueMatt|wumpus: I believe it needs review and morcos is asking for fast-review because its a pita to rebase constantly
101 2017-03-02 19:11:05	0|morcos|wumpus: oh ok, i just wanted to coordinate so people were reviewing at the same time frame... thats when the rebases get annoying, when ppl have reviewed different versions.  and now it seems people have started reviewing
102 2017-03-02 19:11:15	0|morcos|so anyone else that is interested, sooner is better than later
103 2017-03-02 19:11:32	0|gmaxwell|Sounds fine to me, a related subject is that there are a number of other features (like multiwallet) that just missed 0.14 which we should try to get in early rather than later.
104 2017-03-02 19:12:05	0|wumpus|yes
105 2017-03-02 19:12:24	0|BlueMatt|yes, I imagine luke's dont-use-pwalletMin thing is a pita to rebase as well
106 2017-03-02 19:13:07	0|BlueMatt|that would be #8775
107 2017-03-02 19:13:10	0|gribble|https://github.com/bitcoin/bitcoin/issues/8775 | RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest by luke-jr · Pull Request #8775 · bitcoin/bitcoin · GitHub
108 2017-03-02 19:13:20	0|gmaxwell|it's also an issue that if these things drag on until late in the cycle they'll miss again.
109 2017-03-02 19:14:05	0|wumpus|right, so all review multiwallet pulls
110 2017-03-02 19:14:50	0|wumpus|#8775 should probably go in first
111 2017-03-02 19:14:52	0|gribble|https://github.com/bitcoin/bitcoin/issues/8775 | RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest by luke-jr · Pull Request #8775 · bitcoin/bitcoin · GitHub
112 2017-03-02 19:15:14	0|MarcoFalke|They don't conflict according to git merge, so no strict order required
113 2017-03-02 19:15:19	0|gmaxwell|It might be useful, not in this meeting, but for people to think about what they'd like the big features of 0.15 to be and make sure we make progress early enough on those things so that they can actually be there. :) I feel like there were things that at least I personally wanted in 0.14 but didn't give them enough attention until too late.
114 2017-03-02 19:16:04	0|morcos|1 major feature thats in the back of my mind, but a bit complicated so might require some discussion as to whether we want it and when is automated fee-bumping
115 2017-03-02 19:16:41	0|wumpus|well at least there should be time for features again in 0.15. 0.14 time was mostly spent on segwit
116 2017-03-02 19:16:54	0|sipa|famous last words :)
117 2017-03-02 19:16:57	0|sipa|but i agree
118 2017-03-02 19:17:25	0|gmaxwell|morcos: I would replace 'automated fee bumping' with 'precomputed fee bumping'  E.g. when you sign, presign all the bumps, locktimed... so they don't interfear with the wallet encryption.. and could even be handed off to someone if you go offline.
119 2017-03-02 19:17:30	0|wumpus|well I don't know of any large upcoming softfork projects monopolizing everyone at least?
120 2017-03-02 19:17:47	0|gmaxwell|wumpus: everything like that is on hold for segwit!
121 2017-03-02 19:18:04	0|wumpus|so hopefully for 0.16 again then :)
122 2017-03-02 19:18:35	0|wumpus|anyhow, it means for 0.15 we can focus on software features instead of network/consensus features
123 2017-03-02 19:18:38	0|morcos|gmaxwell: do we not have any suggested SF's that aren't built off segwit in the queue?  lets take advantage of BIP 9!
124 2017-03-02 19:19:12	0|sipa|raise min difficulty, optional utxo commitments, ...
125 2017-03-02 19:19:13	0|gmaxwell|on that subject, we should reconsider some things around how segwit works: that we won't mine once segwit is active without the flag set,  and we don't set the versionbit without the flag... Both of these are foolish IMO.
126 2017-03-02 19:20:35	0|sipa|oh, by flag you mean whether the GBT client indicates support?
127 2017-03-02 19:20:47	0|gmaxwell|by 'don't set the versionbit without the flag-- if the GBT client doesn't signal segwit support we don't set the BIP 9 bit. Which is stupid, since we'll happily enforce the rules.
128 2017-03-02 19:20:49	0|sdaftuar|we do that so that segwit can't activate without the miners actually mining segwit transactions
129 2017-03-02 19:21:00	0|BlueMatt|sdaftuar: I'm not too worried about that
130 2017-03-02 19:21:21	0|gmaxwell|sdaftuar: yea but I think that is an error. So what if they don't? Then there is just less capacity for segwit txn initially until they upgrade, and they'll lose out on fees.
131 2017-03-02 19:21:29	0|BlueMatt|I prefer for miners to be able to mine and just lose out on fee revenue than stop mining
132 2017-03-02 19:21:46	0|wumpus|#action review and merge #8775 and #9602 as soon as possible, they are prone to turning into rebase/merge nightmares
133 2017-03-02 19:21:48	0|gribble|https://github.com/bitcoin/bitcoin/issues/8775 | RPC refactoring: Access wallet using new GetWalletForJSONRPCRequest by luke-jr · Pull Request #8775 · bitcoin/bitcoin · GitHub
134 2017-03-02 19:21:50	0|gribble|https://github.com/bitcoin/bitcoin/issues/9602 | Remove coin age priority and free transactions - implementation by morcos · Pull Request #9602 · bitcoin/bitcoin · GitHub
135 2017-03-02 19:21:55	0|sdaftuar|gmaxwell: my concern (before we got to the point we're at now) was that segwit could have activated with 0 miners mining
136 2017-03-02 19:22:02	0|sdaftuar|and then mempools could be attacekd with transactions that wouldn't confirm
137 2017-03-02 19:22:06	0|morcos|gmaxwell: agreed, as long as we know that SOME miners are mining them..  which seems we're at that poin tnow
138 2017-03-02 19:22:06	0|sdaftuar|perhaps now we can relax it
139 2017-03-02 19:22:08	0|gmaxwell|sdaftuar: Yes, I agree. That would be silly. But we're not there now. :)
140 2017-03-02 19:22:36	0|gmaxwell|I didn't protest at the time because of that. (well actually on the stops mining thing, I thought we fixed that)
141 2017-03-02 19:22:54	0|sipa|suggested topic: CNB calling TBV or not, and CNB caching
142 2017-03-02 19:23:14	0|gmaxwell|(My misunderstanding was that I thought we stopped mining without the gbt-flag entirely once the code had support for it.. and I saw that wasn't the case)
143 2017-03-02 19:24:09	0|gmaxwell|We need to get TBV out of the critical path. I do not really agree with lightswords view on it though-- I think it's important that we have some process that tests that blocks were handing out to mine. It does not need to be in the critical path.
144 2017-03-02 19:24:42	0|wumpus|#topic CNB calling TBV or not, and CNB caching
145 2017-03-02 19:24:47	0|sipa|i believe that what the code does for an actual miners doesn't matter
146 2017-03-02 19:24:55	0|morcos|gmaxwell: sipa: i think the downside of leaving it in the critical path is an extra 150ms of mining with an empty block
147 2017-03-02 19:25:02	0|sipa|yes, that's obvious
148 2017-03-02 19:25:06	0|sipa|and there are various solutions
149 2017-03-02 19:25:10	0|gmaxwell|morcos: or worse.
150 2017-03-02 19:25:14	0|sipa|an easy one (just get rid of the test)
151 2017-03-02 19:25:23	0|sipa|or a hard one (background validation, caching, ...)
152 2017-03-02 19:25:47	0|gmaxwell|The challenge with backgrounding it is that test holds cs_main for a long time.
153 2017-03-02 19:25:56	0|morcos|hmm, i guess i was wrong
154 2017-03-02 19:25:57	0|gmaxwell|I have suggested making the validation it does interruptable.
155 2017-03-02 19:26:17	0|BlueMatt|gmaxwell: I have suggested that many times :)
156 2017-03-02 19:26:18	0|morcos|if you want to build on a prior header, you can't have TBV in the critical path, b/c you might not be even able to do it if you dont' have prior block
157 2017-03-02 19:26:35	0|gmaxwell|E.g. an atomic checked between each transaction which can abort a test validation. This would also be useful for the block proposal validations.
158 2017-03-02 19:27:01	0|gmaxwell|then an incoming block will set the atomic and then block on acquiring cs_main.
159 2017-03-02 19:27:09	0|sipa|morcos: well building on a prior header is easy... i'm sure we can build an empty block that's valid
160 2017-03-02 19:27:32	0|gmaxwell|the background thread would just go to sleep and try again later. Block proposals would just sleep for a bit then try again (while the RPC caller waited)
161 2017-03-02 19:27:47	0|morcos|yes but we have to have a way of skipping TBV on that block don't we? or some really hacking version that calls TBV on a fake chain active
162 2017-03-02 19:28:39	0|sipa|an alternative is just having a background process that every so often runs CNB and caches the result
163 2017-03-02 19:28:48	0|sipa|and then validates it after storing in the cache
164 2017-03-02 19:28:57	0|gmaxwell|Well my thought would be we'd just have a background loop, running even if you don't mine, that TBVs once a minute or so.. and it can get interrupted. and if its interrupted it just gives up until the next minute.
165 2017-03-02 19:29:05	0|morcos|it only needs to be out of the criticial path when there is a new tip... when its just updating the block, it doesn't matter if you wait for it
166 2017-03-02 19:29:06	0|sipa|then GBT can check whether the cached block still builds on top of the best header, and if not, return an empty block
167 2017-03-02 19:29:25	0|gmaxwell|okay if doing what sipa suggests a minute is a bit slow!
168 2017-03-02 19:29:42	0|sipa|and a new tip would obviously wake the background thread
169 2017-03-02 19:29:52	0|gmaxwell|but sounds like we were thinking of similar-ish things.
170 2017-03-02 19:30:10	0|sipa|however, we wouldn't want such a background CNB for normal nodes
171 2017-03-02 19:30:28	0|gmaxwell|I dunno, at a low enough frequency it would be fine and would create a lot more in-field testing.
172 2017-03-02 19:30:37	0|morcos|the good thing about going down that road is you can be smarter about waking the CNB thread to wait until you have new high fee txs that are at least n seconds old or what have you
173 2017-03-02 19:30:54	0|sdaftuar|morcos: are you going to PR something that calls CNB to keep pcoinsTip warm?
174 2017-03-02 19:31:01	0|sipa|and it would keep the sigcache warm with what we expect to be mined
175 2017-03-02 19:31:03	0|morcos|running TBV on slow hardware over and over is probably bad
176 2017-03-02 19:31:18	0|gmaxwell|One thing I suggested previously is that calling GBT pump the refresh of the cache... so it runs more often if you're calling GBT than otherwise.
177 2017-03-02 19:31:32	0|sipa|gmaxwell: seems reasonable
178 2017-03-02 19:31:43	0|morcos|sdaftuar: i don't remember....   but i think the version i had, only ran it once after a flush
179 2017-03-02 19:31:55	0|sipa|this not only takes TBV out of the critical path, but also CNB
180 2017-03-02 19:31:57	0|gmaxwell|morcos: once a minute? it wouldn't be horrible. Once every 10 minutes? 20 minutes?  I think there is a number where its harmless and we would avoid having code that runs only on a very small number of nodes thus gets inadequate operaiton to expose bugs.
181 2017-03-02 19:32:37	0|morcos|honestly i think a more important direction to go would be to start by replacing GBT with a better framework
182 2017-03-02 19:32:42	0|morcos|and then making that work optimally
183 2017-03-02 19:32:50	0|sipa|morcos: i think this may be orthogonal work
184 2017-03-02 19:32:58	0|gmaxwell|I think this is more or less orthorgonal to GBT. In that anything else will still need to create a block template. :)
185 2017-03-02 19:32:58	0|sipa|it'd just be a wrapper around CNB
186 2017-03-02 19:33:22	0|morcos|i agree its mostly orthogonal.. but one still probably has to occupy our attention first
187 2017-03-02 19:33:43	0|sipa|well GBT replacement needs a lot of external discussion
188 2017-03-02 19:33:52	0|gmaxwell|Well there are design considerations in the 'better thing' that hinge really on how fast CNB is ... and the spectrum of options we want to hand out when we can't give an answer fast.
189 2017-03-02 19:35:08	0|morcos|gmaxwell: hmm.. yes... perhaps what i mean is we should design the better thing so it informs what we want out of CNB/TBV.  and document the design so we dont' forget..  even if we don't do it yet
190 2017-03-02 19:36:03	0|gmaxwell|I think right now I don't have a lot of appetite for major inititavies that we can't just do within the project. But if someone wants to undertake a big coordination effort, that shouldn't slow them down.
191 2017-03-02 19:36:14	0|gmaxwell|Okay, well an expirement is not something we need permission for... :)
192 2017-03-02 19:36:42	0|morcos|ok no argument here
193 2017-03-02 19:37:09	0|morcos|i guess this all hinges on making the TBV code (and maybe even CNB) interruptible
194 2017-03-02 19:37:20	0|sipa|i think that's relatively easy
195 2017-03-02 19:38:47	0|morcos|yeah thinking about it, they both are pretty trivial
196 2017-03-02 19:39:22	0|gmaxwell|Tightly related to this question is the question of bypassing validation for things in our template. As you may be aware some people have been using in-mempoolness as a proxy for validity. This seems rather sketchy to me, though it should be a pretty substantial latency improvement.  The assumption that makes ditching TBV okay also makes doing that okay, I believe.  And there is an open alternat
197 2017-03-02 19:39:28	0|gmaxwell|ive which is potentially more safe, if a transaction is in our template cache for this height, which we've already verified, then its validation could be skipped.
198 2017-03-02 19:40:19	0|morcos|i'm basically opposed to that
199 2017-03-02 19:40:57	0|sipa|relying on the template-validation-cache to be correct seems less risky than relying on the mempool itself to be correct
200 2017-03-02 19:41:05	0|gmaxwell|And if it results in users not using this software but software written by people who don't even know enough to oppose that?
201 2017-03-02 19:41:08	0|sipa|but it does make TBV consensus critical
202 2017-03-02 19:41:10	0|morcos|i do think we could do these things while waiting for validation
203 2017-03-02 19:41:20	0|gmaxwell|In any case, just a thought.
204 2017-03-02 19:41:27	0|luke-jr|TBV is already consensus-critical, more or less
205 2017-03-02 19:41:31	0|luke-jr|the code for it anyhow
206 2017-03-02 19:41:35	0|gmaxwell|(that using a tested template is safer than the mempool)
207 2017-03-02 19:42:00	0|sipa|luke-jr: well it uses most of ConnectBlock, which definitely is consensus critical
208 2017-03-02 19:42:04	0|morcos|e.g.  get a new block from the network... -> assume valid -> mark all txs in mempool as potentially used -> CNB from remaining -> have not yet validated new tip or TBV new template, and if we find a block, so be it...
209 2017-03-02 19:42:05	0|sipa|luke-jr: that overlap is what makes it less risky
210 2017-03-02 19:42:29	0|gmaxwell|morcos: that is also interesting.
211 2017-03-02 19:42:36	0|gmaxwell|so fast for mining but nothing else.
212 2017-03-02 19:42:40	0|morcos|gmaxwell: i guess its not QUITE that easy
213 2017-03-02 19:43:11	0|gmaxwell|morcos: but in that case you would extend an invalid block, bad.
214 2017-03-02 19:43:46	0|morcos|gmaxwell: yes but only for a couple hundred ms...  you still immediately validate and switch work if there was a problem
215 2017-03-02 19:44:05	0|gmaxwell|(very bad to have miners extending invalid blocks, even for relatively brief intervals, massively amplifies risk for lite clients-- especially since devices may stay on old work for tens of seconds)
216 2017-03-02 19:44:24	0|sipa|plan: 1) make TBV interruptible 2) add background thread that caches CNB results 3) make GBT return an empty block if the cache does not build on your tip
217 2017-03-02 19:44:29	0|gmaxwell|(and I got flamed to death when I suggested a singaling mechenism for lite clients to ignore confirmations constructed that way)
218 2017-03-02 19:44:47	0|gmaxwell|sipa: that plan sounds good.
219 2017-03-02 19:44:53	0|morcos|well we can't make our plans based on what you get flamed for can we?  :)
220 2017-03-02 19:44:57	0|BlueMatt|gmaxwell: I'm more a fan of not relying on validation being fast - mine empty blocks for the 100ms it takes to get a blocktemplate, and relay blocks during validation
221 2017-03-02 19:45:00	0|BlueMatt|problem solved :)
222 2017-03-02 19:45:05	0|sipa|agree
223 2017-03-02 19:45:35	0|sipa|where did you get flamed?
224 2017-03-02 19:45:39	0|gmaxwell|BlueMatt: you still need to validate a block before extending it. To not do so is toxic to lite clients which strongly trust that you have.
225 2017-03-02 19:45:42	0|gmaxwell|bitcoin-dev
226 2017-03-02 19:45:55	0|morcos|sipa: ha ha ha, that was a funny
227 2017-03-02 19:46:23	0|BlueMatt|gmaxwell: oh? every time I've discussed it with anyone in person they're like "yea, do that, sounds good" :)
228 2017-03-02 19:46:30	0|gmaxwell|I wrote a spec for signaling that you've not validated the prior block. So that lite clients could just ignore those blocks as confirmations.
229 2017-03-02 19:46:44	0|sipa|morcos: it was an honest question - i can remember gmaxwell bringing it up in here a few times, i didn't know there was more to it
230 2017-03-02 19:47:26	0|BlueMatt|gmaxwell: and I think we should implement that when we go to return empty blocks :)
231 2017-03-02 19:47:26	0|gmaxwell|I wrote a BIP, draft-maxwell-flagverify
232 2017-03-02 19:47:35	0|BlueMatt|I'm happy to go implement it in lite clients, too
233 2017-03-02 19:49:28	0|gmaxwell|I also think the rise in fees is such that it's increasingly less interesting to produce empty blocks.
234 2017-03-02 19:50:04	0|BlueMatt|true, but 12.5 BTC is sitll > 0 BTC :P
235 2017-03-02 19:50:06	0|luke-jr|should GBT return partial blocks, as the background thread fills it?
236 2017-03-02 19:50:16	0|gmaxwell|lightsword isn't here now it seems but previously he has pointed out that returning an empty template is often bad because the downstream software stack doesn't know to try again immediately and so will mine on it for a long time.
237 2017-03-02 19:50:24	0|BlueMatt|there is just more pressure to limit the time you're spending mining empty blocks :)
238 2017-03-02 19:50:44	0|BlueMatt|Lightsword: yes he is
239 2017-03-02 19:51:12	0|luke-jr|gmaxwell: what Eloipool does to solve that, is return a longpollid which is triggered as soon as the full template is available
240 2017-03-02 19:51:29	0|gmaxwell|BlueMatt: yes but that isn't the tradeoff. Assuming you mine on the template for --say-- 30 seconds, it's 13.4 BTC expected (13.5 - 100ms of mining) vs 12.5.  or whatnot.
241 2017-03-02 19:52:29	0|sipa|well, we could optionally also make GBT return a partial block and/or block until the full block is available (but not yet TBVed)
242 2017-03-02 19:52:40	0|gmaxwell|e.g. current fees pay for 100ms of delay easily.
243 2017-03-02 19:52:47	0|BlueMatt|gmaxwell: oh? I believe most pools can push a "hard update" or whatever its called
244 2017-03-02 19:52:54	0|BlueMatt|that will force the asic to switch
245 2017-03-02 19:52:54	0|sipa|moving the actual construction to the background won't hurt
246 2017-03-02 19:52:58	0|BlueMatt|there is a flag in stratum for it
247 2017-03-02 19:53:17	0|BlueMatt|(to flush workqueue in asic)
248 2017-03-02 19:53:19	0|gmaxwell|BlueMatt: for some hardware retargeting causes misbehavior/loss of performance.
249 2017-03-02 19:53:51	0|gmaxwell|In any case, it isn't so simple.
250 2017-03-02 19:53:57	0|BlueMatt|fair
251 2017-03-02 19:54:11	0|BlueMatt|I assume most modern hardware supports it, though
252 2017-03-02 19:54:15	0|BlueMatt|given that most pools do this
253 2017-03-02 19:54:20	0|BlueMatt|incl pools run by the hardware mfgrs
254 2017-03-02 19:54:20	0|gmaxwell|Do not assume that.
255 2017-03-02 19:54:31	0|BlueMatt|ok, fair
256 2017-03-02 19:54:42	0|sipa|we're running out of time
257 2017-03-02 19:54:46	0|sipa|any other topics?
258 2017-03-02 19:54:51	0|gmaxwell|quick, empty messages
259 2017-03-02 19:54:54	0|sipa|
260 2017-03-02 19:54:56	0|luke-jr|
261 2017-03-02 19:55:06	0|wumpus|
262 2017-03-02 19:55:23	0|gmaxwell|
263 2017-03-02 19:55:33	0|luke-jr|inb4 trolls use this as proof we obey gmaxwell
264 2017-03-02 19:55:39	0|gwillen|
265 2017-03-02 19:56:09	0|BlueMatt|lulwut
266 2017-03-02 19:56:23	0|wumpus|#topic
267 2017-03-02 19:56:27	0|sipa|it's "lolwut", BlueMatt.
268 2017-03-02 19:56:40	0|BlueMatt|lulzwutz
269 2017-03-02 19:56:51	0|wumpus|cleared the topic, too, now we can cleanly exit the meeting
270 2017-03-02 19:56:52	0|gmaxwell|We should appoint a subcommittee to investigate the spelling of lolwut/lulwut.
271 2017-03-02 19:57:00	0|lightningbot|Log:            http://www.erisian.com.au/meetbot/bitcoin-core-dev/2017/bitcoin-core-dev.2017-03-02-19.01.log.html
272 2017-03-02 19:57:00	0|lightningbot|Meeting ended Thu Mar  2 19:56:59 2017 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
273 2017-03-02 19:57:00	0|lightningbot|Minutes:        http://www.erisian.com.au/meetbot/bitcoin-core-dev/2017/bitcoin-core-dev.2017-03-02-19.01.html
274 2017-03-02 19:57:00	0|lightningbot|Minutes (text): http://www.erisian.com.au/meetbot/bitcoin-core-dev/2017/bitcoin-core-dev.2017-03-02-19.01.txt
275 2017-03-02 19:57:00	0|wumpus|#endmeeting
276 2017-03-02 19:59:07	0|Chris_Stewart_5|What do the acronyms CNB and TBV stand for?
277 2017-03-02 19:59:50	0|sipa|CreateNewBlock, TestBlockValidity
278 2017-03-02 19:59:58	0|Chris_Stewart_5|Thanks.
279 2017-03-02 20:09:11	0|Lightsword|gmaxwell, morcos, sipa, one other approach is to use a more strictly performance optimized version of CNB for the first block template that doesn’t do all the fee maximizing calculations and just takes the top of the mempool
280 2017-03-02 20:09:51	0|gmaxwell|Lightsword: the fee stuff I think takes pratically no time at all.
281 2017-03-02 20:10:00	0|gmaxwell|because it's all built from efficient indexes.
282 2017-03-02 20:11:10	0|gmaxwell|An empty template can be faster because it can be constructed without the prior block having removed its transactions from the mempool... because it needs ~no hashing to construct, etc.
283 2017-03-02 20:11:47	0|gmaxwell|back in the days of priority constructing a template was objectively slow. Now it's just traversing a precomputed index pretty much.
284 2017-03-02 20:12:11	0|Lightsword|gmaxwell, do we loop over the index more than once?
285 2017-03-02 20:12:14	0|sipa|no
286 2017-03-02 20:13:16	0|sipa|but it's a big data structure, traversing indexes that are spread out over memory can take time
287 2017-03-02 20:13:29	0|sdaftuar|fyi i've been benchmarking today
288 2017-03-02 20:13:43	0|sdaftuar|it's a bit slower now than it was last time i benchmarked, so i'm going to investigate
289 2017-03-02 20:14:16	0|gmaxwell|Interesting.  previously and my expectation was that it was just a couple milliseconds, and that we spend more time seralizing the data to json.
290 2017-03-02 20:14:20	0|Lightsword|how much overhead is GetMemPoolChildren? https://github.com/bitcoin/bitcoin/blob/cbdb4732f10cb00ec46a35e5c7adb2c4cdf1d64d/src/miner.cpp#L596
291 2017-03-02 20:14:44	0|sdaftuar|yeah it used to be like 7-10ms of transaction selection, followed by ~35-45ms of TBV, or something like that
292 2017-03-02 20:15:06	0|sdaftuar|but on my runs today on data from December, it's been more like 30-40ms for each of those parts, maybe a bit more
293 2017-03-02 20:15:22	0|gmaxwell|That is interesting.
294 2017-03-02 20:15:30	0|sdaftuar|Lightsword: depends on the state of the mempool.  i think it's possible that if there are more chained transactinos now than the last time i analyzed, it could slow things down
295 2017-03-02 20:15:54	0|sipa|Lightsword: GetMemPoolChildren just returns a reference to a precomputed list of children
296 2017-03-02 20:16:13	0|sipa|i wonder if BOOST_FOREACH makes a copy of it, though
297 2017-03-02 20:16:14	0|sdaftuar|oops, i was thinking of CalculateMemPoolDescendants() or whatever :)
298 2017-03-02 20:16:16	0|Lightsword|sdaftaur, are there any other calls similar to that which could be potentially skipped on the first run through the mempool?
299 2017-03-02 20:16:46	0|sdaftuar|Lightsword: potentially, yeah we could consider dropping the re-sorting of descendants of selected transactions
300 2017-03-02 20:17:01	0|sdaftuar|i'll add that to my list of things to consider
301 2017-03-02 20:17:32	0|Lightsword|my thoughts are that the CNB first call after a block change we can skip descendant calculations entirely and only add transactions that have confirmed inputs
302 2017-03-02 20:18:11	0|gmaxwell|well you could also only take the highest feerate transactions that capture something like 90% of the available fee, and potentially return a short template that will be faster to seralize and send.
303 2017-03-02 20:18:57	0|gmaxwell|but you will still need to wait then for the prior block to remove transactions from the mempool... which is not blindingly fast.
304 2017-03-02 20:19:15	0|Lightsword|how long are you seeing full GBT serialization take?
305 2017-03-02 20:20:21	0|cfields|dammit, I managed to completely miss the meeting
306 2017-03-02 20:21:01	0|Lightsword|cfields, we decided you get to rewrite GBT :P
307 2017-03-02 20:21:37	0|cfields|heh
308 2017-03-02 20:22:47	0|cfields|I blame wumpus :p. i was distracted by the fs abstraction and lost track of time.
309 2017-03-02 20:24:14	0|jeremyrubin|cfields: https://www.youtube.com/watch?v=OXc5ltzKq3Y
310 2017-03-02 20:25:05	0|cfields|haha
311 2017-03-02 20:25:19	0|wumpus|cfields: sorry :p
312 2017-03-02 20:26:03	0|cfields|wumpus: good problem to have :). Nice work.
313 2017-03-02 20:26:04	0|jonasschnelli|I pimped my build server (nightly, PR, release builds): https://bitcoinsrv.jonasschnelli.ch (if anyone cares)
314 2017-03-02 20:27:43	0|wumpus|cfields: Thanks! heh myself I got stuck on a very weird miscompile issue with clang: https://github.com/NuxiNL/cloudabi-ports/issues/30  (likely nothing we have to worry about for our builds, except that we shouldn't be enabling safestack for now)
315 2017-03-02 20:27:54	0|wumpus|jonasschnelli: cool
316 2017-03-02 20:30:00	0|jeremyrubin|wumpus: does they cloudabi stuff exist locally as a sandbox you then run bitcoin in or do you compile it in?
317 2017-03-02 20:30:21	0|wumpus|jonasschnelli: : that web interface is pretty neat
318 2017-03-02 20:31:12	0|cfields|wumpus: nice responsiveness from them
319 2017-03-02 20:31:18	0|wumpus|jeremyrubin: the normal way is to use "cross-compilation", which are available for various platforms. I don't think the compilers themselves run in it yet
320 2017-03-02 20:31:53	0|wumpus|cfields: yes absolutely!
321 2017-03-02 20:32:12	0|cfields|wumpus: i wonder if this effort would help with enabling sandboxing for macos as well
322 2017-03-02 20:32:23	0|cfields|similar restrictions, i would assume
323 2017-03-02 20:32:33	0|wumpus|cfields: I think so
324 2017-03-02 20:32:43	0|jeremyrubin|I guess I was asking because it would be easier to run untrusted binaries
325 2017-03-02 20:33:38	0|jeremyrubin|e.g., you run the launcher program that you know is secure on your machine, which passes the FD to the binary that's marked as unable to get any new capabilities
326 2017-03-02 20:34:05	0|wumpus|jeremyrubin: yes, that's what you can use it for
327 2017-03-02 20:35:04	0|wumpus|jeremyrubin: the program cannot do anything that you haven't allowed to it, not look around the filesystem, not look at hardware identifiers, not connect to the network, etc
328 2017-03-02 20:35:30	0|cfields|jonasschnelli: very cool
329 2017-03-02 20:56:51	0|jeremyrubin|wumpus: but only if you know you compiled it? If someone else compiled it, they could just not link against cloudabi
330 2017-03-02 20:59:46	0|jeremyrubin|random question:
331 2017-03-02 21:00:08	0|jeremyrubin|How important is it that CPubKey::Verify takes a hash?
332 2017-03-02 21:00:23	0|jeremyrubin|e.g., could it be any (padded to 32 byte) data safely?
333 2017-03-02 21:00:48	0|cfields|jeremyrubin: i assume it sets a libc dep, or even elf identifier
334 2017-03-02 21:01:52	0|cfields|jeremyrubin: for what purpose?
335 2017-03-02 21:02:59	0|jeremyrubin|cfields: looking at checksigfromstack implementation
336 2017-03-02 21:03:11	0|jeremyrubin|cfields: I don't think it should include a digest
337 2017-03-02 21:08:58	0|jeremyrubin|yeah I can't think of how it could be unsafe (except maybe unsafe for signers if they sign 0 or something)
338 2017-03-02 21:09:07	0|cfields|jeremyrubin: er, we surely don't want that calculation happening at the pubkey layer?
339 2017-03-02 21:34:25	0|bitcoin-git|13bitcoin/06master 147ed143c 15Russell Yanofsky: Add test for CWalletTx::GetImmatureCredit() returning stale values....
340 2017-03-02 21:34:25	0|bitcoin-git|[13bitcoin] 15MarcoFalke pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/65d90f585a83...f7ec7cfd38b5
341 2017-03-02 21:34:26	0|bitcoin-git|13bitcoin/06master 14f7ec7cf 15MarcoFalke: Merge #9359: Add test for CWalletTx::GetImmatureCredit() returning stale values....
342 2017-03-02 21:34:41	0|bitcoin-git|[13bitcoin] 15MarcoFalke closed pull request #9359: Add test for CWalletTx::GetImmatureCredit() returning stale values. (06master...06pr/immature) 02https://github.com/bitcoin/bitcoin/pull/9359
343 2017-03-02 22:08:55	0|bitcoin-git|[13bitcoin] 15MarcoFalke opened pull request #9905: contrib: Move second sha512 check to the end (06master...06Mf1703-gh-merge) 02https://github.com/bitcoin/bitcoin/pull/9905
344 2017-03-02 22:18:25	0|arubi|does anyone know, was there ever a writeup \ -dev thread about witnessV1\sighashV2 from jl2012's mastV3 fork I see it enables a lot more ways to sign transactions.  I'd appreciate a manual :)
345 2017-03-02 22:18:53	0|arubi|s/from/? from
346 2017-03-02 22:29:05	0|arubi|talking about https://git.io/vynmA and https://git.io/vynmh (python, c++)