The stress test on the Bitcoin SV (BSV) blockchain last week produced some interesting, and expected, results. Well-known BSV developer Unwriter has posted on Medium about the event, including the results and why crashes seen during the stress test are not only acceptable, they’re good for the network.
Unwriter acknowledges that certain Planaria nodes crashed during the stress test, but that this interruption was not related to any reorg. Instead, he points out that it was caused by “high throughput transactions” that bogged down the machine’s memory. That enabled developers to discover a hidden bug, which has now been fixed.
He goes on to say that the crashes are desirable. By finding failures today, the system will be in better shape tomorrow, when the number of transactions increases exponentially. Unwriter asserts, “In fact, I’ve explicitly designed Planaria so it FAILS and CRASHES in all unexpected edge cases. This is because Planaria is not being built as some centralized API service company. Planaria is being designed as an ENGINE that should be able to power any kind of decentralized swarm of fault tolerant APIs. And you can’t build a ‘fault tolerant system’ without encountering as many faults as possible early on.”
While Unwriter points out that he could take the “band-aid” approach to fixing issues and just throw a bandage over the problem, this wouldn’t actually resolve what is going on underneath. He explains, “For example, I could just increase the machine RAM and it would never crash. But that’s missing the point. Just increasing the memory may fix the immediate problem for that service endpoint, but it doesn’t fundamentally solve the problem for other future cases where Planaria needs to run on more memory-constrained environments.”
As such, the crashes help to identify the root problems so that Unwriter can then address them adequately to prepare the platform for future growth.
The stress test and its results helped Unwriter identify a few issues, as well as to see new ways of looking at existing functions. He was able to fix a memory leak that was otherwise undetectable and has come up with an alternative to help reduce the amount of memory needed for a certain transaction. He also points out that the reorg that resulted from the stress test, just as Steve Shadders pointed out, is normal and part of the Bitcoin design.
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.