Files
aitbc/docs/4_blockchain/4_consensus.md
AITBC System b033923756 chore: normalize file permissions across repository
- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore)
- Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md)
- Remove executable permissions from web assets (HTML, CSS, JS files)
- Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt)
- Remove executable permissions from source code files across all apps
- Add executable permissions to Python
2026-03-08 11:26:18 +01:00

1.5 KiB

Consensus Mechanism

Understand AITBC's proof-of-authority consensus mechanism.

Overview

AITBC uses a Proof-of-Authority (PoA) consensus mechanism with:

  • Fixed block time: 2 seconds
  • Authority set of validated proposers
  • Transaction finality on each block

Block Production

Proposer Selection

Proposers take turns producing blocks in a round-robin fashion. Each proposer gets a fixed time slot.

Block Structure

{
  "header": {
    "height": 100,
    "timestamp": "2026-02-13T10:00:00Z",
    "proposer": "ait-devnet-proposer-1",
    "parent_hash": "0xabc123...",
    "state_root": "0xdef456...",
    "tx_root": "0xghi789..."
  },
  "transactions": [...],
  "receipts": [...]
}

Consensus Rules

  1. Block Time: 2 seconds minimum
  2. Block Size: 1 MB maximum
  3. Transactions: 500 maximum per block
  4. Fee: Minimum 0 (configurable)

Validator Requirements

Requirement Value
Uptime 99% minimum
Latency < 100ms to peers
Stake 1000 AITBC

Fork Selection

Longest chain rule applies:

  • Validators always extend the longest known chain
  • Reorgs occur only on conflicting blocks within the last 10 blocks

Finality

Blocks are considered final after:

  • 1 confirmation for normal transactions
  • 3 confirmations for high-value transactions

Next