Teranode: A scalable Bitcoin node software

Bitcoin Teranode software with BitcoinSV logo experimental design

BSV Association is currently building the much famed Bitcoin Teranode software with various design experiments ongoing. One of the earlier public demos has shown a working prototype of scaling to 50,000 TPS via the software’s transaction pipelines to demonstrate one of the most critical pieces of the software’s capability.

Since then, the software has continued to be built with further improvements that were needed apart from the horizontal scaling demonstrated in the prototype.

This article introduces the work being done in building this software. It starts with explaining the software’s requirements to serve as one of the world’s most efficient transaction processing software.

Why Teranode?

The current SV Node software started as a working first version of implementing the Bitcoin protocol specified in the white paper. Since its inception, the maintenance of the software lacked adherence to the protocol, and these changes were making it limited in terms of its utility. In addition, the initial version focused on a singular monolith which was sufficient at the start of such a network.

The need of the hour was to think into the future and be ready for a much more efficient and scalable software implementing the protocol in true spirit. This is the philosophy behind the conception of the Teranode software initiative by the BSV Association. The main idea is to start looking at the software and how to re-architect components and connection points of the software with external entities so that it can support volumes of scale (the current target is one mil TPS, i.e. about 86.4 billion tx a day).

A global enterprise utility blockchain must support such volumes for the large number of use cases it asserts to be used for. To take an example, issuing CBDC for the population of India, which currently does about 10 billion transactions a month with a traditional payment system, would require much larger scalability than the current system.

Going forward, the usage is expected to increase, which requires a massive amount of work to build such a novel, scalable and resilient node software. This is why we have the Teranode initiative to ensure that the software is ready to support the idea of becoming a global public blockchain.

What is Teranode?

Teranode is the name given for the scalable implementation of the Bitcoin protocol. Every component that makes up Teranode is redesigned with scaling requirements in mind, integrated with a high throughput messaging and communication infrastructure.

On a very high level, such a system looks like as shown in the diagram:

Teranode

Even though the above diagram approximates and provides a very high-level view, it does define the key aspect of the software, which is Teranode. The associated components, like the P2P network, are being renamed to Bitcoin Server Network since these nodes are, in reality, servers in the network, and they form the network for exchanging various messages (transactions, blocks and more).

On the left, the mining process happens with specially designed ASIC (application-specific integrated chips), which performs one and only one function, the POW solution discovery. A pool software which allows for many such ASIC machines to work in parallel to discover the POW solution and talks to the main software, the Teranode.

Who will use Teranode?

Teranode is meant for nodes catering to transaction processing of large volumes from users. When enterprises or governments start using the blockchain network for various use cases, they might choose to either contract with nodes or run their node. These volume-hungry audiences are the customers of the Teranode initiative.

When will Teranode be ready?

Since Teranode software is a microservice or service/component-based architecture design, each component gets worked on its internal design to make it fit for purpose. Some of these components are already built for scale, and some part of that was shown to an audience in the demo, but some components are still being worked on.

Currently, the transaction volume that the nodes support is quite comfortable to be supported by the SV Node software itself.

The Teranode team will keep releasing components this year and onwards with a more and more integrated demonstration of scaling in test and then allowing nodes to play around with the software as well. Teranode will not just be something nodes will start running without the need for it since the cost of running it will be higher than SV Node software, making the decision an economic one.

Where is Teranode at this time?

The BSV Association, in collaboration with their development partner, nChain Ltd, has a dedicated team of expert developers, architects, and various subject matter experts, including guidance from Dr Craig S. Wright (on Bitcoin protocol specifications), who is building this software.

We can say that the Teranode initiative is in the hands of this highly focused and dedicated team who are looking at every aspect of protocol and its implementation in the software.

This is a quick introduction to the Teranode initiative. The goal of this initiative is not just to deliver the software but also to provide a detailed user guide with easy-to-understand protocol documentation that will be released along with the software.