swarm
swarm copied to clipboard
enforce a swap-only network
Currently a non-swap-enabled Peer can connect to other protocols like retrieval on a swap-enabled Peer. The accounting hook will cause an error when a message is sent from the swap-enabled peer blocking the send but not disconnecting the peer. This will cause most retrieve requests to always fail if there is a non-swap Peer connected on retrieval (this was encountered during devcon when nodes connected to nodes from the previous (non-swap) workshop).
Ideally a swap-enabled Peer would only connect to other swap-enabled Peers on all (or at least on all accounted) protocols.
[User Story] Rationale Currently, a non-swap-enabled Peer can connect to other protocols like retrieval on a swap-enabled Peer. The accounting hook will cause an error when a message is sent from the swap-enabled peer blocking the send but not disconnecting the peer. This will cause most retrieve requests to always fail if there is a non-swap Peer connected on retrieval (this was encountered during Devcon when nodes connected to nodes from the previous (non-swap) workshop).
User story As a swap-enabled peer, I don't want to be connected to non-swap enabled peers, such that interactions with accounted protocols don't fail
Acceptance Criteria It is impossible for a swap-enabled node to be connected to a non-swap enabled node
Related to https://github.com/ethersphere/swarm/issues/2068 . Might already be solved by making all BZZ Network ID's <= 100 to be non-swap and all BZZ Network IDs > 100 to be swap-enabled
i don't think its possible to do a clean implementation of this with the current stack. For now we should just drop in the accounting hook if the other peer is not registered on swap. Maybe we can do this properly when we move to the new bee stack.
i don't think its possible to do a clean implementation of this with the current stack. For now we should just drop in the accounting hook if the other peer is not registered on swap. Maybe we can do this properly when we move to the new bee stack.
implemented in #2142