The Bitcoin SV (BSV) world woke up on March 8 to exciting news. nChain’s BSV Node team announced they had successfully maintained an average block size of 128MB across 144 blocks over a 24 hour period. We spoke with Steve Shadders, director of solutions and engineering at nChain, about the details.
We began by talking about what this means, for both nChain and the BSV network. Shadders said:
“What it means and what it has convinced the SV team of beyond a shadow of doubt is that raising block limits beyond what current software can handle isn’t going to make the sky fall in and has a genuine benefit. We got to this point of improving the software so it can handle it because of two things: 1. We actually try to exceed the old limits when performance changes are made and 2. It places a certain degree of healthy pressure on us to keep our eyes on the target, which is scaling capacity.”
Now that we know Bitcoin SV is capable of sustaining these big blocks, what can we expect to see on the business and application side?
“Simply having the capacity there now and giving app developers confidence that we have a roadmap to make sure the capacity will always be there changes things dramatically for businesses and devs in this space. Good ideas that have previously been shelved because they needed capacity are being dusted off. The new possibilities of a scalable Bitcoin are also starting to seep into the collective consciousness of Bitcoin app developer communities and we are seeing an explosion of creativity.
“Not every idea will stand up, but even the ones that don’t become fuel for new ideas. In a world where your idea is just something that you might be able to do one day in the future if a bunch of protocol devs agree to change a limit there’s not a lot of motivation to jump out of bed and build it now. That’s not the case anymore and ideas can become reality only days or weeks after that first spark of creativity occurs.”
Let’s talk more about how this was done. Did the team accomplish this with new node software, of the existing version of BSV 0.1.1?
“The STN (Scaling Test Network) is a combination of latest stable release software (v0.1.1) and various development builds with different unreleased performance features. This allows us to test the impact of some of those features in a relatively controlled way. As well as checking for interoperability issues with the stable release.
“The Bitcoin network is a living thing with many complex interactions governing its behavior so it is important to have a bit of diversity of software versions running on it so those interactions are mirrored.”
Do you think the success of the test relied on these “lab conditions”? Do you think we’ll see this happen on the mainnet?
“There certainly is an element of lab conditions given that we use the STN for research into scaling related behaviors of the bitcoin network. Sometimes we are testing one very specific issue and we’ll see different secondary effects due to choice of mechanism used to put load on the network.
“So I think it’s reasonable to expect the mainnet will always lag behind the STN by a few months in terms of scaling capability. Which is as it should be. The STN is for bleeding edge research and code. The mainnet is targeting stability. The STN is also a tool to improve that stability. Not just by researching new ways to break limits. But by providing an environment to test what the safe limits for mainnet really are.”
How long before we could see this result in a real-world test?
It’s hard to gauge precisely. But what matters most for mainnet is that it’s supply capacity remains at least an order of magnitude ahead of demand so we’ve got room to handle short term spikes in demand without it affecting the user experience like we see frequently on BTC (Bitcoin Core). What we are seeing now is steady and consistent growth due to transaction size and a steady but slower growth due to transaction volume. At the moment we have a very wide safety margin. And while I’m expecting the see the pace of growth of mainnet increase we are improving software capacity at rate fast enough to stay well ahead of the curve.
When do you think we might see the block size increased to 512MB?
In talking about 512MB block size limits we need to establish what raising that limit unblocks. There are two types of block sizes we care about. The intermittent spikes and the sustained rate of throughput. Intermittent spikes can be expected rarely but can be 10 or even 50 times the size of sustained block size. We have already 128MB on the STN for both spikes and sustained for 36 hours. And given we have had a 108MB block on mainnet using a previous software release that was missing some performance enhancements it’s not a stretch to think mainnet can hit 128MB spikes right now. Even if 128MB sustained is not yet feasible the block size shouldn’t be limiting larger spikes.
So I’m of the opinion that the STN limit should be raised to at least 512MB right now. And that the Bitcoin SV ecosystem needs to start planning for a minor protocol upgrade in the next few months to raise the maximum block size on mainnet.
New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.