A Deep Dive into Lopp’s “On BSV Scalability”
We investigate claims made by BTC evangelist Jameson Lopp in his recent article On BSV Scalability. We focus on technical and objective arguments, instead of philosophical differences such as users running a node and decentralization, which are subjective and more difficult to settle.
BSV Transaction Characteristics
He cherrypicks the 1 GB block at #699154, containing only 10,136 transactions and 14,566 inputs, misleading readers into believing BSV can only handle large data storage blocks, where transaction validation is skipped.
He omits blocks that contain more than one million transactions and thus over one million inputs. For example, block #635141 has 1.3M transactions, ~200X that of BTC’s mere 7K. There is also block #634643 of 1.1M transactions, among others.
require over 600X as much resources to validate. That would mean a 1 GB block would take an expected 100 minutes for my machine to validate.
This is a rudimentary error. Even if we assume a block requires 600X resources to validate as claimed, it does NOT mean it necessarily takes 600X time to validate, because validation can be parallelized. In fact, parallel processing is at the core of on-chain scaling. If we look at block #635141, it should take about 100 * (370 MB / 1 GB) = 37 min to validate by his logic, while it only takes 13 min to mine in reality¹.
A “deep dive” on BSV scalability has managed to miss the most important part of its scalability: parallel tx/block validation.
Run appears to be a smart contracting language that lets you create tokens, contracts, and other digital assets.
Maybe he mistakes Run for sCrypt, which is indeed a smart contracting language.
One thing I noticed while researching BSV for this report was that coin.dance shows stats for the other major bitcoin forks but not for BSV.
If one actually clicks the link, Coin Dance DOES show stats for BSV, as comprehensive as other forks. The above statement is blatantly false. I figure I’m the first person to notice this because nobody bothers to read his article.
He resorts to an old picture from Wayback machine to mislead readers into believing Coin Dance gives up on BSV “Presumably because they simply can’t handle the data volume”.
I’m seeing similar issues on other services / block explorers such as blockchair.
He claims blockchair gives up supporting BSV due to high costs. He goes on to quote stats from blockchair in the next paragraph, immediately contradicting himself. Your can find BSV at blockchair, along with many other blockchains.
What is OP_RETURN? It’s is a script opcode used to mark a transaction output as invalid
OP_RETURN in BSV has been reverted to its original meaning: terminates the script leaving the stack as-is and letting the result on top of the stack determine the success or failure of the script. Thus, if the top stack is non-zero, it is regarded as successful. It does not always fails as in BTC, which he still thinks.
While he is learning about the updated OP_RETURN, he may also be interested to learn many opcodes which have been re-enabled since the Genesis upgrade. It allows advanced smart contracts which are deemed impossible on Bitcoin without breaking changes, such as:
- Schnorr Signatures
- Merklized Alternative Script Trees(MAST)
- Pay to Script Hash (P2SH)
- Tree Signatures
We applaud Lopp’s empirical approach to study BSV scalability, by running a node and measuring its performance. We encourage him to continue exploring powerful BSV features, which are only going to grow. We would like to return the favor when BTC has any feature worth exploring.