Arquitetura da Rede
A Cloud Service opera em uma rede peer-to-peer descentralizada que permite transações seguras e sem confiança, além de computação distribuída.
Visão Geral da Rede
┌─────────────────────────────────────────────────────────────────────┐
│ Rede Cloud Service │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Nó 1 │◄───────►│ Nó 2 │◄───────►│ Nó 3 │ │
│ │(Completo)│ │(Mineração│ │(Completo)│ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ │ ┌─────▼─────┐ │ │
│ └─────────────►│ Nó 4 │◄─────────────┘ │
│ │ (Leve) │ │
│ └─────┬─────┘ │
│ │ │
│ ┌──────────┐ ┌────▼─────┐ ┌──────────┐ │
│ │ Nó 5 │◄───────►│ Nó 6 │◄───────►│ Nó 7 │ │
│ │ (API) │ │(Completo)│ │(Mineração│ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘Camadas da Rede
Camada 1: Rede P2P
A camada base para comunicação entre nós:
- Protocolo de Descoberta — Nós encontram peers automaticamente
- Propagação de Mensagens — Blocos e transações são transmitidos
- Gerenciamento de Peers — Conexões são mantidas e gerenciadas
Camada 2: Blockchain
A estrutura de dados imutável que registra todas as transações:
- Blocos — Agrupamentos de transações com timestamps
- Encadeamento — Cada bloco referencia o anterior
- Consenso — ZelHash garante concordância
Camada 3: Aplicação
Serviços e aplicações construídas sobre a blockchain:
- Smart Contracts — Lógica de negócios programável
- APIs — Interfaces para desenvolvedores
- dApps — Aplicações descentralizadas
Protocolo de Rede
Mensagens do Protocolo
| Mensagem | Descrição |
|---|---|
version | Handshake inicial entre peers |
verack | Confirmação de versão |
addr | Lista de endereços de nós conhecidos |
inv | Inventário de objetos disponíveis |
getdata | Requisição de objetos específicos |
block | Transmissão de bloco completo |
tx | Transmissão de transação |
ping/pong | Verificação de liveness |
Configurações de Porta
| Porta | Uso |
|---|---|
| 16178 | Mainnet P2P |
| 16179 | Testnet P2P |
| 16180 | API JSON-RPC/REST |
| 16181 | WebSocket |
Pool de Memória
O pool de memória (mempool) armazena transações não confirmadas:
┌──────────────────────────────────────────┐
│ Pool de Memória │
│ │
│ Transações pendentes (não confirmadas) │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Tx 1 │ │ Tx 2 │ │ Tx 3 │ │
│ │ Alta │ │ Média │ │ Baixa │ │
│ │ Taxa │ │ Taxa │ │ Taxa │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ Mineradores selecionam por taxa │
│ │
└──────────────────────────────────────────┘Sincronização da Blockchain
Download Inicial de Blocos (IBD)
Quando um novo nó ingressa na rede:
- Conecta a peers iniciais (seeders)
- Solicita cabeçalhos de bloco
- Valida cabeçalhos
- Baixa e valida blocos completos
- Constrói o estado UTXO
Reorganização de Cadeia
Quando uma cadeia mais longa é descoberta:
- Detectar bloco com mais trabalho
- Reverter blocos da cadeia atual
- Aplicar blocos da nova cadeia
- Atualizar estado
Descoberta de Peers
Seeders DNS
Nós bootstrap iniciais:
seed.cs.network
seed2.cs.network
seed-eu.cs.networkAdicionar Peers Manualmente
bash
# Via configuração
addnode=192.168.1.100:16178
addnode=node.cs.network
# Via CLI em tempo de execução
cs-cli addnode "192.168.1.100:16178" addPróximos Passos
- Mecanismo de Consenso — Como a rede concorda
- Tokenomics — Economia do token
- Segurança — Como a rede é protegida