[ad_1]
TL;DR
Tendermint is open-source software for launching blockchains that allow you to write applications in any language. Better yet, they can communicate with other blockchains.
Much of Tendermint will seem familiar if you know a bit about blockchains. Let’s recap some key concepts before we delve into it further.
Understanding blockchain architecture
For the most part, today’s major blockchains have come up with the secret sauce that makes this possible. However, they often rely on monolithic architecture: a software engineering concept that means components are interconnected and interdependent. You couldn’t just take a piece of it and plug it into something else.
Monolithic architecture isn’t great if you want flexibility. In the opposite kind of model (with modular architecture), you can tweak individual components without worrying about breaking anything. With a monolithic structure, you need to ensure that every component remains compatible when you upgrade a single one.
Now that we understand this distinction, we can talk a bit more about the Tendermint protocol.
Byzantine fault tolerance (BFT)
These participants don’t know whether others are lying or whether messages sent between them are being modified. A system is said to have Byzantine fault tolerance (BFT) if participants can agree on a set of facts, even with those issues present.
The three layers of a blockchain
So we know the difference between monolithic/modular architecture, and we know that decentralized cryptocurrency networks need to be Byzantine fault-tolerant. Let’s mention the layers that we typically see in a blockchain: the application layer, the consensus layer, and the networking layer.
First, a quick clarification on terminology. We’ll use the terms “Tendermint” and “Tendermint Core” interchangeably here since we’re only focused on the tech.
However, Tendermint is the name of the company (founded by the developer that wrote the original whitepaper, Jae Kwon), while Tendermint Core is the actual software the company works on. More specifically, the software has two primary components: its core consensus engine (Tendermint Core) and its application interface (ABCI).
Tendermint Core is a system that achieves fault tolerance. In essence, it’s a big, distributed computer that shows everyone the same state at the same time. So long as at least two-thirds of the participants are honest, everything works smoothly. But that’s pretty much every blockchain, right? What makes it so special?
But wait, there’s more! Tendermint Core’s architecture is modular, with the application layer divorced from the consensus and networking layers. In plain English, that means that you can plug your own application layer into the stack. No need to worry about pesky incentives or consensus algorithms.
Perhaps this isn’t too thrilling for the end-user. But for developers, the ability to leverage an existing framework means they can dive right into building applications without bootstrapping a whole network. Data from the blockchain can be piped to the integrated layer, enabling devs to write software in any language.
The magic happens with something called the Application Blockchain Interface, or simply, ABCI. Think of this like the GPIO pins you get on a Raspberry Pi computer. You can hook up all kinds of third-party components to those, from LEDs to elaborate sprinkler systems for your plants. In a similar way, the ABCI is what defines the boundary between the blockchain and the applications running on top of it.
What’s so great about Tendermint Core?
The separation of the application interface and the consensus mechanism allows greater flexibility for a range of decentralized applications to incorporate any programming languages into their business logic.
Blockchain interoperability
As a blockchain engine, Tendermint has caught the attention of numerous stakeholders in the cryptocurrency sphere, from developers to end-users.
If the software continues to gain traction, it could very well serve as the backbone for an internet of blockchains. As we’ve seen, a handful of projects have already launched with the Cosmos SDK to realize this vision.
[ad_2]
Source link