We can identify two types of uncooperative nodes: faulty/malicious nodes and selfish nodes. By saying faulty/malicious nodes, we refer to the broad class of nodes that are either faulty and therefore cannot follow a protocol, or are intentionally malicious and try to attack the system. The problems of faulty/malicious nodes need to be addressed from many layers, for example, using spread-spectrum encoding to avoid interference over the communication channel; using a reputation system to identify the faulty/malicious nodes and subsequently avoid or penalize such nodes [4]; and applying the techniques from faulttolerant computing to perform computation correctly even in the presence of faulty/malicious nodes. Although the problems of faulty/malicious nodes can be important.