The BSV landing page. Get started here to discover the ecosystem and learn about the future of Bitcoin.
From Satoshi’s origins to the Bitcoin Civil War. 12 years of bitcoin history summarized in one page.
Environmental impact guides major decisions in the 21th century. BSV is ready to take green leadership.
Miners provide the infrastructure to run and stabilize the Bitcoin SV network. Discover their incentives.
Bitcoin SV is a technology first blockchain. Learn more about our approach to scale to 100k tx/s.
See what Bitcoin SV can do by trying it. Mint a NFT or write data to the blockchain.
sCrypt is the Bitcoin SV high level smart contract language to create decentralized applications.
The official Bitcoin SV infrastructure platform to deepdive into the technology.
Bitcoin SV has a diverse ecosystem, enabling new opportunities and business partnerships.
Explore the directory of companies and projects that utilize the Bitcoin SV blockchain.
Learn to develop your first blockchain applications or just discover what it could do.
BSV has a rich ecosystem of tools, services and libraries. Explore our directory.
BSV token protocols create a variety of exciting real-world utility use cases.
Our place to meet the Bitcoin SV enthusiasts, developers, miners and entrepreneurs.
The official Bitcoin SV forum for detailed discussions about software, infrastructure and ecosystem.
Just want to get updated about our events and activity? Then follow us on twitter.
Contribute bitcoinsv.com blog articles as a guest author or submit your tools & projects.
Dive into the latest Bitcoin SV activities, updates and news. All in one place.
Bitcoin SV members are active on social media. Discover their latest posts and discussions.
You’ve seen the Teranode demo handling over 50,000 TPS. Today, by means of a Q&A session with Jad Wahab, we give you more insight into Teranode and its related project – LiteClient.
You’ve seen Steve Shadders’ live demonstration of Teranode at CoinGeek Zurich on June 8th, 2021 showing the node software handling over 50,000 transactions per second.
Today, by means of a Q&A session with Jad Wahab, we give you more insight into Teranode and the related project – LiteClient.
Jad is one of the software engineers that’s been focussing on developing Bitcoin SV infrastructure for the past few years, currently in the role of Director of Engineering at the Bitcoin Association.
LiteClient wallets are basically just wallets that use the Simplified Payment Verification (SPV) method, described in section eight of the Bitcoin whitepaper. Before releasing a LiteClient wallet reference implementation, we wanted to first release the LiteClient Toolbox (LCT) which comprises a set of components that existing wallets and services can use and integrate so that all wallets and services in the industry can easily upgrade to SPV style payments and avoid issues with scalability, robustness, and privacy that are inherent with legacy style payments.
In the initial phase of the LiteClient programme, we focused on laying down the foundation to make sure everyone has all of the tools to be able to use Simplified Payment Verification (SPV) properly. For the initial phase of the LiteClient Toolbox (LCT), we focused on getting some of the peripheral components that allow for direct communications out there. To do that, we had to create a dummy wallet – Pay D – to get these components and standards to a reliable state. In future phases, we’ll integrate a production ready wallet – Electrum SV – into the toolset. LiteClient Toolbox components are very modular and interoperable, allowing for any type of wallet to interact with any other type of wallet by sending and receiving any type of token. It doesn’t even have to be native satoshis.
Teranode is a new implementation of a Bitcoin node built according to a microservices architecture that’s horizontally very scalable. The early versions of the Bitcoin nodes were single threaded, not properly parallelisable and not very scalable. They were built as big monoliths just to get the project out there. It’s worked fine thus far, but it’s reaching the limits of horizontal scaling.
Bitcoin was designed in such a way to allow for a lot of these horizontally scalable techniques. For example, the whole UTXO model (the way transaction identifiers are just hashes of the data) very easily lends itself to horizontal scale compared to an account-based model. This allows for a lot of data structures like hash tables can be easily spread out horizontally.
Teranode is a rethinking of the way the Bitcoin node is designed – a ground-up solution that builds things with scaling in mind from the start.
The beauty of Bitcoin is the way it was designed: there were no inherent fundamental limits involved. It can be designed in a way that can reach massive, massive scale. This is why it’s called the Teranode: we envision terabyte size blocks for a start, and even larger as time goes by.
However, Teranode is just the software. You also need to consider the hardware and node operators, the miners themselves, who will have to get more involved in the scaling journey. The architecture is there. It’s all about implementation.
Yes, theoretically there’s no fundamental limit. It’s all about designing the system to be able to take advantage of horizontal scaling. We’ve seen so many projects that take advantage of horizontal scaling. It’s not something new. All of the new computers have many cores and they take advantage of horizontal scaling that way. Teranode fits in with these existing paradigms. We’re not reinventing the wheel here. We’re just taking advantage of the technology that’s available.
Once we introduce the Teranode, we expect SV Nodes to have some difficulty keeping up with the scale that Teranode is capable of. SV Nodes will first reach their limits in terms of hardware. If you ran SV Node with really great hardware you’d just be able to compete with the transaction volumes that Teranode delivers with a lot lower hardware requirements – because of the software’s microservices architecture.
We don’t expect SV Nodes to disappear overnight. We’re going to go through a phase where there might still be some SV Nodes around there running on very capable hardware. Over time, we expect everyone will move to Teranode or any other parallelisable and horizontally scalable implementations of the node.
Teranode is very similar to LiteClient in the modular fashion of its microservices architecture. Some people could just be running some parts of the node to, for example, just index the blockchain. Some people might only want to have a UTXO set. mAPI (merchant API) was the initial step to turning the node into a microservices architecture. mAPI removed the fee module from the SV Node and put it into another module that functions like an interface to the node.
With Teranode, we see the node’s different functions as distinct, which allows the system to scale a lot more – if you have separate workers working on different things, you can scale them out a lot better.
Miners can create their own node implementations starting today because the protocol is fixed – anyone can create their own version of a node. Over the years, many people have done that. For example, there’s been many different node implementations with different languages.
The whole point of Bitcoin is that the protocol is stable, it’s set in stone. Based on that protocol, people can create different software implementations that scale in different ways and offer other benefits.
Until now, the network has been focussed on the Bitcoin SV Node, which was a software fork of the initial implementations of Bitcoin. The initial implementation had a lot of fundamental software challenges like global logs and a lot of single threaded processes. It’s gotten to a point where it’s better to start from scratch – obviously the protocol remains the same.
I’ve heard about other people in the space that are thinking of releasing their own node implementations once we’ve released Teranode. Nothing’s stopping them from doing that. On the contrary, we want more people (specifically nodes/miners) to contribute to Bitcoin’s development.
The reason why the LiteClient is very important is because we still have a lot of entities in the space doing things in a way that’s far from ideal. For example, there are those who are using a full node as a wallet. These people aren’t able to keep up as BSV blocks scale, as happened around two years ago when some wallets and applications started collapsing because of running the node software on low hardware specifications. LiteClient wallets are extremely lean and can easily run on any cheap hardware unlike a node.
We need to get people away from using a full node as a wallet, to using a LiteClient as a wallet the way it was originally designed. Once we get there, there won’t be anything stopping us from scaling indefinitely.
An ASIC is just an application specific integrated circuit. It just does one specific thing very efficiently. I imagine in the future we might have specific ASICs for verifying ECDSA signatures or something like that, because the way Teranode does it, it separates out different tasks. And this is one relatively expensive task validating ECDSA signatures. Maybe ASICs or GPUs will be used to accelerate that.
It only makes sense for transaction fees to get lower over time because miners will be able to increase the throughput. A lot bigger sizes means a lot more transactions in the blocks, a lot more transactions per second. And if you’re able to get a lot more transactions, you’re able to decrease the transaction fees over time.
Yet it’s up to the miners to decide. They’re the ones that have to evaluate the risks involved with increasing limits, decreasing fees and running their business. It will also come down to the competition between miners who contend to mine the biggest blocks, be the fastest processors that offer the best features and prices.
There’s already a lot of providers that provide services like blockchain indexing and archiving, very similar to CDN’s on the Internet now. Again, we’re not reinventing the wheel. You could have services you can query for data. They could offer to cache it a lot faster or cache the most popular data and charge for these services.
Bitcoin enables this a lot better than the way the Internet works right now. If you want to get access to the Internet, for example, you need to get a subscription with an ISP and pay per month. Because of Bitcoin’s micro and nano payments, you can pay per use which makes things a lot more a lot easier and opens the door for a lot more features and use cases. Especially with the increased usage of IPv6 that will open the door for so much more mobility and security on the Internet.
Teranode is going to be open sourced, so service providers can take advantage of a lot of those modules and do things in a similar way or take advantage of some of the code.
Has your question about LiteClient remained unanswered? Ask the Bitcoin SV community by joining our Discord channel to discuss everyday topics around BSV, or our Discourse forum for technical Bitcoin SV professionals, including miners, developers and exchanges.