Skip to content

Network Resilience Test Scenarios

Juraj Selep edited this page Nov 24, 2023 · 1 revision

Network Connectivity

  • Nodes that get disconnected should eventually be able to reconnect and synchronize with the network.

Adaptive Peer Management

  • Nodes should be able to discover and connect to new peers if their current peers become unresponsive or malicious.

Resistance to DDoS Attacks

  • The network should remain operational even under targeted Denial-of-Service attacks on specific nodes or infrastructure.

Resistance to Eclipse Attacks

  • Honest nodes should not be isolated by malicious nodes in a way that they only receive information from these malicious entities.

Resistance to Sybil Attacks

  • The network should function even if an adversary creates a large number of pseudonymous identities. Honest nodes should still be able to connect with other honest nodes.

Node Bootstrapping

  • New nodes joining the network should eventually discover and connect to honest peers and synchronize the latest blockchain state.

Data Availability

  • Any piece of data (like a block or transaction) that is part of the blockchain should be available to any node that requests it.

Consistent View of the Ledger

  • All honest nodes in the network should eventually have a consistent view of the ledger, agreeing on the order and content of blocks.

Block Propagation

  • Every new block that is mined or created should eventually be received by every honest node in the network.

Transaction/Snark Propagation

  • Every transaction/snark broadcasted by a user should eventually be received and processed by the miners or validators in the network.

Chain Progress

  • New blocks should be added to the blockchain at regular intervals, ensuring that the system continues to process transactions.

Fairness in Transaction Processing

  • Transactions should not be perpetually ignored or deprioritized by the network. Honest transactions should eventually get processed.

Resistance to Censorship

  • The network should resist attempts by any subset of nodes to consistently censor or block certain transactions or blocks.

Network Scalability

  • As the number of participants or the rate of transactions increases, the network should still maintain its liveness properties.

Upgradability

  • The network should be able to upgrade or change protocols without halting or fragmenting, ensuring continuous operation.