Blockchain 2019: everyone wants to eat, no-one wants to hunt
In most blockchains the peer-to-peer network does the heavy-lifting: giving data to lite-clients, collecting fees in return, and sharing those fee-paying transactions with the network. And since these activities cost a lot of money at scale, it’s useful to ask who will pay for them once we have a terabyte-level blockchain?
Our experience is that very few developers think about this problem. If you push them on it most will give you the vague answer that volunteers will run some nodes, miners will pay for some infrastructure, and companies will run servers and collect transactions too. And this sounds reasonable, until we look at the way major bitcoin forks disagree about it:
Bitcoin Core wants volunteers to run the peer-to-peer network. It does not believe that miners will do this and doesn’t trust them to keep the network decentralized either. This is one reason Core wants to keep the blocksize small: so that volunteers can always run the network backbone.
Bitcoin SV disagrees that volunteers will run nodes, but expects miners to pay since they are the ones getting paid. This is why CSW argues there is no difference between nodes and miners, and why he sees the failure of miners to scale as a failure to understand bitcoin’s incentive structure.
Bitcoin Cash expects third-party companies like Google to subsidize fee collection as part of their other businesses. This approach is similar to that of Ethereum developers, who have put Infura in charge of collecting money for their network.
As Saito we believe none of these approaches will work at any significant scale. It should be self-evident that volunteers won’t run a terabyte-level network. But neither do miners want to spend money collecting fees: they prefer to listen for transactions broadcast by other miners on their shared network. The “free-rider” problem here is a classic collective action problem (a market failure!) that no-one talks about, perhaps because the only known solution is for miners to fight free-riding by hoarding transaction, destroying the openness of the network and strangling smaller miners one-by-one.
If the miners won’t share no problem, right? Because we still have the volunteer-run peer-to-peer network. Except that we don’t, remember? And while it sounds ludicrous to have to write down this sort of circular reasoning, this is exactly how most people in the blockchain space think.
So what about the third option: letting companies do the heavy lifting? Leaving aside the irony of expecting Google to fund a decentralized Internet, look at the way that information services have historically tended towards monopolization: Infura is just the latest case in point. And even if we avoid the fate of Ethereum and end up with a large number of companies running access points, what happens once those companies realize those transaction flows are worth hard cash to block producers? As it turns out, relying on third-parties to run our peer-to-peer network not only incentivizes collusion, but makes it the default strategy for both those companies as well as the miners/stakers in the network.
And this is the state of blockchain research in 2019. We have a lot of research into consensus mechanisms that are theoretically secure under the most unrealistic condition possible: the assumption that money will flow into the network evenly and free-of-charge. Everyone wants to eat and no-one wants to hunt. And researchers draw an clean wall at the edge of their consensus mechanisms, even thought collusion in transaction source can easily stretch across that theoretical boundary.
For those working in blockchain, the most important question people are ignoring is this: how much revenue can be bought-and-sold before even the most secure consensus mechanism implodes? From the Saito perspective, not a single other blockchain is safe from these problems exactly because they haven’t figured out how to incentivize transaction propagation.
There only solution to the underlying economic problem is do what Saito does — explicitly pay for *all* of the activities in the network that generate value for the blockchain. Given that the primarily activity that drives value to the blockchain is the distribution of money to the nodes that support it, it would seem that paying for the network is actually a high priority. Maybe people will get around to recognizing the problem by 2020.