Tenzro Network
- Crate
- tenzro-network
- Stack
- libp2p
- Topics
- 8 gossipsub
- Auth
- ValidatorRegistry
Why a network layer matters
AI coordination is a networking problem before it is a consensus or settlement problem. Models must discover providers. Providers must announce capability. Agents must find peers. Validators must propagate blocks. Bridges must signal cross-chain intents. Every higher layer leans on the quality of message propagation underneath.
Tenzro Network's networking is built on libp2p — gossipsub for topic-based propagation, Kademlia DHT for peer discovery, identify for protocol negotiation, Circuit-Relay v2 + AutoNAT v2 + DCUtR for NAT traversal. The same primitives that power IPFS, Ethereum's discv5 alternatives, and Polkadot's substrate networking.
Gossipsub topics and peer authentication
Eight topics structure the network's traffic: tenzro/blocks, tenzro/transactions, tenzro/consensus, tenzro/attestations, tenzro/models, tenzro/inference, tenzro/status, tenzro/agents (plus tenzro/training and tenzro/training/syncer for the training subsystem).
Consensus, blocks, and attestations are validator-only. NodeValidatorRegistry implements ValidatorRegistry from the networking crate and enforces authorize_peer_for_topic(). Non-validators that gossip on these topics are ignored. Validator authority is established by membership in the current epoch's validator set, derived from on-chain staking state.
NAT traversal for community nodes
Most home, mobile, and corporate networks are behind NAT. Tenzro composes Circuit-Relay v2, AutoNAT v2, and DCUtR in a unified TenzroBehaviour. Validators with confirmed public addresses run the server halves of relay and AutoNAT. Joiners run the client halves plus DCUtR for hole-punching. When direct connection fails, traffic falls back to /p2p-circuit.
Driven by NetworkConfig::enable_relay (server, default-on for Validator role) and NetworkConfig::enable_hole_punching (client, default-on for all roles). All five sub-behaviours wrapped in libp2p Toggle so disabled halves are no-ops without bifurcating the NetworkBehaviour type.
Agent coordination surfaces
MCP (Model Context Protocol) at mcp.tenzro.network/mcp exposes 331 tools over Streamable HTTP — wallet, identity, payments, multi-modal AI, agent memory, NFTs, bridges, verification, governance, marketplaces. Any MCP-compatible host (Claude, Cursor, Cline, custom) can drive Tenzro.
A2A (Agent-to-Agent, Google specification) at a2a.tenzro.network exposes 42 skills. Agent Card discovery at /.well-known/agent.json. JSON-RPC 2.0 dispatcher. SSE streaming. Agents from any framework speak A2A.
Five ecosystem MCP servers (Solana, Ethereum, Canton, LayerZero, Chainlink, Li.Fi) extend the surface to neighbouring networks. Tenzro is open both inward (anyone can serve) and outward (anyone can integrate).
Node roles
Four roles: Validator (produces blocks, runs consensus, gets 1.5× weight if TEE-attested), ModelProvider (serves AI inference), TeeProvider (serves confidential compute, custody, attested execution), LightClient (consumes the network without producing). All four are real binaries — the same tenzro-node binary differentiated by --role flag. The RPC pod runs as a validator with extra HTTP/MCP/A2A exposure; there is no RPC-only mode.