Skip to content

Network Architecture

Cloud Service operates on a decentralized peer-to-peer network that enables secure, trustless transactions and distributed computing.

Network Overview

┌─────────────────────────────────────────────────────────────────────┐
│                        Cloud Service Network                                │
│                                                                       │
│    ┌──────────┐         ┌──────────┐         ┌──────────┐           │
│    │  Node 1  │◄───────►│  Node 2  │◄───────►│  Node 3  │           │
│    │ (Full)   │         │ (Mining) │         │ (Full)   │           │
│    └────┬─────┘         └────┬─────┘         └────┬─────┘           │
│         │                    │                    │                   │
│         │              ┌─────▼─────┐              │                   │
│         └─────────────►│  Node 4   │◄─────────────┘                   │
│                        │ (Light)  │                                   │
│                        └─────┬─────┘                                   │
│                              │                                         │
│    ┌──────────┐         ┌────▼─────┐         ┌──────────┐            │
│    │  Node 5  │◄───────►│  Node 6  │◄───────►│  Node 7  │            │
│    │ (API)    │         │ (Full)   │         │ (Mining) │            │
│    └──────────┘         └──────────┘         └──────────┘            │
│                                                                       │
└─────────────────────────────────────────────────────────────────────┘

Network Layers

1. Peer-to-Peer Layer

The foundation of the Cloud Service network is the P2P layer where nodes discover and communicate with each other.

Node Discovery:

  • DNS seed nodes provide initial peer lists
  • Nodes exchange peer addresses
  • Automatic reconnection on disconnect

Message Types:

MessagePurpose
versionHandshake and capabilities
verackVersion acknowledgment
addrAddress broadcast
invInventory announcement
getdataData request
txTransaction broadcast
blockBlock broadcast
getblocksBlock request
ping/pongKeep-alive

2. Consensus Layer

The consensus layer ensures all nodes agree on the state of the blockchain.

Consensus Rules:

  • Proof of Work (ZelHash)
  • Longest chain rule
  • Block validation
  • Transaction validation

3. Application Layer

The application layer provides services built on top of the blockchain.

Services:

  • Wallet operations
  • Smart contracts (future)
  • Decentralized computing
  • Storage services

Node Communication

Connection Process

Node A                              Node B
  │                                   │
  │────── TCP Connection ────────────►│
  │                                   │
  │────── version message ──────────►│
  │     (protocol version,            │
  │      services, timestamp)         │
  │                                   │
  │◄───── version message ───────────│
  │                                   │
  │────── verack ───────────────────►│
  │◄───── verack ────────────────────│
  │                                   │
  │────── getaddr ──────────────────►│
  │◄───── addr (peer list) ─────────│
  │                                   │
  │     Connection Established        │

Message Format

┌─────────────────────────────────────────────────────────┐
│                    Network Message                       │
├─────────────────────────────────────────────────────────┤
│  Magic (4 bytes)     │ Network identifier (mainnet)     │
├─────────────────────────────────────────────────────────┤
│  Command (12 bytes)  │ ASCII command name               │
├─────────────────────────────────────────────────────────┤
│  Length (4 bytes)    │ Payload length                   │
├─────────────────────────────────────────────────────────┤
│  Checksum (4 bytes)  │ First 4 bytes of double SHA256   │
├─────────────────────────────────────────────────────────┤
│  Payload (variable)  │ Message data                     │
└─────────────────────────────────────────────────────────┘

Network Topology

Gossip Protocol

Cloud Service uses a gossip protocol for efficient message propagation:

┌─────────────────────────────────────────────────────────────┐
│                   Message Propagation                        │
│                                                              │
│         ┌──────┐                                            │
│         │Source│                                            │
│         └──┬───┘                                            │
│            │                                                 │
│      ┌─────┼─────┐                                          │
│      ▼     ▼     ▼                                          │
│   ┌───┐ ┌───┐ ┌───┐                                        │
│   │ A │ │ B │ │ C │  ← First wave (3 peers)                │
│   └─┬─┘ └─┬─┘ └─┬─┘                                        │
│     │     │     │                                           │
│   ┌─┴─┐ ┌─┴─┐ ┌─┴─┐ ┌───┐ ┌───┐                           │
│   │ D │ │ E │ │ F │ │ G │ │ H │  ← Second wave             │
│   └───┘ └───┘ └───┘ └───┘ └───┘                           │
│                                                              │
│  Each node forwards to random peers not yet seen             │
└─────────────────────────────────────────────────────────────┘

Peer Selection

Nodes maintain connections to different types of peers:

Peer TypeCountPurpose
Outbound8Default connections
Inbound117Accept incoming
Feeler1Discover new peers
AddrFetch1Address fetching

Network Security

Sybil Resistance

  • Proof of Work makes creating many identities expensive
  • IP-based connection limits
  • Ban score for misbehaving nodes

Eclipse Attack Prevention

  • Connect to diverse peer groups
  • DNS seed diversity
  • Manual peer addition

DDoS Mitigation

MechanismDescription
Rate limitingLimits messages per peer
Ban scorePenalizes misbehavior
Connection limitsMax connections per IP
Memory limitsMempool and orphan limits

Network Parameters

Mainnet

ParameterValue
Port16178
Magic0xCSC0IN
DNS Seedsseed1.cs.network, seed2.cs.network
Genesis Block2026-01-01 00:00:00
Protocol Version70015

Testnet

ParameterValue
Port16179
Magic0xCSC0TST
DNS Seedstestnet-seed.cs.network
Genesis Block2026-01-01 00:00:00

Bandwidth Requirements

Node TypeDaily UploadDaily Download
Full Node5-10 GB5-10 GB
Mining Node10-20 GB10-20 GB
Light Node100-500 MB100-500 MB

Network Upgrades

Upgrade Process

  1. BIP Proposal — Technical specification
  2. Community Discussion — Feedback and refinement
  3. Implementation — Code development
  4. Testing — Testnet deployment
  5. Signaling — Miner signaling
  6. Activation — Mainnet activation

Soft Forks vs Hard Forks

TypeCompatibilityExample
Soft ForkBackward compatibleNew consensus rules
Hard ForkNot compatibleNew chain rules

Next Steps

Released under the MIT License.