A JMC2 Suprema Project, 2004.
Mixnets are networks of computers which forward messages. A message is injected into the mixnet as an onion of cryptographically protected layers. The first node can decrypt the message and reveil the first layer, which contains the address of the next node to forward the message onto. That node can decrypt the next layer and so on. Along with Dining Cryptographer Rings they are one of two fundamental building blocks for anonymous messaging.
But once a message has been injected into the network it cannot be tracked (it's meant to be an anonymous messaging layer so nodes don't release information about their processing). An evil node could simply drop messages. With enough of these nodes the whole network becomes unreliable and unusable.
As every message is source routed (the source completely determines the path that the message will take through the network) centralised statistics are gathered about each mixnode and users can choose the route accordingly. But that, of course, assumes that you trust the central source of statistics.
As a fully decentralised form of trust, each mix node can build up local knowledge about the other nodes in the network. If a node correctly forwards a message onto another node it can get a signed receipt back from that node. If a node cannot forward a message onto another node then it can request the other nodes in the network try to do so. For each one that fails it get a witness statement from that node that the destination node is unreliable.
Thus, by inserting chaff loops into the network (messages which end up back at the same node) a node can determine the reliability of each node. If the message makes it back then all nodes on the path of that message increase their reputation in the eyes of that node. If it doesn't make it back then the node can query each node along the path and ask what happened to the message. It can then diminish the reputation of the node(s) that failed and provide signed proof (the witness statements) that the bad node(s) failed.