Skip to content

Instantly share code, notes, and snippets.

@Garoth
Created July 22, 2020 03:43
Show Gist options
  • Save Garoth/e1be9badb27cc82a7dde747bcd5d7786 to your computer and use it in GitHub Desktop.
Save Garoth/e1be9badb27cc82a7dde747bcd5d7786 to your computer and use it in GitHub Desktop.

The source of this is: https://twitter.com/VitalikButerin/status/1285593115672358912

And in particular, he links to: https://www.cs.princeton.edu/~arvindn/publications/mining_CCS.pdf


I am: an Ethereum entrepreneur working full time on https://flowerpatch.app, an indie game

When I first read that tweet, I was really surprised. We've been thinking since the start of Bitcoin that fees would gradually become the long-term thing that sustains miners. We were told that paying miners = security for the network


Overview:

The btc whitepaper explained that the block rewards would go down, slowly over time. Ethereum is modeled on this concept too, though has no fixed cap. Then: big blocks are good, because big blocks = more fees. However, looking back at this idea now, we see that there was a fair bit of hand-waving in this transition, and a new scalability problem becomes clear:

  • Up until recently, blocks have basically always had the same value per block. It turns out that this was a very important game theory assumption!
  • As fees begin to dominate the miners' revenue, we enter into a world where some blocks are very valuable, and some blocks not so much
  • An additional problem, especially in Bitcoin, is the "exponential time variance" in block mining. Sometimes, there's just no blocks for an hour
  • Miners always have the option to "fork" a blockchain. As we start to have high variance in the value of blocks, it becomes much more logical to try to fork valuable blocks instead of building on top of them. The paper states this as: "it becomes attractive to fork a “wealthy” block to “steal” the rewards therein". You can incentivize other miners to "join in" on your theft-fork by not taking all of fee revenue (i.e. not including all the transactions), leaving some for others that wish to follow you into the dark world. The paper provides an illustration: https://i.imgur.com/I2K9QDd.jpg
  • The paper also outlines several other "bad actor" strategies that miners can use. Increasingly, as blocks become irregular, and more "evil" strategies start to creep in, this actually opens the door to further bad actors, and collusion
  • One key quote from the paper: "Without a block reward, immediately after a block is found there is zero expected reward for mining but nonzero electricity cost, making it unprofitable for any miner to mine." — this leads to another class of game theory issues, where miners have no reason to start mining until transactions start to pile up, but still have to pay electricity fees. The world has changed since the btc whitepaper: various schemes for mining multiple currencies at once, or quickly switching to alternate networks, become available. Miners may choose to switch off their equipment, or switch networks for a while, instead of waiting for transactions to pile up. They call this phenomenon "mining gaps"

Their conclusion:

Impact on Bitcoin security. If any of the deviant mining strategies we explore were to be deployed, the impact on Bitcoin’s security would be serious. At best, the block chain will have a significant fraction of stale or orphaned blocks due to constant forks, making 51% attacks much easier and increasing the transaction confirmation time. At worst, consensus will break down due to block withholding or increasingly aggressive undercutting.

How this affects Ethereum:

  • Ethereum has, like Bitcoin, been slowly reducing its block rewards
  • Today, as Vitalik said, we had fees make up 40-50% of the block rewards
  • This actually introduces a new scalability issue — if we increase the blocksize by 4, even if the network could handle that, we could have a situation where fees make up 200% of the block reward (50% x 4). This would start to seriously undercut Ethereum's security, as the tweet alluded
  • This issue is not purely hypothetical, but could really happen, if fees hit a sustained 100-300Gwei — on today's eth1 network! Even without extra blockspace! We could start seeing these mining strategies appearing soon

How we fix this:

  • As Vitalik mentioned, EIP-1559 does largely solve this issue. That's all the reason we need to include this EIP. Burning fees is the key to fixing the game theory. But if nothing else, you can achieve a 0% inflation rate while still issuing block rewards, as long as enough eth is burned
  • ETH2 is not susceptible to these issues, because mining rewards are shared, rather than adversarial. The years of game theory research were worth it

What happens with Bitcoin:

Well, this probably won't be an issue for quite a while, because BTC's rewards will only slowly dwindle over the next 100 years. However, they have a strict policy around this. BTC was always meant to have a totally fixed cap, and that's a big part of their "digital gold" narrative. What happens if the price of BTC tanks while the network is at capacity and has high fee revenue? They could start seeing issues pretty soon, especially with the abundance of other coins using the same mining hardware. There's already a fair bit of miners that jump between BTC/BCH/BSV based on profitability, so the "mining gaps" we discussed earlier could become more prevalent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment