What Makes Satoshi's Incentive Work

in #cryptocurrency5 years ago

IMG_20200303_125329.png

In this article, I will argue that if miners ran the network as described in the Satoshi white paper, incentives would exist to do the research and development necessary to scale bitcoin to meet demand. I will also highlight a flaw in bitcoin's consensus rules—an oversight by Satoshi—that makes it profitable for miners to deviate from his intended protocol, thus partially short-circuiting this incentive. Lastly, I will suggest adding a new rule to remedy the situation.

Run the Network, Earn New Coins
Satoshi described the steps to run the network in Section 5 of the bitcoin white paper:

Then in Section 6, he said that the first transaction in each block starts a new coin owned by the creator of the block. Those new coins, he believed, would be the incentive to run the network. The work the network would pay for would be precisely the work required to keep it running.

The Proof-of-Work Market is Proof this Incentive Works
Satoshi's incentive was an astonishing success at improving Step 3 (finding difficult proof-of-works). The original bitcoind miner had an efficiency of 0.03 Mhash/J: that is, for each Joule of energy it consumed, it could make 30,000 attempts at finding a difficult proof-of-work for its block. Today, an Antminer S19 has an efficiency of 40,000 MHash/J: for each Joule of energy it consumes, it can make 40,000,000,000 attempts at finding a proof-of-work (yes, 40 billion attempts). In just one decade, the free market made Step 3 over one million times more efficient.

There was no team of "world-class" developers leading this effort, nor was there a need for the protocol to issue new coins to a Hong Kong corporation to fund them. It didn't even require donations from early bitcoin investors. The work happened spontaneously as free people responded with ingenuity to the opportunity for profit that presented itself. The incredible six-order-of-magnitude improvement in mining technology is proof that the free market can develop mind-blowing tech when properly incentivised.

The Block-Validation Market That Should Have Been
Satoshi's incentive failed to improve Step 5 (validating new blocks). The reason is subtle because if miners ran the network as Satoshi described (i.e., if they followed Steps 1 through 6 as written above) a market for efficient block validation technology would already exist. As bitcoin usage increased, the bigger blocks would take longer to validate such that each additional second a miner spent on Step 5 (validation) before beginning Step 6 would shave about 0.17% off his potential revenue (1s/600s=0.17%). A miner with 10% of the hash power would lose ~$1M of potential revenue per year, at $10,000 per coin (BTC). And so such a miner, following Steps 1 - 6 as written, would rationally pay up to $1M per year for technology that makes Step 5 one second faster. The same economics would apply to all miners, and so combined there would be a market worth about $10 million per year per second of scaling improvement (at $10k per coin). If blocks got so big that the average miner took 11 seconds to perform Step 5, technology that would reduce that time back to 1 second would be worth up to $100M per year!

Unfortunately, this market was not to be. Instead of paying for the development of technology to scale block validation, miners realised they could increase their revenue just as much by simply not validating [1]. They realised that they could assume that the previous block was valid, without first checking what it contained, and then immediately begin mining a new block above it. Worse yet, in order for this new trick to work, the blocks needed to be empty. These validationless miners weren't really even doing the job of collecting new transactions into a block like Satoshi intended. The fact that bitcoin's consensus rules do not discourage validationless mining killed the market for efficient block validation technology, short-circuiting the built-in incentive.

To Create Demand For Efficient Block Validation Technology, Increase the Cost of Validationless Mining
To create a market for efficient block validation technology today, we must make validationless mining less profitable. One way to do this is to add a new rule requiring a hash of the UTXO set (i.e., a UTXO commitment) to be included in each new block. The commitment should be most practical to calculate by actually downloading the previous block and updating one's UTXO set [2].

Adding a new rule for UTXO commitments is already on the roadmap for BCH.

Compete On Different Implementations, and Scale to Global Levels
Imagine that new-car buyers got a fuel rebate for buying a gas guzzler, as well as a $1000 credit if they also bought the most common gas guzzler. A lot of people would buy the same gas guzzler, fuel efficiency be damned. Car companies wouldn't invest in making cars fuel efficient, because any fuel they could save their customers would be offset by the customer receiving less benefit from the gas-guzzler fuel rebate. In fact, we'd probably end up with a single car company making the same crappy gas guzzler year after year. This is the situation today in bitcoin where there is no link between how efficiently a node implementation can validate a block and the revenue a miner can earn using that node—validationless mining acts as a gas guzzler fuel rebate. (The $1000 credit for using the most common gas guzzler is analogous to the bug-for-bug compatibility miners get if they all use the same implementation.)

But with validationless mining made impractical, miners would need to acquire the best block validation technology in order to remain competitive, just as they need to acquire the most efficient proof-of-work finding technology today in order to mine profitably. A competitive market for high-performance node implementations would be born. This market would deliver the technology and optimisations necessary to build implementations of the bitcoin protocol that scale to global levels.

Cooperate On a Stable, Largely Unchanging, and Economically Rational Protocol
The protocol (the set of rules governing what constitutes a valid transaction or block) is distinct from implementations of that protocol. Competition on implementations leads to technology advancement, but for the protocol itself, stability, neutrality, and economic rationality is most important. Except for block size limits and the incentive problem described in this article, the protocol can already scale to global levels, so the need for protocol changes should be small or nil.

A special interest group (SIG) could still fund a "reference implementation" but the goals for that implementation might be very different than today. The reference implementation might serve as a reference for the behaviour defined by the protocol specification. It would focus on clarity, simplicity and adherence to the specification, not on efficiency. Efficiency improvements (and their associated complexity) would intentionally be left to free-market competition.

Conclusion
Bitcoin's current incentive system works and the six-order-of-magnitude improvements in technology for finding difficult proof-of-works proves it. The ironically-named "infrastructure funding plan" for BCH would actually reduce the number of coins available to pay for running the network's infrastructure, giving it to unaccountable third-parties instead. What is actually needed is to make validationless mining impractical, thereby creating a direct link between how efficiently a miner can validate the previous block and the amount of revenue that miner expects to earn. This would lead to a competitive market for high-performance node technology built upon a stable, largely unchanging, economically rational bitcoin protocol [3].

There is amazing technology, waiting on the sidelines, that would allow a bitcoin to scale to global levels. For example, imagine a small router-sized device capable of processing a million transactions per second on a few Watts of electricity. If that sounds crazy, would you also have thought it crazy in 2010 to hear that within a decade the technology for finding those difficult proof-of-works would be one million times better?

Notes

[1] Indeed the miner forgoes fees for the few seconds while performing validationless mining, but the previous block probably cleared out mempool anyways, so mining an empty block or a nearly empty block makes little difference to his revenue.

[2] It is probably not feasible to make validationless mining impossible, but that doesn't matter. What matters is increasing the cost of validationless mining so that it ideally costs more, but at least not significantly less, than full validation. One solution that does not appear to work is using a non-lagging version of a rolling UTXO hash method like ECMH. A validationless miner could simply assume the hash in the last block was correct and quickly update it with the single output created by his coinbase transaction in his otherwise empty block.

[3] Of course, awesome scaling tech is useless if there is only demand for 100 kB blocks. What is even more important than making validationless mining impractical is increasing demand for BCH transaction through increased adoption and new use cases.