What Is Tendermint Core? A Deep Dive

Overview

Tendermint Core is open-source software that allows users to write applications in any language of their choice. The most interesting part is that this software can interact with other Blockchains. You need to know that the Blockchain we all talk about has a very rigid structure. If you are a developer, you will have two options. You can either build applications within a restrictive environment or fork the code and create your own chain. 

Since creating your own chain isn't a stroll in the park. You will have to start a network and figure out what consensus mechanism to deploy. Developing a Blockchain network requires more effort than just initializing a database. It needs the incentives and trade-offs to balance security, decentralization, as well as scalability. 

Over the years, teams have explored different approaches looking to build the most robust Blockchain ecosystem. In this post, we will consider one of such approaches: Tendermint Core. If you already know a bit about Blockchain systems, much of the things we say about Tendermint will seem familiar. Before we delve into this fully, let us explore Blockchain architecture.

Also learn about Optimistic Rollups

The Blockchain Architecture

 In simple terms, we can define Blockchain as a time-stamped series of immutable records of data. This data is managed by a cluster of computer systems not owned by any single entity. All the blocks of data are secured and connected to one another using cryptographic principles. Alternatively, we can say that the Blockchain system is a deterministic state machine replicated on nodes. It is also important to note that these nodes do not necessarily trust each other. 

When we said deterministic, we mean that if the same steps are repeated, it will always lead to the same result. There are three specific layers in the architecture of Blockchain technology. These layers include the following:

Networking

This is the propagation of the transaction or information throughout the notes. 

Consensus 

It allows the different nodes to reach a decision provided more than two-thirds of the nodes are not malicious. 

Application

This layer is saddled with the responsibility of updating and processing transactions. 

The downside is that building a Blockchain system from the ground up with the above layers is really hard work. Lots of projects preferred building on by forking the Bitcoin codebase. Although this approach saves a lot of time, it is handcuffed by the Bitcoin protocol's limitations. Also, there is no way you can execute a complex project with a protocol known for its throughput issues. 

With the advent of Ethereum, things got a bit better. Ethereum provided developers with a platform to create their own customized codes (smart contracts and projects). However, both Ethereum and Bitcoin suffered from the same monolithic architecture. This brings us to the concept of monolithic and modular architecture. 

Monolithic Architecture Vs. Modular Architecture

A monolithic system means that everything in that system is interconnected and interdependent. Monolithic architecture implies that everything is composed all in one piece, and the design is more self-contained. The implication is that the architecture is more tightly-coupled, and the associated components must all be present for any code to be executed or compiled. Although this makes a system more robust, one cannot derive from it and create custom codes. 

Monolithic systems are not the most flexible of systems. If you want to update any of the components, the entire system will have to be reworked. You can agree that this is not the best for all parties. This is where modular architecture comes into play. In modular architecture, the layers are not linked to each other. Although it is not as robust as monolithic architecture, it is relatively easy to update the whole application by working with separate modules. 

With its independent modules, modular architecture allows users actually to update a section without changing the entire system. Therefore, iterative processes are much simpler in modular programs, unlike monolithic systems.

Curious about what is compound chain? Read here.

The Tendermint Core

Some people use Tendermint and Tendermint Core interchangeably. For clarification, Tendermint is the company founded by Jae Kwon, while Tendermint Core is the software. Tendemint Core is an open-source software system that achieves fault tolerance. It is a distributed computer system that shows everyone in the same state at the same time. Provided two-thirds of the participants are non-malicious; everything will undoubtedly work smoothly.

Certain things set it apart from most Blockchain systems. The consensus mechanism deployed by Tendermint Core is Proof-of-Stake (PoS). For every period, a random node from a validator set is selected. Through a round-robin system, the node must propose the next block. If the other validators accept the new block, it gets added to the system, and the chain is updated. With Tendermint, finality is always instant. Unlike Bitcoin and Ethereum, you don't need to wait for confirmations to be sure that your transaction is valid. 

Also, the architecture of Tendermint Core is modular. Thus the application layer is not attached to the consensus and networking layers. The implication is that you can plug your application layer into the stack. You don't have to worry about pesky incentives or consensus algorithms. End users might not be thrilled by this, but developers are certainly joyous about it. Having the ability to leverage an existing framework means developers can dive right into building applications without bootstrapping a whole network. These developers can pipe data from the Blockchain to write in any language. 

The Application Blockchain Interface (ABCI) is another great addition to the Tendermint. ABCI is akin to the GPIO pins that you get on a Raspberry Pi computer. The ABCI is what defines the boundary between the Blockchain the applications running on it. ABCI is designed with distinct components, which include the following:

1. Message Protocol

It is involved in the pairing of messages and response requests. The requests are made through consensus, while the application is responsible for responses. 

2. Server/Client

The consensus engine runs the client while the application runs the server. There are two proper implementations; async raw bytes and grpc. 

3. Blockchain Protocol

The ABCI is connection-oriented, and there are three connections for the Tendermint Core. These connections include:

The Importance of Tendermint Core

The application interface is separated from the consensus mechanism, and this gives rise to greater flexibility for different decentralized applications. This flexibility makes it possible for decentralized applications to integrate any programming language into their business logic.  

A good example of what you can do with the Tendermint Core is Ethermint. Ethermint is a project that removed the Proof-of-Our Work mechanism of the Ethereum codebase. The project bolted the Ethereum Virtual Machine on top of the Tendermint software. So many things became possible as a result of the Ethermint project. It made it possible for Ethereum developers to port their smart contracts over the new engine with so much ease. Aside from providing Ethereum functionality, Ethermint also functions like proof-of-Stake Ethereum. It gave us a glimpse of what the Casper implementation could look like in Ethereum 2.0. 

The Architecture of Tendermint Core

Tendermint deploys the modular architecture with the aim to:

Properties Of Tendermint Core That Makes It Alluring

1. It Is Compatible With Both Private And Public Blockchain

There are different needs for different projects. While some projects need an open system where anyone can contribute, others demand privacy. Tendermint can help in achieving the needs of both Blockchain systems. Since Tinmdermint handles only the networking and consensus for a Blockchain system, it can help in:

The implication is that developers define the application in any way they want. Therefore, it is left for the developers to determine how the validator set is defined within the ecosystem. The developers can have an election-system that elects validators based on the number of tokens. These validators have staked within the Blockchain system (proof-of-stake). Alternatively, they can create an application that defines a restricted set of pre-approved validators (proof-of-authority). 

2. High Performance

Tendermint Core has a block time of one second. Therefore, all applications made through Tendermint can expect high performance. Provided the application allows it, Tendermint can handle a transaction volume of 10,000 per second for 250-byte transactions.

3. Its Finality

Finality means that once a certain action has been executed, it cannot be reversed. Until the full implementation of Casper FFG, Bitcoin and Ethereum don't really have settlement finality. In the case of a hard fork or 51% attack, there is a high chance that transactions can be reversed. On the other hand, Tendermint gives instant finality within a second of transaction completion.

4. It Is Secure

The security of Tendermint is not only secure; it also compels its participants to be accountable for their actions. As we mentioned at the beginning of this post, Tendermint Core cannot be forked if less than two-thirds of the validators are malicious. Also, the Tendermint consensus is optimally Byzantine fault-tolerant.

5. It Is Easy To Use

The friendliness of Tendermint is another great advantage. Its modular architecture makes it possible for the application layer to be suitably customized. This makes it possible for developers to link Blockchain codebases effortlessly onto Tendermint through ABCIs. 

6. Tendermint Is Scalable

Tendermint's proof-of-stake (PoS) implementation protocol is far more scalable than the traditional proof-of-work (PoW) consensus algorithm. The major reason is that PoW- based systems cannot shard.

 

Conclusion 

Tendermint Core already has the attention of numerous stakeholders in the Blockchain industry, from end-users to developers. With its current trajectory, it could become the backbone for the Internet of Blockchains. Several projects have already launched with the Cosmos SDK to actualize this vision. 

What is MultiChain?

Stellar Architecture: How It Our Works

Overview

Stellar is an open-source protocol that allows users to exchange money or tokens using the Stellar Consensus Protocol. The Stellar architecture supports a distributed ledger network that connects banks, payment systems, and individuals. The goal is to facilitate low-cost and cross-asset transfers of value.

Stellar's open-source payment technology possesses a few similarities with Ripple, a real-time gross settlement currency used for remittance and payments. Jed McCaleb, the co-founder of Ripple, and Joyce Kim are the founders of the Stellar network. At first, both Ripple and Stellar shared the same protocol. However, when Stellar created the Stellar Consensus Protocol (SCP), it resulted in foundational differences between the two platforms. The SCP made Stellar an open-source system, while Ripple remained a closed system. 

Stellar has a native asset called Lumen (XLM), which powers the Stellar network and its operations. This article will provide you with a deep dive into Stellar architecture and how it works. 

The Basics of Stellar Blockchain

Stellar is a decentralized network distributed among interconnected nodes (servers) in the Stellar network. Using the Stellar Core, anyone can set up a verification node (server). Stellar Core acts as a backbone to the Stellar network. It is responsible for carrying out verifications using the Stellar Consensus Protocol (SCP). The Stellar Consensus Protocol serves as the algorithm to verify transactions on the Stellar network. 

Unlike the Bitcoin network, where miners verify transactions, the trusted nodes known as verification nodes run the Stellar Core and verify transactions. Therefore, the Stellar network consists of a series of Stellar Cores that work together to verify transactions and ensure everything is up-to-date. 

The Features of Stellar Blockchain  

Before we go further to explore the Stellar architecture, let's do a quick run-through of Stellar's features.

The Stellar smart contract is an open-source network for storing and moving money, whereas the Ethereum smart contract is an open-source network for decentralized applications. Ethereum is more decentralized and slower, while Stellar is less decentralized but faster. 

Stellar Architecture and How it Our Works

Nodes that help in the smooth functioning of the Blockchain and the ledger's publishing make the Stellar network. Before we go any deeper, let's do a brief overview. Let's say that Shinzo wants to send money to Nakamura. Shinzo lives in the United States, and Nakamura lives in Japan. Consider that Shinzo needs to convert from USD to Yen for Nakamura to receive and spend the money in Japan. The rigorous process resonates with a question- how will this transaction work?

Assuming Shinzo belongs to Bank "A" based in the US and Bob belongs to Bank "B" based in Japan. Both banks are connected to the Stellar network. Once Shinzo sends the $100 through his bank connected to the Stellar network, the transaction intent is sent to Bank B (on the same Stellar network) within seconds to ascertain if Nakamura is compliant or not. 

Immediately Bank "A" gets the green light from Bank "B," they deduct the funds from Shinzu's personal account. The USD will be moved to Bank "B" pool account and then moved into the Stellar network in the form of credits (Lumens), the native token of Stellar. Once inside, the network searches for the best exchange rate to use in order to convert the Lumens into Yen. The money will then be moved to Bank B's base account, credited to Nakamura's account. 

This is the general overview of how the Stellar network works. Now, let's go deeper into the architecture of Stellar. Different components make up the Stellar network. These components come together to ensure the network is up and running. These components include the following.

A Decentralized System

The Stellar system is decentralized and peer-to-peer. Therefore, there is no centralized entity that makes all the decisions in the system. 

  1. The Ledger System

The Stellar architecture incorporates an open ledger system. The Blockchain that acts as a transparent and open ledger system stores the transactions. All users on the network can look at the ledger and see all the transaction details. 

  1. Stellar Consensus Protocol  

Every decision carried out on the Stellar network is done through consensus. The process of reaching consensus on the Stellar network happens every 3-5 seconds. 

  1. Anchors And Credit

In the Stellar architecture, Anchors hold deposits and issue credits when they are required. They act as a bridge between different currencies and the Stellar network. The Stellar network is heavily dependent on Anchors. The work of the Anchors includes:

  1. Multi-currency Transactions

This is arguably one of the biggest features of the Stellar architecture. It means Shinzo can send his USD to Nakamura in the form of Yen. The beauty of Stellar is this seamless decentral forex. Transactions happen in many ways, but we will focus on the USD/EUR exchange for the sake of convenience. 

The Stellar network looks in the USD/EUR exchange to know if someone wants to purchase EUR for USD. If there is someone available, the transaction takes place instantaneously. 

The Stellar also searches for people looking to get USD in exchange for Lumens. They can connect the person to someone searching for Lumens in exchange for Euros and then ensure the transaction pulls through. 

However, if none of the conversions are available, the network can go through a conversion chain. Examples of such conversions include BTC/XLM, XLM/EUR, etc. 

The Aim Of Stellar Architecture

Stellar is designed to solve the following problems:

Conclusions

The Stellar architecture has made Stellar useful and valuable as a global exchange network. The Stellar network has the capacity to host thousands of exchanges between currencies and tokens. Although exchanging between crypto and fiat or vice versa can be expensive, Stellar makes it swift and cheap. 

Also Read Stellar Payment Network: Detailed-Explanation

Xord is a Blockchain development company providing Blockchain solutions to your business processes. Connect with us for your projects and free Blockchain consultation at https://https://blockapexlabs.com/contact/

Blockchain Architecture: The Fundamentals, Structure, and Benefits

In this article, you will learn the core components of Blockchain architecture, key characteristics of Blockchain architecture, Blockchain algorithm, and types of Blockchain architecture.

However, there is a difference between various Blockchains, but herein is a general architecture. Meanwhile, it is worthy to note that some Blockchains like Polkadot, Ontology, Cosmos, etc operate multiple chains.

Before we go any further, let us explain Blockchain architecture. 

What Is Blockchain Architecture?

Blockchain architecture explains everything that is involved in the development of Blockchain technology. You can refer to it as the basis of Blockchain technology. For example, the architecture of the World Wide Web uses a server-client network. The server confines all the information in one place (a single point of failure).

However, the architecture of Blockchain technology is such that every participant within the network approves, maintains, and updates new entries. In other words, the Blockchain architecture ensures that all records and data are valid and secured. Although the participants may not trust one another, they are always able to reach a consensus.

This architecture is made up of many structures and components that work together to provide users with an immutable system. This brings us to the components that form the basis of Blockchain technology.

The Core Components Of Blockchain Architecture

Here are the fundamental components of the Blockchain regardless of types.

Key Characteristics of Blockchain Architecture

Below are the key characteristics you can see within a Blockchain architecture.

The Blockchain Algorithms

Since the inception of Blockchain technology, there have been lots of established algorithms. Also, more algorithms are being developed to solve the faults of the already existing algorithms. Let’s take a look at the various Blockchain algorithms.

Types Of Blockchain Architecture                        

There are three basic categories of Blockchain architecture and they include the following:

The explanation of these three Blockchain types is in the table below.

CharacteristicsPublic BlockchainConsortium BlockchainPrivate Blockchain
Consensus determinationAll minersOnly selected set of nodesOne organization
Read permissionPublicEither public or privateCan be public or restricted
ImmutabilityHighly improbable to tamperCould be tamperedCould be tampered
EfficiencyLowHighHigh
CentralizationNoPartialYes
The consensus processPermissionlessPermissionedPermissioned

Conclusion

Blockchain offers solutions to organizations, centralized security, and privacy. Hence, Federated and Hybrid Blockchain becomes necessary. Hybrid Blockchain combines the strengths of public and private Blockchain. Federated Blockchain is solely for the consortium to manage organizational processes and governance. However, more research will deepen decentralization, privacy, and scalability with several Blockchains.

Also read: Applications of Blockchain Technology

Need help with building your Blockchain project? Connect with our Blockchain experts at Xord for Blockchain consultation. Link: https://blockapexlabs.com/contact/