Nice writeup!
To provent this, if a node connects to a new peer it should use a randomly assigned peer ID for the current epoch.
How is this actually guaranteed to be randomly selected? Would peers need to validate other peers’ ids?
Also, any thoughts on how a peer should treat two peers with the same id? Pick one in random? Ban whoever was last to announce the colliding id?