1 2016-08-11 03:44:36	0|GitHub104|[13bitcoin] 15jtimon opened pull request #8498: Optimization: Minimize the number of times it is checked that no money... (06master...060.13-consensus-inputs) 02https://github.com/bitcoin/bitcoin/pull/8498
  2 2016-08-11 06:58:30	0|dcousens|If I submit an incorrectly formed CLTV transaction,  I get a Error 64: non-mandatory-script-flags error... is that odd considering CLTV is active?
  3 2016-08-11 06:58:34	0|dcousens|I know it comes down to  Mandatory script verification flags that all new blocks must comply with for
  4 2016-08-11 06:58:52	0|dcousens|I know it comes down MANDATORY_SCRIPT_VERIFY_FLAGS* being const and only has P2SH
  5 2016-08-11 06:59:33	0|dcousens|Sorry, mis-type
  6 2016-08-11 07:01:01	0|sipa|right, the message is confusing
  7 2016-08-11 07:01:05	0|dcousens|My point being, CheckInputs does that double check to recognize you as just a non-standard tx,  but in this case the tx is actually invalid
  8 2016-08-11 07:01:17	0|sipa|we have basically three 3 classes of flags:
  9 2016-08-11 07:01:28	0|sipa|mandatory <= consensus <= standardness
 10 2016-08-11 07:02:01	0|sipa|the reason why consensus != mandatory is because pre-CLTV nodes may relay you violating transactions, and if they do so, you should not ban them for it
 11 2016-08-11 07:03:02	0|dcousens|sure,  OK so its purely just an error message issue
 12 2016-08-11 07:03:16	0|sipa|but mandatory doesn't even include BIP66
 13 2016-08-11 07:03:23	0|sipa|i think we should change that
 14 2016-08-11 07:03:24	0|dcousens|indeed
 15 2016-08-11 07:05:48	0|dcousens|sipa: perhaps MANDATORY_SCRIPT_FLAGS shouldn't be const, but instead based on the soft-fork status?
 16 2016-08-11 07:06:20	0|dcousens|and STANDARD_NOT_MANDATORY_VERIFY_FLAGS derived,  that way it maintains the non banning nature
 17 2016-08-11 07:08:09	0|sipa|well MANDATORY flags aren't based on current softfork status, but on what we expect our peers to enforce
 18 2016-08-11 07:08:26	0|sipa|s/expect/require/
 19 2016-08-11 07:08:31	0|dcousens|sipa: which you would expect to correlate to what soft forks have activated no?
 20 2016-08-11 07:09:20	0|sipa|i don't think so
 21 2016-08-11 07:09:38	0|sipa|there is no need to break compatibility with old clients
 22 2016-08-11 07:10:00	0|sipa|unless there is an attack that can't be fixed without it
 23 2016-08-11 07:11:21	0|dcousens|right
 24 2016-08-11 07:14:31	0|sipa|but if we ever go as far as breaking such compatibility below 0.10, we can at once include CSV, CLTV and segwit
 25 2016-08-11 07:14:34	0|sipa|in mandatory
 26 2016-08-11 07:14:40	0|sipa|even before segwit activates
 27 2016-08-11 07:15:00	0|sipa|because all those rules only apply to transactions that have been nonstandard for a long time
 28 2016-08-11 07:18:24	0|sipa|wumpus: just so i don't forget, a few topics for the meeting 1) segwit policy limits 2) can we propose a softfork to make low-s required simultaneously with segwit? 3) raising mandatory script flags to include bip66?
 29 2016-08-11 07:19:27	0|wumpus|sipa: I'll try to remember too
 30 2016-08-11 07:19:36	0|dcousens|+1 2)
 31 2016-08-11 07:19:52	0|dcousens|anyway, no worries cheers for the help sipa
 32 2016-08-11 09:09:49	0|jl2012|sipa: why would you like to have a low-s softfork? And is it for segwit  scripts only, or for all scripts?
 33 2016-08-11 09:21:26	0|sipa|jl2012: it's already nonstandard for a long time, it doesn't hurt anyone, and removes a source of malleability
 34 2016-08-11 09:22:22	0|jl2012|so you want it for non-segwit scripts too?
 35 2016-08-11 09:23:07	0|sipa|well to be discussed
 36 2016-08-11 09:30:15	0|jl2012|with low-s rule, even the wtxid of a p2wpkh tx is not malleable
 37 2016-08-11 09:31:20	0|gmaxwell|sipa: jl2012 won't be around during the metting so if you're still awake you might want to discuss with him in PM.
 38 2016-08-11 09:32:02	0|sipa|i'm about to go sleep
 39 2016-08-11 09:33:06	0|jl2012|ok no hurry. I'll leave my thought here
 40 2016-08-11 10:08:40	0|jl2012|I don't see a compelling reason to have a low-s soft fork with segwit (in 0.13.1). Non-segwit txs are hopeless and we should not spend any energy to fix them. For segwit txs, why would we need immallable wtxid?
 41 2016-08-11 10:12:22	0|sipa|one reason would be avoid 3rd party relayers messing with compact block relay
 42 2016-08-11 10:12:51	0|jl2012|Immallable wtxid might be desirable for cmpblock and weak block, but enforcing lowS with policy is enough (since miners could always be anti-social)
 43 2016-08-11 10:14:06	0|jl2012|high-S txs are non-standard already? So it won't happen unless a miner is anti-social
 44 2016-08-11 10:14:15	0|gmaxwell|jl2012: non-segwit low-s is already standardness required for a long time now.
 45 2016-08-11 10:17:06	0|jl2012|i don't see how a non-mining malicious relayer could exploit this
 46 2016-08-11 10:20:26	0|gmaxwell|for compact blocks? not if its a standardness rule, but we have (>=) _100%_ of the code complexity for having it as a consensus rule just by having it as a standardness rule.
 47 2016-08-11 10:21:05	0|gmaxwell|It provably doesnot usefully expand the utility of the system to permit it, so it's just excess malleability.
 48 2016-08-11 10:21:24	0|gmaxwell|Standardness rules are also not guarenteed, miners in the past have simply flipped them off.
 49 2016-08-11 10:21:46	0|jl2012|but it's already a standardness rule?
 50 2016-08-11 10:21:58	0|gmaxwell|For non-segwit.
 51 2016-08-11 10:22:13	0|sipa|for segwit too
 52 2016-08-11 10:22:16	0|jl2012|for segwit too, I believe
 53 2016-08-11 10:22:21	0|gmaxwell|For non-segwit it leaves open malleability attacks for a greater set of transactions.
 54 2016-08-11 10:22:31	0|gmaxwell|so there is more reason to preclude it there.
 55 2016-08-11 10:22:46	0|gmaxwell|(and it has been exploited even since non-standard)
 56 2016-08-11 10:22:58	0|jl2012|and now you also need the nulldummy softfork too.....
 57 2016-08-11 10:24:10	0|jl2012|good night
 58 2016-08-11 10:24:31	0|gmaxwell|no you don't-- something can only improve things for many transactions, it doesn't have to (and can't) fix everything.
 59 2016-08-11 10:25:23	0|gmaxwell|and having more vectors for miners to intentionally play with propagation isn't very interesting.
 60 2016-08-11 10:25:37	0|jl2012|my point is, if a miner wants to be anti-social, they have many different ways. For example, they could mine txs that is never seen on the network.
 61 2016-08-11 10:25:47	0|gmaxwell|Having more "mandatory standardness rules" doesn't reduce the complexity of the system, it increases it.
 62 2016-08-11 10:26:03	0|jl2012|and that's less obvious than mining high-S
 63 2016-08-11 10:26:04	0|gmaxwell|Yes they can, I agree. But that it's a reason that an additional way is desirable.
 64 2016-08-11 10:26:20	0|gmaxwell|I think both are pretty obvious if done extensively. :)
 65 2016-08-11 10:27:30	0|gmaxwell|I don't think we should have standardness rules for anything except forward compatibility and things moving towards being softforked out. Otherwise people get a false expectation of what properties the system provides.
 66 2016-08-11 10:28:10	0|gmaxwell|I was hearing from someone a day ago that wanted to use a cryptographic protocol where the hash of a signature was used as a key.  They could have worked around low/high-S but it surely would have been an unwelcome surprise.
 67 2016-08-11 10:29:15	0|gmaxwell|so since low-S is already required defacto, it may make sense to require it de jure-- because "not allowed" is fundimentally simpler than "usually not allowed but maybe happens" :)
 68 2016-08-11 10:31:21	0|jl2012|maybe in the next softfork after segwit? It seems not a strong reason to delay segwit. (I know that's only a one-line change in consensus code but we still need more tests)
 69 2016-08-11 10:32:19	0|gmaxwell|another way to look at it is that since it is non-standard it is likely completely untested. (not that I'd expect it to have issues)
 70 2016-08-11 10:33:51	0|gmaxwell|I don't think it would make sense to delay anything for it. (And indeed, I suggested earlier to pieter that segwit really should require compressed pubkeys and absolutely prohbit hybrid pubkeys (which are the worst of all worlds)-- but he pointed out this would require acutal code additions)
 71 2016-08-11 10:39:18	0|jl2012|What is hybrid monkey?
 72 2016-08-11 10:39:45	0|jl2012|pubkey...
 73 2016-08-11 10:39:53	0|jl2012|Autocorrect
 74 2016-08-11 10:40:08	0|gmaxwell|I'm glad I didn't actually say monkey, but I was worried for a moment.  It's an uncompressed pubkey, but with a sign flag at the front like compressed.
 75 2016-08-11 10:40:44	0|gmaxwell|This takes all the space of an uncompressed pubkey, but it is as slow to use as a compressed pubkey. (actually very slightly slower).
 76 2016-08-11 10:41:33	0|gmaxwell|As far as anyone can tell there is no reason for them to exist, other than some standards person got too excited about specifying every combination of options. At least at one point that I looked, there weren't any in the blockchain at all.
 77 2016-08-11 10:42:05	0|gmaxwell|(at least that we can detect, we can't tell for hash160s we don't know the preimage for)
 78 2016-08-11 10:42:33	0|gmaxwell|We didn't move to block them in the past because we couldn't be sure that we wouldn't invalidate some txout. But for segwit that problem doesn't exist.
 79 2016-08-11 10:42:44	0|gmaxwell|but it would be more than a one line change, alas.
 80 2016-08-11 10:43:11	0|jl2012|Just one line to check the size of key
 81 2016-08-11 10:44:13	0|gmaxwell|true, if uncompressed and hybrid are limited at the same time... but more than one line to pass the flags through to the right place. :)
 82 2016-08-11 10:45:50	0|jl2012|There is no reason to support uncompressed key in segwit
 83 2016-08-11 10:46:20	0|gmaxwell|Agreed.
 84 2016-08-11 10:46:53	0|gmaxwell|(well I could be contrary and argue that someone somewhere might have an easier time migrating to segwit if it did... but, I don't think thats a good argument at all)
 85 2016-08-11 10:51:48	0|jl2012|If someone assumes any existing key hashes are valid in segwit, he may lost money
 86 2016-08-11 10:52:55	0|jl2012|Bad assumption, but I'm not surprised if someone really do that
 87 2016-08-11 10:53:04	0|gmaxwell|same kind of error might try to reuse a p2pkh hash or a p2sh hash as a segwit script.
 88 2016-08-11 10:53:16	0|gmaxwell|People have confused p2sh/p2pkh values in the past.
 89 2016-08-11 10:54:00	0|gmaxwell|though it wasn't a super frequent error. (e.g. two distinct pieces of software made the error, that I'm aware of.. but only two)
 90 2016-08-11 10:56:55	0|jl2012|I'd like to at least make uncompressed keys non std. It helps to prevent some type of garbage witness attack
 91 2016-08-11 11:40:13	0|jonasschnelli|Re: https://github.com/bitcoin/bitcoin/issues/8497
 92 2016-08-11 11:40:26	0|jonasschnelli|I think this would work, although not sure if we want to support that
 93 2016-08-11 11:41:27	0|jonasschnelli|(importing keys with no rescan option could at least use the UTXO set to get the keys current balance)
 94 2016-08-11 11:41:44	0|jonasschnelli|But I guess it would be complicated for the current data model implementation
 95 2016-08-11 11:50:12	0|wumpus|yes it's quite an interesting possibility, if you're not interested in history then rescanning over the utxo set is enough
 96 2016-08-11 11:50:35	0|wumpus|this is fast and will work with pruned block chain
 97 2016-08-11 11:51:24	0|wumpus|so no, no categorical objections from me, I've thought of the idea in the past too but yes it requires some deeper changes to handle
 98 2016-08-11 11:51:54	0|wumpus|I don't think we should call it 'pruned wallet' tho :-)
 99 2016-08-11 11:52:02	0|wumpus|that word is already overused. Bt that's a nit
100 2016-08-11 12:03:29	0|jonasschnelli|wumpus: yes. Pruned wallet is confusing. But yes, the feature could be neat...
101 2016-08-11 12:03:34	0|jonasschnelli|I just feat the UX implications..
102 2016-08-11 12:04:05	0|jonasschnelli|The datamodel needs something like an "initial" balance... atm, everything is calculated with SUM()
103 2016-08-11 12:07:14	0|wumpus|yes, you'd need to summarize the non-existent history in an "initial" balance, that seems like just a bit of bookkeeping
104 2016-08-11 12:07:27	0|wumpus|agree that with the complicated wallet code it's probably more work than it seems
105 2016-08-11 12:10:57	0|wumpus|eh, no, you don't need that
106 2016-08-11 12:11:07	0|wumpus|you're not going to throw away transactions that count toward your balance
107 2016-08-11 12:11:44	0|wumpus|the completely reduced wallet would contain only transactions with unspent outputs
108 2016-08-11 12:12:01	0|wumpus|there may be some changed needed to balance computation, but you should never have to store a balance delta
109 2016-08-11 12:12:02	0|jonasschnelli|wumpus: hmm... I guess your right
110 2016-08-11 12:12:31	0|jonasschnelli|What about p2sh/multisig?
111 2016-08-11 12:13:12	0|wumpus|the wallet utxo index may be helpful here, https://github.com/bitcoin/bitcoin/pull/7823
112 2016-08-11 12:13:33	0|wumpus|p2sh/multisig doesn't really change, I think
113 2016-08-11 12:18:54	0|wumpus|in any case you are right that the implications should be thought through carefully
114 2016-08-11 13:23:29	0|GitHub65|13bitcoin/06master 1405242e9 15adlawren: Fix minimize and close bugs...
115 2016-08-11 13:23:29	0|GitHub65|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/edebf425a2df...0d0abcac1efe
116 2016-08-11 13:23:30	0|GitHub65|13bitcoin/06master 140d0abca 15Wladimir J. van der Laan: Merge #8481: Qt: Fix minimize and close bugs...
117 2016-08-11 13:23:44	0|GitHub196|[13bitcoin] 15laanwj closed pull request #8481: Qt: Fix minimize and close bugs (06master...06fix-minimize-and-close-bugs) 02https://github.com/bitcoin/bitcoin/pull/8481
118 2016-08-11 16:25:10	0|GitHub118|[13bitcoin] 15jl2012 opened pull request #8499: [Untested] Check bad witness (06master...06badwitnesscheck) 02https://github.com/bitcoin/bitcoin/pull/8499
119 2016-08-11 18:59:36	0|cfields|meeting?
120 2016-08-11 18:59:43	0|jonasschnelli|yes
121 2016-08-11 18:59:43	0|wumpus|yes
122 2016-08-11 18:59:46	0|lightningbot|Meeting started Thu Aug 11 18:59:45 2016 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.
123 2016-08-11 18:59:46	0|lightningbot|Useful Commands: #action #agreed #help #info #idea #link #topic.
124 2016-08-11 18:59:46	0|wumpus|#startmeeting
125 2016-08-11 19:00:25	0|sipa|present
126 2016-08-11 19:00:37	0|wumpus|sipa proposed some topics earlier today: 1) segwit policy limits  2) can we propose a softfork to make low-s required simultaneously with segwit?  3) 3) raising mandatory script flags to include bip66 4)
127 2016-08-11 19:00:41	0|wumpus|eh no 4
128 2016-08-11 19:01:11	0|wumpus|can anyone do the giant highlight list?
129 2016-08-11 19:01:45	0|jonasschnelli|ping gmaxwell
130 2016-08-11 19:01:47	0|cfields|gmaxwell: paging bot
131 2016-08-11 19:01:50	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
132 2016-08-11 19:01:56	0|kanzure|hi.
133 2016-08-11 19:02:08	0|instagibbs|oops, it's not wednesday, how about that
134 2016-08-11 19:02:09	0|wumpus|thanks
135 2016-08-11 19:02:42	0|luke-jr|heh
136 2016-08-11 19:02:47	0|wumpus|another topic would be rc3 go-ahead
137 2016-08-11 19:02:48	0|kanzure|not sure about priority but jtimon was asking for code review eyeballs on #8493
138 2016-08-11 19:03:06	0|wumpus|but let's start with sipa's topics
139 2016-08-11 19:03:07	0|btcdrak|hi
140 2016-08-11 19:03:14	0|wumpus|#topic segwit policy limits
141 2016-08-11 19:03:28	0|michagogo|cfields: I think last time he said it's not a bot...
142 2016-08-11 19:03:48	0|cfields|michagogo: was a joke :)
143 2016-08-11 19:03:50	0|gmaxwell|it's just an alias.
144 2016-08-11 19:03:50	0|wumpus|michagogo: all bots say that!
145 2016-08-11 19:03:51	0|sipa|jl2012 has suggested some changes to prevent DoS attacks with segwit
146 2016-08-11 19:04:08	0|michagogo|Also, if anyone's interested I think the KSK ceremony is starting soon
147 2016-08-11 19:04:22	0|sipa|do we in addition want per txin witness size limits or so
148 2016-08-11 19:04:57	0|wumpus|may make sense to add some initial limits, they can always be removed later
149 2016-08-11 19:05:02	0|wumpus|adding limits later is more controversial
150 2016-08-11 19:05:14	0|sipa|agree
151 2016-08-11 19:05:51	0|instagibbs|is this merely to offset people stuffing data for 25% the price
152 2016-08-11 19:05:54	0|sipa|but i'd like to know what opinions people have about this
153 2016-08-11 19:06:06	0|instagibbs|could you elaborate additional motivations if any
154 2016-08-11 19:06:07	0|jl2012|this is a conceptual PR: https://github.com/bitcoin/bitcoin/pull/8499
155 2016-08-11 19:06:11	0|wumpus|ofc
156 2016-08-11 19:06:18	0|luke-jr|a policy limit matching p2sh's consensus limit sounds uncontroversial
157 2016-08-11 19:06:38	0|luke-jr|but this is too small for N-of->15, so maybe slightly larger is desirable
158 2016-08-11 19:07:28	0|luke-jr|someone involved with Lightning probably should comment as well
159 2016-08-11 19:07:58	0|wumpus|yes, it would be important not to sabotage that
160 2016-08-11 19:08:29	0|btcdrak|ping roasbeef GreenIsMyPepper rusty ^
161 2016-08-11 19:08:34	0|instagibbs|could someone tell me what we're protecting against first? I can't really form an opinion
162 2016-08-11 19:09:06	0|jtimon|is this a new consensus rule or just policy? (looking at 8499 seems policy only, just want to confirm)
163 2016-08-11 19:09:12	0|sipa|jl2012: policy
164 2016-08-11 19:09:16	0|kanzure|instagibbs: txin witness size bloating
165 2016-08-11 19:09:16	0|sipa|eh, jtimon ^
166 2016-08-11 19:09:20	0|jtimon|thanks
167 2016-08-11 19:10:06	0|sipa|jl2012: 8499 does not set a size limit, right?
168 2016-08-11 19:10:35	0|instagibbs|8499 I think just bans peers for bad witnesses
169 2016-08-11 19:10:58	0|sipa|instagibbs: also protection against the problems discussed in #8279
170 2016-08-11 19:11:18	0|jl2012|sipa: it's per input size limit
171 2016-08-11 19:11:26	0|instagibbs|sipa, yes, makes sense
172 2016-08-11 19:11:37	0|sipa|ok
173 2016-08-11 19:12:11	0|sipa|jl2012: but no limits for p2wsh
174 2016-08-11 19:12:40	0|sipa|(sorry, i haven't looked in detail; correct me if i'm wrong)
175 2016-08-11 19:13:53	0|sipa|seems there are not too many opinions; i'll propose some thing for next meeting
176 2016-08-11 19:14:19	0|sipa|next topic?
177 2016-08-11 19:14:51	0|wumpus|#topic softfork to make low-s required simultaneously with segwit
178 2016-08-11 19:15:37	0|wumpus|there was some discussion about this earliet today between sipa and jl2012
179 2016-08-11 19:15:39	0|luke-jr|IIRC, this just blocks transactions that can be fixed with malleation anyway. might as well.
180 2016-08-11 19:15:40	0|wumpus|<jl2012> sipa: why would you like to have a low-s softfork? And is it for segwit  scripts only, or for all scripts?
181 2016-08-11 19:15:40	0|wumpus|<jl2012> so you want it for non-segwit scripts too?
182 2016-08-11 19:15:40	0|wumpus|<sipa> jl2012: it's already nonstandard for a long time, it doesn't hurt anyone, and removes a source of malleability
183 2016-08-11 19:15:40	0|wumpus|<sipa> well to be discussed
184 2016-08-11 19:15:53	0|murch|Are there any downsides to that?
185 2016-08-11 19:15:58	0|sipa|so it was recently suggested that since low-s has been non-standard and not present on the network for over a year now, we could propose to turn it into a consensus rules
186 2016-08-11 19:16:06	0|wumpus|<jl2012> with low-s rule, even the wtxid of a p2wpkh tx is not malleable
187 2016-08-11 19:16:13	0|wumpus|<jl2012> I don't see a compelling reason to have a low-s soft fork with segwit (in 0.13.1). Non-segwit txs are hopeless and we should not spend any energy to fix them. For segwit txs, why would we need immallable wtxid?
188 2016-08-11 19:16:13	0|wumpus|<sipa> one reason would be avoid 3rd party relayers messing with compact block relay
189 2016-08-11 19:16:41	0|jl2012|sipa: limiting p2wsh is more difficult, I think it could only be done case-by-case
190 2016-08-11 19:16:52	0|wumpus|sipa: agreed; the thing for discussion is mostly why to combine it with segwit
191 2016-08-11 19:17:13	0|wumpus|a low-s softfork itself at some point is uncontroversial imo
192 2016-08-11 19:17:17	0|sipa|pro combining it with segwit: it may be hard to do this as a separate softfork
193 2016-08-11 19:17:32	0|jonasschnelli|why is it hard?
194 2016-08-11 19:17:34	0|luke-jr|^
195 2016-08-11 19:17:52	0|sipa|miners need to upgrade software
196 2016-08-11 19:18:09	0|jonasschnelli|Combine it with another, later software?
197 2016-08-11 19:18:13	0|jonasschnelli|softfork
198 2016-08-11 19:18:17	0|sipa|a low-s softfork would be uncontroversial, but also very low benefit
199 2016-08-11 19:18:27	0|luke-jr|no reason to make it urgent; just roll it out and let miners deploy on their own time?
200 2016-08-11 19:18:30	0|sipa|that's possible, but i thought it would be neat to just never have anything but low-s in segwit
201 2016-08-11 19:18:30	0|wumpus|but rolling everything into one giant softfork is more risky
202 2016-08-11 19:18:37	0|GreenIsMyPepper|reading scrollback...
203 2016-08-11 19:19:31	0|wumpus|that is true
204 2016-08-11 19:19:39	0|jonasschnelli|I think it's useful to combine to low-s restriction with the SW software in 0.13.1
205 2016-08-11 19:19:53	0|sipa|it's literally, VersionBitsActive(pindexPrev, DEPLOYMENT_LOW_S) == ACTIVE { flags |= SCRIPT_VERIFY_LOW_S; }
206 2016-08-11 19:19:57	0|wumpus|well yes that would be 0.13.1
207 2016-08-11 19:20:00	0|GreenIsMyPepper|is the policy limit for number of sigs? (sorry for the noise)
208 2016-08-11 19:20:11	0|kanzure|size
209 2016-08-11 19:20:13	0|jtimon|a low s softfork should be also quite easy, no? it's already implemented, just make a flag mandatory for consensus
210 2016-08-11 19:20:18	0|luke-jr|oh, right. speaking of 0.13.1, it seems quite uncontroversial
211 2016-08-11 19:20:20	0|instagibbs|Oh, if the two bip9 aren't packaged, I think we should
212 2016-08-11 19:20:25	0|wumpus|jtimon: yes, sipa just quoted the code change :)
213 2016-08-11 19:20:29	0|instagibbs|(duh, bip9)
214 2016-08-11 19:21:31	0|sipa|jl2012 sounded like he thought this would require more testing; and i agree that if due to extra testing this would delay the segwit softfork, we should not
215 2016-08-11 19:21:45	0|wumpus|I like coupling an uncontroversial change to a more risky one more than the other way around at least
216 2016-08-11 19:21:46	0|kanzure|s/we should not/we should not bundle
217 2016-08-11 19:21:54	0|luke-jr|(huh, it occurs to me - not a real suggestion - that we *could* have de-bundled the block size increase from segwit into a separate BIP9 bit, so long as all deployment of segwit included support for the separate blocksize-increase bit; IMO interesting)
218 2016-08-11 19:22:14	0|jtimon|no strong opinion about doing the low-s sf with segwit or later
219 2016-08-11 19:22:35	0|jtimon|but yeah, the sf itself seems uncontroversial
220 2016-08-11 19:22:41	0|sipa|gmaxwell countered that if low_s requires testing, that's testing we should be doing already, as it's being enforced on every transaction on the network already, so making it consensus likely just removes the possibility for untested cases
221 2016-08-11 19:23:14	0|GreenIsMyPepper|seems cleaner to have low-S from the start, no?
222 2016-08-11 19:24:22	0|luke-jr|wumpus: coupling an uncontroversial change to a more controversial one, could be taken as pressure to activate the controversial one; so for that reason, it may be best to keep them separate (like how we don't do softforks in .0 releases)
223 2016-08-11 19:24:35	0|luke-jr|(separate in the BIP9 sense, not necessarily a different release)
224 2016-08-11 19:24:53	0|instagibbs|luke-jr, my assumption would be a different bit
225 2016-08-11 19:24:55	0|btcdrak|I think lowS softfork is a nobrainer, it's also easy and uncomplicated since it's already policy.
226 2016-08-11 19:25:04	0|wumpus|luke-jr:that would be if it is uncontroverial *and* attractive, but there's no one really waiting for low-s enforcement, it's just a cleanup
227 2016-08-11 19:25:06	0|jtimon|I mean, we can also deploy low-s in, say 0.12.2 before segwit (oh, wait, backport bip9)
228 2016-08-11 19:25:24	0|jtimon|if they go in the same release, why separate them in the bip9 sense?
229 2016-08-11 19:25:30	0|kanzure|luke-jr: that's at best an argument for your segwit bip9 activation decoupling idea.
230 2016-08-11 19:25:39	0|wumpus|I don't think we should deploy anything before segwit
231 2016-08-11 19:25:51	0|sipa|wumpus: agree
232 2016-08-11 19:25:58	0|jonasschnelli|agree
233 2016-08-11 19:26:27	0|wumpus|it's time for segwit now, we should try to move ahead with things instead of introducing more things in between
234 2016-08-11 19:26:35	0|luke-jr|kanzure: well, it's almost certainly too late for that (it definitely would add to testing required)
235 2016-08-11 19:26:45	0|jtimon|wumpus: just saying that together is not the only option for having low-s from the start of segwit, no strong opinion
236 2016-08-11 19:26:55	0|wumpus|so, yeah, let's get 0.13.0 out asap then decide on a timeframe etc for segwit and do 0.13.1
237 2016-08-11 19:27:03	0|sipa|ok
238 2016-08-11 19:27:09	0|GreenIsMyPepper|luke-jr: to follow up with the above ping, we're presuming a policy limit to be the same as P2SH constraints with the redeemScript size
239 2016-08-11 19:27:22	0|luke-jr|GreenIsMyPepper: thanks
240 2016-08-11 19:27:58	0|wumpus|adding LOW_S is fine with me, it's simple to do and not risky and not controversial, indeed is a lot of overhead to do a seperate softfork for it
241 2016-08-11 19:28:33	0|instagibbs|also segwit could activate first, in some universe
242 2016-08-11 19:28:33	0|sipa|GreenIsMyPepper: oh sure - no reason why segwit would be able to do less than what is currently possible with P2SH
243 2016-08-11 19:29:26	0|wumpus|next topic?
244 2016-08-11 19:29:42	0|wumpus|#topic raising mandatory script flags to include bip66
245 2016-08-11 19:29:53	0|btcdrak|I would prefer we combine lowS with segwit.
246 2016-08-11 19:29:59	0|jtimon|regarding luke-jr's argument, I don't think segwit is controversial either, but if segwit+low-s deployment fails, you can always try again with them separated
247 2016-08-11 19:30:00	0|luke-jr|what node versions does this result in cutting off from the network? pre-0.8, I think?
248 2016-08-11 19:30:00	0|sipa|so, we have 3 sets of flags currently
249 2016-08-11 19:30:16	0|sipa|1) mandatory flags 2) consensus flags 3) standardness
250 2016-08-11 19:30:27	0|wumpus|luke-jr: no one is 'cut off' from the network?
251 2016-08-11 19:30:39	0|luke-jr|then I am misunderstanding
252 2016-08-11 19:30:42	0|jtimon|sipa: how are mandatory flags different from consensus flags?
253 2016-08-11 19:30:51	0|sipa|luke-jr is not misunderstanding
254 2016-08-11 19:31:00	0|wumpus|luke-jr: it's a softfork so 0.8 nodes should still be able to verify?
255 2016-08-11 19:31:15	0|sipa|wumpus: i'm explaining
256 2016-08-11 19:31:28	0|instagibbs|Mandatory script verification flags that all new blocks must comply with for
257 2016-08-11 19:31:28	0|instagibbs|* them to be valid. (but old blocks may not comply with) Currently just P2SH,
258 2016-08-11 19:31:34	0|sipa|the reason why mandatory flags are different from consensus is because old nodes are not guaranteed to not send us currently-invalid transactions
259 2016-08-11 19:31:50	0|sipa|and we would ban them if they send a BIP66-invalid transaction, for example
260 2016-08-11 19:31:55	0|instagibbs|"Failing one of these tests may trigger a DoS ban" I see
261 2016-08-11 19:32:01	0|sipa|so that's why BIP66 is not part of mandatory flags
262 2016-08-11 19:32:19	0|sipa|i just wanted to bring up the topic, not necessarily for anytime soon
263 2016-08-11 19:32:21	0|wumpus|right, so they would not be cut off the network, but only if they actually generate or relay something invalid by new rules
264 2016-08-11 19:32:28	0|luke-jr|note we have a fork of 0.5.3 that is actively "maintained" and used
265 2016-08-11 19:32:34	0|jtimon|instagibbs: also bip66, bip65 and bip112, no?
266 2016-08-11 19:32:35	0|sipa|wumpus: it could partition the network, though
267 2016-08-11 19:32:41	0|luke-jr|s/we/someone else on the network/
268 2016-08-11 19:32:55	0|wumpus|sipa: ok, let's look at it from the other side then
269 2016-08-11 19:32:57	0|instagibbs|jtimon, oh, the comment is straight from master
270 2016-08-11 19:33:00	0|wumpus|sipa: what would be the advantage?
271 2016-08-11 19:33:01	0|sipa|wumpus: if there is a large group of pre-0.8 nodes connected to eachother, and they get an invalid transactions relayed to eachother
272 2016-08-11 19:33:23	0|jtimon|but all new blocks must comply with those too
273 2016-08-11 19:33:45	0|wumpus|does it cost a node a lot of resources to verify BIP66 compliance? if not, why does it warrant DoS banning?
274 2016-08-11 19:33:58	0|sipa|wumpus: good point
275 2016-08-11 19:34:22	0|sipa|perhaps the policy should just be to never extend mandatory flags
276 2016-08-11 19:34:31	0|sipa|unless there is a DoS attack that needs it to be fixed
277 2016-08-11 19:34:40	0|wumpus|I remember a previous discussion about being less trigger happy regarding DoS banning
278 2016-08-11 19:34:49	0|wumpus|right, if there is DoS risk it is the appropriate measure
279 2016-08-11 19:35:05	0|sipa|i just noticed that this is something we've been ignoring the value of mandatory flags
280 2016-08-11 19:35:21	0|wumpus|yes, sure, it's confusing
281 2016-08-11 19:35:25	0|sipa|yes, indeed, i remember reducing dos banning flags
282 2016-08-11 19:35:50	0|wumpus|but adding a comment explaining this rationale would do just as well as extending the mandatory flags
283 2016-08-11 19:36:09	0|sipa|fair enough
284 2016-08-11 19:36:45	0|jtimon|sipa: I'm not sure I follow, why aren't SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY and SCRIPT_VERIFY_CHECKSEQUENCEVERIFY in MANDATORY_SCRIPT_VERIFY_FLAGS ?
285 2016-08-11 19:37:19	0|sipa|jtimon: because pre-0.11.2 nodes could get banned by us if they'd send a CSV-violating transaction
286 2016-08-11 19:37:26	0|wumpus|jtimon: for the same reason, probably, it would be harmful to DoS ban on them
287 2016-08-11 19:37:45	0|luke-jr|jtimon: if a 0.5.3 node sends you a transaction violating those rules, you don't want to ban them, just reject it; if you banned them, you partition such nodes off the network and they stop getting blocks
288 2016-08-11 19:37:56	0|wumpus|(to not accidentally partition the network)
289 2016-08-11 19:38:01	0|jtimon|ok, so it's all about the DoS score
290 2016-08-11 19:38:07	0|wumpus|yes
291 2016-08-11 19:38:24	0|instagibbs|so why is it ok to ban a misbehaving p2sh transaction (probably veering off the path here)
292 2016-08-11 19:38:44	0|jtimon|why SCRIPT_VERIFY_P2SH is different from other softforks for this again?
293 2016-08-11 19:38:49	0|wumpus|validation overhead?
294 2016-08-11 19:39:06	0|sipa|jtimon: it was very old at the time mandatory flags was introduced, so nobody cared, i guess
295 2016-08-11 19:39:13	0|gmaxwell|We can't reasonably support old versions forever; We're not testing them, and certantly not testing weirdo transactions with them.  perhaps we should have a program of making links to sufficiently old versions blocks-only after some point.
296 2016-08-11 19:39:44	0|wumpus|well people run them on their own risk
297 2016-08-11 19:40:04	0|jtimon|wumpus: well they risk being banned, no?
298 2016-08-11 19:40:17	0|gmaxwell|yes, though if we blocks only them we won't risk partitioning them do to weirdness with txn handling. Much more likely to be reliable.
299 2016-08-11 19:41:12	0|sipa|i think it's more a philosophical issue... another implementation may have different policy, and it's not our place to trigger happy ban them
300 2016-08-11 19:41:13	0|sipa|i like the idea of reducing dos banning where possible
301 2016-08-11 19:41:14	0|wumpus|sure, but would be best to not DoS ban in the first place for non DoS offenses
302 2016-08-11 19:41:45	0|jtimon|sipa: for SCRIPT_VERIFY_P2SH too?
303 2016-08-11 19:41:57	0|luke-jr|gmaxwell: would blocks-only treatment break their wallet broadcasts, though?
304 2016-08-11 19:42:08	0|gmaxwell|Sending a consensus invalid transaction is a prefectly reasonable thing to ban for ... ignoring that the consensus rules change over time.
305 2016-08-11 19:42:10	0|wumpus|I don't think we should make the one-sided decision to make lower version nodes blocks-only
306 2016-08-11 19:42:28	0|gmaxwell|luke-jr: yes but nodes that old already have wallet broadcast problems because of high-S enforcement as standardness.
307 2016-08-11 19:42:28	0|wumpus|e.g. something may report a low network version but be perfectly able to handle new transactions
308 2016-08-11 19:42:44	0|wumpus|they're not really coupled the same way in other software than bitcoin core
309 2016-08-11 19:42:50	0|gmaxwell|probablity of their txn not relaying already is exponential in the number of signatures.
310 2016-08-11 19:42:52	0|luke-jr|gmaxwell: consider that there's a crowd who insist on using 0.5.3 :/
311 2016-08-11 19:43:06	0|wumpus|in any case I don't think this is a very urgent topic
312 2016-08-11 19:43:08	0|luke-jr|I guess they must have patched that
313 2016-08-11 19:43:31	0|jtimon|luke-jr: who insists in using 0.5.3 ?
314 2016-08-11 19:43:49	0|luke-jr|jtimon: therealbitcoin.org people
315 2016-08-11 19:43:58	0|gmaxwell|luke-jr: they have to apply a small pile of fixes in any case.
316 2016-08-11 19:44:26	0|gmaxwell|presumably they're fixed to produce high-S signatures (or not transacting at all... :P )
317 2016-08-11 19:45:20	0|luke-jr|I suppose the BIP 66 patch is fairly trivial to add to that pile if they care; but sipa is right about the principle of not cutting them off IMO
318 2016-08-11 19:45:28	0|wumpus|they probably write raw transactions in their head instead of using the bitcoin core wallet
319 2016-08-11 19:45:31	0|jtimon|I guess I can ask after the meeting, but why don't they want to upgrade?
320 2016-08-11 19:45:51	0|sipa|jtimon: yes, let's discuss that after the meeting
321 2016-08-11 19:45:58	0|luke-jr|^+1
322 2016-08-11 19:46:02	0|jtimon|sipa: sure, np
323 2016-08-11 19:46:07	0|sipa|i think this is getting too abstract
324 2016-08-11 19:46:21	0|sipa|i just wanted to raise attention to the neglected mandatory flags :)
325 2016-08-11 19:46:29	0|wumpus|in any case, not our problem, we should not do anything to sabotage use of old clients, but we're also not responsible for making sure all old versions still work, they'll have to do with a pile of patches on top
326 2016-08-11 19:46:33	0|wumpus|yes, next topic?
327 2016-08-11 19:46:39	0|btcdrak|I dont see any 0.5.3 useragents
328 2016-08-11 19:46:58	0|sipa|wumpus: you had rc3 as topic?
329 2016-08-11 19:47:05	0|wumpus|#topic rc3 go-ahead
330 2016-08-11 19:47:31	0|btcdrak|luke-jr: are you sure there are 0.5.3 nodes on the network? https://bitnodes.21.co/nodes/?q=0.5.3
331 2016-08-11 19:47:32	0|wumpus|yes, quick question, anything that still needs to be merged/backported for 0.13.0 apart from release notes?
332 2016-08-11 19:48:09	0|wumpus|not seeing anything here https://github.com/bitcoin/bitcoin/milestone/20
333 2016-08-11 19:48:11	0|luke-jr|on the off-chance there's no objection, I'd like to PR https://github.com/bitcoin/bitcoin/commit/5a716a3bc6621e4d2e2c1de5b6b5596d6877d589 for 0.13.0 mostly just to make #8459 uncontroversial
334 2016-08-11 19:48:28	0|wumpus|so I'm going to tag rc3 in a very short while, after the usual translation updates and such
335 2016-08-11 19:48:50	0|luke-jr|btcdrak: 1) those are just listening nodes, 2) 7 nodes show as 99999 "/therealbitcoin.org:0.9.99.99/"
336 2016-08-11 19:49:24	0|wumpus|yes they don't report as 0.5.3
337 2016-08-11 19:49:40	0|jtimon|sipa: so should we get  SCRIPT_VERIFY_P2SH out of mandatory too?
338 2016-08-11 19:49:57	0|btcdrak|luke-jr: ok so there are 5 nodes out of 5000, I really dont think we have to be concerned.
339 2016-08-11 19:50:01	0|sipa|jtimon: out of topic :)
340 2016-08-11 19:50:15	0|jtimon|sipa: ok, later too, whatever
341 2016-08-11 19:50:26	0|wumpus|btcdrak: it's not a concern
342 2016-08-11 19:50:30	0|btcdrak|wumpus: rc3 looks good to go.
343 2016-08-11 19:51:00	0|wumpus|foss gives that freedom to run your own stack of weird hacks if you want for whatever reason
344 2016-08-11 19:51:15	0|wumpus|btcdrak: ok!
345 2016-08-11 19:51:38	0|sipa|ack rc3
346 2016-08-11 19:51:44	0|jonasschnelli|ready to build
347 2016-08-11 19:51:52	0|cfields|sipa: as discussed yesterday, any need to try to get default_witness_commitment added to gbt with no witness data for 0.13.0? So miners can start easily adding commitments even before activation?
348 2016-08-11 19:52:00	0|btcdrak|There's also a blog post being written about 0.13.0 if some eyes could review and comment https://github.com/bitcoin-core/bitcoincore.org/pull/199
349 2016-08-11 19:52:38	0|sipa|cfields: fine be me
350 2016-08-11 19:53:19	0|sipa|btcdrak: great
351 2016-08-11 19:53:30	0|wumpus|cfields: eh, so that means holding up rc3?
352 2016-08-11 19:53:32	0|cfields|wumpus: opinion ^^? Not critical, we have testnet.
353 2016-08-11 19:53:55	0|wumpus|if it's not critical I'd say not do it, at this point
354 2016-08-11 19:54:04	0|sipa|cfields: 0.13.0 has no activation, so it would not produce a default_witness_commitment?
355 2016-08-11 19:54:10	0|wumpus|unless you want to be that person holding up the release :)
356 2016-08-11 19:54:13	0|sipa|i think there is no need for that in 0.13.0
357 2016-08-11 19:54:22	0|luke-jr|sipa: the subject was commitments pre-activation
358 2016-08-11 19:54:41	0|sipa|i'm confused about that
359 2016-08-11 19:55:01	0|wumpus|#link review blog post https://github.com/bitcoin-core/bitcoincore.org/pull/199
360 2016-08-11 19:55:13	0|sipa|i think a miner on 0.13.0 should never produce a segwit commitment, and a 0.13.1 one (assuming it has a defined start date) should always (regardless of whether it is before or after the start time)
361 2016-08-11 19:55:35	0|gmaxwell|^ thats my expectation
362 2016-08-11 19:55:38	0|sipa|there is no problem if people choose to diverge from that
363 2016-08-11 19:56:08	0|wumpus|cfields: to be honest I'm not sure what the advantage or disadvantage of that is
364 2016-08-11 19:56:56	0|gmaxwell|The reason I believe we should do that is so that we don't hae sudden behavior changes at times which are far away from updating the software which might break downstream mining infrastructure.
365 2016-08-11 19:56:57	0|cfields|works for me. i was only considering it as a way to see that pools had begun adding valid structures. obviously it wouldn't be actually checked/used
366 2016-08-11 19:57:32	0|gmaxwell|e.g. if you update your bitcoin node and then days/weeks later it starts doing thing with segwit commitments that breaks your miners or pooling software, that is preferable. You would prefer the break to happen at upgrade time.
367 2016-08-11 19:57:45	0|sipa|cfields: 0.13.0 for all intents and purposes behaves identical to older nodes wrt segwit behaviour
368 2016-08-11 19:58:04	0|sipa|cfields: so i think there is no point in using witness commitments as a signalling mechanism for anything in 0.13.0 already
369 2016-08-11 19:58:05	0|cfields|sipa: understood
370 2016-08-11 19:58:44	0|sipa|so, ack rc3?
371 2016-08-11 19:58:50	0|gmaxwell|as far as 0.13 vs 0.13.1 I think 0.13 should not change behavior, because it won't ever activate. so there is no problem of behavior suddenly changing with it.
372 2016-08-11 19:58:55	0|gmaxwell|rc3 sounds good to me.
373 2016-08-11 19:59:20	0|cfields|works for me
374 2016-08-11 19:59:41	0|jtimon|yay 0.13.0!
375 2016-08-11 19:59:55	0|gmaxwell|jtimon: careful, you're going to trigger some confused reddit posts.
376 2016-08-11 20:00:12	0|wumpus|roughly one minute to go
377 2016-08-11 20:00:20	0|jtimon|oops, sorry, yay ack rc3
378 2016-08-11 20:00:24	0|gmaxwell|I think someone's clock is off.
379 2016-08-11 20:00:32	0|gmaxwell|Time to die.
380 2016-08-11 20:00:37	0|wumpus|jtimon: yes, let's not get ahead of ourselves
381 2016-08-11 20:00:40	0|lightningbot|Log:            http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.log.html
382 2016-08-11 20:00:40	0|lightningbot|Meeting ended Thu Aug 11 20:00:39 2016 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
383 2016-08-11 20:00:40	0|lightningbot|Minutes:        http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.html
384 2016-08-11 20:00:40	0|lightningbot|Minutes (text): http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.txt
385 2016-08-11 20:00:40	0|sipa|#killtime
386 2016-08-11 20:00:40	0|wumpus|#endmeeting
387 2016-08-11 20:00:49	0|gmaxwell|and it ended on time. hurrah.
388 2016-08-11 20:01:05	0|wumpus|no, clock is not off, the server is just travelling at relativistic speeds...
389 2016-08-11 20:01:23	0|jtimon|sipa: so should we get  SCRIPT_VERIFY_P2SH out of mandatory too?
390 2016-08-11 20:02:14	0|wumpus|or completely drop mandatory?
391 2016-08-11 20:02:31	0|luke-jr|jtimon: to answer your earlier question best I can: I think they perceive 0.5.3 as the last release before the Bitcoin Foundation "got involved" (I know the BCF was never involved, but they're conspiracy nuts)
392 2016-08-11 20:02:50	0|jtimon|wumpus: well, at that point mandatory would be only SCRIPT_VERIFY_NONE so it's kind of the same
393 2016-08-11 20:03:18	0|murch|luke-jr: Are they the people around Mircea Popescu?
394 2016-08-11 20:03:23	0|luke-jr|murch: right
395 2016-08-11 20:03:24	0|sipa|murch: yes
396 2016-08-11 20:03:27	0|pigeons|i asked before too, got answers about gavin making changes for CIA, "only real bitcoin address starts with a 1", etc
397 2016-08-11 20:03:28	0|wumpus|jtimon: so after that the logic can be removed, cleanups, yay
398 2016-08-11 20:03:44	0|instagibbs|pigeons, how do they feel about base32...
399 2016-08-11 20:03:50	0|murch|well, in that case… Why bother putting in the extra work of maintaining special cases for them?
400 2016-08-11 20:03:59	0|wumpus|murch: we don't
401 2016-08-11 20:04:00	0|jtimon|this reminds me of https://github.com/jtimon/bitcoin/commit/6314ef0aeb288eb01b9250c0b83e9e4b46c17259 btw
402 2016-08-11 20:04:01	0|sipa|murch: we shouldn't
403 2016-08-11 20:04:34	0|sipa|murch: but we should also find practices that don't gratuiously kick certain types of software off the network, regardless of what that software is
404 2016-08-11 20:04:40	0|cfields|wumpus: so, it was a bit too in-detailed for the meeting, so i didn't bother... I'm considering switching approaches on the boost::thread conversion, curious to get your opinion
405 2016-08-11 20:04:41	0|pigeons|lol instagibbs i don't know you can ask in #trilema if yu want entertinment
406 2016-08-11 20:04:50	0|instagibbs|pigeons, i like not being DoS'd thank you
407 2016-08-11 20:04:55	0|luke-jr|lol
408 2016-08-11 20:05:01	0|jtimon|wumpus: sounds good to me
409 2016-08-11 20:05:06	0|wumpus|cfields: what approach do you consider switching to?
410 2016-08-11 20:05:29	0|jtimon|luke-jr: I see, thanks
411 2016-08-11 20:05:32	0|murch|okay, I must have missed something, because it sounded like someone was thinking about putting extra code and special rules to maintain compatibility to 0.5.3 with the flags thing
412 2016-08-11 20:05:34	0|cfields|wumpus: turns out, osx's clang doesn't support thread_local (ugh). And I doubt it's the only one. So I ended up re-implementing a clone of boost::thread_specific_ptr...
413 2016-08-11 20:05:50	0|cfields|wumpus: then a few more little things like that. It keeps growing and growing...
414 2016-08-11 20:06:07	0|luke-jr|murch: we currently already have this code; the topic was adjusting it (which would have a side effect of effectively kicking off older nodes from the network)
415 2016-08-11 20:06:09	0|wumpus|cfields: what do we use thread local for?
416 2016-08-11 20:06:22	0|jtimon|but sipa didn't answer if that would be ok with him
417 2016-08-11 20:06:30	0|cfields|wumpus: I've started to think it would make more sense to just fix up our code one place at a time to not require interruptions
418 2016-08-11 20:06:42	0|luke-jr|murch: we cannot remove the code, since it is required for every softfork to prevent forking off pre-softfork nodes
419 2016-08-11 20:07:03	0|wumpus|cfields: so the interruptions require the spottily-supported functionality?
420 2016-08-11 20:07:04	0|murch|By the way, while there are still lots of well-informed people reading this. Does anyone else have another list of realistic spending values for Bitcoin Nodes? I'd love to have a second scenario to test my coin selection simulation on.
421 2016-08-11 20:07:06	0|cfields|wumpus: it's necessary for this::thread stuff. So, this_thread::interrupt, this_thread::sleep (interruptible), etc
422 2016-08-11 20:07:33	0|cfields|er, this_thread::interruption_point
423 2016-08-11 20:07:49	0|murch|luke-jr: Thanks for clarifying
424 2016-08-11 20:08:03	0|luke-jr|murch: realistic daily spending values seem to be anything from 0.01 to 1 BTC. :p
425 2016-08-11 20:08:05	0|wumpus|there are two uses of boost::thread_specific_ptr at the moment, one in lock debugging, one in util, also for debugging purposes. I think we could switch away from using them
426 2016-08-11 20:08:12	0|wumpus|cfields: right
427 2016-08-11 20:08:28	0|wumpus|cfields: it's easy enough to switch interruption points to just a flag
428 2016-08-11 20:08:37	0|cfields|wumpus: sorry, i was unclear. thread_local or thread_specific_ptr are necessary for implementing the interruptible threads
429 2016-08-11 20:08:42	0|wumpus|cfields: after all we always interrupt all threads at once anyway, we don't do it on a per-thread basis
430 2016-08-11 20:08:44	0|murch|luke-jr: Sorry, I mean a list of subsequent amounts that were sent by one node, as in a model for simulating wallet behavior.
431 2016-08-11 20:09:03	0|wumpus|cfields: e.g. we stuff everything into one thread group
432 2016-08-11 20:09:10	0|cfields|wumpus: right, now that we have atomics, we can just throw those checks around instead
433 2016-08-11 20:09:50	0|wumpus|right
434 2016-08-11 20:10:15	0|cfields|wumpus: i'd be more comfortable with that. I'm growing less and less confident in the correctness of the wrapper.
435 2016-08-11 20:10:26	0|wumpus|I agree onthe longer term it'd be nice to have each module handle its own interruption/shutdown, but we could first replace our use of boost::interruption_poiint with a global flag easily enough and do that leater
436 2016-08-11 20:11:23	0|wumpus|cfields: sure; we should try to reimplement as little as possible boost functionality, only what we realy need for our current usage
437 2016-08-11 20:12:43	0|cfields|wumpus: ok thanks, i'll give that approach a shot
438 2016-08-11 20:12:43	0|wumpus|if we can do without thread local data, let's do that
439 2016-08-11 20:13:27	0|wumpus|I do like how httpserver was switched to c++11 threads without any issues
440 2016-08-11 20:13:30	0|cfields|yea, i think it works out to be easier that way. It means evaluating some of the threads individually, but we were going to have to do that eventually anyway
441 2016-08-11 20:13:31	0|wumpus|good work
442 2016-08-11 20:14:55	0|cfields|thanks. ok, I'll start pr'ing those changes then.
443 2016-08-11 20:15:03	0|luke-jr|I think we won't know if there are issues until 0.13.0 is out the door. :x
444 2016-08-11 20:15:12	0|cfields|shame to throw away all of that wrapper code, but it was a good learning experience :)
445 2016-08-11 20:15:29	0|luke-jr|cfields: well, hopefully Apple will get TLS by 0.14? :P
446 2016-08-11 20:16:01	0|cfields|luke-jr: yea, it's available in the current xcode beta. funny thing is, they actually ripped it out of upstream clang
447 2016-08-11 20:16:41	0|luke-jr|yeah, so just save it until post-0.13 rather than throw away?
448 2016-08-11 20:16:45	0|cfields|but based on that, i'm assuming they're probably not the only ones
449 2016-08-11 20:16:45	0|wumpus|cfields: yes it's a pity, but I don't think we could have forseen this
450 2016-08-11 20:16:59	0|wumpus|cfields: though I think the wrapper was always meant to be temporary?
451 2016-08-11 20:17:25	0|wumpus|just a self-contained step in moving away from boost
452 2016-08-11 20:17:41	0|cfields|wumpus: right
453 2016-08-11 20:21:54	0|wumpus|luke-jr: correction: until 0.14 is out of the door :)
454 2016-08-11 20:23:26	0|luke-jr|wumpus: oh, that missed the 0.13 merge window? in any case, we don't know that any C++11 is actually safe yet. (in the sense that we may have users who can no longer build)
455 2016-08-11 20:24:10	0|wumpus|many open source projects are switching to requiring c++11
456 2016-08-11 20:24:40	0|luke-jr|yes, I'm not arguing against it.
457 2016-08-11 20:38:35	0|jtimon|btcdrak: it seems I am the only one that considers moving consensus code a good thing by itself, should I close #8337 and #8329 or rebase them?
458 2016-08-11 20:40:03	0|btcdrak|jtimon: sorry I am way behind this week.
459 2016-08-11 20:40:32	0|jtimon|no worries, I don't need an urgent answer
460 2016-08-11 20:40:56	0|btcdrak|please dont close the PRs.
461 2016-08-11 20:41:01	0|jtimon|ok
462 2016-08-11 20:41:26	0|jtimon|that means rebase I guess
463 2016-08-11 20:43:07	0|jtimon|thanks
464 2016-08-11 21:02:29	0|luke-jr|wumpus: https://github.com/bitcoin/bitcoin/issues/8500 :|
465 2016-08-11 21:03:29	0|wumpus|gah
466 2016-08-11 21:03:58	0|murch|lol
467 2016-08-11 21:04:30	0|murch|it's kinda funny that nobody saw that until now. ^^
468 2016-08-11 21:05:49	0|Lightsword|are enough people using thinblocks for it to even matter?
469 2016-08-11 21:06:22	0|wumpus|well it's not nice to conflict with something in use, but on the other hand, it's telling enough that it's only discovered now
470 2016-08-11 21:06:40	0|Lightsword|I mean, compact blocks is already in use…
471 2016-08-11 21:06:53	0|murch|Lightsword: 500 Classic nodes or so
472 2016-08-11 21:07:20	0|Lightsword|murch, what’s first classic version that had thinblocks?
473 2016-08-11 21:07:28	0|murch|Lightsword: and roughly 90 BU and XT perhaps
474 2016-08-11 21:08:01	0|wumpus|would have been useful for finding conflicts if the enumeration actually had the numbers, instead of relying on c++ for counting
475 2016-08-11 21:08:03	0|murch|Lightsword: No clue, I just was aware that r/btc had their panties in a twist over the whole Thinblocks/CompactBlocks thing
476 2016-08-11 21:08:21	0|luke-jr|I suppose it's important for both protocols to handle malicious nodes, and conflicts are not any worse than malice (technically speaking)
477 2016-08-11 21:08:27	0|luke-jr|but it'd be nice to let people implement both
478 2016-08-11 21:08:39	0|wumpus|in any case BIP152 has the number: A new inv type (MSG_CMPCT_BLOCK == 4) and several new protocol messages are added: sendcmpct, cmpctblock, getblocktxn, and blocktxn.
479 2016-08-11 21:09:07	0|luke-jr|yes, this is a failure of thin blocks to use the BIP process :/
480 2016-08-11 21:09:32	0|wumpus|changing that enumeration would mean changing the BIP too
481 2016-08-11 21:09:34	0|wumpus|indeed
482 2016-08-11 21:09:40	0|Lightsword|yeah…I think core node count with compact block support is roughly the same
483 2016-08-11 21:09:42	0|Lightsword|the most common classic node is one that doesn’t seem to support it anyways
484 2016-08-11 21:09:45	0|luke-jr|even their own BUIP doesn't seem to mention this
485 2016-08-11 21:09:51	0|Lightsword|I don’t think people actually use classic in any meaningful sense
486 2016-08-11 21:11:37	0|wumpus|yes, clearly a process failure
487 2016-08-11 21:11:49	0|murch|Lightsword: Don't let yourself quote like that. You'll face endless harrassment on Reddit. :p I'm having a hard time finding the Bitcoin Classic release notes.
488 2016-08-11 21:12:13	0|wumpus|if you grab a number in the protocol you should publish a BIP
489 2016-08-11 21:12:26	0|Lightsword|murch, I’m not sure I care
490 2016-08-11 21:12:39	0|achow101|so it comes down to who defined that enum first
491 2016-08-11 21:12:42	0|wumpus|otherwise how are people supposed to know?
492 2016-08-11 21:13:12	0|sipa|wumpus: they published a buip, i think :)
493 2016-08-11 21:13:18	0|wumpus|it's clearly too late now anyhow
494 2016-08-11 21:13:24	0|wumpus|sipa: well that doesn't do it
495 2016-08-11 21:13:31	0|Lightsword|wait, is it conflicting with MSG_THINBLOCK or MSG_XTHINBLOCK?
496 2016-08-11 21:13:59	0|achow101|MSG_THINBLOCK
497 2016-08-11 21:14:14	0|sipa|ah
498 2016-08-11 21:14:15	0|wumpus|if we're no longer going to follow the BIP process, could as well abandon it
499 2016-08-11 21:14:37	0|Lightsword|so it doesn’t conflict with XT at least since “BUIP010 thin block. We don't support these.”
500 2016-08-11 21:14:44	0|Lightsword|for MSG_THINBLOCK
501 2016-08-11 21:15:51	0|TD-Linux|they submitted a BIP draft to bitcoin-dev which only reserved the bit with no documentation of what it did
502 2016-08-11 21:16:17	0|wumpus|TD-Linux: link?
503 2016-08-11 21:16:31	0|TD-Linux|one sec
504 2016-08-11 21:16:39	0|luke-jr|sipa: a BUIP that doesn't mention either the inv enum nor the service bit.. :/
505 2016-08-11 21:16:53	0|wumpus|it should mention the enum value (4)
506 2016-08-11 21:17:24	0|TD-Linux|wumpus, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-March/012526.html
507 2016-08-11 21:17:29	0|murch|Lightsword: Not sure whether that's what you were saying, but bitcoinxt merged XThin blocks in 0.11F on 24th of June.
508 2016-08-11 21:17:31	0|luke-jr|TD-Linux: this doesn't mention the enum
509 2016-08-11 21:17:35	0|TD-Linux|yes it does
510 2016-08-11 21:17:50	0|wumpus|that's about the services bit
511 2016-08-11 21:18:03	0|TD-Linux|oh okay I see.
512 2016-08-11 21:18:06	0|Lightsword|murch, that issue states the issue isn’t with xthin enum but normal thin enum
513 2016-08-11 21:18:10	0|wumpus|not MSG_THINBLOCK inv type
514 2016-08-11 21:19:40	0|GitHub73|13bitcoin/060.13 149058617 15Wladimir J. van der Laan: qt: translations update pre-rc3
515 2016-08-11 21:19:40	0|GitHub73|[13bitcoin] 15laanwj pushed 1 new commit to 060.13: 02https://github.com/bitcoin/bitcoin/commit/9058617afb24594f09848d2a53403760bd64470a
516 2016-08-11 21:20:21	0|achow101|The earliest mention of MSG_THINBLOCK that I could find is in their reference implementation here: https://github.com/ptschip/bitcoinxt/commit/7ea5854a3599851beffb1323544173f03d45373b#diff-1df47808b82268c616535e7b20216dfbR157
517 2016-08-11 21:20:29	0|achow101|It isn't in any documentation though
518 2016-08-11 21:21:09	0|sipa|i also don't see the problem; an implementation that wants to support both can just look at the service bits
519 2016-08-11 21:21:39	0|sipa|ah, right, if you want to set both service bits...
520 2016-08-11 21:21:49	0|luke-jr|yeah ☺
521 2016-08-11 21:28:27	0|GitHub177|13bitcoin/060.13 14b52c67c 15Wladimir J. van der Laan: doc: Update changelog for rc3
522 2016-08-11 21:28:27	0|GitHub177|[13bitcoin] 15laanwj pushed 1 new commit to 060.13: 02https://github.com/bitcoin/bitcoin/commit/b52c67c4b188c274de60fbd5e26441e9a644dba6
523 2016-08-11 21:31:12	0|wumpus|* [new tag]         v0.13.0rc3 -> v0.13.0rc3
524 2016-08-11 21:31:25	0|achow101|woo building time
525 2016-08-11 21:48:06	0|cfields|https://github.com/theuni/ckpool/commits/segwit-rebased
526 2016-08-11 21:48:27	0|cfields|tested a good bit on testnet. getting ready to push upstream, if anyone's interested in taking a look first
527 2016-08-11 21:48:30	0|cfields|luke-jr: ^^
528 2016-08-11 21:49:19	0|cfields|oh
529 2016-08-11 21:49:51	0|luke-jr|cfields: trade? :P  (I should probably merge tests into libblkmaker segwit first though)
530 2016-08-11 21:50:41	0|luke-jr|actually, tests could use review independently: https://github.com/bitcoin/libblkmaker/pull/7
531 2016-08-11 21:50:50	0|cfields|luke-jr: trade for libblkmaker review?
532 2016-08-11 21:50:54	0|luke-jr|right
533 2016-08-11 21:50:55	0|cfields|sure
534 2016-08-11 21:55:55	0|cfields|luke-jr: looking now.
535 2016-08-11 22:36:46	0|luke-jr|cfields: ok, I think the rest looks good
536 2016-08-11 22:37:56	0|cfields|luke-jr: thanks. Still going through yours. the commitment insertion stuff looks fine so far (though i've already looked over that a good bit)
537 2016-08-11 22:38:27	0|luke-jr|cfields: eh, the commitment insertion stuff isn't in that PR <.<
538 2016-08-11 22:39:01	0|cfields|luke-jr: eh? I'm not looking at the tests, I'm looking at #6
539 2016-08-11 22:39:22	0|luke-jr|ok I guess
540 2016-08-11 22:39:37	0|luke-jr|IMO the tests should go first though XD
541 2016-08-11 22:39:40	0|cfields|need to be familiar with what it's testing first :)
542 2016-08-11 23:26:33	0|cfields|luke-jr: i don't see anything to complain about in #6. I'll grab/run the tests and go through them.
543 2016-08-11 23:40:54	0|luke-jr|cfields: FWIW, I found two things to complain about in #6 >_<  (weightlimit was being enforced even when unset (internally zero), and when transaction weights were unknown)
544 2016-08-11 23:41:26	0|luke-jr|oh, maybe I pushed those before you looked XD
545 2016-08-11 23:41:39	0|michagogo|cfields: my sigs are up