19:01:42 <wumpus> #startmeeting
19:01:42 <lightningbot> Meeting started Thu Nov 12 19:01:42 2015 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.
19:01:42 <lightningbot> Useful Commands: #action #agreed #help #info #idea #link #topic.
19:01:43 <BlueMatt> morcos: that
19:02:03 <wumpus> #topic What to do about priority for 0.12?  (besides cry)
19:02:35 <petertodd> morcos: ditch it for now IMO, and work on a more general mechanism to get arbitrary txs propagated (perhaps priority, perhaps hashcash, maybe both!)
19:03:01 <BlueMatt> remove priority entirely
19:03:03 <phantomcircuit> wumpus, the wallet needs to be fixed... that is all
19:03:07 <morcos> So as I commented on sdaftuars #6992, what I care most about is having 0.12 have a nice consistent state
19:03:16 <BlueMatt> yes, remove all priority is consistent :)
19:03:21 <morcos> semi-supporting priority in a broken manner is bad
19:03:41 <jtimon> ack on removing enterely, it will be more disruptive the longer we wait
19:03:45 <BlueMatt> we still have the fee adjustment RPC for miners that need to adjust fees, and we can (maybe) use that later to add our own default adjustments if people cry too much, though I'd rather not
19:03:46 <sdaftuar> well i think pulling priority entirely without ever having warned is too abrupt
19:03:52 <morcos> BlueMatt: I'm ok with that if its politically feasible, but seems like we should have communicated on the -dev list a long time ago and would maybe have gotten some pushback
19:03:56 <jtimon> and we will remove it eventually
19:03:59 <sipa> sdaftuar: agree
19:04:18 <petertodd> morcos: not that many people use priority, particularly since even right now it's not very reliable and hard to calculate
19:04:27 <sdaftuar> i proposed a staggered approach in #6992 -- let's let people know we're deprecating, and then plan to pull it in the next release
19:04:31 <BlueMatt> the only people who use priority are devs, pretty much
19:04:36 <BlueMatt> I dont think we need much time to announce
19:04:38 <sdaftuar> and in 0.12 we can default the blockprioritysize to 0
19:05:05 <petertodd> sdaftuar: well, the upgrade path is itself a staggered approach - not everyone will got to v0.12.0 instantly, and you don't need 100% to propagate reasonably well
19:05:08 <phantomcircuit> we've made the mistake in the past of failing to communicate well that something will not work long term
19:05:13 <petertodd> phantomcircuit: +1
19:05:13 <phantomcircuit> lets not make that mistake again
19:05:27 <morcos> yes, but that starts with communicate
19:05:37 <petertodd> sdaftuar: also, XT will likely keep priority, which gives people an option
19:06:00 <phantomcircuit> morcos, "this is now deprecated" afaict no wallet outside of bitcoin core implements priority calculations
19:06:05 <CodeShark> not really an option if you can't pick and choose granularly :)
19:06:12 <jtimon> action item communicate it on the ml?
19:06:24 <gavinandresen> What’s the plan to mitigate the “spend money on fees, crowd out everybody else’s transactions” attack if priority goes away?
19:06:46 <BlueMatt> gavinandresen: that is bitcoin
19:06:48 <phantomcircuit> gavinandresen, there isn't a plan because that's a fundamental property of the system
19:07:06 <phantomcircuit> if someone wants to blow wads of cash on trying to break things they can buy miners just as easily
19:07:09 <petertodd> gavinandresen: those attacks are horribly expensive...
19:07:39 <petertodd> phantomcircuit: exactly - as fees pay more of miners' incomes, those attacks become as expensive as just 51% attacking the network anyway
19:07:42 <gavinandresen> petertodd: really?  I thought the latest spam attack showed it was fairly chieap....
19:07:56 <petertodd> gavinandresen: yes, but it was also ineffective at stopping normal users from sending txs
19:07:58 <CodeShark> about all we can do is make it expensive - but economics dictates that sufficiently well-funded adversaries can attack the network
19:08:05 <morcos> gavinandresen: tx fees to get mined quickly never went up that high
19:08:09 <petertodd> gavinandresen: that's why we have fee estimation, replace-by-fee, CPFP etc.
19:08:11 <gavinandresen> If the plan is “smarter wallets that raise fees appropriately” then great.  That needs to be communicated.
19:08:17 <petertodd> gavinandresen: we already have that
19:08:21 <BlueMatt> gavinandresen: wallets already did that
19:08:31 <phantomcircuit> gavinandresen, that is the plan and has been communicated directly to all of the wallet devs for months
19:08:32 <BlueMatt> that was +/- the only impact the spam attack had
19:08:38 <BlueMatt> (well, that and the relay network :(((    )
19:08:53 <phantomcircuit> indeed if you open up the google you will find many of them implemented dynamic fees without the last few months
19:09:03 <sipa> well at least bitcoin core's wallet will need to support that too!
19:09:22 <BlueMatt> we have the fee estimator stuff?
19:09:23 <BlueMatt> its not bad
19:09:28 <petertodd> sipa: AFAIK many of the wallet providers use bitcoin core's fee estimation
19:09:37 <BlueMatt> in fact, many people "implemented dynaic fees" buy just using bitcoin core's
19:10:03 <morcos> please review #6134 on that note!
19:10:16 <sipa> petertodd: hmm, that's good for a baseline, but i would expect that some mechanism to respend with higher fees is available
19:10:19 <BlueMatt> anyway, back to the actual topic....
19:10:30 <BlueMatt> I think removing priority in 0.12 is fine
19:10:37 <morcos> ok, will someone volunteer to email -dev and let them know this is the plan then?
19:10:39 <BlueMatt> if it is announced in the next weeks
19:10:42 <BlueMatt> morcos: willdo
19:10:53 <wumpus> #action please review #6134 (Improve usage of fee estimation code)
19:10:58 <jtimon> sipa: that makes some form of RBF a priority
19:11:07 <petertodd> sipa: mycelium for example has multiple levels of fees that you can easily select
19:11:14 <BlueMatt> next topic: rbf for 0.12?
19:11:22 <BlueMatt> (though i think the answer there may just be "YES")
19:11:24 <morcos> then i think we could skip sdaftuar's 6992 and we could skip dynamic priority 6357
19:11:27 <morcos> (hold on)
19:11:32 <wumpus> RBF: https://github.com/bitcoin/bitcoin/pull/6871
19:11:53 <morcos> but we'll be having another regression in the mining code, by making those who still want to mine by priority, only have access to starting priority
19:12:00 <morcos> is that also an ok regression?
19:12:11 <BlueMatt> morcos: we could rip out all priority stuff in 0.12?
19:12:17 <morcos> we should also default block priority size to 0 and comment about further deprecation in the future
19:12:27 <petertodd> morcos: well, a lot of miners have turned off priority anyway; I'd let them make that decision and give us some feedback
19:12:46 <BlueMatt> morcos: we could backport default block priority size to 0....
19:12:57 <BlueMatt> but i wouldnt think we should
19:13:22 <sipa> ... i just wished we could replace priority with an adjusted fee metric...
19:13:38 <gavinandresen> morcos: yes, I think that is an OK regression.
19:13:45 <morcos> thanks gavinandresen
19:13:52 <btcdrak> sipa: what would that look like?
19:14:04 <CodeShark> it ultimately is a balance between rational behavior and how lazy miners are in changing defaults :)
19:14:23 <BlueMatt> sipa: meh, I'm not so sure
19:14:33 <jtimon> morcos: why this deprecation needs to be in 2 steps?
19:14:40 <morcos> if we've stopped fully supporting priority, it only makes sense to change the default blockpriority size to 0, doesn't need to be backported
19:14:53 <BlueMatt> morcos: ack
19:14:58 <sipa> BlueMatt: i said i wished; i'm not convinced it is possible in a useful way
19:15:02 <morcos> jtimon: primarily bc it hasn't be discussed very much yet
19:15:11 <BlueMatt> sipa: we could have something for relay that isnt the same as mining (years ago there was some discussion of "relay policy is what *you* want to be mined", miners can do the rational thing)
19:15:20 <wumpus> jtimon: to give some advance warning before completely removing it
19:15:22 <BlueMatt> sipa: ok, well then I agree
19:15:40 <jtimon> morcos: I believe this has been a recurring discussion ever since we wanted to limit the mempool size
19:15:44 <morcos> anyway, i think the new 2 step process avoids adding new complication now.  presents a mostly consistent release, and allows us to rip all this stuff right out as soon as we branch off 0.12
19:15:55 <sipa> jtimon: but it has only been a discussion among developers
19:15:57 <wumpus> yes
19:16:21 <petertodd> morcos: well, if we're not *ready* to rip that code away, I 100% agree we should just set the default to zero, but if we're ready to rip that code away, I see no reason to delay
19:16:46 <jtimon> ok, default to zero as a first step and remove in 0.13 ?
19:16:58 <Luke-Jr> we should absolutely not remove priority..
19:17:07 <CodeShark> ?
19:17:17 <btcdrak> Luke-Jr: why?
19:17:31 <Luke-Jr> it's the best metric Core's default policy supports right now..
19:17:40 <BlueMatt> Luke-Jr: no, feerate is
19:17:43 <gmaxwell> I thought sipa has a good way to rationalize it that should be exploired. It would eliminate the multiple objective optimization.
19:17:44 <jg_taxi> Nearly universal  consensus to remove - except for Luke :)
19:17:58 <Luke-Jr> BlueMatt: feerate often isn't.
19:18:00 <phantomcircuit> morcos, we should not be carrying code complex efficient dynamic priority calculation
19:18:05 <morcos> gmaxwell: multiple objective optimization isn't that hard
19:18:09 <BlueMatt> gmaxwell: yes, we should explore adjustments to feerate, but the priority code as it exists should be ripped out
19:18:10 <jtimon> we should only have a cost function (currently txSize) and a reward function (currently fees)
19:18:12 <morcos> phantomcircuit: right, we will skip adding that
19:18:29 <phantomcircuit> i rewrote that sentence one time too few
19:18:36 <gmaxwell> morcos: not fundimentally hard but unnecessary code and computional complexity.
19:18:42 <petertodd> Luke-Jr: I think what we need is "multi-mempool" support, to make it easier to deal with multiple different metrics - e.g. a pool with polcies like Eligius certainly would want to have an easy time setting up a seperate priority-based mechanism
19:18:44 <Luke-Jr> also shouldn't be changing defaults to try to influence miners, outside of emergencies.
19:18:58 <jtimon> after we unify that it's much simpler to change the cost/reward functions
19:19:04 <jg_taxi> Fee deltas can produce priority
19:19:08 <petertodd> Luke-Jr: same reason I think we *should* have a non-feerate mechanism for tx propagation that doesn't interact with the feerate based mechanism
19:19:14 <petertodd> jg_taxi: yup
19:19:20 <gmaxwell> the thing sipa suggests eliminates all impact of priority except in the cost calculation.
19:19:23 <BlueMatt> Luke-Jr: we're not chaning to try to influence miners, we're changing to keep shit from breaking when miners disable priority anyway
19:19:24 <morcos> what i'm proposing is basically shipping 0.12 as is with respect to priority, with a couple of changes: mining code will use starting priority, default prioritysize=0, and wallet is smart enough to not place priority txs if mempool limiting is in effect
19:19:31 <jg_taxi> Thus you can do priority without priority code
19:19:49 <BlueMatt> morcos: which seems reasonable
19:19:59 <morcos> so thats the fewest changes from now to a semi-consistent state.   more ripping out can then be done in 0.13.   if we're not going to rip it out, we should do more now to make it work better, but sounds like we are
19:20:00 <jg_taxi> Ack 0
19:20:15 <BlueMatt> though I really want to rip out the code (its a big churn, though, so we can push back)
19:20:15 <petertodd> morcos: I'd be inclined to make the wallet not use priority at all by default
19:20:32 <Luke-Jr> morcos: the first should be optional, at least
19:20:37 <sipa> jg_taxi, gmaxwell: my idea was to take the btcdaysdestroued of a transaction, divide that by the average utxo age, take a small fraction of that (1%) and add that as extra fee
19:20:57 <Luke-Jr> BlueMatt: I don't know what you mean. Why would things break?
19:20:59 <sipa> jg_taxi, gmaxwell: the problem is that that has no bound on how much fees can be lost by a miner
19:21:06 <Luke-Jr> and why must default policy be changed to prevent it?
19:21:12 <petertodd> morcos: main thing is I just don't want users to get their txs stuck, especially since full RBF and CPFP support isn't in the wallet yte
19:21:28 <morcos> ok i agree with petertodd , lets default QT to no longer send free also.  bitcoind already has that off
19:21:31 <sipa> Luke-Jr: multiple sorting orders is a massive complication to maintain...
19:21:38 <Luke-Jr> morcos: doesn't it already?
19:21:47 <morcos> QT is default on
19:21:55 <jtimon> Luke-Jr: maintaining that code while doing other changes to the mempool behaviour is costly
19:22:02 <jg_taxi> Once opt in RBF is there wallet will have smarter policies in this area
19:22:10 <Luke-Jr> sipa: better to maintain complicated code than to make flexible policy code more complicated to write
19:22:11 <phantomcircuit> petertodd, how do you relay transactions that you're not keeping in the mempool though?
19:22:21 <phantomcircuit> (especially if there's opt in RBF for them)
19:22:23 <gmaxwell> sipa: you can simply cap the impact; thats a candidate for the only tunable for that approach.
19:22:51 <petertodd> phantomcircuit: well, I'm thinking in the future we won't just have one mempool, or one way fo relaying - e.g. it'd be a trivial hack to do tx relaying by bitmessage :)
19:23:01 <gmaxwell> From a code perspective what sipa suggests is largely orthorgonal with removing priority (actually, it wants priority removed); but from a communication perspective it's different.
19:23:21 <sipa> gmaxwell: that does mean it should work first...
19:23:39 <morcos> Luke-Jr: The problem is its impossible to meaningfully speed up CreateNewBlock unless you are A) dynamically calculating priority on the fly as in 6357 or B) changing to a static definition of priority.
19:23:53 <Luke-Jr> if simpler mempool code, makes it harder to write mining policy code, then the simpler mempool policy code should be rejected.
19:23:58 <BlueMatt> gmaxwell: I'm really not sold on doing an adjustment metric....I mean we could, as long as it has a limited impact and I'd be fine with that, but then what was the point?
19:24:04 <morcos> I really think we need the performance improvement in CNB, so we have to pick A or B.  People don't like adding the complication of A, so B it is
19:24:11 <BlueMatt> gmaxwell: mostly I think we should only do it for relay, not mining, but then there is actually no point
19:24:13 <jg_taxi> It sounds like there needs to be a minor hook related to this anyway
19:24:21 <gmaxwell> luke's argument as I understand it is that in recent months we'd generally seen dos attackers as more willing and able to pay just over market rate fees than joe user; even though many wallets have caught up with dynamic fee behavior. Part of this is due to the market rate fees being so low that most of the cost of adjustment is the lack of RBF (which doesn't bother attackers) rather than the fee its
19:24:24 <jtimon> Luke-Jr: you don't have to remove priority in your branch
19:24:27 <gmaxwell> elf.  But all this may be a temporary effect.
19:24:28 <Luke-Jr> morcos: or recalculate priorities each block
19:24:41 <Luke-Jr> jtimon: the changes being proposed make that impossible
19:24:48 <morcos> Luke-Jr: That requries accessing every input for every tx in the mempool
19:24:58 <sipa> Luke-Jr: not impossible, just expensive
19:25:02 <Luke-Jr> morcos: it doesn't need to.
19:25:10 <morcos> that's option A
19:25:20 <gmaxwell> BlueMatt: even a limited impact is likely useful for getting non-dos-attack transactions sorted higher.
19:25:37 <BlueMatt> Luke-Jr: there is a fee-adjustment api for this, it can be tweaked into being your priority calculator
19:25:45 <jtimon> Luke-Jr: as "impossible" as reverting a merged change in master, don't you mean hard to maintain? why should bitcoin core bear that cost instead?
19:25:45 <BlueMatt> gmaxwell: sure, but do we get miners to use it as well?
19:25:45 <petertodd> gmaxwell: the speed at which wallet authors have adopted dynamic fees makes me pretty optimistic that dos attackers won't be doing too much harm - the cost to pay over "market rate" is really, really high
19:25:47 <Luke-Jr> BlueMatt: priority is not fee-adjustment.
19:26:12 <gavinandresen> +1 for using the adjust api if you want something weird. And I vote for simple and fast for createnewblock
19:26:14 <phantomcircuit> this all fundamentally comes down to a simple question; do you believe that user real users will pay higher fees than non-users?
19:26:33 <gmaxwell> phantomcircuit: that overly simplifies.
19:26:37 <BlueMatt> phantomcircuit: meh, we cant do anything if they arent
19:26:46 <petertodd> BlueMatt: agreed there
19:26:51 <Luke-Jr> BlueMatt: they aren't in practice.
19:26:54 <gmaxwell> Because it ignores prediction error costs which are high right now due to a lack of replacement.
19:27:01 <sdaftuar> BlueMatt: i think mempool limiting needs to be updated to take into account fee-deltas
19:27:03 <BlueMatt> Luke-Jr: then we're fucked, lets all go home
19:27:04 <phantomcircuit> gmaxwell, yes... but we can fix that
19:27:14 <phantomcircuit> speaking of which where are we with opt in rbf?
19:27:15 <BlueMatt> sdaftuar: oh? I thought it did that?
19:27:18 <morcos> The topic was what to do for 0.12.  The nice thing about my suggested approach is its minimal changes for now, and allows us to keep arguing indefinitely about prioirty next release cycle, but with a slight nudge towards deprecation.
19:27:26 <BlueMatt> sdaftuar: then, yes, it really does need to be updated if it doesnt
19:27:35 <sdaftuar> (double checking)
19:27:38 <BlueMatt> phantomcircuit: thats the next topic, be patient :)
19:27:39 <petertodd> phantomcircuit: wumpus code reviewed ACKed it
19:28:07 <BlueMatt> morcos: I thought your suggestion included disabling priority for wallet when you see a limited mempool?
19:28:12 <jgarzik> I tested opt-in with a simple replacement.  Need to re-review but overall ACK
19:28:14 <BlueMatt> morcos: I would call that a pretty hard deprecation
19:28:20 <btcdrak> Link for the RBF patch https://github.com/bitcoin/bitcoin/pull/6871
19:28:22 <morcos> morcos: thats already in master!
19:28:22 <BlueMatt> morcos: given mempool sizes
19:28:25 <morcos> BlueMatt: i mena
19:28:28 <Luke-Jr> morcos: so the current behaviour remains possible?
19:28:32 <gmaxwell> morcos: I think what you're suggesting is okay for now. I am only commenting because I do not share BlueMatt/Petertodd/etc. view on the utility of priority like things.
19:28:35 <BlueMatt> jgarzik: please wait for topic change
19:28:50 <CodeShark> I don't think we'll ever finish this topic :p
19:28:56 <jgarzik> BlueMatt, talk to phantomcircuit he started it :)
19:29:00 <wumpus> time for topic change?
19:29:04 <btcdrak> yes!
19:29:07 <CodeShark> please!
19:29:08 <phantomcircuit> ya
19:29:08 <BlueMatt> can we ack the current proposal?
19:29:09 <cfields> yes
19:29:10 <BlueMatt> first
19:29:12 <wumpus> #topic RBF opt-in
19:29:17 <CodeShark> ACK
19:29:17 <BlueMatt> morcos' proposal acks?
19:29:20 <petertodd> ACK
19:29:21 <jgarzik> ACK
19:29:22 <btcdrak> ACK
19:29:27 <wumpus> ACK
19:29:27 <BlueMatt> ok, new topic :)
19:29:27 <sipa> ACK
19:29:29 <sdaftuar> sdaftuar was here
19:29:30 <gmaxwell> ACK
19:29:31 <CodeShark> hehe
19:29:33 <morcos> Luke-Jr: you'd be able to approximate the current behavior.  I f you started with a large mempool, you could still send prioirty txs, and if you were willing to forgo the slight diff in static vs actual priority
19:29:36 <btcdrak> #link https://github.com/bitcoin/bitcoin/pull/6871
19:29:36 <Luke-Jr> NACK if current policy is made impossible
19:29:45 <jtimon> I got lost, what is the current proposal?
19:29:50 <btcdrak> RBF
19:29:55 <CodeShark> opt-in RBF
19:30:05 <phantomcircuit> oh boy
19:30:06 <wumpus> jtimon: set prioritysize to 0 for 0.12, rip out priority for 0.13
19:30:19 <BlueMatt> wumpus: and disable priority in wallet if mempool is limited
19:30:22 <jtimon> ok, ack both
19:30:29 <morcos> jtimon: shipping 0.12 as is with respect to priority, with a couple of changes: mining code will use starting priority, default prioritysize=0, and wallet is smart enough to  not place priority txs if mempool limiting is in effect
19:30:39 <petertodd> Luke-Jr: the above will make current policy still possible, and give time for something better to be implemented I think
19:30:46 <jgarzik> nod
19:30:54 <BlueMatt> ok, so *now* rbf
19:30:56 <Luke-Jr> petertodd: not if mining code must use starting priority.
19:30:59 <jgarzik> ### really RBF
19:31:14 <petertodd> re: RBF, tools! https://github.com/petertodd/replace-by-fee-tools
19:31:27 <petertodd> I wrote tx combining - "incremental sendmany" - yesterday
19:31:27 <btcdrak> that's a good start
19:31:28 <gmaxwell> Luke-Jr: we'll talk more later.
19:31:30 <wumpus> nice petertodd
19:31:38 <BlueMatt> how much is there to discuss aside from "yes, we want this, code has been heavily concept-ack'ed"?
19:31:42 <morcos> Yay for RBF
19:31:45 <jtimon> RBF: ACK
19:31:54 <morcos> we go from cry to rejoice
19:31:54 <jgarzik> opt-in RBF - ACK
19:31:56 <petertodd> BlueMatt: and running in production at f2pool in the FFS variant
19:31:57 <Luke-Jr> biggest problem for optin RBF is that you can't opt-in per-output
19:31:59 <Luke-Jr> IMO
19:32:00 <btcdrak> I guess action point is to review PR if you havemt
19:32:23 <petertodd> Luke-Jr: yeah, that'd be cool, but very hard to implement, and prolematic re privacy :(
19:32:24 <wumpus> #action review and merge #6871 (nSequence-based Full-RBF opt-in)
19:32:27 <BlueMatt> petertodd: I think we all agree FSS is useless :(
19:32:32 <petertodd> Luke-Jr: nSequence is the only "free to use" field we have :(
19:32:36 <jgarzik> BlueMatt, ACK!
19:32:48 <btcdrak> I would prefer we just went full-RBF. I know the landscape has changed a lot since all the tx flooding
19:32:51 <jgarzik> petertodd, until the TX structure changes
19:32:56 <petertodd> BlueMatt: yeah, and if that changes, we can implement FSS later as an add-on
19:33:04 * jtimon should find time to turn concept ACK into utACK
19:33:05 <jgarzik> well we also have TX version bits
19:33:06 <petertodd> jgarzik: agreed!
19:33:31 <Luke-Jr> jgarzik: this doesn't help per-ouptut I think
19:33:32 <gmaxwell> Luke-Jr: any RBF use (further) breaks the safty of unconfirmed decendants... I don't know how much additional value per output flagging would accomplish even if it were reasonably possible (nowhere to encode it, alas).
19:33:33 <petertodd> for now though, nSequence opt-in is the best we have
19:33:38 <sdaftuar> as i mentioned last week i think an email to the list about how opt-in RBF works is important
19:33:43 <jgarzik> it would be nice to mask out TX version bits ahead of time.  Agree it doesn't help with per-{input,output} stuff.
19:33:44 <petertodd> sdaftuar: will do
19:33:55 <jtimon> suggested topic: version bits
19:34:12 <morcos> Suggested Topic: wumpus was supposed to merge chain limits so we could email -dev list about that as well
19:34:17 <Luke-Jr> petertodd: can this optin-RBF be disabled by nodes?
19:34:20 <jgarzik> #action - everybody take opt-in RBF from concept ACK to [ut] ACK
19:34:39 <petertodd> Luke-Jr: no, but if you want to add a command line switch for that by all means go for it
19:34:41 <BlueMatt> morcos: yea, lets do that
19:35:11 <Luke-Jr> petertodd: IMO nodes should be able to toggle between FSS-or-not, and never/optin/always
19:35:15 <morcos> sorry jgarzik:  s/wumpus/any one of the 5 high elders of Bitcoin/
19:35:35 <phantomcircuit> petertodd, well... technically you can send the replacement optin flag outside of the transaction
19:35:37 <Luke-Jr> (are any anti-RBF people going to block an option for nodes to enable always-full-RBF?)
19:35:45 <petertodd> Luke-Jr: well, write that and pull-req! just a few more lines of code
19:35:55 <phantomcircuit> it's not consensus enforced so it doesn't matter
19:36:47 <wumpus> morcos: #6771 seems quite controversial looking at the comments
19:37:02 <phantomcircuit> Luke-Jr, i predict yes, so please as a separate pull request
19:37:27 <morcos> wumpus: yes we discussed that last week.  its a strong majority in favor, but there is a very vocal minority who are opposed.  its not clear how strongly opposed though.
19:37:31 <jgarzik> ### change topic, people
19:37:43 <jgarzik> #topic chain limits
19:37:44 <btcdrak> wumpus: really? a couple of loud voices only it seems.
19:37:44 <wumpus> ok ,next topic was versionbits by jtimon aaik
19:37:46 <Luke-Jr> jgarzik: I'd particularly like an answer from you on that :P
19:37:46 <wumpus> #topic versionbits
19:37:57 <wumpus> jgarzik: please don't do that, I'm chairing
19:38:16 <morcos> unfortunately we don't think there is much of an otpion, so last time we said we'd merge and email and if all hell breaks loose we could consider reverting, but we have to do what we think is the right choice.  and leaving existing limits is dangerous
19:38:17 <jgarzik> then keep it moving, chair :)
19:38:35 <wumpus> jgarzik: it's kind of annoying if we both change topics
19:38:39 <btcdrak> CodeShark: what is the status of versionbits?
19:38:42 <CodeShark> for versionbits, some think the container stuff I did is a bit excessive
19:38:45 <btcdrak> wumpus: agree one chair.
19:38:52 <sipa> morcos: afaik all the opposing voices had use cases up to a few deep
19:38:55 <wumpus> jgarzik: you can chair next week, ok
19:38:56 <jtimon> there's two implementations, CodeShark's https://github.com/bitcoin/bitcoin/pull/6816 and rusty's (let me look for the link later)
19:38:57 <CodeShark> it has been proposed to stick everything into a single static table
19:39:06 <jgarzik> I'm tempted to write a TX version bits BIP, just to reserve bits for later, separate from block version bits
19:39:11 <gmaxwell> morcos: lets come back to after meeting.
19:39:40 <phantomcircuit> jgarzik, fyi there is at least a few transactions in the chain that have weird versions
19:39:41 <petertodd> I haven't looked in detail at either softfork version bits code myself, but I don't think it needs to be in v0.12.0 at all, so I'm thinking no rush
19:39:51 <jgarzik> phantomcircuit, hmmm interesting
19:39:58 <sipa> petertodd: it will need to be backportable anyway
19:40:14 <petertodd> phantomcircuit: not necessarily a bit deal - there's some blocks with weird versions too, and the soft-fork mechanism handles that fine
19:40:31 <gmaxwell> Versionbits bip needs a minor revisions, proposals need a starting time. It can be just a time for which signaling will begin, or also a time for when counting starts.
19:40:33 <btcdrak> petertodd: no sense in delaying this or dealing with refactoring that will come in 0.13
19:40:48 <CodeShark> I had proposed a starting time in a PR to the bip
19:40:54 <CodeShark> but some opposed it
19:40:58 <gmaxwell> Suggested topic: 0.11.2/0.10.4 release.
19:41:03 <jgarzik> in general we want to push versionbits soonish
19:41:05 <gmaxwell> CodeShark: we have more expirence now.
19:41:07 <sipa> CodeShark: there is very good reason now to have it
19:41:23 <phantomcircuit> petertodd, yes im aware, just saying it's something to keep in mind
19:41:23 <sipa> jgarzik: existing softforks need to complete forst anyway
19:41:30 <wumpus> gmaxwell: I don't understand why you want that as topic, they're already in rc?
19:41:31 <btcdrak> CodeShark: I very much pefer the table approach suggested by rusty.
19:41:32 <jgarzik> nod
19:41:45 <gmaxwell> http://bitcoin.sipa.be/ver-2k.png
19:41:56 <cfields> btcdrak: got a link?
19:41:59 <jtimon> to be clear I never opposed to a starting date
19:42:08 <gmaxwell> wumpus: just to find out if there is anything we need to target to cut the release that you or others are thinking of.
19:42:31 <gmaxwell> (I look at that graph twice a day and worry that it's going to uptick hard without a release out. :) )
19:42:37 <btcdrak> cfields: this was rusty's draft idea: https://github.com/bitcoin/bitcoin/compare/master...rustyrussell:bip-9-versionbits
19:43:06 <jtimon> btcdrak: thanks
19:43:06 <cfields> wumpus: want the qt/-fpie change backported to .11.2 ?
19:43:14 <petertodd> gmaxwell: yeah, very inclined to have a CLTV relese out; I'd only delay 0.11.2/0.10.4 for critical fixes
19:43:16 <jgarzik> cfields, later / different chan
19:43:16 <sipa> what is the topic?
19:43:21 <jgarzik> versionbits
19:43:24 <btcdrak> sipa: versionbits
19:43:28 <wumpus> cfields: too late for that IMO, as gmaxwell says we want them final ASAP
19:43:38 <jgarzik> let's move on - seems main decision is codeshark / rusty - not much actionable right now
19:43:44 <petertodd> jgarzik: agreed
19:43:47 <CodeShark> I had added a deploytime parameter as well, but I took it out: https://github.com/bitcoin/bips/pull/219
19:43:48 <cfields> jgarzik: eh? the question was what's .11.2 waiting for
19:43:51 <cfields> wumpus: ok
19:43:59 <jgarzik> cfields, the topic is versionbits
19:44:00 <jgarzik> cfields, not qt
19:44:01 <btcdrak> CodeShark: better add it back then
19:44:10 <CodeShark> will do
19:44:16 <wumpus> #topic chian limits
19:44:18 <gmaxwell> versionbits isn't actionable yet. starting time should be considered.
19:44:18 <jtimon> in fact I personally think both CodeShark's and rusty's are more complicated than they need to be
19:44:33 <jgarzik> chain limits -- last meeting we decided to push & tell list about it
19:44:42 <gmaxwell> CodeShark: feel free to pull me into a conversation with rusty about starting time.
19:44:46 <jgarzik> definitionally impossible to satisfy all
19:44:54 <wumpus> I'm not comfortable with merging it with all the controversy
19:44:59 <jgarzik> I am
19:44:59 <petertodd> re: chian limits, I keep thinking that the # of users actually affected by them is reasonably small, and they tend to be people with engineering teams who should be able to at least do the easy hack of "create a buffer of txs waiting to go out"
19:45:07 <morcos> wumpus: are you comfortable with someone merging it?
19:45:09 <CodeShark> will do, gmaxwell
19:45:10 <btcdrak> gmaxwell: I thought we were all in that discussion
19:45:13 <jtimon> I opposed to having a per-bip threshold instead of per-chain
19:45:14 <BlueMatt> jgarzik: go do it
19:45:18 <jgarzik> OK
19:45:27 <gmaxwell> I am fine with jgarzik merging it. We can revert based on response if needed.
19:45:32 <CodeShark> yeah, actually I think I also added you to the convo, gmaxwell
19:45:35 <petertodd> gmaxwell: +1
19:45:37 <CodeShark> but this was a few weeks ago
19:45:39 <btcdrak> gmaxwell: +1
19:45:44 <sipa> petertodd: they don't even need them to be mined at once; they just nees to get them in the mempool at once so customers can see the transactions
19:45:45 <jgarzik> merge easy, revert easy
19:45:49 <jgarzik> get Internet feedback
19:45:50 <wumpus> blah
19:45:53 <gmaxwell> CodeShark: I might have been stupid then.
19:45:55 <petertodd> sipa: yes I know :(
19:46:06 <gmaxwell> wumpus: I think it will actually be okay but we need more information if not.
19:46:14 <jgarzik> nod
19:46:25 <petertodd> sipa: we should definitely communicate the RBF sendmany alternative to long chains ASAP
19:46:32 <sipa> petertodd: if people were justnusing payment protocol etc, and not using the p2p network as a communication channel, nobody would care
19:46:33 <morcos> ok after it's merged I will email the list
19:46:41 <jgarzik> ok
19:46:44 <petertodd> sipa: agreed
19:46:47 <gmaxwell> wumpus: the cases people raised were all for small chain counts; and large chains cannot be safely supported by the software (of course you can still author large chains, you just need to retransmit until nodes take them-- not unlike other limits... not even clear to me that people knew this)
19:47:18 <sipa> gmaxwell: read my conversation with petertodd above
19:47:32 <gmaxwell> Long chains are still also highly malleability vulnerable.
19:47:33 <petertodd> re: "customer sees tx in wallet" - the user experience of long chains isn't great anyway, as they're not all that reliable due to propagation failures
19:47:39 <jgarzik> yup
19:47:44 <sipa> gmaxwell: retransmit doesn't work for them, it is not mining; it is about getting them instantly relayed
19:47:55 <wumpus> right
19:47:57 <gmaxwell> sipa: fair point though also petertodd's response.
19:48:16 <petertodd> gmaxwell: RBF sendmany won't show up in many users wallets yet :(
19:48:32 <jgarzik> get opt-in RBF into tree, and it will show up in wallets rapidly.
19:48:34 <morcos> I think this is the reason to announce this as far in advance as possible
19:48:38 <petertodd> jgarzik: agreed
19:48:40 <gmaxwell> petertodd: I think showing up in wallets isn't the actual metric, showing up in block explorers is.
19:48:53 <morcos> So that if they need to figure out another way to communicate the information they can
19:48:58 <btcdrak> jgarzik: +!
19:49:06 <morcos> also its a configurable limit!, we're just chanigng the default
19:49:09 <petertodd> gmaxwell: good point - although it'll take awhile for even that to be handled well rather than as scary doublespends
19:49:23 <jgarzik> morcos, agree but weak argument - most go with default
19:49:41 <wumpus> morcos: yes it's not a consensus change :)
19:49:42 <btcdrak> gmaxwell: we can contact popular explorers to make changes. Shouldnt be hard.
19:49:46 <sipa> indeed; defaults has anlot.of power unfortunately
19:49:53 <morcos> the default should be one that allows the node to operate securely and be safe from attack, if more risky parameters are needed for rarer use cases that should be something those users worry about
19:49:56 <gmaxwell> In any case I think collectively we dont think failing to limit here is technically viable. So what choice do we have? people can have their own opinions, but not your own reality. :)
19:50:17 <morcos> gmaxwell: exactly
19:50:18 <jgarzik> ### 10min
19:50:20 <gmaxwell> if there are specific needs about very long chains we need to know so we can figure out how to handle them.
19:50:26 <petertodd> gmaxwell: agreed - first priority is to keep the system working for the super majority who don't need long chains
19:50:37 <jgarzik> gmaxwell, yep -- and merging is the best way to get user feedback on that, IMO
19:50:48 <wumpus> gmaxwell: that's true - the only thing under discussion is what the limits should be, not whetehr there should be any
19:50:52 <phantomcircuit> gmaxwell, nobody commenting in the pull request came up with an actual use case for very long chains, they merely asserted that they needed them
19:50:56 <jgarzik> can only spin wheels so long in the dev silo (info vacuum)
19:51:00 <btcdrak> what is the PR for chainlimits again?
19:51:04 <jgarzik> #6771
19:51:05 <phantomcircuit> which i am happy to ignore
19:51:21 <btcdrak> #link https://github.com/bitcoin/bitcoin/pull/6771
19:51:32 <jgarzik> new topic?
19:51:39 <jtimon> 25 25 wasn't final, right
19:51:57 <morcos> 25 / 101 and 25 / 101  are the final limits
19:52:35 <jtimon> same for both? I expected ancestors to be lower
19:53:04 <morcos> jtimon: most common use case is linear chain...
19:53:23 <sipa> new topic?
19:53:26 <wumpus> any other topics?
19:53:44 <petertodd> <crickets>
19:53:47 <jgarzik> did we cover jonas while I was in the taxi?
19:54:10 <sdaftuar> ?
19:54:10 <jtimon> ?
19:54:20 <CodeShark> not sure I want to know
19:54:20 <Luke-Jr> ?
19:54:23 <petertodd>19:54:30 <Luke-Jr>19:54:42 <jgarzik> proposal for new GUI maintainer
19:54:42 <CodeShark> sounds kinky, though
19:54:52 <petertodd> CodeShark: GUI's are pretty kinky
19:55:10 <BlueMatt> petertodd: they're masochistic, if nothing else
19:55:13 <gmaxwell> jgarzik: I think it's kind of rude to bring that up in this meeting when wumpus probably hasn't talked to jonasschnelli about it! :)
19:55:28 <jgarzik> gmaxwell, he said he did, which is why I mentioned it
19:55:40 <wumpus> it's not time to talk about that yet
19:55:42 * bsm1175321 would separate the GUI into a different project...
19:55:42 <Luke-Jr> jonas also doesn't seem to be here for the meeting
19:55:44 <wumpus> yes, that very rude
19:55:48 <gmaxwell> ah. Okay.
19:56:02 <wumpus> I asked if he was interested, not whether we should announce it yet
19:56:06 <BlueMatt> ok, end meeting?
19:56:24 <btcdrak> if we can remember the command this week :-)
19:56:30 <wumpus> #meetingend
19:56:39 <gmaxwell> #destroymeeting
19:56:42 <wumpus> #endmeeting