Network Operations
Run validators, configure Mixnet relays, and participate in the bandwidth market.
Node Types
Full Node
Validates blocks, maintains state, serves RPC queries
Validator
Participates in consensus, produces blocks, earns rewards
Mixnode
Relays traffic for network privacy
Validator Operations
Becoming a Validator
Meet Requirements
Ensure your hardware meets validator tier specifications (128 GB+ UMA, Apple Silicon recommended).
Sync Full Node
Run a full node and wait for complete synchronization.
Stake Tokens
Lock the required stake amount in the validator contract.
Register Keys
Submit your ML-DSA public key to the validator registry.
Join Active Set
Once accepted, your node participates in block production.
Validator Configuration
# ~/.po8/config.toml [validator] enabled = true # ML-DSA signing key key_file = "~/.po8/keys/validator.ml-dsa.sec" # Minimum gas price to include transactions min_gas_price = "0.001" # Block production settings [consensus] block_time = "60s" timeout_propose = "30s" timeout_prevote = "10s" timeout_precommit = "10s" # Require Mixnet participation [privacy] mixnet_required = true
Slashing Conditions
| Offense | Penalty | Description |
|---|---|---|
| Double Signing | 5% stake | Signing conflicting blocks at same height |
| Downtime | 0.1% per hour | Missing block proposals (after grace period) |
| Invalid Proof | 1% stake | Submitting invalid TensorChain proofs |
| Mixnet Failure | 0.5% stake | Failing to relay required bandwidth |
Mixnet Configuration
Every validator must operate as a Mixnode. This ensures the privacy set scales with network security.
Stratified Topology
The Mixnet uses a layered structure to prevent Sybil routing attacks.
Mixnet Configuration
[mixnet] enabled = true # Layer assignment (auto-assigned if not set) layer = "auto" # Sphinx packet handling [mixnet.sphinx] packet_size = 32768 # 32 KB constant size max_delay_ms = 100 # Cover traffic generation [mixnet.cover] enabled = true rate_per_second = 10 loop_probability = 0.1 # Gateway settings (if operating as entry/exit) [mixnet.gateway] enabled = false websocket_port = 9000
Cover Traffic
Nodes generate dummy packets following a Poisson distribution to mask real traffic patterns.
Hiding in the Crowd
When broadcasting a real transaction, the node replaces a dummy packet with the real data. External observers see constant traffic rate—no burst betrays the action.
VPN Relay Configuration
For low-latency traffic, nodes can operate as dVPN relays using AmneziaWG.
AmneziaWG Setup
[dvpn] enabled = true # WireGuard interface interface = "wg0" listen_port = 51820 # AmneziaWG obfuscation [dvpn.amnezia] enabled = true junk_packet_count = 4 junk_packet_min_size = 40 junk_packet_max_size = 70 init_packet_junk_size = 0 response_packet_junk_size = 0 # Bandwidth limits [dvpn.limits] max_clients = 100 bandwidth_limit_mbps = 100
Censorship Resistance
AmneziaWG modifies the WireGuard handshake to evade Deep Packet Inspection:
Junk Packets
Random padding added to handshake
Header Obfuscation
Protocol signatures are masked
Timing Variance
Randomized response delays
Bandwidth Market
Nodes earn rewards for relaying traffic through Proof of Mixing and Proof of Relay.
Reward Function
Where Performance is measured by packet loss rate and latency
Proof of Mixing (PoM)
Active Set Selection
Top stakers by reputation selected each epoch
Sampling
Monitor nodes send test packets to measure reliability
Saturation Point
Rewards cap at 1% of total stake to prevent centralization
Payment Models
Orchid Model
Probabilistic nanopayments for high-volume traffic
Sentinel Model
Deterministic billing for enterprise users
Node Dashboard
Health Checks
# Check node status po8-node status # View peer connections po8-node peers list # Check consensus state po8-node consensus state # Mixnet statistics po8-node mixnet stats
Prometheus Metrics
po8_consensus_heightCurrent block heightpo8_consensus_validatorsActive validator countpo8_p2p_peersConnected peer countpo8_mixnet_packets_relayedSphinx packets processedpo8_mixnet_cover_traffic_rateCover packets per secondpo8_dvpn_active_clientsConnected VPN clientspo8_dvpn_bandwidth_mbpsCurrent bandwidth usage