Blockchain Models
Blockchain Models
Deriving an Architectural model is about identifying the design aspects to achieve the
embedded characteristics, making use of the components of Blockchain. The embedded
characteristics expected of a Blockchain Solution are Decentralization, Cryptography,
Immutability, Provenance, Transparency, and Anonymity (Optional). The Components of
a Blockchain Solution are:
Nodes
Transaction
Block
Chain
Miners
Consensus
The design aspects that are important in achieving these embedded characteristics are:
Figure 5.1. is a typical layered architecture for generic Blockchain Application. The
architecture could vary with specific to the use cases.
Figure.5.1.
Generic Layered Architectural model for Blockchain application
Application Layer
This layer has direct relevance to the Blockchain application. This is where the
Requirements Specification, Service Level Agreement, UI requirements, Functional and
Nonfunctional requirements are specified and are percolated as rules to the layers
down. The Blockchain network operates as required by the application layer.
Distributed Ledger
This layer has three sub-components namely Distributed Ledger, Consensus Mechanism
and Incentivize / Distribution Mechanism. A distributed Ledger is storage. It has a
written copy of the validated blocks in the append-only mode. It is this DLT which is
available in a replicated and synced manner with all the member nodes. Consensus
Mechanism, many options are available like PoW, PoS, DPoS, BFT, PBFT, etc. The chosen
one for the network is implemented. The incentivize mechanism is specific to
Cryptocurrency Networks. The nodes are either awarded the cryptocurrency or they are
incentivized for the work done although the work is not completed first. The distribution
system synchronizes the ledger and maintains replicated copies across the network.
Programming Tools
The necessary to manage the security (IDMAC), Distributed Ledger Maintenance and
Data Management layer functions are supported by the programming tools probably
through applicable APIs. Programming languages like C++, C, Python, Java, and Ruby
are handy for developing codes in these cases. Web development tools like HTML, CSS,
Node JS are useful in User Interface development.
Infrastructure Layer
This layer has the physical and virtual resources of the Blockchain network. All nodes
and the communication network along with the protocols are part of this layer.
Nodes
The nodes are the computers with an IP address and are users of the Application
network. The nodes become a member based on the rule settings of the network. The
nodes are underlying members executing and participating in all the functions of the
Blockchain network. The nodes play various roles like Consensus participation, Execution
/ Initiation of Transactions, Writing on to the DLT if eligible, Accessing DLT at validator
nodes, Peer to Peer communication. The nodes execute transactions, CPU intensive
hashing, and I/O intensive network communication. DLT Storage requires a large
storage space. Thus these nodes are heavily configured resources.
Network
The network is a Distributed Decentralised network. This Network uses the Internet as a
backbone for connectivity. The network is always I/O intensive to keep the
communication synced amongst the nodes of the network. The network uses desired
protocols for communication. An abstract model of the activities of the Infrastructure
layer as described by IBM is pictured in Figure.5.3.