There needs to be a better way for Bitcoin’s network to prioritize the transactions it receives, according to the Bitcoin SV Node development team. A preview of adjustments the team wants to make in 2023 lists “evicted transactions” for those using the mAPI protocol as a primary focus.
mAPI (originally known as Merchant API) was designed to be an additional service that could be offered to merchants accepting Bitcoin transactions. The idea was for merchants to connect to the API to receive live policy and fee quotes for submitting transactions, as well as submitting the transactions themselves and querying their status. The idea was to allow merchants to get “fee quotes” from transaction processors/miners to set the most appropriate fee at any given time to process their transactions quickly and perhaps even create a new industry of transaction brokers. mAPI can also obtain Merkle Proofs to record the exact time a transaction happened and create double-spend alerts
However, as the SV Node team acknowledges, mAPI hasn’t lived up to expectations. One of the major complaints was that users had broadcasting transactions that were shown as “accepted” but never confirmed on the network. The node software would evict the transactions from the mempool, without notifying the originator.
that change might actually be the biggest improvement in bsv since genesis if it solves the issue.https://t.co/VWxiStbBKN
— Rob (@Rob_GCC) December 2, 2022
Rather than being a problem with mAPI itself, they said, these “evicted transactions” are a symptom of legacy code from BTC Core that is irrelevant in “big block” Bitcoin. This code contains logic that attempts to prioritize transactions in an artificially-limited network like BTC, but presents a “hindrance to user experience” in unbounded networks like BSV, causing “unnecessary bottlenecks” that include the transaction eviction issue.
This is code that was never part of the original Bitcoin protocol as released by Satoshi Nakamoto, but was added by BTC Core developers in later years to deal with BTC’s limited capacity of about 4-7 transactions per second across the entire network. BSV, though far closer to Satoshi’s original protocol (which had no block size limits), still contains some pieces of added legacy code which is being identified and removed.
The SV Node team is currently working with miners to fix those sections of the offending code for the 1.0.14 update, which is coming next year. There is also reportedly an update to mAPI itself coming soon, and other development teams are working on alternate services that don’t handle transactions directly.
mAPI, transaction indexing, and Bitcoin scalability
mAPI’s usefulness (both its current implementation and the concept itself) has been a hot topic for debate for developers and merchant users. Bitcoin inventor Dr. Craig S. Wright has strongly criticized the protocol, calling it “An utter fundamental misunderstanding of what the hell bitcoin is about.” He said there should never be any process sent to a single node (aka miner), and no user should ever be selecting and interacting with a particular node.
“No node is special. You do not select and deal with a particular node; you agree with bitcoin as a whole. Nodes are the agents of the process that do a specific function and don’t interact individually. Nodes do not deal individually with merchants,” he added.
If there is ever a need for specialized work such as that, it should happen on an overlay network, he said, but it would be an indexing service, not part of the bitcoin network itself. mAPI should just be a UTXO lookup that points to a Merkle path in a key value store, he said.
There is demand for this kind of service from merchants who wish to process large numbers of transactions quickly. This is vital to a network like BSV, which promises a micropayment economy based on millions/billions of transactions per day from humans and machines alike.
We never liked MAPI.
At JungleLabs, we’ve been engineering a much better tool using overlay networks to push an absurd amount of incoming & outgoing data through bitcoin.
This was on our secret roadmap, but now it’s on people’s minds.
Imagine if we had more resources.
— GorillaPool.com (@MineLikeAnApe) November 5, 2022
GorillaPool’s JungleBus is aiming to be one such indexing service, a “highly efficient crawler which indexes Bitcoin” and which is available as an API “to allow anyone to easily access Bitcoin and create powerful overlay networks for business use.” A public beta is currently available, intending to release a final product before the end of 2022.
Metastreme’s MetaProof is also offering transaction-checking services based on SPV proofs and can now handle over 1,000 requests per second (with the ability to handle over half a million requests per second currently in testing).
Though the ability to scale unbounded has been part of Bitcoin since Satoshi Nakamoto first released it in 2009, the industry is still just beginning to understand how that works in practice. Some teething problems are to be expected, but whether it’s a matter of removing legacy “small blocker” code from Bitcoin or developing better indexing services to confirm transactions quickly, they will be ironed out before too long.
Watch: The BSV Global Blockchain Convention panel, Blockchain mining & energy innovation
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.