Gavineries

Here’s the raw transcript of a conversation I had yesterday evening with Gavin Andresen about his desire to increase the maximum Bitcoin block size.

The fundamental pain point here, is that Gavin insists on everyone being able to get in, instead of allowing a sane transaction fee market to emerge, by letting the blocks actually fill-up.

Leaving aside the USG-implications of even mentioning “actual economists”, we can focus on his disagreement with the fact that non-full blocks basically imply the presence of as much crap as freeloaders will be able to get away with. This tendency being worsened by headers-first broadcast of mined blocks negating the risk of getting mined blocks orphaned due to being full of a ton of worthless transactions, and therefore propagating slowly on the network.

Gavin answers this objection, kind of, with “It is possible miners will form cartels to forgo short-term [small fees] for [higher fees in the long run]”, in other words, centralization.

So here we go!

<davout> i simply don't think bitcoin is meant to pay for your starbucks or tipping the local hobos
<gavinandresen> why not?
<davout> lol, why would it? it's just horribly inefficient
<gavinandresen> compared to an off-chain solution?  Ok… then an off-chain solution will be cheaper and that is what people will use.
<gavinandresen> … and we’ll have a maximum block size that is never met because there is no demand for that many transactions. That’s OK.
<gavinandresen> Like we have now
<gavinandresen> … with the 1MB blocksize that is rarely met.
<davout> so if we have offchain transactions on the table, what's even the need for large blocks?
<davout> look at the state of the transaction fee market with non-filled blocks
<gavinandresen> If Bitcoin is going to handle all of the $1000+ transactions in the world, then it needs much bigger blocks.
<davout> it sucks, there's like 100x more block reward than fees, that's not sustainable
<gavinandresen> Ah— so you’re saying we should decrease the 1MB limit, so there are higher fees and miners make more money?
<davout> if tx fees are to replace the block reward the blocks *have* to be full
<gavinandresen> … maybe one transaction per block, can bid up the price and highest bidder wins....
<davout> lol no
<gavinandresen> ok, so how big is “big enough” ?
<davout> i'm saying you're the one that wants to fork bitcoin, not me
<gavinandresen> “but not too small"
<gavinandresen> Do you agree that we want the Bitcoin system to be as valuable as possible?  
<davout> it's up to you to demonstrate it's necessary, not the other way around, how does that not make sense?
<davout> go on
<gavinandresen> My argument is pretty simple:  a  system that handles more transactions is more valuable.
<davout> and why is that ?
<gavinandresen> A system that can handle fewer is less valuable.
<gavinandresen> Why?  Because more transactions means less friction.  Where friction is moving coins to some off-chain system… (for example)
<gavinandresen> You’d agree that a 1-transaction-per-ten-minutes system would be ridiculous, yes?
<gavinandresen> It is more valuable that we have a 7-transactions-per-second (or whatever) system.
<gavinandresen> Supporting more transactions per second is inherently valuable— but it gets even more valuable because cheaper transactions means more use-cases become possible.
<gavinandresen> You say you don’t think bitcoin is mean for starbucks, but who the heck are you (or me) to decide that?
<gavinandresen> There are entrepreneurs who really want to use Bitcoin for small payments in India or Africa or paying for parking tickets or coffee.....
<davout> well, who are you to decide that bitcoin should handle more transactions?
<gavinandresen> And if the technology can scale up to support that, why not?
<davout> i don't think handling more transactions makes the system more valuable
<gavinandresen> I’m just looking at what I think will make the entire Bitcoin system the most valuable.
<davout> look
<gavinandresen> Really?  You don’t think we’ll get more people interested if they can buy coffee when they go overseas with their bitcoins as well as plane tickets gives it more value?
<davout> just because going from 1tx/10min to 7tx/s makes the system more valuable, doesn't mean you get to extrapolate linearly
<davout> on one hand
<davout> some transactions are simply a poor fit to shoehorn into bitcoin
<gavinandresen> Your objection seems to be that we need a 1MB block to make miners profitable, but I addressed that in this blog post: https://blog.bitcoinfoundation.org/blocksize-economics/
<gavinandresen> … which I ran by several actual economists
<gavinandresen> 1MB blocks probably has nothing to do with whether or not fees will be enough to secure the network
<davout> economists are topologically equivalent to meteorologists...
<davout> most predicted bitcoin was nonsensical
<davout> the actual block size is irrelevant
<davout> the blocks just need to be full
<davout> your blog post conveniently skims all the game theory implications of a larger-than-actual-demand block
<gavinandresen> Ok, if block size is irrelevant then why do you object to making them bigger?
<davout> if you agree that block size is irrelevant why do you want to make it bigger
<davout> ?
<gavinandresen> I don’t think block size is irrelevant
<davout> goes both ways
<davout> look at it this way
<davout> block size is 10mb
<gavinandresen> I think bigger blocks means more transactions paying tiny fees, which will sum to larger overall reward than smaller blocks.
<gavinandresen> … because I think more transacitons make the system more valuable, so there is more value there with which miners will be rewarded.
<davout> no, because experience shows that if people can get away with paying no fees (because blocks are never completely full) they will try
<davout> and succeed
<davout> look at the situation right now
<davout> blocks aren't full
<gavinandresen> Huh?  Have you looked at the free transaction priority required graphs?
<davout> transaction fees are ridiculously low
<gavinandresen> http://bitcoincore.org/smartfee/priority_graph.html
<davout> i make free transactions all the time, they all confirm in 1~2 hours
<davout> ^that shouldn't be possible!
<gavinandresen> davout: me too, I have lots of high-priority inputs to spend.
<gavinandresen> … I’m waiting for somebody to notice us greedy early adopters get a free ride on transaction fees and complain.....
<davout> you can not develop a healthy market for transaction fees without blocks being full and space being scarce
<davout> yes, reddit will bitch about it, fuck em
<gavinandresen> That’s like saying you cannot develop a healthy market for eating out without restaurants being full and space being scarce....
<davout> that's dumb
<davout> it's not restaurants that are scarce in your example, it's the customers, duh$
<gavinandresen> you’re right, bad analogy.
<gavinandresen> So: right now we can’t reason about fees because the subsidy overwhelms fee income.
<davout> why couldn't we?
<gavinandresen> Sorry, I mean we can’t look at current fee dynamics and conclude anything with certainty
<davout> the transactions fees per block are very low, that's not because there's a subsidy, that's because space is plentiful in blocks
<gavinandresen> … because miners don’t care AT ALL about fees right now.
<davout> look
<davout> even if they cared about fees, they'd include any piece of shit thrown their way provided there were still space left in the block and it included at least a satoshi fee
<davout> especially if they just have the block header to braodcast, and not the full block
<gavinandresen> In the future when fees are important?  Or now when fees compared to subsidy is negligible?
<davout> the subsidy is not relevant, it does not change anything to the reasoning
<gavinandresen> In the future, when fees are important, I think we don’t know.
<davout> the fees are not important today, but that's not because of the subsidy being here, that's because of the blocks not being full 
<gavinandresen> It is possible miners will form cartels to forgo short-term “I can get 11 satoshis” for a long-term ‘If I don’t mine this it is better for fees in the long run"
<davout> is that so hard to grok?
<gavinandresen> That will work EVEN IF only a minority of miners join the cartel
<gavinandresen> … because there will always be people who want transactions to confirm as quickly as possible.
<gavinandresen> —> even if they join and don’t cheat
<davout> lol, you're moving the target
<gavinandresen> My meta-claim is in my blog post:  security of the blockchain and security from double-spending are apples and oranges.
<davout> lolwut
<davout> go on
<gavinandresen> The argument that keeping a 1MB block size will, necessarily, induce people who want to secure transactions from double spending to ALSO secure the chain is just wrong.
<davout> ok, let's break this up
<gavinandresen> I actually DO think that bigger blocks with more transactions paying smaller fees is more likely to result in a secure chain. But I am certainly NOT certain of that.
<gavinandresen> I’m curious why you think a smaller block with fewer transactions paying a bigger fee will secure the chain.
<davout> the cartel thing doesn't make sense, sure you'll have the occasional guy in a hurry, but you can't base all your logic on that, especially given the fact that it's hard to double-spend, in practice
<gavinandresen> I’m not basing all my logic on it.
<davout> that's not what i'm saying
<gavinandresen> Ok, what are you saying?
<davout> i'm saying you're using anecdotal evidence to support one argument, i'm pointing out this to argue this cartel thing is nonsensical and doesn't constitute a valid point
<gavinandresen> Ok, I concede that point.
<davout> i'm also saying you're making a false dichotomy
<gavinandresen> Now, why do you think a smaller block means we’ll get a secure chain?
<davout> between small blocks with big fees & large blocks with lots of small fees
<davout> you still don't grok it
<davout> i don't say *small* blocks
<davout> i say *full* blocks
<gavinandresen> So we should increase the block size when blocks are full?  Or keep 1MB blocks?
<gavinandresen> I don’t grok it… why do full blocks imply that the chain will be secured by enough mining power?
<davout> because without full blocks you don't have a healthy fee market
<davout> because there is no scarcity
<gavinandresen> okey dokey… and you think 1MB is the right scarcity forever?
<davout> sure, problems are easy with spherical chickens in a vacuum
<gavinandresen> I claim that the number of transactions will expand to fill whatever blocksize
<gavinandresen> … because that is the nature of things
<gavinandresen> (assuming bitcoin is successful)
<davout> maybe, so what?
<gavinandresen> So I say we want to incentivize as many bitcoin transactions as possible.  Because 1 every 10 minutes is too few.
<davout> "okey dokey… and you think 1MB is the right scarcity forever?" <<< i say the market will find its way, and offchain txes aren't evil
<gavinandresen> If I had a spherical chicken in a vacuum, I’d want to it be infinitely large.....
<davout> ok, let's use a different angle
<gavinandresen> So I go to France and I want to buy a cup of coffee with an offchain transction.  How does that work?
<davout> lol, what point are you trying to make here?
<gavinandresen> My point is the point of Bitcoin is I can make a transaction to anybody in the world
<gavinandresen> … without having to first think about “ok, what offchain transaction system do they use in France?”
<gavinandresen> If there is a universal offchain transaction system… okey dokey, we just replaced Bitcoin.
<davout> "without having to first think about “ok, what offchain transaction system do they use in France?”" <<< convenience has never been the point of bitcoin...
<gavinandresen> says who?
<davout> the point of bitcoin is "i own my shit, get your hands off of it"
<gavinandresen> A purely peer-to-peer version of electronic cash would allow online
<gavinandresen> payments to be sent directly from one party to another without going through a
<gavinandresen> financial institution
<davout> the point of bitcoin is "chancellor on the brink of second bank bailout" ffs
<gavinandresen> I certainly think one facet of a p2p electronic cash system that lets people direclty pay each other is convenience!
<gavinandresen> Lets say it is five years from now, blocks are always full, and transaction fees are up to… oh, $11 per transaction.  Would you go along with increasing the max block size then?
<davout> if tx fees are 11$ per transaction and bitcoin transactions routinely move millions and millions of dollars in each block i say make an altcoin, call it poorcoin, starbuckscoin or whatever you want, but don't try to shoehorn it into bitcoin because somehow you got married to that particular idea
<gavinandresen> I want things to continue as they are now, with plenty of room in blocks for transactions.
<davout> go all the way then, make the block reward eternally 25 btc per block...
<gavinandresen> nope
<davout> well then you don't want things to continue as they are now
<gavinandresen> I still don’t understand why you think scarcity of space in blocks will ensure sufficient fees to secure the block chain.
<davout> well, if scarcity in blocks doesn't ensure sufficient tx fees, i don't see how larger blocks could ensure sufficient fees either...
<gavinandresen> It seems to me that is a really good way to ensure that poorcoin wins.  After all, all else equal, why not use poorcoin which can do 10-billion-dollar transactins as well as $2 transactions?
<davout> in this case we're doomed anyway
<gavinandresen> davout:  you’re starting to see what I’m saying:  security of the chain is NOT tied to max block size.
<gavinandresen> I don’t think we are doomed, because I believe the free market WILL find a way to secure the chain
<gavinandresen> I just don’t know how.
<gavinandresen> Maybe cartels of miners, maybe assurance contracts, maybe bonded identies tied to transaction fees… who knows?
<davout> derp. i never said security was tied to block size, i said security was tied to block space being scarce
<gavinandresen> ok, same thing. 
<davout> no
<gavinandresen> Well, we come back to the “why not one transaction per block” reduction ad absurdum argument
<davout> arguing max block size is a difference in degree
<davout> arguing blocks being full or not is a difference in kind
<davout> it does not reduce ad absurdum because, like i said, you don't get to extrapolate linearly
<gavinandresen> ok:  I claim that block size scarcity is not sufficient to guarantee enough mining interest to secure the chain
<gavinandresen> … and I’m still trying to understand if or why you think it is.
<davout> ok, let's break things down
<gavinandresen> ok
<davout> you don't think it's sufficient, do you at least think it's necessary
<davout> ?
<gavinandresen> no
<davout> so how do we guarantee the security of the chain?
<gavinandresen> I don’t know
<davout> how do we force people to pay fees?
<gavinandresen> Who is “we"
<gavinandresen> Miners?
<davout> what would be something that forces people to attach a fee?
<gavinandresen> Forces…. ummm… I don’t think we can force people to do anything
<gavinandresen> Encourage, you mean?
<gavinandresen> Incetivize?
<davout> people can be forced, of course
<davout> you are forced to have a key if you want to open my door
<gavinandresen> No, if forced people can just choose to use poorcoin or credit cards
<davout> let's stop invoking this magical poorcoin cryptocurrency that would somehow compete with bitcoin without having it's exact same problem shall we?
<davout> people will be forced to pay a transaction fee because they will have to get into a block
<davout> once blocks are full you will see a new metric emerge
<gavinandresen> No, they won’t — you just said most transactions are off-chain.
<davout> they can't be offchain if there isn't a viable crypto to back the paper crypto circulating offchain
<gavinandresen> What if there are eleven off-chain systems that just settle up with each other every ten minutes?  11 transactions per block, worth a billion or two dollars each....
<davout> the new metric will be the minimal fee below which you'll be pretty much guaranteed never to confirm
<davout> the higher this will go, the less bitcoin will move and the more valuable it'll become
<gavinandresen> Fully backed, they never have any trouble confirming, but they get together and decide that instead of paying fees they’ll just mine the blocks themselves.
<davout> what?
<davout> it'll be used to build on top of, not to buy starbucks
<gavinandresen> Hmm?  If I’m paying miners a few million dollars a year in transaction fees, but I can save that money by mining blocks myself to confirm my own transactions, why not?
<davout> seriously?
<gavinandresen> yes, seriously
<davout> well, nothing prevents you from doing that
<gavinandresen> If only high-value / high-fee transactions get confirmed that is the path I think we’re on
<gavinandresen> Ok, so tell me again who is paying the fees that secure the chain?
<davout> what will happen is simply that there will be an equilibrium between the cost of mining and the margins
<gavinandresen> Right....
<davout> well, if it costs more to mine than to pay the fee, you pay the fee
<davout> if not you mine
<davout> if miners become too greedy people start mining their own transactions
<davout> hmm
<gavinandresen> So it seems to me in the world of mostly off-chain transactions we end up with a system where the off-chain-transaction-system-operators do all the mining.
<davout> thinking as i type on this one
<gavinandresen> I’ll have to continue this later, dinner time here.
<davout> that would be true assuming bitcoin is only used to settle offchain txes
<davout> k, bon appétit
<davout> can i publish this?
<gavinandresen> sure, publish away 

7 thoughts on “Gavineries

  1. Daniel P. Barron

    compared to an off-chain solution? Ok… then an off-chain solution will be cheaper and that is what people will use.

    The context was buying coffee. People will still use bitcoin when it comes to sending large amounts of wealth to anyone in the world.

    If I had a spherical chicken in a vacuum, I’d want to it be infinitely large…..

    Sounds like hippy bong talk.

    why not use poorcoin which can do 10-billion-dollar transactins as well as $2 transactions?

    This is yet to be demonstrated.

    Reply
  2. Mircea Popescu

    Ah— so you’re saying we should decrease the 1MB limit, so there are higher fees and miners make more money?”

    Such facetious bullshit.
    “I want to tear down this wall”.
    “Why ?”
    “It opresses me”.
    “The wall keeps the outside out”.
    “OH SO YOU ARE SAYING WE SHOULD PUSH IT FURTYHER IN ?”

    No you fucking idiot that there’s no other. You are ill qualified to as much as change a fucking version in the blocks, let alone the database. Stop pretending like you can push walls around and go take your Ritalin.

    Reply
  3. Pingback: What is the blockchain hard fork “missile crisis?” | Great Wall of Numbers

  4. organofcorti

    Thanks for posting, davout. Can you explain this quote better (or link to an explanation)?

    “This tendency being worsened by headers-first broadcast of mined blocks negating the risk of getting mined blocks orphaned due to being full of a ton of worthless transactions, and therefore propagating slowly on the network.”

    Reply
    1. David FRANCOIS Post author

      That was actually a mistake of mine. I didn’t realize that headers-first propagation wasn’t applicable, at least as straightforwardly, to new blocks. Basically the point is that, if new block propagation ever becomes O(1) instead of O(n), the argument where network constraints exert a downward pressure on block size doesn’t really apply anymore. And I can think of a couple of ways to do just that, using for example, a mix of merkle-trees and canonical TX ordering.

      Reply
  5. anon

    Davout, if you can stop trolling, that would be great.

    We all know you just want a fork to happen to get cheap coins!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *