One of the more influential papers on my early thinking of distributed systems was the Xerox paper on Grapevine, their distributed naming service that used a viral model for propagating updates across their networks.
The most interesting part was transmitting 'dead' information. In the linked article things are alive or not. Now expand this article so that you have a series of things that are being transmitted (maybe blue, red, and green dots to represent each). And then you want to 'kill green' so that green is no longer considered a valid state. Networks need to retain the notion of a tombstone (in epidemiology a residual antibody) to quash flare ups of previously killed information (which can happen when a node that has been down for a while rejoins the network).
The most interesting part was transmitting 'dead' information. In the linked article things are alive or not. Now expand this article so that you have a series of things that are being transmitted (maybe blue, red, and green dots to represent each). And then you want to 'kill green' so that green is no longer considered a valid state. Networks need to retain the notion of a tombstone (in epidemiology a residual antibody) to quash flare ups of previously killed information (which can happen when a node that has been down for a while rejoins the network).
It makes for some great coding exercises!