Change Chain
  • Change Chain
  • Introduction
    • Introduction
    • Key Features
  • Architecture
    • Overview
    • Consensus
    • Transaction Processing
      • Transaction Lifecycle
      • High Throughput Mechanisms
    • Network Layers
    • Interoperability
    • Technical Specifications
  • Mining
    • Mining
      • Setting Up a Mining Node
      • Solo Miner
      • Pool Mining
      • System Requirements
      • Installation
      • Troubleshooting
    • Backup and Restore
    • Gas Model
    • Mining Rewards
    • Tokenomics
  • Ecosystem
    • Ecosystem Components
      • Wallets
      • Explorer
      • Governance
    • Change Chain vs. Layer 2
  • Roadmap
    • Roadmap
  • FAQ
    • FAQ
  • Developer Resources
    • Incentives and Support
    • Development Tools
      • CLI
      • Debugging Tools
      • Testing Framework
    • SDKs
    • Developing Smart Contracts
Powered by GitBook
On this page
  • Consensus Mechanism
  • Mining Algorithm
  • Block Structure
  • Difficulty Adjustment
  1. Architecture

Consensus

PreviousOverviewNextTransaction Processing

Last updated 7 months ago

Consensus Mechanism

Change Chain employs a modified Proof-of-Work consensus algorithm optimized for high throughput and energy efficiency. This consensus mechanism ensures that all transactions are securely validated and recorded on the blockchain.

Mining Algorithm

  • Memory-Hard Hashing Algorithm (Equihash-CX):

    • Rationale: To prevent ASIC domination and promote decentralization, Change Chain uses Equihash-CX, a memory-hard algorithm that requires significant RAM resources, making it more suitable for GPU mining.

    • Parameters:

      • n: 144 (memory parameter)

      • k: 5 (time parameter)

      • These parameters balance memory usage and computational effort, ensuring a fair mining environment.

Block Structure

  • Block Header:

    • Version: Indicates the version of the block protocol.

    • Previous Block Hash: Links to the preceding block, ensuring chain integrity.

    • Merkle Root: Hash of all transactions in the block, enabling efficient verification.

    • Timestamp: Unix epoch time when the block was created.

    • Difficulty Target: Current network difficulty.

    • Nonce: Value adjusted by miners to find a valid hash.

  • Block Body:

    • Transactions: List of all transactions included in the block.

    • Miner's Reward Transaction (Coinbase): First transaction that awards the miner their block reward and fees.

Block Time: Targets a sub 1-second block time

Difficulty Adjustment

Dynamic Difficulty Adjustment Algorithm (DAA):

  • Adjusts every block to maintain an average block time of less than 1 second.

  • Uses a Weighted Harmonic Mean (WHM) of recent block times to smooth out fluctuations.

  • Prevents sudden spikes or drops in difficulty, ensuring network stability.

n+1n=DTactual×TtargetD\frac{n+1}{n}=\frac{D}{T_{actual}}\times\frac{T_{target}}{D}nn+1​=Tactual​D​×DTtarget​​

Where:

  • Dn+1D_{n+1}Dn+1​ = Next difficulty

  • DnD_nDn​ = Current difficulty

  • TtargetT_{target}Ttarget​ = Target block time

  • TactualT_{actual}Tactual​ = Actual time taken to mine the last block

n+1n=DTactual×TtargetD\frac{n+1}{n}=\frac{D}{T_{actual}}\times\frac{T_{target}}{D}nn+1​=Tactual​D​×DTtarget​​