--- Day changed Thu Aug 11 2016 00:01 < sipa> right, the message is confusing 00:01 < 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 00:01 < sipa> we have basically three 3 classes of flags: 00:01 < sipa> mandatory <= consensus <= standardness 00:02 < 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 00:03 < dcousens> sure, OK so its purely just an error message issue 00:03 < sipa> but mandatory doesn't even include BIP66 00:03 < sipa> i think we should change that 00:03 < dcousens> indeed 00:05 < dcousens> sipa: perhaps MANDATORY_SCRIPT_FLAGS shouldn't be const, but instead based on the soft-fork status? 00:06 < dcousens> and STANDARD_NOT_MANDATORY_VERIFY_FLAGS derived, that way it maintains the non banning nature 00:08 < sipa> well MANDATORY flags aren't based on current softfork status, but on what we expect our peers to enforce 00:08 < sipa> s/expect/require/ 00:08 < dcousens> sipa: which you would expect to correlate to what soft forks have activated no? 00:09 < sipa> i don't think so 00:09 < sipa> there is no need to break compatibility with old clients 00:10 < sipa> unless there is an attack that can't be fixed without it 00:10 -!- BashCo [~BashCo@unaffiliated/bashco] has joined #bitcoin-core-dev 00:10 -!- [Author] [~Author]@2401:a400:3202:2000:bad:d09:15:90d] has quit [Ping timeout: 250 seconds] 00:11 < dcousens> right 00:14 < sipa> but if we ever go as far as breaking such compatibility below 0.10, we can at once include CSV, CLTV and segwit 00:14 < sipa> in mandatory 00:14 < sipa> even before segwit activates 00:15 < sipa> because all those rules only apply to transactions that have been nonstandard for a long time 00:18 < 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? 00:19 < wumpus> sipa: I'll try to remember too 00:19 < dcousens> +1 2) 00:19 < dcousens> anyway, no worries cheers for the help sipa 00:26 -!- Cheeseo [~x@unaffiliated/cheeseo] has quit [Read error: Connection reset by peer] 00:26 -!- dcousens [~anon@c110-22-219-15.sunsh4.vic.optusnet.com.au] has quit [Quit: leaving] 00:30 -!- btcdrak [uid165369@gateway/web/irccloud.com/x-jmcpqofdmcakliuy] has joined #bitcoin-core-dev 00:42 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has joined #bitcoin-core-dev 00:44 -!- rubensayshi [~ruben@82.201.93.169] has joined #bitcoin-core-dev 00:49 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has quit [Ping timeout: 264 seconds] 00:52 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 01:04 -!- [Author] [~Author]@2401:a400:3202:2000:bad:d09:15:90d] has joined #bitcoin-core-dev 01:16 -!- Guyver2 [~Guyver2@guyver2.xs4all.nl] has joined #bitcoin-core-dev 01:18 -!- midnightmagic [~midnightm@unaffiliated/midnightmagic] has joined #bitcoin-core-dev 01:47 -!- zooko [~user@2601:281:8080:7af5:e0fa:fc99:73c4:fc79] has quit [Ping timeout: 250 seconds] 01:53 -!- LeMiner2 is now known as LeMiner 01:53 -!- LeMiner [LeMiner@5ED1AFBF.cm-7-2c.dynamic.ziggo.nl] has quit [Quit: Want to be different? Try HydraIRC -> http://www.hydrairc.com <-] 01:53 -!- LeMiner [LeMiner@unaffiliated/leminer] has joined #bitcoin-core-dev 02:09 < jl2012> sipa: why would you like to have a low-s softfork? And is it for segwit scripts only, or for all scripts? 02:21 < sipa> jl2012: it's already nonstandard for a long time, it doesn't hurt anyone, and removes a source of malleability 02:22 < jl2012> so you want it for non-segwit scripts too? 02:23 < sipa> well to be discussed 02:27 -!- Giszmo [~leo@ip5f5ac08d.dynamic.kabel-deutschland.de] has joined #bitcoin-core-dev 02:30 -!- jannes [~jannes@178.132.211.90] has joined #bitcoin-core-dev 02:30 < jl2012> with low-s rule, even the wtxid of a p2wpkh tx is not malleable 02:31 < 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. 02:32 < sipa> i'm about to go sleep 02:33 < jl2012> ok no hurry. I'll leave my thought here 02:39 -!- MarcoFalke [~marco@host10-2.natpool.mwn.de] has joined #bitcoin-core-dev 02:43 -!- Yogh [~Yogh@f36186.upc-f.chello.nl] has quit [Ping timeout: 265 seconds] 02:44 -!- Yogh [~Yogh@f36186.upc-f.chello.nl] has joined #bitcoin-core-dev 03:02 -!- JackH [~Jack@79-73-188-45.dynamic.dsl.as9105.com] has joined #bitcoin-core-dev 03:08 < 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? 03:12 < sipa> one reason would be avoid 3rd party relayers messing with compact block relay 03:12 < 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) 03:14 < jl2012> high-S txs are non-standard already? So it won't happen unless a miner is anti-social 03:14 < gmaxwell> jl2012: non-segwit low-s is already standardness required for a long time now. 03:17 < jl2012> i don't see how a non-mining malicious relayer could exploit this 03:20 < 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. 03:21 < gmaxwell> It provably doesnot usefully expand the utility of the system to permit it, so it's just excess malleability. 03:21 < gmaxwell> Standardness rules are also not guarenteed, miners in the past have simply flipped them off. 03:21 < jl2012> but it's already a standardness rule? 03:21 < gmaxwell> For non-segwit. 03:22 < sipa> for segwit too 03:22 < jl2012> for segwit too, I believe 03:22 < gmaxwell> For non-segwit it leaves open malleability attacks for a greater set of transactions. 03:22 < gmaxwell> so there is more reason to preclude it there. 03:22 < gmaxwell> (and it has been exploited even since non-standard) 03:22 < jl2012> and now you also need the nulldummy softfork too..... 03:23 * sipa zZzZ 03:24 < jl2012> good night 03:24 < gmaxwell> no you don't-- something can only improve things for many transactions, it doesn't have to (and can't) fix everything. 03:25 < gmaxwell> and having more vectors for miners to intentionally play with propagation isn't very interesting. 03:25 < 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. 03:25 < gmaxwell> Having more "mandatory standardness rules" doesn't reduce the complexity of the system, it increases it. 03:26 < jl2012> and that's less obvious than mining high-S 03:26 < gmaxwell> Yes they can, I agree. But that it's a reason that an additional way is desirable. 03:26 < gmaxwell> I think both are pretty obvious if done extensively. :) 03:27 < 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. 03:28 < 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. 03:29 < 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" :) 03:31 < 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) 03:32 < 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) 03:33 < 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) 03:39 < jl2012> What is hybrid monkey? 03:39 < jl2012> pubkey... 03:39 < jl2012> Autocorrect 03:40 < 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. 03:40 < 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). 03:40 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Excess Flood] 03:41 < 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. 03:41 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #bitcoin-core-dev 03:42 < gmaxwell> (at least that we can detect, we can't tell for hash160s we don't know the preimage for) 03:42 < 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. 03:42 < gmaxwell> but it would be more than a one line change, alas. 03:43 < jl2012> Just one line to check the size of key 03:44 < 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. :) 03:45 -!- murch [~murch@p4FE38C50.dip0.t-ipconnect.de] has quit [Quit: Leaving.] 03:45 < jl2012> There is no reason to support uncompressed key in segwit 03:46 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Ping timeout: 244 seconds] 03:46 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #bitcoin-core-dev 03:46 < gmaxwell> Agreed. 03:46 < 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) 03:48 -!- thesnark [~mike@unaffiliated/thesnark] has quit [Remote host closed the connection] 03:51 < jl2012> If someone assumes any existing key hashes are valid in segwit, he may lost money 03:52 < jl2012> Bad assumption, but I'm not surprised if someone really do that 03:53 < gmaxwell> same kind of error might try to reuse a p2pkh hash or a p2sh hash as a segwit script. 03:53 < gmaxwell> People have confused p2sh/p2pkh values in the past. 03:53 < 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) 03:54 -!- thesnark [~mike@unaffiliated/thesnark] has joined #bitcoin-core-dev 03:56 < jl2012> I'd like to at least make uncompressed keys non std. It helps to prevent some type of garbage witness attack 04:21 -!- TomMc [~tom@unaffiliated/tommc] has joined #bitcoin-core-dev 04:31 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 04:40 < jonasschnelli> Re: https://github.com/bitcoin/bitcoin/issues/8497 04:40 < jonasschnelli> I think this would work, although not sure if we want to support that 04:41 < jonasschnelli> (importing keys with no rescan option could at least use the UTXO set to get the keys current balance) 04:41 < jonasschnelli> But I guess it would be complicated for the current data model implementation 04:50 < wumpus> yes it's quite an interesting possibility, if you're not interested in history then rescanning over the utxo set is enough 04:50 < wumpus> this is fast and will work with pruned block chain 04:51 < 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 04:51 < wumpus> I don't think we should call it 'pruned wallet' tho :-) 04:52 < wumpus> that word is already overused. Bt that's a nit 04:55 -!- molly [~molly@unaffiliated/molly] has quit [Ping timeout: 276 seconds] 05:03 < jonasschnelli> wumpus: yes. Pruned wallet is confusing. But yes, the feature could be neat... 05:03 < jonasschnelli> I just feat the UX implications.. 05:04 < jonasschnelli> The datamodel needs something like an "initial" balance... atm, everything is calculated with SUM() 05:06 -!- laurentmt [~Thunderbi@80.215.178.43] has joined #bitcoin-core-dev 05:07 -!- laurentmt [~Thunderbi@80.215.178.43] has quit [Client Quit] 05:07 < wumpus> yes, you'd need to summarize the non-existent history in an "initial" balance, that seems like just a bit of bookkeeping 05:07 < wumpus> agree that with the complicated wallet code it's probably more work than it seems 05:10 < wumpus> eh, no, you don't need that 05:11 < wumpus> you're not going to throw away transactions that count toward your balance 05:11 < wumpus> the completely reduced wallet would contain only transactions with unspent outputs 05:12 < wumpus> there may be some changed needed to balance computation, but you should never have to store a balance delta 05:12 < jonasschnelli> wumpus: hmm... I guess your right 05:12 < jonasschnelli> What about p2sh/multisig? 05:13 < wumpus> the wallet utxo index may be helpful here, https://github.com/bitcoin/bitcoin/pull/7823 05:13 < wumpus> p2sh/multisig doesn't really change, I think 05:18 < wumpus> in any case you are right that the implications should be thought through carefully 05:28 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 05:33 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 05:34 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has joined #bitcoin-core-dev 05:42 -!- Squidicuz [~squid@pool-173-48-102-116.bstnma.fios.verizon.net] has quit [Read error: Connection reset by peer] 05:42 -!- Squidicuz [~squid@pool-173-48-102-116.bstnma.fios.verizon.net] has joined #bitcoin-core-dev 06:00 -!- btcdrak [uid165369@gateway/web/irccloud.com/x-jmcpqofdmcakliuy] has quit [Quit: Connection closed for inactivity] 06:01 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has quit [Quit: Leaving.] 06:04 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has joined #bitcoin-core-dev 06:06 -!- BashCo [~BashCo@unaffiliated/bashco] has quit [Remote host closed the connection] 06:16 -!- Eliel_ [~jojkaart@104-250-47-212.rev.cloud.scaleway.com] has quit [Ping timeout: 264 seconds] 06:23 -!- Eliel [~jojkaart@104-250-47-212.rev.cloud.scaleway.com] has joined #bitcoin-core-dev 06:23 < GitHub65> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/edebf425a2df...0d0abcac1efe 06:23 < GitHub65> bitcoin/master 05242e9 adlawren: Fix minimize and close bugs... 06:23 < GitHub65> bitcoin/master 0d0abca Wladimir J. van der Laan: Merge #8481: Qt: Fix minimize and close bugs... 06:23 < GitHub196> [bitcoin] laanwj closed pull request #8481: Qt: Fix minimize and close bugs (master...fix-minimize-and-close-bugs) https://github.com/bitcoin/bitcoin/pull/8481 06:26 -!- Cheeseo [~x@unaffiliated/cheeseo] has joined #bitcoin-core-dev 06:26 -!- Netsplit *.net <-> *.split quits: cjcj 06:27 -!- jtimon [~quassel@55.31.134.37.dynamic.jazztel.es] has joined #bitcoin-core-dev 06:29 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 06:34 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 06:44 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 264 seconds] 06:46 -!- moli [~molly@unaffiliated/molly] has joined #bitcoin-core-dev 06:47 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 07:18 -!- bad_duck is now known as kcud_dab 07:22 -!- kcud_dab is now known as bad_duck 07:29 -!- btcdrak [uid165369@gateway/web/irccloud.com/x-vsjmuzfvpelkrvqb] has joined #bitcoin-core-dev 07:31 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 07:35 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 07:39 -!- bad_duck is now known as kcud_dab 07:40 -!- kcud_dab is now known as bad_duck 07:48 -!- jtimon [~quassel@55.31.134.37.dynamic.jazztel.es] has quit [Ping timeout: 260 seconds] 07:57 -!- jtimon [~quassel@55.31.134.37.dynamic.jazztel.es] has joined #bitcoin-core-dev 08:01 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 258 seconds] 08:16 -!- BashCo [~BashCo@unaffiliated/bashco] has joined #bitcoin-core-dev 08:17 -!- murch [~murch@p4FE382BA.dip0.t-ipconnect.de] has joined #bitcoin-core-dev 08:18 -!- whphhg [whphhg@gateway/vpn/mullvad/x-yaaybitwseqyowua] has quit [Ping timeout: 265 seconds] 08:19 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 08:32 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 258 seconds] 08:33 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 08:37 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 08:45 -!- cryptapus_afk is now known as cryptapus_ 08:45 -!- cryptapus_ is now known as cryptapus 08:55 -!- whphhg [whphhg@gateway/vpn/mullvad/x-yhvupfofmbkdpdul] has joined #bitcoin-core-dev 09:24 -!- kadoban [~mud@unaffiliated/kadoban] has joined #bitcoin-core-dev 09:25 < GitHub118> [bitcoin] jl2012 opened pull request #8499: [Untested] Check bad witness (master...badwitnesscheck) https://github.com/bitcoin/bitcoin/pull/8499 09:33 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 09:38 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 09:46 -!- rubensayshi [~ruben@82.201.93.169] has quit [Ping timeout: 276 seconds] 09:49 -!- Yogh [~Yogh@f36186.upc-f.chello.nl] has quit [Ping timeout: 250 seconds] 10:24 -!- Yogh [~Yogh@f36186.upc-f.chello.nl] has joined #bitcoin-core-dev 10:28 -!- arowser [~quassel@106.120.101.38] has quit [Ping timeout: 250 seconds] 10:30 -!- arowser [~quassel@106.120.101.38] has joined #bitcoin-core-dev 10:33 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 10:33 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has joined #bitcoin-core-dev 10:33 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has quit [Max SendQ exceeded] 10:34 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has joined #bitcoin-core-dev 10:51 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 276 seconds] 10:53 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 11:13 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 250 seconds] 11:22 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 11:27 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 250 seconds] 11:43 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 11:59 < cfields> meeting? 11:59 < jonasschnelli> yes 11:59 < wumpus> yes 11:59 < wumpus> #startmeeting 11:59 < lightningbot> Meeting started Thu Aug 11 18:59:45 2016 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 11:59 < lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic. 12:00 < sipa> present 12:00 < 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) 12:00 < wumpus> eh no 4 12:01 < wumpus> can anyone do the giant highlight list? 12:01 -!- yep [4e30a838@gateway/web/freenode/ip.78.48.168.56] has joined #bitcoin-core-dev 12:01 < jonasschnelli> ping gmaxwell 12:01 < cfields> gmaxwell: paging bot 12:01 < 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 12:01 < kanzure> hi. 12:02 < instagibbs> oops, it's not wednesday, how about that 12:02 < wumpus> thanks 12:02 < luke-jr> heh 12:02 < wumpus> another topic would be rc3 go-ahead 12:02 < kanzure> not sure about priority but jtimon was asking for code review eyeballs on #8493 12:03 < wumpus> but let's start with sipa's topics 12:03 < btcdrak> hi 12:03 < wumpus> #topic segwit policy limits 12:03 < michagogo> cfields: I think last time he said it's not a bot... 12:03 < cfields> michagogo: was a joke :) 12:03 < gmaxwell> it's just an alias. 12:03 < wumpus> michagogo: all bots say that! 12:03 < sipa> jl2012 has suggested some changes to prevent DoS attacks with segwit 12:04 < michagogo> Also, if anyone's interested I think the KSK ceremony is starting soon 12:04 < sipa> do we in addition want per txin witness size limits or so 12:04 -!- gmaxwell [greg@wikimedia/KatWalsh/x-0001] has left #bitcoin-core-dev [] 12:04 < wumpus> may make sense to add some initial limits, they can always be removed later 12:05 < wumpus> adding limits later is more controversial 12:05 < sipa> agree 12:05 < instagibbs> is this merely to offset people stuffing data for 25% the price 12:05 < sipa> but i'd like to know what opinions people have about this 12:06 < instagibbs> could you elaborate additional motivations if any 12:06 < jl2012> this is a conceptual PR: https://github.com/bitcoin/bitcoin/pull/8499 12:06 < wumpus> ofc 12:06 < luke-jr> a policy limit matching p2sh's consensus limit sounds uncontroversial 12:06 < luke-jr> but this is too small for N-of->15, so maybe slightly larger is desirable 12:07 < luke-jr> someone involved with Lightning probably should comment as well 12:07 < wumpus> yes, it would be important not to sabotage that 12:08 < btcdrak> ping roasbeef GreenIsMyPepper rusty ^ 12:08 < instagibbs> could someone tell me what we're protecting against first? I can't really form an opinion 12:09 < jtimon> is this a new consensus rule or just policy? (looking at 8499 seems policy only, just want to confirm) 12:09 < sipa> jl2012: policy 12:09 < kanzure> instagibbs: txin witness size bloating 12:09 < sipa> eh, jtimon ^ 12:09 < jtimon> thanks 12:10 < sipa> jl2012: 8499 does not set a size limit, right? 12:10 < instagibbs> 8499 I think just bans peers for bad witnesses 12:10 < sipa> instagibbs: also protection against the problems discussed in #8279 12:11 < jl2012> sipa: it's per input size limit 12:11 < instagibbs> sipa, yes, makes sense 12:11 < sipa> ok 12:12 < sipa> jl2012: but no limits for p2wsh 12:12 < sipa> (sorry, i haven't looked in detail; correct me if i'm wrong) 12:13 < sipa> seems there are not too many opinions; i'll propose some thing for next meeting 12:14 < sipa> next topic? 12:14 < wumpus> #topic softfork to make low-s required simultaneously with segwit 12:15 < wumpus> there was some discussion about this earliet today between sipa and jl2012 12:15 < luke-jr> IIRC, this just blocks transactions that can be fixed with malleation anyway. might as well. 12:15 < wumpus> sipa: why would you like to have a low-s softfork? And is it for segwit scripts only, or for all scripts? 12:15 < wumpus> jl2012: it's already nonstandard for a long time, it doesn't hurt anyone, and removes a source of malleability 12:15 < wumpus> so you want it for non-segwit scripts too? 12:15 < wumpus> well to be discussed 12:15 < murch> Are there any downsides to that? 12:15 < 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 12:16 < wumpus> with low-s rule, even the wtxid of a p2wpkh tx is not malleable 12:16 < wumpus> 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? 12:16 < wumpus> one reason would be avoid 3rd party relayers messing with compact block relay 12:16 < jl2012> sipa: limiting p2wsh is more difficult, I think it could only be done case-by-case 12:16 < wumpus> sipa: agreed; the thing for discussion is mostly why to combine it with segwit 12:17 < wumpus> a low-s softfork itself at some point is uncontroversial imo 12:17 < sipa> pro combining it with segwit: it may be hard to do this as a separate softfork 12:17 < jonasschnelli> why is it hard? 12:17 < luke-jr> ^ 12:17 < sipa> miners need to upgrade software 12:18 < jonasschnelli> Combine it with another, later software? 12:18 < jonasschnelli> softfork 12:18 < sipa> a low-s softfork would be uncontroversial, but also very low benefit 12:18 < luke-jr> no reason to make it urgent; just roll it out and let miners deploy on their own time? 12:18 < sipa> that's possible, but i thought it would be neat to just never have anything but low-s in segwit 12:18 < wumpus> but rolling everything into one giant softfork is more risky 12:18 < GreenIsMyPepper> reading scrollback... 12:19 < wumpus> that is true 12:19 < jonasschnelli> I think it's useful to combine to low-s restriction with the SW software in 0.13.1 12:19 < sipa> it's literally, VersionBitsActive(pindexPrev, DEPLOYMENT_LOW_S) == ACTIVE { flags |= SCRIPT_VERIFY_LOW_S; } 12:19 < wumpus> well yes that would be 0.13.1 12:19 < GreenIsMyPepper> is the policy limit for number of sigs? (sorry for the noise) 12:20 -!- achow101_ [~achow101@pool-71-126-91-220.phlapa.east.verizon.net] has joined #bitcoin-core-dev 12:20 < kanzure> size 12:20 < jtimon> a low s softfork should be also quite easy, no? it's already implemented, just make a flag mandatory for consensus 12:20 < luke-jr> oh, right. speaking of 0.13.1, it seems quite uncontroversial 12:20 < instagibbs> Oh, if the two bip9 aren't packaged, I think we should 12:20 < wumpus> jtimon: yes, sipa just quoted the code change :) 12:20 < instagibbs> (duh, bip9) 12:21 < 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 12:21 < wumpus> I like coupling an uncontroversial change to a more risky one more than the other way around at least 12:21 < kanzure> s/we should not/we should not bundle 12:21 < 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) 12:22 < jtimon> no strong opinion about doing the low-s sf with segwit or later 12:22 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 252 seconds] 12:22 < jtimon> but yeah, the sf itself seems uncontroversial 12:22 < 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 12:23 < GreenIsMyPepper> seems cleaner to have low-S from the start, no? 12:24 < 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) 12:24 < luke-jr> (separate in the BIP9 sense, not necessarily a different release) 12:24 < instagibbs> luke-jr, my assumption would be a different bit 12:24 < btcdrak> I think lowS softfork is a nobrainer, it's also easy and uncomplicated since it's already policy. 12:25 < 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 12:25 < jtimon> I mean, we can also deploy low-s in, say 0.12.2 before segwit (oh, wait, backport bip9) 12:25 < jtimon> if they go in the same release, why separate them in the bip9 sense? 12:25 < kanzure> luke-jr: that's at best an argument for your segwit bip9 activation decoupling idea. 12:25 < wumpus> I don't think we should deploy anything before segwit 12:25 < sipa> wumpus: agree 12:25 < jonasschnelli> agree 12:26 < wumpus> it's time for segwit now, we should try to move ahead with things instead of introducing more things in between 12:26 < luke-jr> kanzure: well, it's almost certainly too late for that (it definitely would add to testing required) 12:26 < jtimon> wumpus: just saying that together is not the only option for having low-s from the start of segwit, no strong opinion 12:26 < wumpus> so, yeah, let's get 0.13.0 out asap then decide on a timeframe etc for segwit and do 0.13.1 12:27 < sipa> ok 12:27 < 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 12:27 < luke-jr> GreenIsMyPepper: thanks 12:27 -!- Ylbam [uid99779@gateway/web/irccloud.com/x-ksvxpeszuhespeuq] has joined #bitcoin-core-dev 12:27 < 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 12:28 < instagibbs> also segwit could activate first, in some universe 12:28 < sipa> GreenIsMyPepper: oh sure - no reason why segwit would be able to do less than what is currently possible with P2SH 12:29 < wumpus> next topic? 12:29 < wumpus> #topic raising mandatory script flags to include bip66 12:29 < btcdrak> I would prefer we combine lowS with segwit. 12:29 < 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 12:29 < sipa> so, we have 3 sets of flags currently 12:30 < luke-jr> what node versions does this result in cutting off from the network? pre-0.8, I think? 12:30 < sipa> 1) mandatory flags 2) consensus flags 3) standardness 12:30 < wumpus> luke-jr: no one is 'cut off' from the network? 12:30 < luke-jr> then I am misunderstanding 12:30 < jtimon> sipa: how are mandatory flags different from consensus flags? 12:30 < sipa> luke-jr is not misunderstanding 12:30 < wumpus> luke-jr: it's a softfork so 0.8 nodes should still be able to verify? 12:31 < sipa> wumpus: i'm explaining 12:31 < instagibbs> Mandatory script verification flags that all new blocks must comply with for 12:31 < instagibbs> * them to be valid. (but old blocks may not comply with) Currently just P2SH, 12:31 < sipa> the reason why mandatory flags are different from consensus is because old nodes are not guaranteed to not send us currently-invalid transactions 12:31 -!- anchow101 [~achow101@166.170.24.229] has joined #bitcoin-core-dev 12:31 < sipa> and we would ban them if they send a BIP66-invalid transaction, for example 12:31 < instagibbs> "Failing one of these tests may trigger a DoS ban" I see 12:32 < sipa> so that's why BIP66 is not part of mandatory flags 12:32 < sipa> i just wanted to bring up the topic, not necessarily for anytime soon 12:32 < wumpus> right, so they would not be cut off the network, but only if they actually generate or relay something invalid by new rules 12:32 < luke-jr> note we have a fork of 0.5.3 that is actively "maintained" and used 12:32 < jtimon> instagibbs: also bip66, bip65 and bip112, no? 12:32 < sipa> wumpus: it could partition the network, though 12:32 < luke-jr> s/we/someone else on the network/ 12:32 < wumpus> sipa: ok, let's look at it from the other side then 12:32 < instagibbs> jtimon, oh, the comment is straight from master 12:33 < wumpus> sipa: what would be the advantage? 12:33 < 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 12:33 -!- chris2000 [~chris2000@p5DCB590A.dip0.t-ipconnect.de] has joined #bitcoin-core-dev 12:33 < jtimon> but all new blocks must comply with those too 12:33 < wumpus> does it cost a node a lot of resources to verify BIP66 compliance? if not, why does it warrant DoS banning? 12:33 < sipa> wumpus: good point 12:34 < sipa> perhaps the policy should just be to never extend mandatory flags 12:34 -!- achow101_ [~achow101@pool-71-126-91-220.phlapa.east.verizon.net] has quit [Ping timeout: 276 seconds] 12:34 < sipa> unless there is a DoS attack that needs it to be fixed 12:34 < wumpus> I remember a previous discussion about being less trigger happy regarding DoS banning 12:34 < wumpus> right, if there is DoS risk it is the appropriate measure 12:35 < sipa> i just noticed that this is something we've been ignoring the value of mandatory flags 12:35 < wumpus> yes, sure, it's confusing 12:35 < sipa> yes, indeed, i remember reducing dos banning flags 12:35 < wumpus> but adding a comment explaining this rationale would do just as well as extending the mandatory flags 12:36 < sipa> fair enough 12:36 < jtimon> sipa: I'm not sure I follow, why aren't SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY and SCRIPT_VERIFY_CHECKSEQUENCEVERIFY in MANDATORY_SCRIPT_VERIFY_FLAGS ? 12:36 -!- chris2000 [~chris2000@p5DCB590A.dip0.t-ipconnect.de] has quit [Client Quit] 12:37 < sipa> jtimon: because pre-0.11.2 nodes could get banned by us if they'd send a CSV-violating transaction 12:37 < wumpus> jtimon: for the same reason, probably, it would be harmful to DoS ban on them 12:37 < 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 12:37 < wumpus> (to not accidentally partition the network) 12:38 < jtimon> ok, so it's all about the DoS score 12:38 < wumpus> yes 12:38 < instagibbs> so why is it ok to ban a misbehaving p2sh transaction (probably veering off the path here) 12:38 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 12:38 < jtimon> why SCRIPT_VERIFY_P2SH is different from other softforks for this again? 12:38 < wumpus> validation overhead? 12:39 -!- gmaxwell [greg@wikimedia/KatWalsh/x-0001] has joined #bitcoin-core-dev 12:39 < sipa> jtimon: it was very old at the time mandatory flags was introduced, so nobody cared, i guess 12:39 < 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. 12:39 < wumpus> well people run them on their own risk 12:40 < jtimon> wumpus: well they risk being banned, no? 12:40 < 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. 12:41 < 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 12:41 < sipa> i like the idea of reducing dos banning where possible 12:41 < wumpus> sure, but would be best to not DoS ban in the first place for non DoS offenses 12:41 < jtimon> sipa: for SCRIPT_VERIFY_P2SH too? 12:41 < luke-jr> gmaxwell: would blocks-only treatment break their wallet broadcasts, though? 12:42 < gmaxwell> Sending a consensus invalid transaction is a prefectly reasonable thing to ban for ... ignoring that the consensus rules change over time. 12:42 < wumpus> I don't think we should make the one-sided decision to make lower version nodes blocks-only 12:42 < gmaxwell> luke-jr: yes but nodes that old already have wallet broadcast problems because of high-S enforcement as standardness. 12:42 < wumpus> e.g. something may report a low network version but be perfectly able to handle new transactions 12:42 < wumpus> they're not really coupled the same way in other software than bitcoin core 12:42 < gmaxwell> probablity of their txn not relaying already is exponential in the number of signatures. 12:42 < luke-jr> gmaxwell: consider that there's a crowd who insist on using 0.5.3 :/ 12:43 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 12:43 < wumpus> in any case I don't think this is a very urgent topic 12:43 < luke-jr> I guess they must have patched that 12:43 < jtimon> luke-jr: who insists in using 0.5.3 ? 12:43 < luke-jr> jtimon: therealbitcoin.org people 12:43 -!- harrymm [~wayne@178.162.199.45] has joined #bitcoin-core-dev 12:43 < gmaxwell> luke-jr: they have to apply a small pile of fixes in any case. 12:44 < gmaxwell> presumably they're fixed to produce high-S signatures (or not transacting at all... :P ) 12:45 < 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 12:45 < wumpus> they probably write raw transactions in their head instead of using the bitcoin core wallet 12:45 < jtimon> I guess I can ask after the meeting, but why don't they want to upgrade? 12:45 < sipa> jtimon: yes, let's discuss that after the meeting 12:45 < luke-jr> ^+1 12:46 < jtimon> sipa: sure, np 12:46 < sipa> i think this is getting too abstract 12:46 < sipa> i just wanted to raise attention to the neglected mandatory flags :) 12:46 < 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 12:46 < wumpus> yes, next topic? 12:46 < btcdrak> I dont see any 0.5.3 useragents 12:46 < sipa> wumpus: you had rc3 as topic? 12:47 < wumpus> #topic rc3 go-ahead 12:47 < btcdrak> luke-jr: are you sure there are 0.5.3 nodes on the network? https://bitnodes.21.co/nodes/?q=0.5.3 12:47 < wumpus> yes, quick question, anything that still needs to be merged/backported for 0.13.0 apart from release notes? 12:48 < wumpus> not seeing anything here https://github.com/bitcoin/bitcoin/milestone/20 12:48 < 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 12:48 < wumpus> so I'm going to tag rc3 in a very short while, after the usual translation updates and such 12:48 < luke-jr> btcdrak: 1) those are just listening nodes, 2) 7 nodes show as 99999 "/therealbitcoin.org:0.9.99.99/" 12:49 < wumpus> yes they don't report as 0.5.3 12:49 < jtimon> sipa: so should we get SCRIPT_VERIFY_P2SH out of mandatory too? 12:49 < btcdrak> luke-jr: ok so there are 5 nodes out of 5000, I really dont think we have to be concerned. 12:50 < sipa> jtimon: out of topic :) 12:50 < jtimon> sipa: ok, later too, whatever 12:50 < wumpus> btcdrak: it's not a concern 12:50 < btcdrak> wumpus: rc3 looks good to go. 12:50 < wumpus> foss gives that freedom to run your own stack of weird hacks if you want for whatever reason 12:51 < wumpus> btcdrak: ok! 12:51 < sipa> ack rc3 12:51 -!- anchow101 [~achow101@166.170.24.229] has quit [Quit: Bye] 12:51 < jonasschnelli> ready to build 12:51 < 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? 12:52 < 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 12:52 -!- anchow101 [~achow101@pool-71-126-91-220.phlapa.east.verizon.net] has joined #bitcoin-core-dev 12:52 < sipa> cfields: fine be me 12:53 < sipa> btcdrak: great 12:53 -!- anchow101 [~achow101@pool-71-126-91-220.phlapa.east.verizon.net] has quit [Client Quit] 12:53 < wumpus> cfields: eh, so that means holding up rc3? 12:53 < cfields> wumpus: opinion ^^? Not critical, we have testnet. 12:53 < wumpus> if it's not critical I'd say not do it, at this point 12:54 < sipa> cfields: 0.13.0 has no activation, so it would not produce a default_witness_commitment? 12:54 < wumpus> unless you want to be that person holding up the release :) 12:54 < sipa> i think there is no need for that in 0.13.0 12:54 < luke-jr> sipa: the subject was commitments pre-activation 12:54 < sipa> i'm confused about that 12:55 < wumpus> #link review blog post https://github.com/bitcoin-core/bitcoincore.org/pull/199 12:55 < 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) 12:55 < gmaxwell> ^ thats my expectation 12:55 < sipa> there is no problem if people choose to diverge from that 12:56 < wumpus> cfields: to be honest I'm not sure what the advantage or disadvantage of that is 12:56 < 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. 12:56 < 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 12:57 < 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. 12:57 < sipa> cfields: 0.13.0 for all intents and purposes behaves identical to older nodes wrt segwit behaviour 12:58 < sipa> cfields: so i think there is no point in using witness commitments as a signalling mechanism for anything in 0.13.0 already 12:58 < cfields> sipa: understood 12:58 < sipa> so, ack rc3? 12:58 < 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. 12:58 < gmaxwell> rc3 sounds good to me. 12:59 < cfields> works for me 12:59 < jtimon> yay 0.13.0! 12:59 < gmaxwell> jtimon: careful, you're going to trigger some confused reddit posts. 13:00 < wumpus> roughly one minute to go 13:00 < jtimon> oops, sorry, yay ack rc3 13:00 < gmaxwell> I think someone's clock is off. 13:00 < gmaxwell> Time to die. 13:00 < wumpus> jtimon: yes, let's not get ahead of ourselves 13:00 < wumpus> #endmeeting 13:00 < lightningbot> Meeting ended Thu Aug 11 20:00:39 2016 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) 13:00 < lightningbot> Minutes: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.html 13:00 < lightningbot> Minutes (text): http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.txt 13:00 < lightningbot> Log: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-08-11-18.59.log.html 13:00 < sipa> #killtime 13:00 < gmaxwell> and it ended on time. hurrah. 13:00 * gmaxwell bbl 13:01 * btcdrak flies off 13:01 < wumpus> no, clock is not off, the server is just travelling at relativistic speeds... 13:01 < jtimon> sipa: so should we get SCRIPT_VERIFY_P2SH out of mandatory too? 13:02 < wumpus> or completely drop mandatory? 13:02 < 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) 13:02 < jtimon> wumpus: well, at that point mandatory would be only SCRIPT_VERIFY_NONE so it's kind of the same 13:03 < murch> luke-jr: Are they the people around Mircea Popescu? 13:03 < luke-jr> murch: right 13:03 < sipa> murch: yes 13:03 < pigeons> i asked before too, got answers about gavin making changes for CIA, "only real bitcoin address starts with a 1", etc 13:03 < wumpus> jtimon: so after that the logic can be removed, cleanups, yay 13:03 < instagibbs> pigeons, how do they feel about base32... 13:03 < murch> well, in that case… Why bother putting in the extra work of maintaining special cases for them? 13:03 < wumpus> murch: we don't 13:03 < jtimon> this reminds me of https://github.com/jtimon/bitcoin/commit/6314ef0aeb288eb01b9250c0b83e9e4b46c17259 btw 13:04 < sipa> murch: we shouldn't 13:04 < 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 13:04 < 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 13:04 < pigeons> lol instagibbs i don't know you can ask in #trilema if yu want entertinment 13:04 < instagibbs> pigeons, i like not being DoS'd thank you 13:04 * instagibbs back on topic 13:04 < luke-jr> lol 13:05 < jtimon> wumpus: sounds good to me 13:05 < wumpus> cfields: what approach do you consider switching to? 13:05 * sipa afk 13:05 < jtimon> luke-jr: I see, thanks 13:05 < 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 13:05 < 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... 13:05 < cfields> wumpus: then a few more little things like that. It keeps growing and growing... 13:06 < 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) 13:06 < wumpus> cfields: what do we use thread local for? 13:06 < jtimon> but sipa didn't answer if that would be ok with him 13:06 < 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 13:06 < luke-jr> murch: we cannot remove the code, since it is required for every softfork to prevent forking off pre-softfork nodes 13:07 < wumpus> cfields: so the interruptions require the spottily-supported functionality? 13:07 < 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. 13:07 < cfields> wumpus: it's necessary for this::thread stuff. So, this_thread::interrupt, this_thread::sleep (interruptible), etc 13:07 < cfields> er, this_thread::interruption_point 13:07 < murch> luke-jr: Thanks for clarifying 13:08 < luke-jr> murch: realistic daily spending values seem to be anything from 0.01 to 1 BTC. :p 13:08 < 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 13:08 < wumpus> cfields: right 13:08 < wumpus> cfields: it's easy enough to switch interruption points to just a flag 13:08 < cfields> wumpus: sorry, i was unclear. thread_local or thread_specific_ptr are necessary for implementing the interruptible threads 13:08 < wumpus> cfields: after all we always interrupt all threads at once anyway, we don't do it on a per-thread basis 13:08 < 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. 13:09 < wumpus> cfields: e.g. we stuff everything into one thread group 13:09 < cfields> wumpus: right, now that we have atomics, we can just throw those checks around instead 13:09 < wumpus> right 13:10 < cfields> wumpus: i'd be more comfortable with that. I'm growing less and less confident in the correctness of the wrapper. 13:10 < 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 13:10 -!- eratkat [~er4tt@95.215.44.99] has joined #bitcoin-core-dev 13:11 < wumpus> cfields: sure; we should try to reimplement as little as possible boost functionality, only what we realy need for our current usage 13:12 < wumpus> if we can do without thread local data, let's do that 13:12 < cfields> wumpus: ok thanks, i'll give that approach a shot 13:13 < wumpus> I do like how httpserver was switched to c++11 threads without any issues 13:13 < 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 13:13 < wumpus> good work 13:14 < cfields> thanks. ok, I'll start pr'ing those changes then. 13:14 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 13:15 < luke-jr> I think we won't know if there are issues until 0.13.0 is out the door. :x 13:15 < cfields> shame to throw away all of that wrapper code, but it was a good learning experience :) 13:15 < luke-jr> cfields: well, hopefully Apple will get TLS by 0.14? :P 13:16 < cfields> luke-jr: yea, it's available in the current xcode beta. funny thing is, they actually ripped it out of upstream clang 13:16 < luke-jr> yeah, so just save it until post-0.13 rather than throw away? 13:16 < wumpus> cfields: yes it's a pity, but I don't think we could have forseen this 13:16 < cfields> but based on that, i'm assuming they're probably not the only ones 13:16 < wumpus> cfields: though I think the wrapper was always meant to be temporary? 13:17 < wumpus> just a self-contained step in moving away from boost 13:17 < cfields> wumpus: right 13:21 < wumpus> luke-jr: correction: until 0.14 is out of the door :) 13:23 < 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) 13:24 < wumpus> many open source projects are switching to requiring c++11 13:24 < luke-jr> yes, I'm not arguing against it. 13:25 -!- MarcoFalke [~marco@host10-2.natpool.mwn.de] has quit [Ping timeout: 265 seconds] 13:28 -!- yep [4e30a838@gateway/web/freenode/ip.78.48.168.56] has quit [Quit: Page closed] 13:38 < 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? 13:39 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 13:40 < btcdrak> jtimon: sorry I am way behind this week. 13:40 < jtimon> no worries, I don't need an urgent answer 13:40 < btcdrak> please dont close the PRs. 13:41 < jtimon> ok 13:41 < jtimon> that means rebase I guess 13:43 < jtimon> thanks 13:44 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 13:45 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has quit [Quit: Leaving.] 14:01 -!- molz [~molly@unaffiliated/molly] has joined #bitcoin-core-dev 14:02 < luke-jr> wumpus: https://github.com/bitcoin/bitcoin/issues/8500 :| 14:03 * luke-jr wonders how compact block code reacts to such thinblock nodes 14:03 < wumpus> gah 14:03 -!- moli [~molly@unaffiliated/molly] has quit [Ping timeout: 258 seconds] 14:03 < murch> lol 14:04 < murch> it's kinda funny that nobody saw that until now. ^^ 14:05 < Lightsword> are enough people using thinblocks for it to even matter? 14:06 < 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 14:06 < Lightsword> I mean, compact blocks is already in use… 14:06 < murch> Lightsword: 500 Classic nodes or so 14:07 < Lightsword> murch, what’s first classic version that had thinblocks? 14:07 < murch> Lightsword: and roughly 90 BU and XT perhaps 14:08 < wumpus> would have been useful for finding conflicts if the enumeration actually had the numbers, instead of relying on c++ for counting 14:08 < murch> Lightsword: No clue, I just was aware that r/btc had their panties in a twist over the whole Thinblocks/CompactBlocks thing 14:08 < luke-jr> I suppose it's important for both protocols to handle malicious nodes, and conflicts are not any worse than malice (technically speaking) 14:08 < luke-jr> but it'd be nice to let people implement both 14:08 < 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. 14:09 < luke-jr> yes, this is a failure of thin blocks to use the BIP process :/ 14:09 < wumpus> changing that enumeration would mean changing the BIP too 14:09 < wumpus> indeed 14:09 < Lightsword> yeah…I think core node count with compact block support is roughly the same 14:09 < Lightsword> the most common classic node is one that doesn’t seem to support it anyways 14:09 -!- thaumaturge [~thaumatur@unaffiliated/thaumaturge] has joined #bitcoin-core-dev 14:09 < luke-jr> even their own BUIP doesn't seem to mention this 14:09 < Lightsword> I don’t think people actually use classic in any meaningful sense 14:11 < wumpus> yes, clearly a process failure 14:11 < 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. 14:12 < wumpus> if you grab a number in the protocol you should publish a BIP 14:12 < Lightsword> murch, I’m not sure I care 14:12 < achow101> so it comes down to who defined that enum first 14:12 < wumpus> otherwise how are people supposed to know? 14:13 < sipa> wumpus: they published a buip, i think :) 14:13 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 244 seconds] 14:13 < wumpus> it's clearly too late now anyhow 14:13 < wumpus> sipa: well that doesn't do it 14:13 < Lightsword> wait, is it conflicting with MSG_THINBLOCK or MSG_XTHINBLOCK? 14:13 < achow101> MSG_THINBLOCK 14:14 < sipa> ah 14:14 < wumpus> if we're no longer going to follow the BIP process, could as well abandon it 14:14 < Lightsword> so it doesn’t conflict with XT at least since “BUIP010 thin block. We don't support these.” 14:14 < Lightsword> for MSG_THINBLOCK 14:15 < TD-Linux> they submitted a BIP draft to bitcoin-dev which only reserved the bit with no documentation of what it did 14:16 < wumpus> TD-Linux: link? 14:16 < TD-Linux> one sec 14:16 < luke-jr> sipa: a BUIP that doesn't mention either the inv enum nor the service bit.. :/ 14:16 < wumpus> it should mention the enum value (4) 14:16 -!- thaumaturge [~thaumatur@unaffiliated/thaumaturge] has quit [Quit: leaving] 14:17 < TD-Linux> wumpus, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-March/012526.html 14:17 < murch> Lightsword: Not sure whether that's what you were saying, but bitcoinxt merged XThin blocks in 0.11F on 24th of June. 14:17 < luke-jr> TD-Linux: this doesn't mention the enum 14:17 < TD-Linux> yes it does 14:17 < wumpus> that's about the services bit 14:18 < TD-Linux> oh okay I see. 14:18 < Lightsword> murch, that issue states the issue isn’t with xthin enum but normal thin enum 14:18 < wumpus> not MSG_THINBLOCK inv type 14:19 < GitHub73> [bitcoin] laanwj pushed 1 new commit to 0.13: https://github.com/bitcoin/bitcoin/commit/9058617afb24594f09848d2a53403760bd64470a 14:19 < GitHub73> bitcoin/0.13 9058617 Wladimir J. van der Laan: qt: translations update pre-rc3 14:20 < 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 14:20 < achow101> It isn't in any documentation though 14:21 < sipa> i also don't see the problem; an implementation that wants to support both can just look at the service bits 14:21 < sipa> ah, right, if you want to set both service bits... 14:21 < luke-jr> yeah ☺ 14:28 < GitHub177> [bitcoin] laanwj pushed 1 new commit to 0.13: https://github.com/bitcoin/bitcoin/commit/b52c67c4b188c274de60fbd5e26441e9a644dba6 14:28 < GitHub177> bitcoin/0.13 b52c67c Wladimir J. van der Laan: doc: Update changelog for rc3 14:29 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has joined #bitcoin-core-dev 14:31 < wumpus> * [new tag] v0.13.0rc3 -> v0.13.0rc3 14:31 < achow101> woo building time 14:32 * sipa fires up the gitian 14:37 -!- laurentmt [~Thunderbi@176.158.157.202] has joined #bitcoin-core-dev 14:37 -!- laurentmt [~Thunderbi@176.158.157.202] has quit [Client Quit] 14:40 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 14:45 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 14:46 -!- cryptapus is now known as cryptapus_afk 14:48 < cfields> https://github.com/theuni/ckpool/commits/segwit-rebased 14:48 < cfields> tested a good bit on testnet. getting ready to push upstream, if anyone's interested in taking a look first 14:48 < cfields> luke-jr: ^^ 14:49 < cfields> oh 14:49 * cfields fires up gitian too 14:49 < luke-jr> cfields: trade? :P (I should probably merge tests into libblkmaker segwit first though) 14:50 < luke-jr> actually, tests could use review independently: https://github.com/bitcoin/libblkmaker/pull/7 14:50 < cfields> luke-jr: trade for libblkmaker review? 14:50 < luke-jr> right 14:50 < cfields> sure 14:55 < cfields> luke-jr: looking now. 14:58 -!- To7 [~theo@cpe-158-222-222-232.nyc.res.rr.com] has joined #bitcoin-core-dev 15:02 * michagogo runs his all-in-one gitian script 15:29 -!- d_t [~textual@83-244-233-136.cust-83.exponential-e.net] has quit [Quit: Textual IRC Client: www.textualapp.com] 15:33 -!- anchow101 [~achow101@pool-108-2-70-199.phlapa.fios.verizon.net] has joined #bitcoin-core-dev 15:33 -!- anchow101 [~achow101@pool-108-2-70-199.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 15:35 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has joined #bitcoin-core-dev 15:36 < luke-jr> cfields: ok, I think the rest looks good 15:37 < 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) 15:38 < luke-jr> cfields: eh, the commitment insertion stuff isn't in that PR <.< 15:39 < cfields> luke-jr: eh? I'm not looking at the tests, I'm looking at #6 15:39 < luke-jr> ok I guess 15:39 < luke-jr> IMO the tests should go first though XD 15:39 < cfields> need to be familiar with what it's testing first :) 15:42 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 15:42 -!- murch [~murch@p4FE382BA.dip0.t-ipconnect.de] has quit [Quit: Leaving.] 15:46 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 16:14 -!- Guyver2 [~Guyver2@guyver2.xs4all.nl] has quit [Remote host closed the connection] 16:21 -!- droark [~droark@c-24-22-36-12.hsd1.or.comcast.net] has quit [Read error: Connection reset by peer] 16:25 -!- Giszmo [~leo@ip5f5ac08d.dynamic.kabel-deutschland.de] has quit [Quit: Leaving.] 16:26 < cfields> luke-jr: i don't see anything to complain about in #6. I'll grab/run the tests and go through them. 16:40 < 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) 16:41 < luke-jr> oh, maybe I pushed those before you looked XD 16:41 < michagogo> cfields: my sigs are up 16:43 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 16:48 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 17:43 -!- TomMc [~tom@unaffiliated/tommc] has quit [Ping timeout: 252 seconds] 17:44 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 17:49 -!- fengling [~fengling@58.135.95.136] has quit [Ping timeout: 240 seconds] 17:55 < achow101> my sigs up as well. Matches michagogo's 18:07 -!- fengling [~fengling@58.135.95.136] has joined #bitcoin-core-dev 18:14 -!- Chris_Stewart_5 [~Chris_Ste@unaffiliated/chris-stewart-5/x-3612383] has quit [Ping timeout: 244 seconds] 18:15 -!- arowser [~quassel@106.120.101.38] has quit [Ping timeout: 265 seconds] 18:15 -!- arowser [~quassel@106.120.101.38] has joined #bitcoin-core-dev 18:20 < Lightsword> is compact blocks supposed to use a nServices flag? https://github.com/bitcoin/bitcoin/blob/d612837814020ae832499d18e6ee5eb919a87907/src/protocol.h#L251-L278 18:21 < sipa> luke-jr: no 18:21 < sipa> eh 18:21 < sipa> Lightsword: no 18:22 < sipa> from https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-May/012630.html: 18:23 < sipa> In line with recent trends, neither service bits nor protocol versions 18:23 < sipa> are particularly well-suited for this purpose. Protocol versions are 18:23 < sipa> impossible to handle sanely across different nodes on the network, as 18:23 < sipa> they cannot indicate optional features. Service bits, while somewhat 18:23 < sipa> more appropriate for this purpose, are a very limited resource which is 18:23 < sipa> generally better suited to indicating significant new features which 18:23 < sipa> nodes might need for correct operation, and thus might wish to actively 18:23 < sipa> seek out when making connections. I'm not sure anyone is suggesting that 18:23 < sipa> here, and absent that recent agreement preferred message-based feature 18:23 < sipa> indication instead of version-message-extension. 18:23 < sipa> oops, that paste was longer than i expected 18:28 < Lightsword> oh, so identification of compact blocks support is just based on MSG_CMPCT_BLOCK? 18:28 < sipa> no, based on sendcmpct 18:32 < Lightsword> sipa, so that won’t conflict with other messages unless something else used “sendcmpct” in NetMsgType here right? https://github.com/bitcoin/bitcoin/blob/d612837814020ae832499d18e6ee5eb919a87907/src/protocol.cpp#L38 18:33 < sipa> yes 18:42 -!- achow101 [~achow101@pool-108-2-70-199.phlapa.fios.verizon.net] has quit [Quit: Leaving] 18:50 -!- achow101 [~achow101@pool-108-2-70-199.phlapa.fios.verizon.net] has joined #bitcoin-core-dev 18:50 < gmaxwell> yea, and 12 bytes gives a lot more 'version space' than 32 bits. :P 18:52 -!- arowser [~quassel@106.120.101.38] has quit [Ping timeout: 265 seconds] 18:52 -!- arowser [~quassel@106.120.101.38] has joined #bitcoin-core-dev 18:59 -!- whphhg [whphhg@gateway/vpn/mullvad/x-yhvupfofmbkdpdul] has quit [Remote host closed the connection] 19:00 -!- whphhg [whphhg@gateway/vpn/mullvad/x-lupvbaxglaojhjfv] has joined #bitcoin-core-dev 19:25 -!- Ylbam [uid99779@gateway/web/irccloud.com/x-ksvxpeszuhespeuq] has quit [Quit: Connection closed for inactivity] 19:30 -!- Alopex [~bitcoin@cyber.dealing.ninja] has quit [Remote host closed the connection] 19:31 -!- Alopex [~bitcoin@cyber.dealing.ninja] has joined #bitcoin-core-dev 19:40 < cfields> luke-jr: yes, those were already there. but in fairness, i wouldn't have caught them anyway. i'm not familiar enough with the code to review for actual correctness, i'm pretty much just looking at each commit with the assumption that everything around it is sane 19:41 < cfields> (actually, i like to think i would've spotted the uninit bug :) 19:42 < cfields> michagogo: thanks. had dinner while builds were cranking, working on sigs now 19:42 < cfields> and thanks achow101 as well 19:48 < luke-jr> cfields: I only managed to catch them as a result of the unit tests 19:50 < cfields> ah 19:52 < cfields> sipa: what's going on with your gpg key? iirc I meant to ask you a while ago (rc2 sig, maybe?). It doesn't look like any of your known (to me) keys 19:53 < sipa> uh 19:53 < sipa> which one did i sgn with? 19:54 < cfields> 9692 B91B BF0E 8D34 DFD3 3B18 82C5 C009 628E CF0C 19:55 < sipa> is that a subkey? 19:56 < cfields> oh wait, that's michagogo's 19:59 < cfields> 79A1A931 20:00 < cfields> looks like a new key. created: 2015-10-20 20:14 < sipa> yes, thT's my current key 20:15 < sipa> have you not signed that one? 20:16 < sipa> main key fingerprint is 133E AC17 9436 F14A 5CF1 B794 860F EB80 4E66 9320 20:17 < sipa> that should be on bitcoin.org even 20:25 -!- spudowiar [~spudowiar@unaffiliated/spudowiar] has quit [Quit: I *think* it *might* be time t- zzzzzz] 20:25 < cfields> sipa: i just signed yours recently. must be some local issue, i'll poke around 20:29 < sipa> cfields: well the key id you're listing in the subkey 20:30 < sipa> maybe somehow you don't recognize that somehow? 20:31 < cfields> sipa: ok, fetched and all good now. thanks. 20:46 < cfields> gitian builders: detached sigs pushed for rc3 21:36 < jl2012> is it allowed to build for linux/windows/osx at the same time? 21:38 < sipa> if you have separate gitin-builder directories 21:39 < jl2012> thanks 22:08 < jl2012> the manual recommends ./bin/gbuild --memory 3000 ; could I assign more memory to make it faster? 22:11 < sipa> i don't think so 22:11 < sipa> you can give it more cpu cores if you have those, and correspondingly more memory 22:21 -!- justanotheruser is now known as antonotheruser 22:22 -!- antonotheruser is now known as justanotheruser 22:51 -!- murch [~murch@p4FE39901.dip0.t-ipconnect.de] has joined #bitcoin-core-dev 23:12 -!- kadoban [~mud@unaffiliated/kadoban] has quit [Quit: bye] 23:16 -!- Alopex [~bitcoin@cyber.dealing.ninja] has quit [Remote host closed the connection] 23:17 -!- Alopex [~bitcoin@cyber.dealing.ninja] has joined #bitcoin-core-dev 23:25 -!- Justinus [~Justinus@192.122.131.41] has joined #bitcoin-core-dev 23:43 < btcdrak> an interesting comment from someone on Slack https://usercontent.irccloud-cdn.com/file/1xdZSObI/Screenshot_20160812-074155.png 23:44 -!- BashCo [~BashCo@unaffiliated/bashco] has quit [Remote host closed the connection] 23:57 -!- jtimon [~quassel@55.31.134.37.dynamic.jazztel.es] has quit [Remote host closed the connection]