IntersectMBO / IntersectMBO/ouroboros-network

Bootstrap Node Protection

Open
#4,675 0 comments 0 reactions 0 assignees View on GitHub
bootstrap chain-sync daedalus
Dominant language
Haskell
Stars
296
Forks
104
Avg merge
2d 10h
Merged PRs (30d)
4

Description

# Problem Statement

Bootstrap peers will be heavily used by syncing leaf nodes or relays doing an initial sync. However there could be nodes on the network which are miss-configured to not only sync from bootstrap peers but also use them as their upstream peer (instead of using ledger peers, possibly because using non-p2p stack).

# Proposed Solution

## Chain-Sync server disconnect
A node which runs as a bootstrap peer, it should disconnect from `node-to-node` clients which synced to the tip of its chain. This should be done after some timeout. Normal clients, should switch to ledger peers anyway and we just want to protect the bootstrap nodes from being used not in the intended way.

## Chain-Sync server disconnect on intersect
Bootstrap nodes should also disconnect when the client connects to it and it turns out that it's chain is close to the bootstrap node's tip (which we know via `MsgFindInteresect`).

# Deployment
To be able to deploy this feature, we will need Daedalus (or other full node wallets), to be released with P2P support.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.