Network Architecture
Overview of the Boot and Sub-Node Structure
The architecture of the blockchain is designed using a multi-node setup, with distinct roles assigned to the Boot Node and Sub-Node(s) to ensure decentralized operation while maintaining network security and privacy.
Boot Node:
The boot node acts as the primary coordinator of the network. It facilitates the discovery of other nodes and ensures that all nodes in the network can communicate with each other.
The boot node is responsible for storing the static list of peers (enodes) and providing them to newly joining nodes. It does not participate in mining or consensus itself but plays a key role in network connectivity.
Sub-Nodes:
Sub-nodes in the network are validators that participate in the Raft consensus mechanism, processing transactions and creating new blocks.
Each sub-node holds a unique enode address and can communicate directly with the boot node as well as other sub-nodes. These nodes perform essential tasks such as executing smart contracts, validating transactions, and adding blocks to the chain.
The boot node and sub-nodes together form the foundation of the network's peer-to-peer structure, ensuring that every node has access to the blockchain state and consensus decisions.
Current Network Setup:
Boot Node (Node 1):
IP Address:
34.173.46.64
HTTP RPC Port:
8545
WebSocket Port:
8546
Enode:
enode://[Boot Node Enode Address]
Sub-Node (Node 2):
IP Address:
34.170.1.72
HTTP RPC Port:
8547
WebSocket Port:
8548
Enode:
enode://[Sub-Node Enode Address]
This structure ensures the stability and scalability of the network, as additional sub-nodes can be added to the network without altering the core boot node configuration.
Raft Consensus Overview
The private blockchain employs the Raft Consensus Mechanism, which is particularly suited for permissioned networks and use cases requiring fast block finality and low-latency transaction processing.
Leader-based Consensus: Raft operates by electing one node as the leader, which is responsible for deciding the order of transactions and generating new blocks. The other nodes (followers) replicate the leader’s decisions to ensure consistency across the network.
Simplified Node Management: Raft is easier to implement and manage compared to Proof of Work (PoW) or Proof of Stake (PoS) consensus mechanisms, as it does not require complex cryptographic puzzles or staking mechanisms.
High Throughput and Fast Finality: Raft provides near-instant finality, meaning once a transaction is included in a block, it is considered final, with no risk of reorganization. This is crucial for enterprise use cases, where performance and reliability are paramount.
Advantages of Raft in This Blockchain:
Efficiency: Low overhead in terms of computing power and energy consumption.
Deterministic Finality: Transactions are immediately final after being processed by the leader, with no possibility of rollback or forks.
Scalability: Suitable for small to medium-sized blockchain networks, where nodes can join the consensus cluster easily.
Role of ZKM in Privacy and Scalability
The integration of Zero-Knowledge Mechanisms (ZKM), specifically zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), plays a crucial role in enhancing both the privacy and scalability of the network. ZKM is essential for preserving privacy without compromising on the security and correctness of blockchain transactions.
Privacy: With zk-SNARKs, the blockchain enables transactions where key details, such as the sender, receiver, and transaction amount, remain hidden. This ensures that the blockchain can be used in applications where confidentiality is critical, such as financial services, healthcare, and legal contracts.
Scalability: ZKMs improve scalability by allowing complex computations to be performed off-chain and only verified on-chain. This reduces the amount of data that needs to be stored on-chain, thereby improving the performance and throughput of the network.
zk-SNARK Proofs:
A zk-SNARK allows one party to prove to another that they know a certain piece of information (e.g., the correctness of a transaction) without revealing the information itself.
This is essential for maintaining trust in the network while keeping sensitive data secure. In this blockchain, zk-SNARKs are used to validate transactions privately, enabling secure and scalable transaction processing without revealing the transaction’s internal details.
By incorporating zk-SNARKs, the network benefits from a high level of data privacy and verification efficiency, making it suitable for enterprise use cases requiring both privacy and transparency.
Chain ID and Node Details
The network operates on a custom Chain ID to differentiate it from other Ethereum-based networks and ensure seamless interaction with wallet services like MetaMask or custom blockchain explorers.
Chain ID:
33333
The Chain ID is a unique identifier used to sign transactions and ensure that they are not replayed on other chains. Developers can add this chain to their local setups, wallets, or tools like MetaMask to interact with the network.
Node Information:
Boot Node:
IP Address:
34.173.46.64
RPC URL:
http://34.173.46.64:8545
WebSocket URL:
ws://34.173.46.64:8546
Sub-Node:
IP Address:
34.170.1.72
RPC URL:
http://34.170.1.72:8547
WebSocket URL:
ws://34.170.1.72:8548
These details allow developers to connect to the blockchain using JSON-RPC, Web3.js, and other tools, facilitating contract deployment, transaction processing, and data querying across the network.
This section outlines the architecture of the blockchain, with a focus on its node structure, Raft consensus, the role of ZKM, and critical technical details such as Chain ID and node addresses. The next sections will focus on how developers can interact with the network and API.
Last updated