< midnightmagic> wumpus: hello, is there a chance the payment protocol is going to go away?
< luke-jr> midnightmagic: probably more likely if someone takes the time to replace it with a better one? ;)
< midnightmagic> :-o
< shesek> anyone read Aviv Zohar's new paper? http://arxiv.org/abs/1605.07524 "Hijacking Bitcoin: Large-scale Network Attacks on Cryptocurrencies"
< GitHub60> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/47a7cfb0aa24...eb2f6f72db5b
< GitHub60> bitcoin/master 02ce2a3 Pavel Vasin: qt: askpassphrasedialog: Clear pass fields on accept...
< GitHub60> bitcoin/master eb2f6f7 Wladimir J. van der Laan: Merge #8073: qt: askpassphrasedialog: Clear pass fields on accept...
< GitHub41> [bitcoin] laanwj closed pull request #8073: qt: askpassphrasedialog: Clear pass fields on accept (master...patch) https://github.com/bitcoin/bitcoin/pull/8073
< GitHub81> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/eb2f6f72db5b...e3a820751f11
< GitHub81> bitcoin/master 90963e5 fanquake: [doc] Add basic git squash example
< GitHub81> bitcoin/master e3a8207 Wladimir J. van der Laan: Merge #8034: [doc][trivial] Add basic git squash workflow [skip ci]...
< GitHub148> [bitcoin] laanwj closed pull request #8034: [doc][trivial] Add basic git squash workflow [skip ci] (master...contrib-squash) https://github.com/bitcoin/bitcoin/pull/8034
< GitHub108> [bitcoin] laanwj pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/e3a820751f11...6fc6325f77ee
< GitHub108> bitcoin/master a4d5855 21E14: CCoinsViewErrorCatcher raison-d-etre
< GitHub108> bitcoin/master 6fc6325 Wladimir J. van der Laan: Merge #8015: CCoinsViewErrorCatcher raison-d-etre...
< GitHub90> [bitcoin] laanwj closed pull request #8015: CCoinsViewErrorCatcher raison-d-etre (master...wrapper) https://github.com/bitcoin/bitcoin/pull/8015
< assder> Question: Are unspendable outputs (such as OP_RETURN outputs) stored in the UTXO set? Will pruned nodes have to store them?
< sipa> they are not stored in the utxo set, but still occupy blockchain space
< sipa> pruned nodes store them as long as they're in recent history
< assder> sipa: thanks
< jtimon> so, phantomcircuit, can we decide with respect to #8077 vs #7985 vs #7947 before deciding about #8087 vs #7310 (or whatever number my next attempt at a "moveonly + doc + trivial fixes" gets)?
< GitHub106> [bitcoin] sipa pushed 3 new commits to master: https://github.com/bitcoin/bitcoin/compare/6fc6325f77ee...c028c7b7557d
< GitHub106> bitcoin/master 581ddff Wladimir J. van der Laan: net: Add fRelayTxes flag...
< GitHub106> bitcoin/master 1ab1dc3 Wladimir J. van der Laan: rpc: Add `relaytxes` flag to `getnetworkinfo`...
< GitHub106> bitcoin/master c028c7b Pieter Wuille: Merge #8049: Expose information on whether transaction relay is enabled in `getnetwork`...
< GitHub121> [bitcoin] sipa closed pull request #8049: Expose information on whether transaction relay is enabled in `getnetwork` (master...2016_05_rpc_relaytxes) https://github.com/bitcoin/bitcoin/pull/8049
< CodeShark> sipa: wumpus: We should disable mining by default on nonrelease branches as discussed earlier. I started working on this idea: https://github.com/CodeShark/bitcoin/commit/34ec9e8af22f40abdcc49c32e7e153a050613ee1
< CodeShark> the IsDevelopmentBranch() method should check whether it is a release branch or not rather than just whether it's the master branch
< CodeShark> is there a simple way we can determine this?
< luke-jr> CodeShark: IMO mining is the least problematic use of dev branches..
< luke-jr> miners are used to patching and overriding stuff anyway
< luke-jr> might make more sense to disable wallet and/or bloom
< CodeShark> luke-jr: the goal is to make it safer to merge consensus changes before releasing
< CodeShark> if the changes are merged into master they will get more tested
< GitHub162> [bitcoin] CodeShark opened pull request #8101: Disable mining on nonrelease branches. (master...disable_mining_on_nonrelease_branches) https://github.com/bitcoin/bitcoin/pull/8101
< sipa> sdaftuar: what type is 'f' in the deserialize methods in mininode?
< sipa> or more specifically, can i test whether there are more bytes to read?
< sdaftuar> f?
< sdaftuar> oph
< sipa> i'm adding a test that fRelayTxes in version is correct (because it's currently broken in master, and no test detected it)
< sipa> but fRelayTxes is currently not deserialized
< sipa> and it's optional per bip37
< sdaftuar> ah ok
< sdaftuar> i assume it's possible to tell if there are more bytes to read but i don't know how off the top of my head. f is a BytesIO i think?
< sipa> i am going to guess it has a eof() method
< sdaftuar> doesn't seem to? docs i'm reading suggest you just call read() and see if you don't get anything back
< sipa> yup
< * sipa> curses extensively at python
< btcdrak> sipa: it needs feeding.
< CodeShark> sipa: throw a mouse at it
< sipa> sdaftuar: so the bug is that a connecting node currently never sets fRelayTxes... and it seems we have not a single test for that
< sipa> sdaftuar: the p2p tests only connect a testnode to a real node, and not the other way around
< GitHub39> [bitcoin] sipa opened pull request #8102: Bugfix: use global ::fRelayTxes instead of CNode in version send (master...oopsrelay) https://github.com/bitcoin/bitcoin/pull/8102
< sipa> sdaftuar: is that possible, or am i missing an extra condition that makes this harder to test?
< sdaftuar> sipa: you're right that in the testing framework, testnodes connect out to real nodes and not the other way around.
< sdaftuar> i'm taking a look at 8102
< btcdrak> sdaftuar: is the list of cfpf related pulls #7600, #7960 and #7292? am i missing any?
< sdaftuar> btcdrak: just #7600 and #7598. 7598 is a refactor of CreateNewBlock; 7600 builds off it
< sdaftuar> sipa: i'm baffled that this breakage wasn't caught in our existing RPC tests. surely anywhere we call sync_mempools() we would have seen a test failure?
< sipa> sdaftuar: perhaps there are more requirements before this triggers
< sipa> i saw this bug when syncing over thr internet... perhaps the rpc tests run fast enough
< sipa> it is related to responses to version messages
< wumpus> I'm not going to be able to attend the meeting today probably
< sipa> wumpus: ok
< sdaftuar> sipa: aha, we do have a travis issue.
< sdaftuar> looks like the tests hung, and then at some much later point the instance shut down(!)
< sdaftuar> and no failure was reported
< sipa> ugh
< sdaftuar> i've been meaning to fix up the sync_() functions in util.py to be more robust for a while now. we can do that at the least.
< sdaftuar> separately we should also figure out what's going on with travis here
< btcdrak> sipa: could you please restart the two error jobs on https://travis-ci.org/bitcoin/bitcoin/builds/133144138
< sipa> will do when i get home in 15 min
< sipa> btcdrak: won't work, master is broken
< btcdrak> oh
< sipa> merging 8102 now
< sdaftuar> sipa:
< sdaftuar> 8102, you default fRelayTxes to false in mininode
< sdaftuar> shouldn't that be true?
< sipa> sdaftuar: good point!
< sdaftuar> otherwise p2p tests that test receiving tx inv's would break
< sdaftuar> we might not have any though (yet)
< sipa> let me merge that without the mininode changes
< sdaftuar> ok sounds good
< GitHub132> [bitcoin] sipa pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/c028c7b7557d...425278d17bd0
< GitHub132> bitcoin/master 52b02ec Pieter Wuille: Use global ::fRelayTxes instead of CNode one
< GitHub132> bitcoin/master 425278d Pieter Wuille: Merge #8102: Bugfix: use global ::fRelayTxes instead of CNode in version send...
< GitHub160> [bitcoin] sipa closed pull request #8102: Bugfix: use global ::fRelayTxes instead of CNode in version send (master...oopsrelay) https://github.com/bitcoin/bitcoin/pull/8102
< GitHub124> [bitcoin] sdaftuar opened pull request #8104: Tests: add timeout to sync_blocks() and sync_mempools() (master...improve-rpc-sync) https://github.com/bitcoin/bitcoin/pull/8104
< sipa> meetink?
< jonasschnelli> Yes.
< CodeShark> let's do it
< sipa> waiting for some more people
< * btcdrak> raises hand
< cfields_> here
< paveljanik> here
< cfields_> sipa: interestingly: on the net refactor branch I'm rebasing, it magically quit working after rebasing to (this morning's) master. after nabbing your fix, all is good now
< sdaftuar> here
< sipa> kanzure, sdaftuar, luke-jr, morcos, jl2012, gmaxwell, nickler, instagibbs, jtimon, petertodd: ping
< sipa> !beginmeeting
< gribble> Error: "beginmeeting" is not a valid command.
< sipa> !meetingbegin
< gribble> Error: "meetingbegin" is not a valid command.
< sipa> !meetingstart
< gribble> Error: "meetingstart" is not a valid command.
< sdaftuar> startmeeting i think?
< btcdrak> # startmeeting
< sipa> !startmeeting
< gribble> Error: "startmeeting" is not a valid command.
< btcdrak> without the space
< sipa> #startmeeting
< lightningbot> Meeting started Thu May 26 19:06:07 2016 UTC. The chair is sipa. Information about MeetBot at http://wiki.debian.org/MeetBot.
< lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
< sipa> yay
< sipa> topics?
< kanzure> zurich transcript coming soon
< btcdrak> sipa was wardialing
< btcdrak> kanzure: I can push it now if you like
< kanzure> we can copy-paste topics from zurich for follow-up
< kanzure> btcdrak: sure let's do that
< sipa> i have a topic: segwit vs netrefactor
< kanzure> i believe the conclusion from zurich was that sipa promised everyone tree sigs and poly sigs within 4 days
< btcdrak> kanzure: zurich meeting notes https://bitcoincore.org/logs/2016-05-zurich-meeting-notes.txt
< kanzure> ouch no anchor links. well, okay.
< kanzure> btw i heard from someone that they were surprised that libconsensus refactoring was considered lower priority than segwit
< kanzure> just some interesting feedback.
< btcdrak> kanzure: could be arranged.
< btcdrak> sipa: ack
< cfields_> sipa: sure. Though i suspect the (my, anyway) answer will be "segwit comes first, hands-down"
< sipa> cfields_: ok, settled :)
< sipa> kanzure: good feedback... i think it's mostly that segwit has much more buy-in as a roadmap (but i'm biased here)
< btcdrak> was that even a question. segwit first.
< cfields_> sipa: for sure. I'm working on it in parallel, but I have no desire to slow segwit down for it in any way
< kanzure> right, right. it's more of a long-term note--- but eventually we will have to bite the bullet and absorb the pain of the refactor impacting everyone's branches.
< CodeShark> libconsensus is strategically at least as important as segwit - but the coordination issues required are considerable
< wumpus> what do segwit and net refactor compete on?
< sipa> wumpus: code :)
< wumpus> which parts? does net refactor give you significantly more trouble rebasing?
< CodeShark> also, libconsensus isn't as glitsy :)
< sipa> probably not
< kanzure> what is the status of net refactor things?
< btcdrak> where does compact blocks fit in?
< sipa> libconsensus refactoring worked well in the 0.10 window, because it seemed there was a clear goal (getting script exposed) and a clear way to do it... further refactors seem to be more one-person shows (not that i blame those people, but if we want them to happen, i think we'll need to agree on a plan beforehand)
< wumpus> well I can understand how libconsensus conflicts with segwit
< kanzure> wasn't aware of previous concerns about libconsensus plan synchronization, good to know
< sipa> libconsensus conflicts with everything :)
< wumpus> there's also some network changes for segwit, but they're at a message level
< wumpus> whereas cfields' network refactor is at a lower level
< sipa> yeah, network refactor probably hurts compact blocks more than it hurts segwit
< cfields_> kanzure: see #8085. I addressed wumpus's notes from Zurich, but that made it rough to read. I'm working on another version of the same thing with a clean history, done by tomorrow for sure
< CodeShark> as much as it pains me to sacrifice on architecture, I think holding up segwit right now is much more costly in terms of the public's goodwill
< jcorgan> +1
< wumpus> I agree progress in the protocol is more important, I think segwit even affects the proposed libconsensus API
< sipa> worse, it affects the current libconsensus API :)
< sipa> ok, other topics?
< sipa> i have a few more
< sipa> CPFP will also need to go in at some point, and also conflicts with many in-flight things
< sipa> and a whole range of relay improvement
< wumpus> libconsensus feels more like some checkbox people want checked than something that will actually have a lot of users but feel free to prove me wrong
< sdaftuar> if we think segwit will be backported to 0.12, then probably CPFP should wait until afterward?
< wumpus> it should be done but unless someone has a clear example of an application using it and contributes to it it has not much priority
< sipa> when i talk about libconsensus i mean "abstracting out consensus logic"... not so much an actual API exposure
< sdaftuar> to avoid dealing with the CNB refactor in 0.12
< wumpus> sipa: that's what I mean right, I'm not sure other people talkinga bout it mean the same thing
< wumpus> at some point it becomes just a buzzword... :)
< sipa> maybe i should formulate the question this way: segwit, compact blocks, CPFP... all for 0.13?
< wumpus> that's a bit much
< wumpus> for just before the feature freeze
< sdaftuar> sipa: yes!
< wumpus> (2016-06-16)
< sipa> i would very much like to have at least compact blocks in before segwit, to alleviate the extra relay latency
< wumpus> I don't think we should make a habit of merging such big things just before a release
< sdaftuar> segwit is clearly the heaviest lift here to review... i think the otherw two things can be knocked out very quickly
< wumpus> segwit is obvious
< sdaftuar> but that's the thing where it's not clear to me if it'll be sufficiently reviewed by 6/16
< wumpus> yes that'st he thing what counts
< btcdrak> compact blocks would be good in 0.13
< wumpus> segwit should be merged soon so that we can do 0.12.1 before 0.13
< CodeShark> on that topic...
< sipa> we can merge segwit with no softfork defined for it on mainnet
< wumpus> we've already moved the release for 0.13 with a month so I'd really like to not move it again
< sdaftuar> sipa: interesting! i hadn't considered that
< CodeShark> sipa: indeed!
< CodeShark> and even once we do add the segwit softfork we can disable mining on it until release
< sipa> #idea merge segwit without defined softfork
< cfields_> hmm
< wumpus> sure
< sdaftuar> i guess the thing to worry about is if we have testing gaps, things might break without anyone noticing?
< wumpus> just to have the code in?
< luke-jr> need vb gbt before segwit tho..? maybe not if left undefined, unsure
< sipa> luke-jr: yup
< sipa> luke-jr: will look at that
< wumpus> sdaftuar: well the tests need to cover it
< wumpus> if there's a testing gap it should not be merged in any case
< sipa> all the segwit tests use regtest
< wumpus> right
< wumpus> for that it doesn't matter whether a softfork is defined on mainnet
< sipa> indeed
< sipa> and for script/tx tests, the softfork is not relevant
< luke-jr> sipa: should I look into merging vbgbt w segwit?
< achow101> what benefit would there be to not define the softfork when mergin segwit
< sipa> achow101: segwit conflicts with a lot of code, having it in would simplify further development on the branch
< btcdrak> sipa: we should merge without mainnet, because it will allow people to test on testnet now (it's already been activated in testnet).
< wumpus> achow101: to have the code in, so that development happens on top
< wumpus> achow101: and so that people acn use it on the regtest/testnet network
< sipa> btcdrak: another good reason, indeed
< wumpus> btw: should we keep the segnet?
< sipa> no, i want to drop it
< btcdrak> wumpus: no segnet should go
< sipa> unless there is a good reason to keep it
< wumpus> ok
< wumpus> (no opinion either way just wondering whether that's supposed to end up in master)
< btcdrak> sipa: there's no need to drop it in merge to master right away imo, but certainly before we add parameters to mainnet.
< wumpus> yes as it has been triggered on testnet
< sipa> i will prioritize the testnet dns seed filtering, vb/gbt changes, and doing another batch
< kanzure> merging segwit without activation might lessen the pressure on reviewers
< kanzure> which might be a negative side effect
< sdaftuar> kanzure: agree
< wumpus> anyhow if the segnet network helps testing I don't have problems with temporarily having it in master, as long as it is clearly communicated that people shouldn't rely on it
< sipa> i wasn't planning on including it in master
< wumpus> well playing psychological meta-tricks on reviewers doesn't play much of a role imo, we should do whatever is practical
< wumpus> if merging segwit helps make progress on other fronts so that 0.13 can be a better release
< wumpus> we should do that
< wumpus> also having it merged in master usually means it gets more testing and review, not less
< sipa> i'll do one more batch, and if there are some ACKs then, i'll squash
< kanzure> so it would be active in testnet segnet and regtest when merged, but not mainnet, and letting others maintain segwit for other 0.13 changes?
< sipa> kanzure: don't understand the last part
< sipa> if there are changes necessary to the code post-merge but pre-release, they can just go in master
< kanzure> the ideal of merging soon is to let others maintain segwit for possibly conflicting 0.13 changes?
< wumpus> there's not *that* much time left for 0.13, it's good to decide now what we still want to have in and focus on that
< sipa> kanzure: to let others rebase their own patches on top
< wumpus> well not 'maintain segwit' but work on top, yes
< btcdrak> kanzure: the only difference is not having activation params on mainnet. it would really help by not holding up other work.
< sdaftuar> sipa: would you still plan to backport to 0.12?
< sipa> sdaftuar: yes, but after merge in master
< sipa> (but before defining activation)
< sdaftuar> ok
< sipa> ok, other topics?
< gmaxwell> The non-merged status of segwit has kinda been holding up other work, unfortunately.
< kanzure> maybe bip151 things?
< sipa> status bip151: waiting for implementation
< sipa> i'd say :)
< instagibbs> sdaftuar, is that list of testing gaps public somewhere?
< kanzure> ok
< instagibbs> (sorry, backtracking)
< sdaftuar> instagibbs: yes, now :)
< luke-jr> lol
< instagibbs> not really my meaning, but ok ;P
< petertodd> re: bip151, I mentioned it today at the conf I was at to some cryptographers, and their response to it not being an off the shelf standard was horror :) might be a pr issue
< sipa> petertodd: it's openssh's chacha20-poly1305 exactly
< kanzure> were they horrified about the current implementation at all
< petertodd> sipa: good, we should make that 110% clear then
< sipa> petertodd: maybe that needs to be made more clear
< gmaxwell> it's pretty clear in the BIP now, I thought.
< gmaxwell> maybe it could be moved up to the top.
< petertodd> gmaxwell: yeah, move it to the top - I just looked at it and didn't see that
< sipa> #action jonasschnelli make it more clean that bip151 uses openssh's chacha20-poly1305 standard
< btcdrak> ok make that an action point for the logs
< sipa> jinx
< petertodd> make it clear that the standard *describes* a subset of openssh's standard, and that bitcoin's use of it is identical and can reuse the existing code
< kanzure> pus or minus licensing issues?
< kanzure> *plus
< jonasschnelli> Ack. Will do
< sipa> the actual cipher is public domain code
< sipa> the glue into openssh is BSD
< kanzure> petertodd: thanks for checking
< sipa> anything else?
< sipa> (mental note: type #topic next time)
< btcdrak> no just #topic
< kanzure> child-pays-for-parent?
< kanzure> and wasn't there something activating soon that we were looking at
< sdaftuar> happy to talk about CPFP, are there any questions?
< sipa> #topic child pay for parent
< sipa> i think the blocker is just the refactor for CNB
< sipa> which will conflict with segwit
< sdaftuar> right
< luke-jr> so maybe target 0.14
< luke-jr> ?
< sipa> at the latest, i'd say
< kanzure> oh i forgot about the testing infrastructure stuff for sdaftuar
< kanzure> sdaftuar: something i mentioned in person a few days ago, https://www.terraform.io/
< sipa> but yes, it may miss 0.13
< sdaftuar> i will be sad if it is necessary to push it back that far
< sipa> me too
< sdaftuar> has anyone tried to test or review #7600?
< sipa> i started looking at it, but not in detail
< sdaftuar> alright, well no point in talking about blockers until it's been reviewed
< gmaxwell> I beleive I applied it to a node and started it. (but then switched out of it to test something else) It's on my list.
< sipa> other topics?
< CodeShark> sipa: your suggestion seems superior to 8101 :p
< CodeShark> at least for now
< CodeShark> I was going to bring that up...but perhaps we can defer that discussion
< luke-jr> sdaftuar: I'll be sad too: it's been waiting since like 0.4 :p
< sipa> luke-jr: well, feel free to help review/test 7600 already
< gmaxwell> I will be sad to not get CPFP in soon if that happens, especially considering all the work that it's taken to get it this far.
< sipa> so i would encourage people to review
< sipa> #endmeeting
< lightningbot> Meeting ended Thu May 26 19:52:53 2016 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
< gmaxwell> [OT] There appears to be an emergent effort to flood reddit with recursive posts about BIP 151: http://imgur.com/xId5scH
< luke-jr> bbiab
< petertodd> gmaxwell: you guys suck at mixnets
< btcdrak> LMAO
< sipa> i for one welcome the new recursively compressing overlords
< sipa> s/compressing/encrypting/
< petertodd> I for one welcome sipa's welcoming nature
< btcdrak> +1
< petertodd> C-C-C-C-C-C-C-Combo Breaker!
< gmaxwell> sipa: why didn't warnings save us from the global aliasing bug you fixed today?
< sipa> gmaxwell: #8105
< sipa> and travis didn't warn because of #8103
< gmaxwell> LOL
< sipa> "oh, machine shutdown
< sipa> "oh, machine shutdown... ALL TESTS PASS"
< gmaxwell> Perhaps we need to make sure all commiters have access to super fast machines, and make running the full tests part of the merge script?
< gmaxwell> sipa: "No failures detected."
< cfields_> hmm, we've seen that before. thought it was fixed on their end.
< cfields_> checking
< sipa> fair enough, that's a subtle but relevant distinction
< cfields_> one thing we could do is add the rpc-tests to 'make check'
< cfields_> especially once the java blocktester is replaced in python, that'll make it so that travis would basically just be running 'make check', same as what everyone could do manually
< sipa> cfields_: ack
< cfields_> sdaftuar: how's that replacement coming, btw?
< sipa> together with parallel checking, it's even not that painful anymore