Well, after quite a bit of research and reading arguments and yelling at various people, I am still convinced that the block size limit must be raised. It was always a temporary limit. We all knew this. 1MB blocks are not sufficient for any kind of future, global usage for anyone but a tiny fraction of a percent. That was never the point of Bitcoin.
Furthermore, I am completely unconvinced by any of the proffered economic arguments for limiting the block size. Not only do I find them utterly idiotic, those who have made these arguments are now somewhat suspect, in my view.
However, Gavin's proposal, as stated, is quite aggressive, and fails to account for several factors. Among them:
- Data caps. Even though advertised speeds may be quite high, broadband connections in the US have restrictive data caps of less than 400 GB/month. 20MB blocks would not be immediately workable. Worse, we can't count on these being lifted at any predictable rate. Bumping up against these makes us dependent upon last-mile providers that tend to command oligopoly, if not monopoly, rents. I don't think Bitcoin is in a position to pick a fight with ISPs quite yet.
- Wireless. Targeting a "pretty good home network connection" into the future risks leaving out a large fraction of users -- those with wireless links. Wireless speeds do grow at a similar rate as wired and fiber optic networking, but they lag behind. And, unlike point-to-point links, wireless spectrum is shared. We need to at least consider the limits of (high-end) mesh networks as well.
- Censorship. This is the big one. As far as the anti-fork crowd is concerned, every byte over the current limit is an invitation for some bureaucrat to insert themselves into the free-trade of Bitcoin transactions, to enforce whatever arbitrary nonsense they currently do with fiat, be it tariffs on bananas or morality codes or simply protecting the privileges of the "investor" class. Every byte added makes Bitcoin more centralized, more dependent upon resources ultimately-paid-for in fiat, and more vulnerable to disruption and attack. The day that the Bitcoin network is controlled by venture capitalists running servers in datacenters and not by individuals communicating peer-to-peer is the day we all lose our precious Bitcoins to stuffed-suits with bouffant hairdos.
So, over the last several days, I've come up with a few usage scenarios and various block sizes they would require. All are based on a few assumptions, 1) that sidechains or a similar solution will arise to take most day-to-day transactions off of the main chain, 2) that the main chain should be accessible in some manner to a large group of people beyond just institutions, and 3) that network bandwidth and the aforementioned concerns are the key limits to block size growth.
The first scenario is the status quo. Keeping 1MB blocks forever into the future doesn't even qualify as a serious proposal, in my view. This would mean that the average person would be able to make one transaction every 73 years, if they are lucky enough to live that long. Practically, access to the main chain would be limited to large institutions. This is not even an improvement over the current financial system, as far as I'm concerned. What is the benefit in running a node on your home computer so that you can audit the equivalent of gold transfers between central banks? It's pointless for the average user. Arguing that this limit benefits the average person is disingenuous, at best.
The second scenario is Gavin's proposal. An immediate jump to 20MB blocks would likely be followed by weaponized spam providers such as CounterParty and various dice games rising to fill them. Home-user nodes on capped or slow connections would be driven off the network, which would contract to perhaps a thousand or so highly-connected servers in datacenters, users with home fiber connections, and miners. All of these would become immediate targets for regulators and whitelist profiteers wanting to filter out all transactions that can't be tracked to a government ID. Nodes that tried to avoid this through Tor would overwhelm
that network and bring it crashing down as well. Gavin's brain chip would be activated, triggering him to don his mad scientist costume and make Youtube videos assuring the Bitcoin community that all is going "according to plan". In case it's not obvious, this is somewhat tongue-in-cheek. But I can see how the chance of this happening gives the anti-fork crowd pause. So, like I said, 20MB blocks are a bit much.
But, assuming that sidechains or similar will eventually take the majority of daily transaction load off of the main chain, what is a reasonable size to target? With a 130 MB block size, everyone on Earth would be able to make two transactions per year. That's a minimally-functional savings account, in my book. Anything less would have to be considered useful for "institutions-only". Again, not the point of Bitcoin. So I think this is a reasonable minimum to consider. Getting there in 10 years would not be much of a burden. I would love to hear valid arguments from the anti-fork crowd against this schedule, especially ones that don't involve magical artificial-scarcity-based economics or shrill cries of "think of the miners!" Any takers?
Is there any reason to go beyond that? Over twenty years, I think it's possible the blocksize could grow from 2 MB to 2 GB, and still stay pretty comfortably within the parameters of the limits listed earlier. There would still be friction, of course, in various places and at various times. But, overall, Bitcoin would prevail. 2 GB blocks represents nearly 7,000 transactions per second, rivaling Visa. And that's just on the main chain, not to mention sidechains. This schedule is much more conservative than what Gavin has proposed, yet, still would represent an impressive feat for a trustless P2P network. I don't see any technical limits to achieving it. Political risks exist, as always, but would be much lower.
Regardless, my view is that we need to explore more of a compromise. Both of the proposals have issues of one type or another. Burying our heads and ignoring the issue won't solve it. And, if there is going to be a fork, which I think is inevitable, sooner is better than later.