Bitails is a blockchain explorer and API service that recently “rewrote its service from scratch” in preparation to “handle at least one billion transactions a day.” To test this new architecture, Bitails ran a couple of stress tests on the BSV blockchain network in the Fall of 2023. I caught up with one of the co-founders, Meysam Rezai, to learn more.
Why did Bitails have to rewrite its service application code from scratch?
Meysam Rezai: When we initially began developing the Bitails codebase, our primary objective was to launch Bitails quickly. However, we were aware that certain technologies and coding languages we were using were easy to develop but had limitations in providing the desired functionalities.
Upon reaching a stable version of Bitails, we took a step back, re-evaluated our design and structure, and made some adjustments to the technologies employed, aiming at creating a more scalable indexer for the BSV blockchain network.
What types of transactions did Bitails broadcast to perform the stress test?
Meysam Rezai: As you’re aware, we conducted two distinct stress tests. The first focused on transactions per second (TPS), utilizing basic transactions with one input and one output. During this phase, we successfully injected 450 million transactions into the BSV blockchain network over 3-4 days. Although we were planning to push 1B transactions into the BSV blockchain network in two days, but miners ignored many of our transactions, so we had to compromise on this number.
The second stress test centered on evaluating the Unspent Transaction Output (UTXO) set, examining both the BSV blockchain nodes and Bitails’ UTXO handler. In this scenario, transactions varied, each featuring a single input and over 200,000 outputs. The objective was to expand the UTXO set from 350 million to over 1 billion UTXOs. The results were reassuring for Bitails’ UTXO handler, yet we encountered node crashes. Identifying the root cause of these issues is currently under investigation.
How did Bitails’ new architecture hold up during the stress tests?
Meysam Rezai: As briefly mentioned before, our service has successfully navigated all scalability tests. Given Bitails’ horizontal design, we are confident that by incorporating additional infrastructure, the service can effectively accommodate potential future loads on the BSV blockchain network.
What changes, if any, did you have to make after the first test before the second?
Meysam Rezai: The stress tests put pressure on different parts of our service. So, after the first test and before the second one, we didn’t need to make any changes. However, the information we gathered was useful, helping us improve the system’s performance.
The UTXO set is currently around 500 million. However, some miners have increased the fees substantially(which is fine!). We plan to push it to 1 billion and will decide whether to continue the test from there or not.#BSV #Bitcoin #Scaling https://t.co/v7fdvbtubh
— Bitails (@BitailsAPI) November 15, 2023
Why did miners increase their transaction fees? What fee rate did they increase the fees to?
Meysam Rezai: Regarding the fee increase by miners, we don’t have all the information as the miners’ behavior differed based on two factors. One factor is the automatic fee increase by the BSV blockchain codebase to manage the mempool, and the other is miners adjusting fees based on their preferred policies.
We struggled to identify a consistent pattern in miners’ behavior in the first test. Some transactions with higher fee rates didn’t make it into blocks, while others with lower fees (still at least twice the normal network fee) were successfully mined. However, in the second stress test, some miners had already increased their fees to 1 sat/Byte, which was the fee rate in the years 2018-2019.
What are your thoughts on miners recently lowering fees to 1 satoshi per byte?
Meysam Rezai: It boils down to a cost-benefit analysis. If, at present, miners heavily depend on the block subsidy, it would make sense to reduce the transaction fee to 1 sat/KB. This move aims to encourage businesses and applications to engage in more genuine and sustained transactions, potentially leading to an increase in the long-term value of BSV coins.
However, it’s crucial to acknowledge that this approach introduces additional costs to their infrastructure and may reduce short-term profits. Essentially, mining on the BSV blockchain network involves a long-term strategy. By reducing fees, there’s potential for an increase in transactions over time, which, in turn, could contribute to the appreciation of the coin’s value.
What are your thoughts on locking coins and hodlocker.com, in the context of prioritizing indexing transactions with locks?
Meysam Rezai: If there’s a valid reason to lock coins, sure! There are many potential use cases for locked coins. However, I don’t see locking coins as an effective signaling method for BSV blockchain-related matters. While something like Hodlocker might carry weight in expressing your opinion within a community, it may not be the best fit for the BSV blockchain community. Locking coins doesn’t necessarily indicate an investment in BSV blockchain, and it feels more like a Proof of Stake (PoS) system if we accept that logic.
In my mind, the miners and projects investing millions in building on BSV hold a more impactful stance than just locking some coins. On a related subject, we are working on a solution that enables users to use the combination of sequence and nLockTime to sign and store their transactions for future broadcast on the network. The concept is not new, but we plan to make it an easy procedure for nontechnical users. Of course, this method differs from locking coins since the owner can spend their coins anytime.
How is Bitails search implemented, and how could it be improved?
Meysam Rezai: To ensure efficiency and future feasibility, we employed various algorithms for identifying genuine transactions. We indexed transactions based on their first 1KB of data, as attempting to index all data from every transaction wouldn’t be efficient. The outcome is a speedy search engine on BSV, capable of locating data when appropriately tagged. We continuously enhance the algorithms to maintain the search engine’s efficiency over time.
As a developer, I tend to use WhatsOnChain and JungleBus APIs; why would I use Bitails over those?
Meysam Rezai: First, having a robust alternative is always beneficial. To further address your question, I’ll outline the reasons why you should consider Bitails as your indexer:
- Flexible endpoints: Bitails provides many endpoints, allowing you to get anything you require from an indexer.
- Efficient network throughput: Our endpoints prioritize efficient network throughput by serving in binary when necessary and featuring different endpoints to eliminate the retrieval of unnecessary data.
- Scalability: Bitails is designed to be scalable and available even during network peaks, ensuring your service doesn’t falter under high network loads.
- Comprehensive STAS protocol support: We cover A to Z for the STAS protocol.
- Powerful search engine: Bitails provides a powerful search engine, enhancing the discoverability of your desired data.
- High availability rate: Our service maintains a high availability rate, ensuring consistent access to your indexed information.
These factors and many more collectively make Bitails a reliable and efficient choice for your indexing needs.
Which BSV businesses and applications are clients of Bitails?
Meysam Rezai: Many apps and projects are using Bitails, like HandCash, RockWallet, Vaionex, BSVData, Centi, Fiorin, and satoshi.io. There are others I can’t name since I am not sure about their current status regarding using Bitails.
What is your motivation for building Bitails?
Meysam Rezai: Two motivations drove the development of Bitails. Recognizing the necessity for such a service within the BSV blockchain network. And our confidence in creating a user-friendly and scalable solution for a robust database like BSV blockchain. While we gained substantial knowledge throughout the process, our prior experience from unrelated projects outside the blockchain space also played an important role.
Thank you, Bitails, for taking the time to answer my questions. I hope the readers learned more about their services and the motivations behind the latest stress tests on the BSV blockchain. Join their Telegram to learn more.
Watch: Locking coins and HODLocker with Joshua Henslee
New to blockchain? Check out CoinGeek’s Blockchain for Beginners section, the ultimate resource guide to learn more about blockchain technology.
Source: https://coingeek.com/bitails-is-designed-to-be-scalable-and-available-even-during-network-peaks-meysam-rezai/