1 2016-07-21 00:35:52 0|phantomcircuit|jonasschnelli, can you check 8152 again
2 2016-07-21 00:59:42 0|PRab|Is there a way to have github notify you when there is a new tag?
3 2016-07-21 01:00:55 0|PRab|nm, I should know to google first.
4 2016-07-21 01:01:00 0|PRab|https://github.com/bitcoin/bitcoin/tags.atom works
5 2016-07-21 01:15:35 0|PRab|Testing 0.13.0rc1 from my gitian build. Looks like it upgraded smoothly from 0.12.1 and is working properly for me (Win7 64bit).
6 2016-07-21 08:53:39 0|NicolasDorier|wumpus: can you merge https://github.com/bitcoin/bitcoin/pull/8342 and https://github.com/bitcoin/bitcoin/pull/8341 when you have time (two trivial already acked commits)
7 2016-07-21 08:55:56 0|NicolasDorier|ha and https://github.com/bitcoin/bitcoin/pull/8347
8 2016-07-21 08:56:29 0|NicolasDorier|all trivial stuff so jtimon and me can rebase our independant work on top of it and have smaller future PR
9 2016-07-21 09:43:52 0|wumpus|yes, makes sense
10 2016-07-21 09:57:22 0|GitHub64|13bitcoin/06master 14a3e1984 15NicolasDorier: Consensus: Trivial transform BOOST_FOREACH into for loop
11 2016-07-21 09:57:22 0|GitHub64|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/8e048f40cc25...6f4092da80bc
12 2016-07-21 09:57:23 0|GitHub64|13bitcoin/06master 146f4092d 15Wladimir J. van der Laan: Merge #8342: Consensus: Trivial transform BOOST_FOREACH into for loop...
13 2016-07-21 09:57:34 0|GitHub69|[13bitcoin] 15laanwj closed pull request #8342: Consensus: Trivial transform BOOST_FOREACH into for loop (06master...06removeforeach) 02https://github.com/bitcoin/bitcoin/pull/8342
14 2016-07-21 12:02:03 0|NicolasDorier|wumpus: I just rebased https://github.com/bitcoin/bitcoin/pull/8341 (the second stupid trivial one)
15 2016-07-21 12:02:17 0|wumpus|NicolasDorier: thanks
16 2016-07-21 12:10:04 0|GitHub43|13bitcoin/06master 147821889 15NicolasDorier: Consensus: Remove calls to error() from ContextualCheckBlock
17 2016-07-21 12:10:04 0|GitHub43|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/6f4092da80bc...04af3cfe8fa9
18 2016-07-21 12:10:05 0|GitHub43|13bitcoin/06master 1404af3cf 15Wladimir J. van der Laan: Merge #8341: Consensus: Remove calls to error() from ContextualCheckBlock...
19 2016-07-21 12:10:14 0|GitHub57|[13bitcoin] 15laanwj closed pull request #8341: Consensus: Remove calls to error() from ContextualCheckBlock (06master...06error-calls) 02https://github.com/bitcoin/bitcoin/pull/8341
20 2016-07-21 12:26:57 0|NicolasDorier|wumpus: last is https://github.com/bitcoin/bitcoin/pull/8347 of jtimon and I let you sleep in peace
21 2016-07-21 12:28:45 0|NicolasDorier|wumpus: woops, wait
22 2016-07-21 12:28:50 0|wumpus|OH I was misreading that, looking at the github page it seemed like jtimon was still adding commits to it, but it says "added a commit to jtimon/bitcoin that referenced this pull request", I think that's new?
23 2016-07-21 12:28:58 0|sipa|i don't expect wumpus to sleep at 2:30 pm
24 2016-07-21 12:29:00 0|sipa|:)
25 2016-07-21 12:29:20 0|wumpus|I have a strange sleep/wake rhythm sometimes, but no, I don't expect so either :-)
26 2016-07-21 12:29:23 0|NicolasDorier|yeah, I just saw that too sorry, last time I checked was only the const change :p
27 2016-07-21 12:29:32 0|btcdrak|sipa: I dont expect him to sleep at all. I will buy some match sticks to keep his eyes open 24/7
28 2016-07-21 12:30:08 0|sipa|btcdrak: quality of review may suffer slightly...
29 2016-07-21 12:30:10 0|wumpus|it *is* only the const change, github is just making it confusing
30 2016-07-21 12:30:35 0|NicolasDorier|oh indeed
31 2016-07-21 12:30:51 0|NicolasDorier|got confused as well
32 2016-07-21 12:31:57 0|GitHub37|13bitcoin/06master 146f3d616 15Jorge Timón: Trivial: Make CBlockIndex param const in ContextualCheckBlockHeader and ContextualCheckBlock
33 2016-07-21 12:31:57 0|GitHub37|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/04af3cfe8fa9...381917f610e3
34 2016-07-21 12:31:58 0|GitHub37|13bitcoin/06master 14381917f 15Wladimir J. van der Laan: Merge #8347: Trivial: Make CBlockIndex param const in ContextualCheckBlockHeader and ContextualCheckBlock...
35 2016-07-21 12:32:08 0|GitHub87|[13bitcoin] 15laanwj closed pull request #8347: Trivial: Make CBlockIndex param const in ContextualCheckBlockHeader and ContextualCheckBlock (06master...060.12.99-consensus-const-lost) 02https://github.com/bitcoin/bitcoin/pull/8347
36 2016-07-21 12:34:59 0|NicolasDorier|thanks
37 2016-07-21 12:40:52 0|jtimon|awesome, thanks guys
38 2016-07-21 12:41:42 0|jtimon|NicolasDorier: regarding some of our diffenrces in getflags parameters, they will be resolved by removing issupermajority instead of moving it
39 2016-07-21 12:44:29 0|NicolasDorier|ooooh that's super cool if we can remove it
40 2016-07-21 12:44:41 0|NicolasDorier|how? hard coding the activations ?
41 2016-07-21 12:44:54 0|btcdrak|NicolasDorier: this was the discussion on it https://botbot.me/freenode/bitcoin-core-dev/2016-07-17/?msg=69776851&page=1
42 2016-07-21 12:47:13 0|NicolasDorier|oh cool
43 2016-07-21 12:52:13 0|GitHub111|[13bitcoin] 15NicolasDorier closed pull request #8344: Consensus: Use pindex for ISM check (06master...06not-using-block) 02https://github.com/bitcoin/bitcoin/pull/8344
44 2016-07-21 12:54:30 0|NicolasDorier|gmaxwell: do you plan to make a PR soon about removing ISM completely ? I can work on redoing it if needed, it simplify the code I'm writing for verifyBlock in consensuslib
45 2016-07-21 13:09:24 0|jtimon|btw, https://github.com/bitcoin/bitcoin/pull/8348 and https://github.com/bitcoin/bitcoin/pull/8346 are pretty trivial too
46 2016-07-21 13:11:39 0|jtimon|NicolasDorier: yeah, hardcoding the activations in Consensus::Params like CodeShark did with bip34, the other day gmaxwell said he was working on suh a branch
47 2016-07-21 13:12:14 0|jtimon|Ideally we would use an array, I wish I had seen the PR for BIP34 when it was open...
48 2016-07-21 13:13:32 0|jtimon|I'm happy to write that too, the hardest part for me would be too look at the heights and block hashes
49 2016-07-21 13:16:50 0|jtimon|but yeah, whoever writes it, it simplifies things for libconsensus encapsulation
50 2016-07-21 14:20:26 0|GitHub197|[13bitcoin] 15jtimon closed pull request #8345: Introduce Consensus::GetFlags() and hide IsSuperMajority() (06master...060.12.99-consensus-flags) 02https://github.com/bitcoin/bitcoin/pull/8345
51 2016-07-21 14:53:34 0|jtimon|sipa: I've been thinking more about the consensus vs script flags, I guess it has the advantage of having a much shorter list of consensus flags, basically only one per consensus deployment (well, we can keep bip68 and bip112 as separated flags), while the script flags have many more thant in principle don't need to be exposed in libconsensus
52 2016-07-21 14:54:37 0|sipa|jtimon: right; if the script code is at some point duplicated to form a consensus-only form, we could combine the flags there
53 2016-07-21 14:55:05 0|sipa|but as long as the script code is more generically useful, it will have flags that are not necessarily consensus, and it feels cleaner to have the script code independent
54 2016-07-21 14:56:09 0|jtimon|but I still believe that the refactor is much simpler if we put temporarily the locktime flags and the new ones (bip30 and bip34) in the script flags and then we separate them
55 2016-07-21 14:58:46 0|jtimon|those non consensus script flags are hidden behind the flags in script/bitcoinconsensus.h for libconsensus anyway, that's why I wasn't seeing the point at first
56 2016-07-21 15:00:04 0|jtimon|probably that's where the consensus flags should be instead of consensus/falgs.h as previously suggested, but then main would need to include script/bitcoinconsensus.h
57 2016-07-21 15:01:12 0|jtimon|s/falgs/flags
58 2016-07-21 15:04:01 0|jtimon|mhmm, no converter is necessary if the flags in script/bitcoinconsensus.h and script/interpreter.h just keep matching in their bit numbers...
59 2016-07-21 15:04:32 0|sipa|that's a terrible idea
60 2016-07-21 15:04:47 0|sipa|i've argued several times that they should be made independent
61 2016-07-21 15:05:03 0|sipa|internal constants should not leak into a public API
62 2016-07-21 15:05:05 0|jtimon|I also prefer the converter function, but that's what we're doing right now
63 2016-07-21 15:05:19 0|jtimon|makes sense
64 2016-07-21 15:05:43 0|jtimon|ok, this helps me understand your whole reasoning much better, thanks
65 2016-07-21 15:05:57 0|sipa|but yes, that is what we're currently doing - but i wouldn't extend that practice further
66 2016-07-21 15:07:50 0|jtimon|I'll write a converter function and see how disruptive it looks compared with temporarily putting non-script flags in script/interpreter.h
67 2016-07-21 15:10:27 0|jtimon|erik from libbitcoin also complained about the flags, I believe that was one of the reasons they don't use our API directly and copy the code instead, but IIRC the main one is having to serialize/decerialize the tx to be signed
68 2016-07-21 15:12:43 0|jtimon|should talk to him again to remind me his thoughts
69 2016-07-21 15:15:22 0|jtimon|in fact, I should have taken notes
70 2016-07-21 15:15:51 0|jtimon|I have a very good reason for trusting my memory instead of taking notes most of the time, but I forgot what it was ;)
71 2016-07-21 15:16:25 0|sipa|hahaha
72 2016-07-21 15:32:22 0|GitHub188|13bitcoin/060.13 14f891e34 15Jannes Faber: fix typo: propagation relay -> delay
73 2016-07-21 15:32:22 0|GitHub188|[13bitcoin] 15laanwj pushed 2 new commits to 060.13: 02https://github.com/bitcoin/bitcoin/compare/66dde4edf733...cbdbc75139a6
74 2016-07-21 15:32:23 0|GitHub188|13bitcoin/060.13 14cbdbc75 15Wladimir J. van der Laan: Merge #8380: fix typo: propagation relay -> delay...
75 2016-07-21 15:32:27 0|GitHub33|[13bitcoin] 15laanwj closed pull request #8380: fix typo: propagation relay -> delay (060.13...06patch-1) 02https://github.com/bitcoin/bitcoin/pull/8380
76 2016-07-21 15:54:03 0|GitHub75|[13bitcoin] 15laanwj closed pull request #8374: Add release notes for mining changes (060.13...06release-notes-mining) 02https://github.com/bitcoin/bitcoin/pull/8374
77 2016-07-21 15:54:05 0|GitHub67|13bitcoin/060.13 1452a4158 15Suhas Daftuar: Add release notes for mining changes
78 2016-07-21 15:54:05 0|GitHub67|[13bitcoin] 15laanwj pushed 2 new commits to 060.13: 02https://github.com/bitcoin/bitcoin/compare/cbdbc75139a6...76bc30beab86
79 2016-07-21 15:54:06 0|GitHub67|13bitcoin/060.13 1476bc30b 15Wladimir J. van der Laan: Merge #8374: Add release notes for mining changes...
80 2016-07-21 15:54:57 0|luke-jr|ââ¬Â¦
81 2016-07-21 15:58:39 0|wumpus|luke-jr: you can do your proposed changes now
82 2016-07-21 16:03:35 0|luke-jr|Lightsword: my hot wallet has too much in it to risk upgrading yet; I should probably deal with that
83 2016-07-21 16:04:26 0|Lightsword|luke-jr, canââ¬â¢t you just backup wallet.dat before doing anything with latest version?
84 2016-07-21 16:04:58 0|luke-jr|Lightsword: sure, but bdb issues are the least probable kind of loss
85 2016-07-21 16:05:35 0|luke-jr|I have no particular concerns, just don't like to use new code with lots of funds
86 2016-07-21 16:05:55 0|Lightsword|what are the other probable kind?
87 2016-07-21 16:06:28 0|luke-jr|Lightsword: sending the wrong amount somewhere, or to fee
88 2016-07-21 16:07:26 0|luke-jr|no changes to the old code
89 2016-07-21 16:07:56 0|luke-jr|the usual reason stable software is preferred over bleeding edge
90 2016-07-21 16:08:27 0|luke-jr|anyhow, looks like it was a build system issue, and got it to build
91 2016-07-21 16:08:28 0|Lightsword|yeahââ¬Â¦but 0.10ââ¬Â¦is two releases behind the latest stable
92 2016-07-21 16:09:11 0|luke-jr|not even a year old
93 2016-07-21 16:09:21 0|luke-jr|0.10.4 was released 2015 Nov
94 2016-07-21 16:09:55 0|Lightsword|I thought 0.11.2 or whatever was earlier since 0.10.4 was a backport
95 2016-07-21 16:12:24 0|luke-jr|v0.11.0 was 2015 Jul
96 2016-07-21 16:12:33 0|luke-jr|only a year
97 2016-07-21 17:01:33 0|GitHub177|[13bitcoin] 15luke-jr opened pull request #8386: mining: Optimise for typical mining use with blockmaxsize (06master...06blockmaxsize_opti) 02https://github.com/bitcoin/bitcoin/pull/8386
98 2016-07-21 17:01:53 0|GitHub184|[13bitcoin] 15luke-jr opened pull request #8387: [0.13] mining: Optimise for typical mining use with blockmaxsize (06master...06blockmaxsize_opti-0.13) 02https://github.com/bitcoin/bitcoin/pull/8387
99 2016-07-21 17:02:02 0|GitHub33|[13bitcoin] 15luke-jr closed pull request #8387: [0.13] mining: Optimise for typical mining use with blockmaxsize (06master...06blockmaxsize_opti-0.13) 02https://github.com/bitcoin/bitcoin/pull/8387
100 2016-07-21 17:02:38 0|GitHub51|[13bitcoin] 15luke-jr opened pull request #8388: [0.13] mining: Optimise for typical mining use with blockmaxsize (060.13...06blockmaxsize_opti-0.13) 02https://github.com/bitcoin/bitcoin/pull/8388
101 2016-07-21 17:48:44 0|gmaxwell|are there NO web block explorers that show transaction version numbers?!
102 2016-07-21 17:52:12 0|gmaxwell|hmph, when connecting blocks at start RPC can return "Loading banlist" for the duration...
103 2016-07-21 17:53:01 0|wumpus|gmaxwell: known issue https://github.com/bitcoin/bitcoin/issues/8117
104 2016-07-21 17:54:56 0|wumpus|it's supposed to release the lock every block, but sometimes it appears it doesn't
105 2016-07-21 17:55:33 0|roasbeef|gmaxwell: smartbit and http://srv1.yogh.io/ do, a few other do as well but can't recall off the top atm
106 2016-07-21 18:00:06 0|achow101|gmaxwell: blockcypher does under "advanced details"
107 2016-07-21 18:03:02 0|jonasschnelli|<phantomcircuit:#bitcoin-core-dev> jonasschnelli, can you check 8152 again
108 2016-07-21 18:03:05 0|jonasschnelli|Yes. Will do.
109 2016-07-21 18:05:40 0|sipa|wumpus: i think we should try adding a yield and see if there is a performance degradation
110 2016-07-21 18:06:51 0|sipa|wumpus: in ActivateBestChain
111 2016-07-21 18:07:34 0|gmaxwell|roasbeef: achow101: Thanks, I tried like 5 of them before giving up.
112 2016-07-21 18:09:54 0|wumpus|sipa: Iworth a try I guess
113 2016-07-21 18:10:53 0|sipa|wumpus: as far as i know there is no guarantee that the scheduler gives a fair distribution of cpu time in case there are multiple waiting threads
114 2016-07-21 18:11:27 0|sipa|in ActivateBestChain we release cs_main but pretty much instantly grab it agaim
115 2016-07-21 18:11:27 0|wumpus|there is no guarantee, no, but with multiple cores I think usually a waiting thread should get the lock
116 2016-07-21 18:12:19 0|wumpus|but indeed if you grab it immediately again, that may be a special case
117 2016-07-21 18:12:39 0|gmaxwell|we could just add explicit sleeps when connecting more than a few blocks.
118 2016-07-21 18:12:40 0|wumpus|it may be re-locked before anyone else even sees
119 2016-07-21 18:12:50 0|wumpus|adding sleeps sounds really ugly
120 2016-07-21 18:13:01 0|wumpus|there must be a better way
121 2016-07-21 18:13:52 0|sipa|yes, getting rid of locks that are held for long periods of time :)
122 2016-07-21 18:13:55 0|wumpus|I'm aware a yield is effectively a sleep for one timeshare, but at least it's as short as possible
123 2016-07-21 18:15:13 0|sipa|maybe we can release cs_main during signature verification (but after fetching inputs from the cache), and grabbing it back afterwards and compare if the tip is still the same, and apply the changes
124 2016-07-21 18:15:46 0|wumpus|maybe yield-every-N-ms-or-more instead of, by definition, every block? this avoids the yield slowing things down in the beginning when blocks validate really fast
125 2016-07-21 18:15:53 0|wumpus|then again maybe it's not a performance issue at all
126 2016-07-21 18:16:39 0|sipa|well there are two questions: 1) is yield sufficient to fix this problem at all?
127 2016-07-21 18:16:56 0|sipa|2) what performance overhead does yield have if there are no orher waiters
128 2016-07-21 18:17:08 0|wumpus|the issue is only noticable when cs_main is held for, say, more than a second
129 2016-07-21 18:17:27 0|wumpus|(2) is up to 20ms, depending on the scheduler
130 2016-07-21 18:17:35 0|wumpus|it just gives away the rest of the timeslot
131 2016-07-21 18:18:17 0|sipa|it gives away the rest of the timeslot if there is another candidate for taking the timeslot
132 2016-07-21 18:18:34 0|wumpus|yes, which is very likely on a modern multitasking OS
133 2016-07-21 18:19:38 0|wumpus|but indeed it depends on factors not under bitcoind's control
134 2016-07-21 18:19:51 0|sipa|we should benchmark :)
135 2016-07-21 18:28:48 0|jeremyrubin|I'm using this_thread::yield() in some code right now while I wait on something, seems to work well enough
136 2016-07-21 18:37:22 0|jtimon|sorry, late
137 2016-07-21 18:37:32 0|jonasschnelli|no
138 2016-07-21 18:37:45 0|jonasschnelli|meeting is in 23 mins. :)
139 2016-07-21 18:41:05 0|jtimon|jonasschnelli: oh, yeah of course, how could I need to be reminded again? I even got it right the last weeks, I was of course just pinging other people...besides there's no start meeting in the backscroll...
140 2016-07-21 18:41:28 0|sipa|jtimon: calendars help :)
141 2016-07-21 18:41:55 0|sipa|jtimon: bitcoin core irc meeting is 7pm iceland time
142 2016-07-21 18:42:20 0|btcdrak|We should hold the next coredev.tech in Iceland @jonasschnelli
143 2016-07-21 18:42:52 0|jonasschnelli|btcdrak: Yes. Sure! Always wanted to go to see how the vikings live today. :)
144 2016-07-21 18:43:02 0|jonasschnelli|Reikjavik must be awesome
145 2016-07-21 18:43:19 0|btcdrak|Yes, I already has a look they have nice meeting venues
146 2016-07-21 18:43:44 0|sipa|nature just outside of reykjavik is much nicer even
147 2016-07-21 18:45:23 0|jtimon|yep, I should finally put this meeting in my google calendar, but I'm usually at home in front of the pc at 7 pm iceland, which will only change from CET twice, I should be able to memorize this, I just saw the 1X:34 in the clock and panicked
148 2016-07-21 18:46:48 0|jtimon|I'll just fo it I guess, f$%#ng goole...
149 2016-07-21 18:46:55 0|MarcoFalke|jtimon: Bookmark http://www.wolframalpha.com/input/?i=7pm+UTC ;)
150 2016-07-21 18:47:50 0|jtimon|MarcoFalke: good tip
151 2016-07-21 18:50:13 0|wumpus|yes, good idea @ iceland
152 2016-07-21 18:59:29 0|wumpus|meeting time
153 2016-07-21 18:59:40 0|jonasschnelli|megaping required
154 2016-07-21 18:59:42 0|btcdrak|here
155 2016-07-21 18:59:46 0|jeremyrubin|here
156 2016-07-21 18:59:49 0|bsm117532|here
157 2016-07-21 18:59:51 0|luke-jr|grubles: nicks
158 2016-07-21 18:59:51 0|wumpus|#startmeeting
159 2016-07-21 18:59:52 0|lightningbot|Meeting started Thu Jul 21 18:59:51 2016 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.
160 2016-07-21 18:59:52 0|lightningbot|Useful Commands: #action #agreed #help #info #idea #link #topic.
161 2016-07-21 18:59:52 0|sipa|here
162 2016-07-21 18:59:58 0|luke-jr|guess he won't do it XD
163 2016-07-21 19:00:02 0|gmaxwell|#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier
164 2016-07-21 19:00:16 0|kanzure|topics?
165 2016-07-21 19:00:17 0|sipa|thanks, gmaxwellbot
166 2016-07-21 19:00:21 0|wumpus|topic: 0.13
167 2016-07-21 19:00:24 0|gmaxwell|s'not a bot.
168 2016-07-21 19:00:30 0|jonasschnelli|topic: 0.13 OSX determinism
169 2016-07-21 19:00:32 0|btcdrak|/msg gmaxwell help topics
170 2016-07-21 19:00:33 0|cfields|here, but at conference and only 1/2 present
171 2016-07-21 19:00:37 0|luke-jr|gribble: nicks
172 2016-07-21 19:00:45 0|grubles|luke-jr: ?
173 2016-07-21 19:00:46 0|btcdrak|maxwellbot appears to be down
174 2016-07-21 19:00:46 0|wumpus|jonasschnelli: wasn't that solved already?
175 2016-07-21 19:00:50 0|luke-jr|grubles: mixed you up with the box :p
176 2016-07-21 19:00:56 0|wumpus|#topic 0.13
177 2016-07-21 19:01:07 0|jonasschnelli|wumpus: ah. Was that merged already... sorry, have't noticed.
178 2016-07-21 19:01:11 0|wumpus|any criticial issues reported with the rc1 yet?
179 2016-07-21 19:01:15 0|grubles|luke-jr: oh ok :)
180 2016-07-21 19:01:24 0|luke-jr|wumpus: lack of a way to export the seed has been a complaint on reddit at least
181 2016-07-21 19:01:34 0|jonasschnelli|I'm working on the critical bug with HD and wallet encrypt (that's the only feedback I got from Rc1)
182 2016-07-21 19:01:39 0|cfields|jonasschnelli: yes. I need to upstream it though.
183 2016-07-21 19:02:00 0|wumpus|jonasschnelli: thanks, yes I've added 0.13 milestone to https://github.com/bitcoin/bitcoin/issues/8383
184 2016-07-21 19:02:02 0|jonasschnelli|there is a PR to export the seed in dumpwallet
185 2016-07-21 19:02:07 0|jonasschnelli|we could consider that for 0.13
186 2016-07-21 19:02:12 0|jonasschnelli|its easy to review.
187 2016-07-21 19:02:15 0|jonasschnelli|Low impacts
188 2016-07-21 19:02:16 0|wumpus|jonasschnelli: if it's low-impact, why not
189 2016-07-21 19:02:21 0|luke-jr|wumpus: the default policy not performing as well as inadvisable policies is apparently an issue, which I just PR'd a fix for an hour or so ago
190 2016-07-21 19:02:22 0|sipa|agree on that
191 2016-07-21 19:02:28 0|CodeShark|wumpus: there are a few issues with the release notes - I'll try to submit comments shortly
192 2016-07-21 19:02:28 0|jonasschnelli|https://github.com/bitcoin/bitcoin/pull/8206
193 2016-07-21 19:02:33 0|luke-jr|jonasschnelli: IMO yes
194 2016-07-21 19:02:47 0|sipa|jonasschnelli: also in importwallet ?
195 2016-07-21 19:02:53 0|jonasschnelli|Ino
196 2016-07-21 19:02:55 0|jonasschnelli|no
197 2016-07-21 19:02:57 0|wumpus|no, just exporting
198 2016-07-21 19:03:04 0|jonasschnelli|import wallet imples "import" and no change the see
199 2016-07-21 19:03:05 0|jonasschnelli|seed
200 2016-07-21 19:03:05 0|wumpus|importing is a wholly different issue
201 2016-07-21 19:03:21 0|luke-jr|jonasschnelli: I don't see why import doesn't imply adding the seed
202 2016-07-21 19:03:23 0|jonasschnelli|Import would just pick the keys.
203 2016-07-21 19:03:24 0|wumpus|(e.g. in some cases you may want to change the seed, but usually probably not)
204 2016-07-21 19:03:34 0|luke-jr|does the current format all multiple seeds?
205 2016-07-21 19:03:35 0|jonasschnelli|luke-jr: adding yes, but not overwriting the current one
206 2016-07-21 19:03:35 0|wumpus|luke-jr: because you may be importing to *combine* wallets
207 2016-07-21 19:03:45 0|jonasschnelli|luke-jr: a seed is just a key
208 2016-07-21 19:03:45 0|luke-jr|err
209 2016-07-21 19:03:52 0|luke-jr|*does the current format support having multiple seeds?
210 2016-07-21 19:03:57 0|sipa|nope
211 2016-07-21 19:03:59 0|gmaxwell|nope
212 2016-07-21 19:04:02 0|wumpus|in any case that's too much impact
213 2016-07-21 19:04:06 0|luke-jr|I suppose
214 2016-07-21 19:04:10 0|wumpus|exporting is easy to do for 0.13 so I think we should
215 2016-07-21 19:04:15 0|sipa|that would require having multiple lookahead key pools etc
216 2016-07-21 19:04:19 0|gmaxwell|it's the simplest possible.
217 2016-07-21 19:04:19 0|sipa|ack on export
218 2016-07-21 19:04:34 0|wumpus|for 0.14 we could consider things like support multiple seeds
219 2016-07-21 19:04:45 0|jonasschnelli|Okay. Marked #8206 for 0.13
220 2016-07-21 19:04:48 0|jonasschnelli|#action review #8206
221 2016-07-21 19:04:53 0|luke-jr|IMO as long as we're not ruling out multi-seed wallets in 0.14+, ok
222 2016-07-21 19:04:54 0|wumpus|thanks
223 2016-07-21 19:05:07 0|sipa|luke-jr: agree
224 2016-07-21 19:05:23 0|jonasschnelli|Since we have now the most important change done for HD, we can try to add lots of features for 0.14.
225 2016-07-21 19:05:25 0|jtimon|proposed topic: remove ISM
226 2016-07-21 19:06:21 0|wumpus|proposed topic from jeremyrubin: checkqueue.h change
227 2016-07-21 19:06:44 0|sipa|are we done with 0.13 discussion?
228 2016-07-21 19:06:45 0|jeremyrubin|wumpus: topic proposal checkqueue performance
229 2016-07-21 19:07:03 0|jeremyrubin|ah oops sorry network lag
230 2016-07-21 19:07:09 0|jtimon|jeremyrubin: thanks for being more specific
231 2016-07-21 19:07:16 0|wumpus|sipa: I think so, unless there are other issues reported I think that's all for 0.13 for this week
232 2016-07-21 19:07:38 0|jtimon|jeremyrubin: seriously, don't be sorry, it helped me
233 2016-07-21 19:07:39 0|sipa|ok
234 2016-07-21 19:07:55 0|wumpus|#topic remove ISM
235 2016-07-21 19:08:13 0|luke-jr|(https://github.com/bitcoin/bitcoin/pull/8388 needs a 0.13 tag I guess)
236 2016-07-21 19:08:48 0|sipa|about removing ISM
237 2016-07-21 19:08:50 0|sipa|how?
238 2016-07-21 19:09:04 0|wumpus|ISM=IsSuperMajority?
239 2016-07-21 19:09:08 0|instagibbs|yes
240 2016-07-21 19:09:09 0|sipa|1) just a height after which the previous softforks activate
241 2016-07-21 19:09:10 0|btcdrak|wumpus: yes
242 2016-07-21 19:09:13 0|jtimon|well, my preference would be to introduce a getflags function first
243 2016-07-21 19:09:16 0|gmaxwell|when are we branching? I've been holding off on patches until after the branch.
244 2016-07-21 19:09:28 0|sipa|gmaxwell: branch was a few days ago
245 2016-07-21 19:09:29 0|btcdrak|gmaxwell: we branched already
246 2016-07-21 19:09:29 0|wumpus|gmaxwell: we've already branched a few days ago
247 2016-07-21 19:09:31 0|luke-jr|how many exceptional blocks violate softfork-added rules?
248 2016-07-21 19:09:51 0|sdaftuar|i'm curious to know what you're thinking about doing for regtest
249 2016-07-21 19:10:02 0|btcdrak|for some reason github didnt ping the channel on new branch creation
250 2016-07-21 19:10:23 0|gmaxwell|oh I missed that.
251 2016-07-21 19:10:24 0|instagibbs|sdaftuar, any issues you can think of?
252 2016-07-21 19:10:30 0|sipa|sdaftuar: ugh... a command line option to enable the rules individually (from the start, over the entire chain)?
253 2016-07-21 19:10:33 0|jtimon|but knowing that ISM is going to be reomved, just don't touch any ISM call and leave it all prepared for ISM calls to be simply removed from main and replaced with the new code inside versionbits::getflags()\
254 2016-07-21 19:10:57 0|wumpus|luke-jr: 8388 is a pretty large change, isn't that a lot to do last-minute? also you don't have a description on the pull at all
255 2016-07-21 19:11:04 0|gmaxwell|jtimon: ISM things are not versionbits.
256 2016-07-21 19:11:08 0|gmaxwell|We went over this before.
257 2016-07-21 19:11:18 0|btcdrak|yes we did
258 2016-07-21 19:11:21 0|jtimon|I was previously of the opinion that a height was enough but I changed my mind, yes, block hash too
259 2016-07-21 19:11:40 0|gmaxwell|sipa: see consensus.BIP34Height = 227931;
260 2016-07-21 19:11:46 0|gmaxwell|sipa: in chainparams.cpp
261 2016-07-21 19:11:48 0|btcdrak|jtimon: gmaxwell said he is working on a ISM removal PR
262 2016-07-21 19:11:48 0|gmaxwell|"like that"
263 2016-07-21 19:12:14 0|luke-jr|wumpus: well, I didn't expect counting bytes to be used as an excuse to have the release notes pressure miners to use bad policy configs
264 2016-07-21 19:12:45 0|jtimon|gmaxwell: agreed, I only want a getconsensusflags function, if it's defined in versionbits or consensus/header_verify.cpp or somewhere else I don't care so much
265 2016-07-21 19:12:53 0|gmaxwell|sdaftuar: what I'd done is just set regtest to 0, but hadn't checked to see what tests doing that would break.
266 2016-07-21 19:13:13 0|jtimon|but I strongly oppose to define getflags in main.cpp
267 2016-07-21 19:13:22 0|gmaxwell|jtimon: the things which are ISM should not be flags, becuase they're not optional anymore.
268 2016-07-21 19:13:23 0|wumpus|luke-jr: ok, fair enough, I do think it requires more discussion
269 2016-07-21 19:13:41 0|btcdrak|jtimon: but that doesnt mean you can stuff them into an unrelated unit
270 2016-07-21 19:13:45 0|sdaftuar|gmaxwell: i guess we can just change the tests that test activation of ISM things
271 2016-07-21 19:14:00 0|sdaftuar|gmaxwell: so maybe that will work fine?
272 2016-07-21 19:14:15 0|morcos|gmaxwell: they still need flags right? for when they are active and when they aren't?
273 2016-07-21 19:14:34 0|gmaxwell|sdaftuar: yea, thats what I was thinking. the obvious alternative is to set it to something not 0, like 5.. and let the tests handle it.
274 2016-07-21 19:14:36 0|sdaftuar|i wonder if there are cases where we might want to test how a chain behaves when some blocks don't satisfy a rule (like bip34) and then later ones do.
275 2016-07-21 19:15:02 0|gmaxwell|morcos: some of the things are not accomplished via flags like mechenisms, e.g. the version number checks. They're not a script feature.
276 2016-07-21 19:15:28 0|jtimon|btcdrak: yep, I just want to coordinate with him, in fact, I believe NicolasDorier and I will benifit more than gmaxwell from this coordination, gmaxwell doesn't really need us and can do it all in main
277 2016-07-21 19:15:32 0|sipa|sdaftuar: versionbits does not need that anymore, and i don't care strongly about testing that for purely historical features
278 2016-07-21 19:15:46 0|sipa|jtimon: please
279 2016-07-21 19:16:22 0|sdaftuar|sipa: yeah i think you're basically right, we can just enumerate each of the ISM soft forks and make a decision, there's only a handful
280 2016-07-21 19:16:30 0|sipa|sdaftuar: exactly
281 2016-07-21 19:16:44 0|wumpus|jtimon: where to put it and what solution to use are orthogonal issues
282 2016-07-21 19:18:08 0|gmaxwell|Some future softforks that get virtified might even have no violations anywhere in the chain, in which case, I'd propose just removing all conditional logic for them entirely.
283 2016-07-21 19:18:10 0|jtimon|wumpus: agreed, but two people trying to complete verifyblock would benefit in sharing the most common refactors as possible
284 2016-07-21 19:18:30 0|gmaxwell|I believe CSV might be an example of that.
285 2016-07-21 19:18:46 0|jtimon|gmaxwell: I agree, but I was talking much shorter term here
286 2016-07-21 19:18:59 0|jtimon|as in, whithin the refactor window
287 2016-07-21 19:19:11 0|gmaxwell|adding a bunch of additional 'flags' for things like height checks would be undesirable code smell.
288 2016-07-21 19:19:32 0|gmaxwell|as would moving ISM logic into a file called versionbits.cpp.
289 2016-07-21 19:19:40 0|sipa|agree
290 2016-07-21 19:19:47 0|luke-jr|gmaxwell: GBT will likely pose a problem for that, but probably not insurmountable (worst case we can neuter GBT by removing the clients-can-modify-the-template aspect, since nobody much uses it afaik)
291 2016-07-21 19:19:54 0|CodeShark|I had proposed a softforks unit to solve this a while back ;)
292 2016-07-21 19:20:32 0|gmaxwell|To be honest, I am really frustrated right now with some of the pointless nitpicky behavior being driven by 'refactoring' all of a sudden. It's making me want to not be involved in the project.
293 2016-07-21 19:20:37 0|NicolasDorier|btw, I'm almost done with the PR removing ISM
294 2016-07-21 19:21:01 0|gmaxwell|I don't have the time to endlessly debate minutia with people who are being very tunnel vision about varrious things.
295 2016-07-21 19:21:26 0|CodeShark|?
296 2016-07-21 19:21:33 0|GitHub128|[13bitcoin] 15jonasschnelli opened pull request #8389: [0.13] Create a new HD seed after encrypting the wallet (060.13...062016/07/hd_enc) 02https://github.com/bitcoin/bitcoin/pull/8389
297 2016-07-21 19:21:37 0|jtimon|gmaxwell: the movement of ISM to versionbits was only in preparation to more cleanly remove it later and not having to include main.h from consensus files, but yeah no need to move it, just delete it beforehand
298 2016-07-21 19:21:45 0|wumpus|well code that is going away doesn't need to be moved
299 2016-07-21 19:21:57 0|jtimon|of course, agreed
300 2016-07-21 19:22:30 0|wumpus|but refactoring main.cpp is also important - we've held it off for so long now
301 2016-07-21 19:22:58 0|CodeShark|Making sure the code doesn't get cluttered in the long run and establishing good habits for this early on are not tunnel vision, imho
302 2016-07-21 19:22:58 0|sipa|agree
303 2016-07-21 19:23:02 0|jtimon|all I want to agree is that is "going away" to getflags, and that getflags has some place to exist (it may not be versionbits.o)
304 2016-07-21 19:23:02 0|wumpus|after all that time we still have that huge c++ file with so many different responsibilities
305 2016-07-21 19:23:16 0|jtimon|it won't go away
306 2016-07-21 19:23:30 0|sipa|jtimon: is getflags the "one set of flags for everything"? if so, nack
307 2016-07-21 19:23:37 0|kanzure|while we're busy refactoring everything i would like libconsensus and a pony
308 2016-07-21 19:24:07 0|jtimon|it will be replaced and we can leave it all preapare for where it will be replaced with something like bip34 and that will simplify things, I believe
309 2016-07-21 19:24:25 0|sipa|ok, can we move on?
310 2016-07-21 19:24:28 0|wumpus|in any case, this doesn't seem to be a constructive topic in the meeting anymore
311 2016-07-21 19:24:36 0|CodeShark|yes, let's move ob
312 2016-07-21 19:24:39 0|sipa|or are there still things about ISM?
313 2016-07-21 19:24:40 0|CodeShark|on
314 2016-07-21 19:24:50 0|wumpus|#topic checkqueue.h optimization
315 2016-07-21 19:24:59 0|btcdrak|ping jeremyrubin
316 2016-07-21 19:25:36 0|jtimon|sipa: thank you for being so direct. After our discussions on the subject, I agree the script flags should be separated, but for now it should be libconsensus flags and script flags, yes
317 2016-07-21 19:25:41 0|jeremyrubin|Hi
318 2016-07-21 19:26:07 0|jeremyrubin|So all I wanted to say is that I am doing some refactoring of checkqueue, have some nice improvements preliminarily.
319 2016-07-21 19:26:25 0|jeremyrubin|Will push something to my fork if you're particularly interested in it
320 2016-07-21 19:26:35 0|jtimon|sipa: I know you won't like non-script flags in script/interpreter even temporarily, I'm working on changing that, but that's just hwat I have right now
321 2016-07-21 19:26:45 0|wumpus|jeremyrubin: looking forward to the pull request :)
322 2016-07-21 19:26:52 0|jonasschnelli|jeremyrubin: nice!
323 2016-07-21 19:27:10 0|sipa|jeremyrubin: looking forward to it, obviously
324 2016-07-21 19:27:24 0|sipa|(as long as it doesn't rely on MIPS assembly)
325 2016-07-21 19:27:25 0|jtimon|wumpus: well, it is constructive for me, I'm getting useful feedback
326 2016-07-21 19:27:26 0|jeremyrubin|just wanted to note it as I've heard some other people looking at it, so don't want to duplicte work
327 2016-07-21 19:27:53 0|jeremyrubin|that's all!
328 2016-07-21 19:28:31 0|cfields|jeremyrubin: along those lines, I've been working on optimizing the sigcache, after morcos pointed out some cool speedups. maybe we should work together to come up with a good representative bench for testing improvements?
329 2016-07-21 19:28:34 0|wumpus|jtimon: ok that's good; it didn't seem to be going the right way. Seems that gmaxwell wants to get rid of ISM as soon as possible, so refactoring the ISM part is just a waste of work
330 2016-07-21 19:28:58 0|cfields|morcos: or are you still hacking on that? ^^
331 2016-07-21 19:29:00 0|NicolasDorier|I will propose a PR for removing ISM in one or two hours normally
332 2016-07-21 19:29:11 0|gmaxwell|I wanted to remove it in 0.13 but didn't want to introduct a conflict with the SW merge so I held off.
333 2016-07-21 19:29:14 0|morcos|cfields: yep, we're working on it together!
334 2016-07-21 19:29:29 0|gmaxwell|It saves like two whole milliseconds from block connecting times. :P
335 2016-07-21 19:29:32 0|wumpus|NicolasDorier: great
336 2016-07-21 19:30:00 0|jeremyrubin|cfields: sounds good -- will msg out of meeting
337 2016-07-21 19:30:08 0|CodeShark|wumpus: focusing too much on ISM given its impending death is probably not the most urgent thing - my concern is more ovet general habits
338 2016-07-21 19:30:19 0|CodeShark|*over
339 2016-07-21 19:30:23 0|cfields|morcos: ah, ok.
340 2016-07-21 19:30:24 0|wumpus|CodeShark: well the topic was removing ISM
341 2016-07-21 19:30:29 0|sipa|gmaxwell: that's 12 minites of sync time :o
342 2016-07-21 19:30:32 0|morcos|gmaxwell: i think with the lock free stuff jeremy is working on, i can get validation times down from 200ms to sub 50ms on my machine
343 2016-07-21 19:30:44 0|sipa|morcos: impressive
344 2016-07-21 19:30:54 0|sdaftuar|he has a lot of cores :P
345 2016-07-21 19:31:03 0|jonasschnelli|heh
346 2016-07-21 19:31:18 0|BlueMatt|sdaftuar: but across 2 cpus, so numa :/
347 2016-07-21 19:31:37 0|wumpus|oh no numa, is that still a thing
348 2016-07-21 19:31:38 0|jtimon|wumpus: I also want ISM to go away as soon as possible and I'll rebase on top of the PR as soon as it appears, I was just asking for an agreed trivial plan on how to "just don't touch ISM, the replacement will go here" that we could work on in the meantime
349 2016-07-21 19:31:50 0|gmaxwell|wumpus: any multisocket system is numa.
350 2016-07-21 19:32:04 0|gmaxwell|(these days)
351 2016-07-21 19:32:09 0|jtimon|wumpus: in my experience "will go here" can take a lot of time
352 2016-07-21 19:33:08 0|wumpus|gmaxwell: I didn't know, haven't seen much multisocket systems in recent times, I was hoping it was a crippled thing from the past :)
353 2016-07-21 19:33:24 0|jtimon|so we should totally not touch ISM in any consensus refactor PR, but where the replacement should go is something we can discuss after the meeting
354 2016-07-21 19:33:38 0|wumpus|in any case optimizing bitcoind for numa is very much out of scope :p
355 2016-07-21 19:34:11 0|btcdrak|we seem to have drifted off topic
356 2016-07-21 19:34:13 0|wumpus|anything else to discuss?
357 2016-07-21 19:34:18 0|NicolasDorier|#topic Handling Dust on the wallet
358 2016-07-21 19:34:32 0|wumpus|hey, I'm supposed to set the topic
359 2016-07-21 19:34:37 0|NicolasDorier|oh sorry :D
360 2016-07-21 19:34:40 0|NicolasDorier|noob here
361 2016-07-21 19:34:40 0|wumpus|(but no problem with this one)
362 2016-07-21 19:34:52 0|gmaxwell|Has anyone picked up that simulator work and improved it?
363 2016-07-21 19:34:57 0|sipa|it also does not work (for logs) if someone else than the chair does it
364 2016-07-21 19:35:09 0|wumpus|#topic Handling Dust on the wallet
365 2016-07-21 19:35:23 0|NicolasDorier|so the problem is boring: wallet code is preventing to create output below dust using ::txminRelayFee
366 2016-07-21 19:35:30 0|jtimon|I think the ISM removal topic is mostly finished, TODO adapt any refactor for ISM to be removed before-hand, TODO decide where the replacement need to go during the refactor
367 2016-07-21 19:35:50 0|NicolasDorier|problem is that when we bumped it long time ago, some transaction could not be relayed anymore
368 2016-07-21 19:36:05 0|NicolasDorier|causing some stress to users
369 2016-07-21 19:36:16 0|NicolasDorier|several way to fix the problem
370 2016-07-21 19:36:20 0|jonasschnelli|You can if you add new/fresh larger coins? right?
371 2016-07-21 19:36:26 0|jonasschnelli|(econimical painful)
372 2016-07-21 19:36:26 0|morcos|NicolasDorier: I dont' have a good sense for how to make this work properly and be something the at doesnt involve fiddlign with a bunch of variables
373 2016-07-21 19:36:38 0|sipa|NicolasDorier: if all wallets at all times would not create outputs that were uneconomical to spend, there would be no issue, i think
374 2016-07-21 19:36:41 0|luke-jr|I thought the wallet avoided change below some number much larger than dust?
375 2016-07-21 19:36:58 0|MarcoFalke|yes
376 2016-07-21 19:36:59 0|morcos|But I think its clear we should have the MinimumOutput be higher than the dust level, so that when we raise the dust level, we know prev releases are still not generating dust
377 2016-07-21 19:37:01 0|NicolasDorier|luke-jr: problem is that it is not "much larger"
378 2016-07-21 19:37:06 0|NicolasDorier|it is "exactly"
379 2016-07-21 19:37:08 0|luke-jr|NicolasDorier: 0.01 BTC last I checked
380 2016-07-21 19:37:08 0|MarcoFalke|but this does not affect when you pay someone dust
381 2016-07-21 19:37:09 0|gmaxwell|This was intentional; not the stress of course, but not relaying transactions with produce outputs which are a loss to consume. But it sounds like you're not talking about the wallet, but relay behavior.
382 2016-07-21 19:37:27 0|sipa|gmaxwell: no, this is about wallet
383 2016-07-21 19:37:32 0|luke-jr|MarcoFalke: sure, but that's user error
384 2016-07-21 19:37:40 0|gmaxwell|The wallet tries to produce change >0.01 btc as luke mentions. (which is its own stupidity, see my earlier simulator question)
385 2016-07-21 19:38:09 0|NicolasDorier|oh ? I am surprised I did https://github.com/bitcoin/bitcoin/pull/8356 recently and it seemed using the ::minTxRelayFee
386 2016-07-21 19:38:15 0|NicolasDorier|for calculating the smallest output
387 2016-07-21 19:38:16 0|MarcoFalke|gmaxwell: I asked murch to present his findings of his masters thesis in one of the meetings
388 2016-07-21 19:38:33 0|jonasschnelli|I think it should try much higher min change outputs if possible.
389 2016-07-21 19:38:39 0|jtimon|btw, GetDustThreshold and IsDust are still in primitives/transaction.h (libconsensus), unrelated, but maybe cheap to do both at the same time
390 2016-07-21 19:38:39 0|morcos|NicolasDorier: i also forgot about that 0.01 btc thing
391 2016-07-21 19:38:44 0|jonasschnelli|We don't know the fees in ââ¬âàlets say ââ¬â 2 years.
392 2016-07-21 19:38:47 0|luke-jr|jonasschnelli: how much higher? this could be a privacy problem
393 2016-07-21 19:38:58 0|gmaxwell|NicolasDorier: if select coins does not make an exact match, it attempts again with amount + 0.01 btc as the target.
394 2016-07-21 19:39:02 0|luke-jr|jonasschnelli: we have fee learning logic..
395 2016-07-21 19:39:07 0|jonasschnelli|luke-jr:If possible 1:1 like the spend itself
396 2016-07-21 19:39:09 0|jonasschnelli|:-)
397 2016-07-21 19:39:14 0|luke-jr|jonasschnelli: that harms privacy
398 2016-07-21 19:39:26 0|jonasschnelli|(and would also not be possible)
399 2016-07-21 19:39:40 0|gmaxwell|luke-jr: it can be done in ways which don't. Please see my comments on the remove extranious inputs PR.
400 2016-07-21 19:39:42 0|NicolasDorier|gmaxwell: this is coin selection, but it does not prevent the creation of an output below 0.01 right ?
401 2016-07-21 19:39:59 0|MarcoFalke|no
402 2016-07-21 19:40:18 0|jtimon|luke-jr: please tell me "fee learning logic" is in policy/fees.o and not consensus/deeplearning.o
403 2016-07-21 19:40:20 0|MarcoFalke|Those are different objectives to optimize
404 2016-07-21 19:40:24 0|gmaxwell|NicolasDorier: it may not be possible to prevent that except by turning small amounts into fees.
405 2016-07-21 19:40:35 0|luke-jr|jtimon: afaik yes
406 2016-07-21 19:40:56 0|luke-jr|gmaxwell: if both outputs have the same or near-same value, any observer can see the approximate tx value, no?
407 2016-07-21 19:41:06 0|jtimon|luke-jr: cool :)
408 2016-07-21 19:41:27 0|gmaxwell|luke-jr: I'll explain more outside of the meeting.
409 2016-07-21 19:41:30 0|luke-jr|ok
410 2016-07-21 19:41:34 0|NicolasDorier|ok I'll need to study more about this 0.01 thing and the implication, will catch up with morcos
411 2016-07-21 19:41:59 0|gmaxwell|the whole logic with that stuff is braindamaged imo.
412 2016-07-21 19:42:32 0|NicolasDorier|I heard someone is doing some work in that area (Xekyo)
413 2016-07-21 19:42:44 0|gmaxwell|manages to fail under every kind of metric I can come up with, except for consistency with the existing code. (which, unsurprisingly, is the property the tests test for... :) )
414 2016-07-21 19:42:56 0|murch|marcofalke: My thesis is still in the making, sorry.
415 2016-07-21 19:43:00 0|MarcoFalke|NicolasDorier: it's murch in this channel
416 2016-07-21 19:43:05 0|NicolasDorier|oh ok
417 2016-07-21 19:44:02 0|gmaxwell|okay, is there anything else?
418 2016-07-21 19:44:16 0|wumpus|no proposed topics at lesat
419 2016-07-21 19:44:49 0|kanzure|well, i am assembling a list of things to talk about in person
420 2016-07-21 19:44:55 0|kanzure|similar to https://gist.github.com/kanzure/8d193f82aabd85eeba78a61815d3038d
421 2016-07-21 19:45:06 0|kanzure|so i will be heckling some or most of you regarding proposed subjects
422 2016-07-21 19:45:18 0|jtimon|well, you could talk more about that to close the meeting, no?
423 2016-07-21 19:45:26 0|gmaxwell|wumpus: I have a topic.
424 2016-07-21 19:45:39 0|gmaxwell|wumpus: sigops max size, and the sigops per byte limit.
425 2016-07-21 19:45:43 0|kanzure|jtimon: what would you like to hear?
426 2016-07-21 19:46:02 0|wumpus|#topic sigops max size, and the sigops per byte limit
427 2016-07-21 19:46:15 0|luke-jr|(gmaxwell: btw, I have no strong opinions on the coin selection stuff, if it's one of those minutia you'd rather not spend time on.)
428 2016-07-21 19:46:26 0|jtimon|kanzure: nothing specifically just things to talk about in person, I didn't folloed your link yet
429 2016-07-21 19:46:33 0|gmaxwell|We have ongoing complaints that the bytespersigops limit has made some bare multsig outputs difficult to spend (normal software behavior won't work)
430 2016-07-21 19:46:54 0|wumpus|this is about https://github.com/bitcoin/bitcoin/pull/8365?
431 2016-07-21 19:47:00 0|gmaxwell|This was an unintended side effect of the limits put in to stop the sigops exhaustion spam attack.
432 2016-07-21 19:47:16 0|luke-jr|we have a fix for that, which introduces a new concern; and a fix for the new concern, that slightly complicates fee estimation
433 2016-07-21 19:47:21 0|gmaxwell|https://github.com/bitcoin/bitcoin/pull/8365 and https://github.com/bitcoin/bitcoin/pull/8364
434 2016-07-21 19:47:33 0|gmaxwell|I don't agree with the position luke is taking.
435 2016-07-21 19:47:46 0|wumpus|#link https://github.com/bitcoin/bitcoin/pull/8365
436 2016-07-21 19:47:49 0|wumpus|#link https://github.com/bitcoin/bitcoin/pull/8364
437 2016-07-21 19:47:55 0|jonasschnelli|Shouldn't this be included in 0.13 then?
438 2016-07-21 19:48:15 0|luke-jr|jonasschnelli: probably
439 2016-07-21 19:48:18 0|gmaxwell|It's unambigious why the limit was introduced. There is was a consensus sigops exhaustion attack resulting in small blocks.
440 2016-07-21 19:48:25 0|sipa|i think 8365 should be in 0.13; i think 8364 is needless complication
441 2016-07-21 19:48:34 0|sdaftuar|sipa: i agree
442 2016-07-21 19:48:38 0|gmaxwell|8365 corrects it in the way I originally proposed (so I like it)
443 2016-07-21 19:48:44 0|sipa|(but apart from that i'm not strongly against 8364)
444 2016-07-21 19:48:52 0|luke-jr|gmaxwell: that isn't why the limit was introduced, though.. it was to filter spam
445 2016-07-21 19:49:02 0|sipa|luke-jr: in your world view perhaps
446 2016-07-21 19:49:02 0|wumpus|for 0.13 we should prefer a simple solution
447 2016-07-21 19:49:21 0|jonasschnelli|Im in favor of #8365 (at least for 0.13)
448 2016-07-21 19:49:23 0|luke-jr|sipa: considering I wrote it..
449 2016-07-21 19:49:24 0|gmaxwell|Luke proposes 8364 in addition, driven by a concern that allowing high sigops transactions but with high fees is sending an implicit endorsement that it's okay for random transactions to burn up lots of actual signature operations needlessly if they pay for it.
450 2016-07-21 19:49:25 0|sdaftuar|the PR that introduced the limit lacks explanation
451 2016-07-21 19:49:52 0|sipa|luke-jr: sure it may have been your intention; that was certainly noy clear to me (or many, i think)
452 2016-07-21 19:50:01 0|jtimon|is this about #8362 ?
453 2016-07-21 19:50:09 0|sipa|luke-jr: i disagree that it helps at all with preventing spam, and only encourages further bloating
454 2016-07-21 19:50:12 0|wumpus|sdaftuar: because it was a DoS fix
455 2016-07-21 19:50:23 0|luke-jr|jtimon: no, 8364 and 8365
456 2016-07-21 19:50:36 0|gmaxwell|It was extensively discussed in here. It's revisionist to suggest that it was merged for any reason other than consensus sigops exhaustion.
457 2016-07-21 19:50:47 0|jtimon|luke-jr: thanks, scrolling back
458 2016-07-21 19:51:08 0|gmaxwell|I wouldn't have supported it otherwise.
459 2016-07-21 19:51:38 0|gmaxwell|In any case, 8365 corrects the issue though sdaftuar expressed some concern that it also causes small miscosting of a small amount of transactions.
460 2016-07-21 19:51:52 0|gmaxwell|(since most of the time no sigops flooding attack is happening)
461 2016-07-21 19:52:21 0|sdaftuar|gmaxwell: in the current form, #8365 sets the conversion at 20, not 50
462 2016-07-21 19:52:31 0|sdaftuar|by default
463 2016-07-21 19:52:32 0|luke-jr|I don't think we can solve that without a much more complicated change..?
464 2016-07-21 19:52:34 0|CodeShark|luke-jr: I still adhere to the view that "spam" lacks a technical definition here
465 2016-07-21 19:52:52 0|sdaftuar|so i think it's fine as is. if another sigops attack were to hit the network, miners could bump it up to 50 and avoid being attacked
466 2016-07-21 19:53:00 0|luke-jr|CodeShark: in this context, it is non-pubkey data fed to sigops as a key
467 2016-07-21 19:53:08 0|sdaftuar|in its current form, users affected by the old policy have a better alternative to bloating up their transactions
468 2016-07-21 19:53:17 0|wumpus|CodeShark: storing unnecessary data in the utxo set counts as spam to me
469 2016-07-21 19:53:23 0|sdaftuar|we can think about better policies in the long run later, imo -- this is good enough for now
470 2016-07-21 19:54:05 0|wumpus|sdaftuar: for 0.13 that's the most important
471 2016-07-21 19:54:09 0|luke-jr|8365 as-is, is a regression of used behaviour
472 2016-07-21 19:54:42 0|sdaftuar|wumpus: yep agreed
473 2016-07-21 19:54:48 0|CodeShark|wumpus: if someone is willing to pay for it it's income to someone else
474 2016-07-21 19:54:54 0|sipa|luke-jr: as-is, i think it will have as sole effect that some people who are now bloating their transactions to bypass the limit, will stop doing so
475 2016-07-21 19:54:55 0|gmaxwell|luke-jr: I don't agree that it is. since the change manages to except the counterparty data storage transactions, I'm not aware of anything that could be classified as spam that exists now that it usefully blocks.
476 2016-07-21 19:55:09 0|wumpus|CodeShark: everyone with a full node suffers from it, without being paid for it
477 2016-07-21 19:55:27 0|CodeShark|wumpus: that's a problem with incentives, not spam
478 2016-07-21 19:55:32 0|wumpus|CodeShark: that's just like e-mail spam - everyone with an email account has to handle the extra messages
479 2016-07-21 19:55:42 0|sipa|can we keep philosophical discussions for elsewhere?
480 2016-07-21 19:55:43 0|luke-jr|gmaxwell: can you rephrase?
481 2016-07-21 19:56:42 0|wumpus|uhm, okay
482 2016-07-21 19:56:50 0|gmaxwell|luke-jr: point me to a transaction that 8364 would block that should be blocked? the only thing the sigopsperbyte limit was blocking was the sigops exhaust transactions (blocked by 8365) and counterparty data storage transactions, which 8364 jumps though enormous hoops to not block.
483 2016-07-21 19:57:53 0|GitHub86|[13bitcoin] 15jonasschnelli opened pull request #8390: [Wallet] Correct hdmasterkeyid/hdmasterkey name confusion (06master...062016/07/hd_masterkeyrename) 02https://github.com/bitcoin/bitcoin/pull/8390
484 2016-07-21 19:58:16 0|sipa|wumpus, CodeShark: sorry for interrupting, but i don't think you guys disagree at all - only about what certain words meam
485 2016-07-21 19:58:23 0|luke-jr|gmaxwell: both of those should be blocked, and AFAIK 8365 doesn't block anything at all?
486 2016-07-21 19:58:47 0|gmaxwell|luke-jr: 8365 closes the sigops bloat attack vector.
487 2016-07-21 19:58:47 0|luke-jr|gmaxwell: (to be clear, Counterparty should be using OP_RETURN only for their data)
488 2016-07-21 19:58:58 0|wumpus|only roughly one minute to go
489 2016-07-21 19:59:11 0|gmaxwell|I think we should close the meeting.
490 2016-07-21 19:59:15 0|wumpus|#closemeeting
491 2016-07-21 19:59:17 0|wumpus|#endmeeting
492 2016-07-21 19:59:18 0|lightningbot|Log: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-07-21-18.59.log.html
493 2016-07-21 19:59:18 0|lightningbot|Meeting ended Thu Jul 21 19:59:17 2016 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
494 2016-07-21 19:59:18 0|lightningbot|Minutes: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-07-21-18.59.html
495 2016-07-21 19:59:18 0|lightningbot|Minutes (text): http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-07-21-18.59.txt
496 2016-07-21 19:59:22 0|luke-jr|gmaxwell: it just costs more to perform the attack?
497 2016-07-21 19:59:35 0|gmaxwell|luke-jr: no, jesus chrsit luke. It _eliminates_ the attack.
498 2016-07-21 19:59:36 0|sipa|luke-jr: ideally, they are disincntivized to be produced at all. but the current code (which blocks them) has as only result that they bloat their transactions to bypass the restriction
499 2016-07-21 20:00:44 0|gmaxwell|luke-jr: The attack is that someone make a few small transactions that use up all the block capacity, while paying less than all the other users who were left waiting.
500 2016-07-21 20:01:20 0|gmaxwell|if someone actually wants to outbid the other users and use up the block capacity, they can do that-- and nothign can stop them (except for eventually running out of funds to blow), which is how open markets work. :)
501 2016-07-21 20:01:59 0|gmaxwell|8365 fixes things so that users making weirdly shaped transactions can't use up capacity in excess of what they've paid for.
502 2016-07-21 20:02:27 0|gmaxwell|Thus no reason to create a weirdly shaped transaction.
503 2016-07-21 20:02:44 0|sipa|gmaxwell: that would only be the case if the factor were 50, not 20... but it is the best we can do today without potentially impacting transaction relay
504 2016-07-21 20:03:15 0|sipa|ok, i'm going to catch some pokemon
505 2016-07-21 20:03:17 0|sipa|i mean
506 2016-07-21 20:03:20 0|BlueMatt|.........
507 2016-07-21 20:03:21 0|sipa|i'm going for a walk
508 2016-07-21 20:03:23 0|luke-jr|lol
509 2016-07-21 20:03:31 0|dstadulis|lol
510 2016-07-21 20:04:08 0|gmaxwell|did sdaftuar measure the impact? or did we just gimp the fix on conjecture?
511 2016-07-21 20:05:17 0|gmaxwell|I guess at 20 it's no more gimped than the code currently in place.
512 2016-07-21 20:05:23 0|jonasschnelli|sipa: haha..I tried that once on my speedbike. Almost crashed in a car...
513 2016-07-21 20:05:44 0|luke-jr|gmaxwell: ok, so how does 8365 close the data storage abuse vector, that bytespersigop used to at least make clear was abuse?
514 2016-07-21 20:08:54 0|gmaxwell|luke-jr: none of these things have any impact on data storage abuse.
515 2016-07-21 20:09:07 0|sipa|luke-jr: clearly people dom't care about whether we consider it abuse or not
516 2016-07-21 20:09:10 0|gmaxwell|non the bytespersigops, not 8364, not 8365.
517 2016-07-21 20:10:05 0|gmaxwell|bytespersigops had a accdential and coincidental negative effect on counterparty data storage transactions, that 8364 introduces a bunch of code to avoid (by counting signature operations instead of consensus sigops)
518 2016-07-21 20:10:12 0|luke-jr|sipa: the OP_RETURN fiasco suggests otherwise, no?
519 2016-07-21 20:10:26 0|jtimon|yeah I heard that pockemon thing is awesome and they're going to make a mario kart version soon in collaboration with google and tesla, but I can't find it on gihub, I'm searching on bitbucket next...
520 2016-07-21 20:11:01 0|jtimon|sorry, #bitcoin
521 2016-07-21 20:11:11 0|sipa|luke-jr: but OP_RETURN was a deliberately created alternatove for data storage
522 2016-07-21 20:11:34 0|sipa|luke-jr: not blocking something intended to be a dos fix, that people perceive as accidentally stopping some transactions
523 2016-07-21 20:11:45 0|luke-jr|no, it was created for commitments to external data, not storage :/
524 2016-07-21 20:11:47 0|sipa|in the long term, we can't rely on any of these techniques
525 2016-07-21 20:12:06 0|sipa|we can't expect people to behave nicely
526 2016-07-21 20:12:23 0|sipa|but we can design systems that make some behaviour expensive, regardless of intent
527 2016-07-21 20:12:38 0|sipa|and in the long term, that should be enough
528 2016-07-21 20:12:44 0|gmaxwell|80 bytes wasn't needed for 'commitments to external data'...
529 2016-07-21 20:13:19 0|jtimon|luke-jr: IMO "the right way" ie pay2contractOrHash should replace the rpc interface for op_return
530 2016-07-21 20:13:30 0|gmaxwell|there is no rpc interface to op_return.
531 2016-07-21 20:13:33 0|sipa|furthermore, OP_RETURN probably actually did help us get rid of stuff that would otherwise permanently have been added to the utxo set (though i thonk at least the increase to 80 bytes was a mistake)
532 2016-07-21 20:15:46 0|jtimon|gmaxwell: I have probably misunderstood https://github.com/bitcoin/bitcoin/blob/master/src/rpc/rawtransaction.cpp#L426 one time I was around without deeply reading...
533 2016-07-21 20:17:07 0|gmaxwell|jtimon: you were right, I had no clue that was there. wtf.
534 2016-07-21 20:17:07 0|luke-jr|sipa: the problem isn't OP_RETURN itself, but people portraying it as us endorsing data storage on-chain
535 2016-07-21 20:18:09 0|gmaxwell|jtimon: result of PR #6346
536 2016-07-21 20:18:57 0|gmaxwell|I give up.
537 2016-07-21 20:19:27 0|jtimon|gmaxwell: oh, awesome, thanks, traceability++, shall you comment in 6346 ?
538 2016-07-21 20:19:59 0|midnightmagic|he left.
539 2016-07-21 20:22:40 0|midnightmagic|whoah
540 2016-07-21 20:22:59 0|midnightmagic|how did commitid d7078533ebd32bb5071f4dba8e3d9c5a3b1f0d4c get merged
541 2016-07-21 20:24:39 0|sipa|luke-jr: i'm aware
542 2016-07-21 20:25:32 0|jtimon|I only saw that when doing a one old version of elements thing for assets, I assumed this was known by everyone since I was unfamiliar with rpc in general
543 2016-07-21 20:26:33 0|jtimon|I was mostly only familliar to the rawtx prc which I was modifying
544 2016-07-21 20:26:45 0|jtimon|s/prc/rpc
545 2016-07-21 20:27:44 0|jtimon|I just looked weird at the op_return and moved on
546 2016-07-21 20:28:25 0|sipa|heh, i don't remember seeing that PR
547 2016-07-21 20:29:11 0|midnightmagic|me neither. I can't tell people not to use OP_RETURN anymore.
548 2016-07-21 20:29:51 0|btcdrak|Counterparty are about to stuff Ethereum contracts into them :-p
549 2016-07-21 20:30:09 0|sipa|counterparty isn't using our rpc interface
550 2016-07-21 20:30:13 0|midnightmagic|you reviewed it and ACK'd it
551 2016-07-21 20:33:09 0|jtimon|let's put effort in the fix before tha blame, please, even if git blame is the source of all fixes
552 2016-07-21 20:43:47 0|instagibbs|I'm guessing the amount of op_return data via that interface is really tiny...
553 2016-07-21 20:44:03 0|instagibbs|I only found out about it last week
554 2016-07-21 20:44:12 0|sipa|yes, seems nobody even knew about it...
555 2016-07-21 20:44:44 0|jtimon|I guess so too, that's how I thought it was allowed, but if there's nobody agains, we should really get this out
556 2016-07-21 20:45:31 0|jtimon|I mean, it's in the "standard" policy, but I consensus first, policy later
557 2016-07-21 21:05:26 0|sipa|wumpus: good news: yield() doesn't seem to affect performance noticable (i didn't do an extensive benchmark, but early in the chain but:
558 2016-07-21 21:05:29 0|sipa|2016-07-21 21:03:48 UpdateTip: new best=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f height=0 version=0x00000001 log2_work=32.000022 tx=1 date='2009-01-03 18:15:05' progr
559 2016-07-21 21:05:33 0|sipa|ess=0.000000 cache=0.0MiB(0tx)
560 2016-07-21 21:05:45 0|sipa|2016-07-21 21:04:34 UpdateTip: new best=000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506 height=100000 version=0x00000001 log2_work=58.648173 tx=216577 date='2010-12-29 11:57:43' progress=0.000755 cache=23.4MiB(119863tx)
561 2016-07-21 21:06:38 0|sipa|with 2173 blocks per second, i doubt we're losing much cpu time
562 2016-07-21 21:07:19 0|sipa|wumpus: the bad news: it doesn't fix the 'Loading block index' message during activation
563 2016-07-21 21:07:26 0|sipa|oh, wait, that's expected maybe
564 2016-07-21 21:07:34 0|sipa|instead of showing something about banlist
565 2016-07-21 21:14:40 0|sipa|bad news is that i can't reproduce the bug, i guess
566 2016-07-21 21:59:31 0|NicolasDorier|I am trying to remove ISM right now... however, I'm hitting problems with tests testing the ISM logic for old soft fork. Especially, normal ISM have two phase, activation (at 75% new rules are enforced for block version X) and version enforcement (at 95% if nVersion < X, reject). However, the difference between both threshold is only relevant during the
567 2016-07-21 21:59:31 0|NicolasDorier|transition between the two thresholds and a few block afterward. We can safely replace the activations checks by enforcement checks.... Except that if I do that, then tests rightly break...
568 2016-07-21 21:59:48 0|NicolasDorier|I'm tempted to just remove the old ISM sf tests
569 2016-07-21 22:00:08 0|NicolasDorier|and make regnet with all the ISM SF activated from block 0
570 2016-07-21 22:00:15 0|NicolasDorier|I mean block 1
571 2016-07-21 22:00:31 0|NicolasDorier|thought ?
572 2016-07-21 22:01:24 0|sipa|for regtest we probably need command line switches to set what is activated (and at what height?)
573 2016-07-21 22:01:59 0|NicolasDorier|mh it seems rather bothersome for code going away
574 2016-07-21 22:03:25 0|NicolasDorier|I'd like ideally to remove old ISM SF tests, and default regnet to have everything activated from block 1. Adding those command line switches just so the old tests continue to work seems like a waste
575 2016-07-21 22:04:32 0|NicolasDorier|or maybe hard coding some number for regtest
576 2016-07-21 22:04:35 0|NicolasDorier|and testing that
577 2016-07-21 22:04:49 0|NicolasDorier|hard coding some heights
578 2016-07-21 22:06:32 0|luke-jr|sipa: I knew about it, but didn't strongly oppose it on the basis that createrawtransaction is a low-level thing that users shouldn't be exposed to anyway. And I was hoping for the author to add more useful tools (contracthash-like), but that didn't get added. â˹
579 2016-07-21 22:08:55 0|sipa|luke-jr: it would have been nice if it hashed the data first
580 2016-07-21 22:09:23 0|sipa|luke-jr: but i guess it's hard to change now
581 2016-07-21 22:09:45 0|sipa|NicolasDorier: i agree... old ISM tests can probably go away
582 2016-07-21 22:10:05 0|sipa|NicolasDorier: though only those testing activation... not those testing the new behaviour
583 2016-07-21 22:10:21 0|NicolasDorier|yes
584 2016-07-21 22:11:09 0|luke-jr|sipa: yes, but then there'd be no marker possible for example
585 2016-07-21 22:12:49 0|luke-jr|sipa: as soon as libsecp256k1 has contract-sign primitives though, I hope to put it to use to hopefully kill off proof-of-existence spam ;p
586 2016-07-21 22:15:36 0|btcdrak|luke-jr: how would that work?
587 2016-07-21 22:16:38 0|sipa|btcdrak: we can make a signature commit to data
588 2016-07-21 22:16:42 0|sipa|like a hash
589 2016-07-21 22:16:53 0|sipa|except it independently also remains a valid signature
590 2016-07-21 22:17:03 0|sipa|and you can't even tell it commits to something
591 2016-07-21 22:17:10 0|btcdrak|oh
592 2016-07-21 22:17:29 0|btcdrak|this sounds like black magic...
593 2016-07-21 22:17:33 0|sipa|the commitment is obvious to anyone who knows the data being committed to
594 2016-07-21 22:17:47 0|luke-jr|add a merkle tree, and you can do unlimited proof-of-existence in the background when you send txs
595 2016-07-21 22:18:06 0|luke-jr|even fingerprint your wallet so you can prove its state at any given point in history, if you want to
596 2016-07-21 22:18:58 0|sipa|luke-jr: unfortunately, very few people seem interested in timestamping, and many seem to be interested in using the blockchain as a broadcast medium
597 2016-07-21 22:19:30 0|luke-jr|well, maybe we should add a p2p mechanism that relays data along with tx so long as the tx fee pays for the data size too?
598 2016-07-21 22:20:40 0|sipa|or find a way to actually make the payment protocol take off, so all that stuff can just remain between sender and receiver?
599 2016-07-21 22:20:57 0|luke-jr|I'm not sure that stuff has a sender/receiver >_<
600 2016-07-21 22:22:16 0|sipa|if it doesn't, then why does it belong in bitcoin?
601 2016-07-21 22:22:47 0|sipa|either it's data needef for the world to verify the transaction, or it is private information between sender and receiver of a payment
602 2016-07-21 22:23:12 0|luke-jr|it doesn't. :<
603 2016-07-21 22:34:21 0|sipa|luke-jr: people would move to storing data in inputs
604 2016-07-21 22:55:40 0|luke-jr|sipa: where in policy-accepted inputs can data be stored?
605 2016-07-21 22:56:05 0|luke-jr|wait, forgot we allow any script now
606 2016-07-21 22:56:17 0|luke-jr|we could potentially lock that down again?
607 2016-07-21 23:40:30 0|GitHub100|[13bitcoin] 15NicolasDorier opened pull request #8391: Consensus: Remove ISM (06master...06remove-ism) 02https://github.com/bitcoin/bitcoin/pull/8391
608 2016-07-21 23:41:14 0|NicolasDorier|lightly tested, surely as flaws... specially as I wasted my night on it. :o