Overview of Terab

The goal of Terab is to support on-chain scaling of Bitcoin Cash up to blocks of 1 terabyte. Terab is intended as a micro-service dedicated to Bitcoin Cash mining systems. Terab does not seek to be a full Bitcoin implementation, but only a component with well-identified boundaries. Terab is a quasi open source project; merely restricting its usage to Bitcoin Cash.

In the following, Bitcoin always refers to Bitcoin Cash.

Motivation

The early implementation of Bitcoin (2017 and before) is capable of handling a few tens of transactions per second. However, this implementation is not suitable to scale up to millions of transactions per second. Bitcoin requires this scalability in order to fulfill its purpose of being the world currency.

Two key concerns with the early Bitcoin implementation are:

  1. The codebase is not suitable to take advantage of modern - yet relatively inexpensive - computing hardware. The present implementation enjoys only diminishing returns from the relentless improvements of the computing hardware.
  2. The codebase is monolithic, rigidly dependent of its own UTXO database implementation. This prevents both the introduction of a better UTXO database, but also prevents fostering a healthy ecosystem of competing implementations.

Terab seeks to address those concerns, and a few more along the way.

License

The Terab license is similar to the open source MIT license with one limitation: its usage is restricted to the Bitcoin Cash blockchain. For all intents and purposes, as long as Terab is used to interact with the Bitcoin Cash blockchain, Terab can be considered as a regular open source project.

A persistence micro-service

A microservice is an approach to build software systems. Simply put, it emphasizes the idea of Do one thing and do it well. The “one thing” that Terab intends to manage is the persistence of the blockchain.

Terab is envisioned as an ultra-specialized database:

Technically, Terab will expose a C/C++ API - to be called by the other components that constitute the full Bitcoin mining system. In practice, we expect Terab itself to be hosted on its own dedicated hardware node.

As part of the Terab initiative, we intend to release all the source code required to run Terab, both client-side and server-side. We also intend to release hardware recipes which are proven to deliver nominal scalability targets.

Why Lokad?

The mission of Lokad is to make supply chains more efficient and sustainable through numerical optimization. Our management happen to be long-time bitcoiners having bought their first Bitcoin back in 2011. We see in Bitcoin the potential to make mankind freer - and thus richer - through more faster, cheaper, safer commerce. Bitcoin is the natural intangible counterpart of physical supply chains that Lokad seeks to optimize.

For our largest clients, we process transaction databases - typically logs of inventory movements - that are many times larger than the entire Bitcoin blockchain as of early 2018. We have learned how to make this processing enterprise-grade, which means, despite the negative connotation, that the processing is so uneventful that it’s plain boring; a highly desirable quality for mission critical systems.

For Bitcoin, we seek to do the same: make the blockchain and its UTXO database so uneventful that the Bitcoin ecosystem can throw commoditized appliances at the problem with no uncertainty in cost, reliability, performance or security.