§1Peer-to-peer layer#
| Mechanism | Behavior |
|---|---|
| Transport | libp2p host. GossipSub carries transactions, proposals, votes and evidence; direct streams carry sync. |
| Compatibility | The handshake binds chain ID, genesis and consensus commitment. Mismatched nodes never connect. |
| Discovery | Configured bootstrap peers, plus bounded referrals from up to 16 connected anchors. No DHT and no DNS discovery; mDNS on the local link only. |
| Anchors | Every bootstrap peer is an anchor: protected from pruning and redialed in rotation. Operators should configure at least two, on different operators and subnets. |
| Eclipse monitor | Checks anchor, outbound and peer-floor health every 15 s. When unhealthy it forces an anchor redial and raises an alert; it never sheds peers automatically. |
| Diversity | 50 peers by default, at most 2 per subnet. |
| Reconnect | A lost bootstrap peer is redialed after 1 s; checks run every 5 s while below 3 peers. |
| Peer scoring | Penalties for corrupt data (−100) and each false height claim (−15), decaying over time; misbehaving peers are banned. |
| Sync | Finalized blocks only, each re-verified by the importer, with budgeted frames and a throughput floor. |
| Snapshot bootstrap | A head installed from a snapshot was never executed locally, so forward sync waits until it is certified against a live peer's header. |
Safety does not depend on the network: an imported block always passes through the finalized-block importer. Liveness does, which is why availability is the current focus of review. See review history.
§2Staking#
- Validators stake at least 10,000 RSC and join the active set, up to 128, at the next epoch boundary.
- Delegators delegate to a validator and receive non-rebasing, validator-specific shares. A share is worth the pool's tokens divided by its outstanding shares.
- Share transfer moves shares between holders without minting, burning or moving pool tokens. A holder can hold one validator's shares at a time, active validators cannot receive them, and sessions cannot transfer them.
- Unbonding takes 14 epochs. Earned time weight survives transfers and full exits, and slashing continues to apply to the underlying pool.
- Vault interface: precompile
0x104exposes ERC-4626-style reads for contracts. It is not an ERC-20 token: there is no approve, transfer or allowance.
§3Issuance, burns and penalties#
| Flow | Rule |
|---|---|
| Block reward | About 0.667 RSC per block, set so that 2 RSC are issued per 6 s of wall-clock at the 2 s target |
| Reward split | Per epoch, by participation and time-weighted delegation |
| Base fee | Burned |
| Priority tip | Paid to the proposer |
| Name registration and renewal | Burned, from 500 down to 5 RSC by label length |
| Grant deposits | Locked and refunded, not burned |
| Double signing | 5% of stake slashed |
| Downtime | 0.1% slashed and jailed, judged by the signed ratio over a 300-block participation window |
No public genesis allocation, supply schedule or distribution has been defined. Any future one will be published here before a public network launches.
§4Public RPC#
Node defaults limit each client IP to 100 requests per second (burst 200) and 10 submissions per second (burst 20); submissions count against both. Public endpoints sit behind a TLS reverse proxy that owns per-client limits, because a node behind a proxy cannot tell clients apart. Whatever the per-client limits, the aggregate must stay under the chain's measured ceiling.
Sources: internal/p2p, internal/txpool, internal/state/liquid_staking.go, internal/consensus/rewards.go, configs/config.toml; node operation guide; P2P threat model.
Cite this page
@misc{resilience-protocol-network,
title = {{Networking, staking and economics}},
author = {{Resilience Network}},
year = {2026},
note = {Reference implementation c3acec4, protocol manifest r28},
url = {https://resiliencenetwork.xyz/protocol/network/}
}