AI Network
  • What is AI Network
  • AIN Blockchain
    • Architecture
      • Design Principles
      • Event-driven Architectures
      • Blockchain Database
        • States
          • State Types
          • Operations
          • Predefined Structures
        • Rules and Owners
          • Rule Configs
          • Owner Configs
        • Functions
          • Built-in Functions
      • Instant Execution, and Eventual Consistency
      • Network ID and Chain ID
      • Transactions
        • Structure
        • Nonce
        • Read Concern
        • Propagation
      • Block Structure
      • Account and Keys
      • Consensus
      • Scalability
      • Apps
    • Developer Guide
      • Quick Start
      • AI Network Products
        • AI Network Worker
        • AI Network Insight
        • Testnet Server Node
        • Ainize Trigger
          • Project user
          • Project deployer
          • Why do we have to use Ainize Trigger?
      • Token Bridge
      • Trouble Shooting
    • Developer Reference
      • Blockchain API
        • JSON RPC API
        • Node Client API
      • Blockchain SDK
        • ain-js
        • ain-py
      • Validators
    • Staking
  • AIN DAO
    • What is AIN DAO
      • Runo (Run Your Node)
      • GPU Sponsorship Program
    • Onboarding & Participation
    • Governance
    • Tokenomics
      • AI Network Tokenomics
      • AINFT Tokenomics
  • AI Agents
    • AINFT
    • AINFT Factory
    • AINFT Projects
      • 🍳MiniEggs
      • 🦈Baby Shark
      • 🛸Soul Fiction
      • 🎻NFT Classics Society
    • Developer Reference
      • Ainft-Js
      • AINFT tutorial
        • Create AINFT object and Mint
        • Transfer AINFT
        • Set metadata of AINFT
        • Search and Retrieve AINFT
  • AIN Wallet
    • What is AIN Wallet?
    • AIN Wallet API
  • PROPOSAL DOCUMENTS
    • AIN Improvement Memos (AIMs)
    • AIN Improvement Proposals (AIPs)
Powered by GitBook
On this page

Was this helpful?

  1. AIN Blockchain
  2. Architecture
  3. Transactions

Propagation

The AIN network uses a “flood routing” protocol to ensure that transactions are propagated quickly and efficiently through the network. When validating and propagating transactions, each node in the AIN network acts as a co-equal node in a P2P network. These co-equal nodes form a mesh network, ensuring that all nodes in the network are connected to each other at all times. When a new node connects to the AIN network, the node will establish a connection to 11 other peers in the AIN network. Connected nodes are referred to as “neighbor nodes”. Each node in the AIN network is responsible for both receiving and propagating transactions to and from each of their neighbors.

Transaction propagation begins from the originating AIN Network node which either created the transaction or received the transaction from an AIN network client. This originating node must validate the transaction in three steps:

  • Check both local transaction pool and the blockchain to make sure the transaction is not a duplicate

  • Verify that the signature contained in the transaction matches the public key of the transaction sender

  • Verify nonce to check the transaction is not breaking dependency to other transactions

  • Verify that the output of the transaction is valid, as determined by the AIN Network blockchain Rules

If the transaction is deemed valid, the transaction is immediately executed as a write operation to the blockchain-database. the originating node propagates the transaction to its neighbors, who repeat this validation and propagation process until each node in the network has received the transaction.

PreviousRead ConcernNextBlock Structure

Last updated 5 years ago

Was this helpful?