The use of decentralized distributed systems is growing. These systems typically comprise weakly connected nodes and are mostly decentralized. Examples of decentralized distributed systems include online games, messaging applications, cooperative data sharing systems such as peer-to-peer file sharing systems, and weakly consistent replication systems. While the decentralized nature of such systems and weakly connected nodes provide many advantages in distributed networking environments such as the Internet, there are also problems associated with such systems.
One such problem with distributed systems is known as a read-denial attack. In a read-denial attack, a malicious node may read an incoming message and then may falsely claim not to have done so. The node may eventually claim to have read the message, but at a different logical time, or it may claim never to have read the message at all. This type of attack is challenging to prevent because receiving and reading the message happens locally on a node without any outside observer.
Another problem with distributed systems is known as a taint attack. In a taint attack, a node may be considered tainted by information in a message sent to it, even if the message was unwanted and went unread. For sensitive information, especially in legal or financial settings, merely having received confidential information may result in a taint against a user associated with the node. To counter this attack, the node may protect itself by proving that a tainted message was never read, although it may have been received.