Just a thought about how to future-proof the network against unpredictable upgrades.
If nodes are allowed to send each other certain messages without being punished for spam, then this could be used to reach conclusions about the future of the network.
Example of a protocol change proposal message:
proposal ID: e39f623c0bc8d4aa8 position: support
Let’s imagine node_a sends this message to node_b. If node_b is unfamiliar with the proposal ID, it could look it up, and then the user could update their node to support the new protocol.
oppose positions could be sent out as a form of protest, assuming some of the nodes will be used to measure how supported/opposed a given proposal is. Finally, if enough support is gathered, then a node could risk their reputation by requesting a vote on it, and if enough opposition is gathered, the proposal could be cancelled and users could tell their nodes to stop sending the pointless support messages.