Blockchain for Enterprise – Generic Concepts and Components

Blockchain solutions consist of various actors, and these actors interact with the underlying blockchain components. We will get familiarized with various actors who play different roles in the enterprise blockchain. The actors and components understanding will be the foundation for us to go deeper and learn more about an enterprise blockchain architecture.

Actors in Blockchain Solution - Blockchain for Enterprise

Actors in a Blockchain Solution

Blockchain Architect: The architect is responsible for the architecture and design of the blockchain solution, such as figuring out important components and interactions between them, information that needs to store, a list of allowed transactions, the business logic, which needs to be embedded onto the network, and how the network will be created and managed, and so on.

Blockchain Developer: The develop’s role is to take what has been architected and develop the actual applications that will run on the blockchain network.

Blockchain User: The business user performs operations on the business network. This role interacts with the blockchain using an application. But, they are not aware of blockchain. 

Blockchain Operator: The operator manages, monitors, and runs the blockchain network. Each business in the network has a blockchain network operator.

Blockchain Regulator: Optionally, there will be the regulator, who might have only read access on the network, where they have some oversight into whether the transactions being performed are legitimate or not. Whether they are compliant with policies set by the regulator. These audits can be performed in real-time with a blockchain platform.

Membership Services: It provides the identity to users to come and transact on the blockchain. It issues digital certificates that allow the users to make transactions in the blockchain network.

Traditional Processing Platform: An existing computer system that the blockchain may use to augment processing. This system may also need to initiate requests into the blockchain. 

Traditional Data Sources: An existing data system that may provide data to influence the behavior of smart contracts.

Components in a Blockchain Solution

Ledger: A ledger is a channel’s chain and current state data maintained by each peer on the channel. In a simplified way, it says that every node in the network maintains a ledger of all transactions, and these transactions maintain the state of the data stored on the blockchain network. These pieces of information are replicated across all the nodes in the blockchain network.

Smart Contract: Software running on a ledger to encode assets and the transaction instructions (business logic) for modifying the assets. In a simplified way, the smart contract is a business logic written in the programming language supported by the enterprise blockchain core. Each invocation of this logic becomes a transaction on the blockchain. 

Peer Network: A broader term overarching the entire transactional flow, which generates an agreement on the order and confirms the correctness of the set of transactions constituting a block.

Membership: Membership services authenticate, authorizes, and manages identities on a permissioned blockchain network.

Events: Create notifications of significant operations on the blockchain (e.g., a new block) and notifications related to smart contracts. In a simplified way, the blockchain network creates an event notification whenever a transaction happens on the blockchain network. This notification can trigger some other local functionality that facilitates triggering some other action, such as database entry about the transaction. 

Systems Management: Provides the ability to create, change, and monitor blockchain components.

Wallet: Securely manages a user’s security credentials. It is like each user has digital certificates used for performing transactions, and there is a means to be a place where users can securely store private keys. 

System Integration: Responsible for integrating blockchain bi-directionally with external systems. Not part of a blockchain, but used with it. 

Structure of ledger

A ledger often consists of two important data structures. The first data structure is a linked list of blocks (a hash chain) called a blockchain. This is an append-only log of all transactions that happen in the blockchain networks. Each block has a group of transactions that happened in a certain duration. This is usually constant based on the applications (for example, in bitcoin, it is equal to 10 minutes). Each block is connected with the previous block’s hash, so this way, it is actually a hash chain. This hash chaining gives a property of immutability. Also, these blocks are maintained in a decentralized fashion. To tamper with a block requires a large set of many nodes to be manipulated in the network. 

Blockchain data structure
  • A linked list of blocks (a hash chain).
  • Each block describes a set of transactions, such as the inputs to a smart contract invocation, output, and identities/certs.
  • Immutable – blocks cannot tamper.

The second data structure is called a world state, and this is the information that smart contracts work with. It stores the most recent state of smart contracts that are the outputs of transactions. For example, the state would be the account balance in bitcoin, but it is not maintained explicitly because each node can verify the transactions easily. However, each node does not execute the contracts in the smart contracts; only the selected nodes can execute. It totally depends on the consensus algorithm, and the remaining nodes maintain the execution out of the contract.  

  • Stores the most recent state of smart contracts/output of transactions
  • Stored in a traditional database (e.g., key-value store)
  • Data elements can be added, modified, deleted, and all recorded as transactions on the blockchain.

The world status information is stored in the database, and each transaction will manipulate this state. The output of the transactions is also recorded on the blockchain—the transaction stores what state was read and what state was written. The world status can be considered the most recent view of the blockchain, and this can keep updated as time elapses. However, historical are there in the blockchain, but only recent data are maintained in the world status data structure. 

Structure of a Block (Simplified)

A blockchain is made up of a series of blocks, with new blocks always added at the end. Each block contains zero or more transactions and some additional metadata. The blocks achieve immutability by including the result of a hash function of the previous block, and the first block is known as the genesis block. 

blockchain block structure
blockchain block structureLe

Blockchain Ledger: Change of ownership transaction

An example of transfer of ownership and how components interact and execute transactions. The smart contract takes input from the application. In this case, it will be the contract document, document of car, new owner details. So the contract will be executed, and the output of the contract will be stored in the world status database, as well as output of the contract and contract itself will be appended to the blockchain. Anyone interested can execute the contract and verify the output states, which are also stored along with the contract in the blockchain. 

Ledger Example: A change of ownership transaction

Blockchain Application: Interaction with the ledger

In this example, we will see how the external applications interact with the blockchain ledger. A blockchain developer develops client applications and smart contracts using the SDK provided by the enterprise blockchain architecture. Smart contracts are having the business logic that runs inside the blockchain in a decentralized fashion. 

In the previous example, transfer ownership was one example of smart contracts where using the application user can set the parameters such as the new owner of the car, car details document, etc.

How applications interact with the Ledger

The client application uses the SDK to access the functionalities provided by the enterprise blockchain architecture. It can access and make queries from the blockchain ledger. After the execution of the contract, the state information is recorded in the world state and appended permanently in the blockchain ledger. 

In summary, the client application submits a request to the smart contract, and the smart contract gets executed on all the nodes (it depends on the consensus algorithm). All the nodes simultaneously update their world state and will agree that this output is the valid output. Then this transaction will be added in a block and subsequently will be added into the blockchain ledger.  Once it is committed on the blockchain, it is called a final transaction, and the system emits an event that shows that the transaction is accepted and committed successfully. These events are helpful to invoke other client modules for tracking and monitoring the transactions or for internal processing purposes.

In the permissioned blockchain setting, there is no fork in the blockchain. Unlike in the permissionless blockchain, periodically forks are created but eventually, the system discards and maintains the longest chain. 

Blockchain Events: Integrating with existing systems

In computing, an event is an occurrence that can trigger handlers. So the events are important in asynchronous processing systems like blockchain. The enterprise blockchain architecture generates useful events for application programmers, such as knowing the status of transactions, etc. It is like events from external systems might also trigger blockchain activity. For example, the exchange rate has gone below a threshold, and the temperature has gone up, a time period has elapsed, etc.  

Blockchain Events: Integrating with Existing Systems 

The above example shows how to integrate blockchain events with the existing systems and why it is a key part of enterprise applications. Blockchain will never be operated by itself and must be integrated with the existing organizations’ systems. The integration can be in terms of sending and getting information to and from the blockchain. This is called a two-way exchange, the events from the blockchain network create actions in existing systems, and the cumulative actions in the existing system result in blockchain interaction.

References

 266 total views,  1 views today

Scroll to Top
Scroll to Top