Stratis - Stratis Full Node

The key component of a Blockchain is the Blockchain node. In order to understand how a Blockchain works, you must understand how a Blockchain node works.

In my previous article, Introduction to Stratis Platform, I talked about what Stratis platform and Blockchain are, and where you can download and get started with them.

Introduction

The key component of a Blockchain is the Blockchain node. A Blockchain runs on a network of nodes. The larger the network, the more secure the blockchain is. In order to understand how a Blockchain works, you must understand how a Blockchain node works. In order to understand how Stratis works, you must understand how a Stratis node works. This article will briefly talk about Stratis full node architecture. 

 
Blockchain Full Node

In a distributed network, there are a lot of computers connected to each other. Each computer is called a node. A node is a point of intersection or connection within the network. It can act as both a redistribution point or a communication endpoint. A Blockchain full node is a node on a Blockchain network. It replays transactions and blocks to other nodes.  However, not every full node is the same. Some nodes allow outgoing and incoming connections. Some node only allow outgoing connections. Full nodes which allow both outgoing and incoming connections are also called supernodes. Supernodes are very crucial to a Blockchain network because they are relay stations that help broadcast new transactions and blocks to the entire network.

How to become a full node

In order to become a full node, you need to

  • Install and run a copy of full node software
  • Connect to the internet

For the Bitcoin network, the most popular full node application is Bitcoin Core. It is the official application released by bitcoin.org. However, this is not the only choice. You can use other applications connect to the Bitcoin network, such as Stratis Full Node application.

Stratis Full Node

Stratis Full Node application can be downloaded from Stratis’ GitHub repo. If you don’t want to deal with compilation and just want to run it, you can download a release version from the release tab of Stratis’ GitHub repo. After extracting the zip file into a local folder, you can run the following command to start the full node application and connect to the Bitcoin network.

dotnet Stratis.BitcoinD.dll

Stratis Full Node Architecture

The Stratis Full Node has the following layers.

Stratis Full Node Architecture
 
Interface Layer

The interface layer provides API for developers to query the state of the node and to provide UI for end users to use the full node.

Infrastructure Layer

The infrastructure layer governs how to store and verify blocks and transactions efficiently.

Node Policy Layer

The node policy layer adds more restrictive rules for the consensus layer to prevent DDoS.

Consensus Layer

The consensus layer defines rules for validating blocks.

Network Layer

The network layer connects with a Blockchain network, such as the Bitcoin network or Stratis network.

Summary

I briefly talked about the architecture of the Stratis full node in this article. I will dive into Stratis source code in my next article to explore how Stratis implements those layers.