## 2 Related Work
When a node overhears its immediate neighbour node forwarding a packet, it first checks the integrity of the packet in order to ensure that the packet had not been modified. If the neighbour being monitored passes the integrity test and the packet is forwarded, its trust vector is computed. Performance evaluation of their system shows that their mechanism successfully detected malicious nodes and avoided them in the routing path. [PERSON] and [PERSON] [42] proposed a new mechanism to detect selfish nodes, which specializes in dropping control packets to avoid them being asked to forward data packets. Each node in their model operates in promiscuous mode to monitor both data and control packets that are transmitted within its receiving range. The monitoring node stores successfully observed transactions carried out by its neighbouring nodes. Nodes in their proposed model are expected to contribute to the network within a time frame. Those that fail to contribute to the network activities will undergo a test for their suspicious behaviours. Performance evaluation shows that their scheme was able to detect selfish nodes in a network. In [43], the authors proposed a 2 ACK scheme, which focuses on detecting misbehaving links instead of misbehaving nodes to avoid several issues, such as ambiguous collisions, receiver collisions and limited transmission power, which affect the general watchdog detection mechanism. The 2 ACK scheme detects misbehaviour through the use of a new type of acknowledgement packet, termed 2 ACK. A 2 ACK packet is assigned a fixed route of two hops (three nodes) in the opposite direction of the data traffic route. When a node wishes to communicate with another node, a methodology is performed by the sending and receiving nodes, which ensures authentication and integrity. Security in their model is achieved through the use of cryptographic algorithms. [PERSON] and [PERSON] [17] proposed a belief propagation-based trust and reputation management for P2P networks, which can also be utilized by social and mesh networks. In their proposed algorithm, the reputation and trustworthiness of a network node is computed by the Belief Propagation-based distributed message passing algorithm between peers (network nodes), which is presented on a chosen factor graph. The reputation of peers is based on the quality of service a node receives, and trustworthiness is based on the ratings that each node provides after successful transactions. Performance evaluation of their proposed model shows that it iteratively decreases the error in the reputation values of peers due to the malicious ratings with a high probability. Further works were carried out by [PERSON] and [PERSON] [16] in which they proposed a trust management and adversary detection scheme for delay-tolerant networks (DTNs). Their proposed scheme was further extended in [15], which comprises a comparison of their proposed model with some well-known and commonly-used reputation management techniques (e.g., EigenTrust and Bayesian framework). The evaluation in their work shows the preeminence of their proposed scheme in terms of robustness against malicious behaviour. The performance evaluation described in [15; 16] shows that their proposed model provided high data availability and packet-delivery ratio with low latency in DTNs under various adversary attacks. These attacks attempted to both undermine the trust and detection scheme and the packet delivery protocol employed in their proposed model. In particular, their proposed model was very effective and efficient at curbing Byzantine attacks in which one or more genuine nodes have been compromised. Despite relying on second-hand reputations from other nodes, their proposed model was able to mitigate the effects of bad mouthing and ballot stuffing attacks. However, one form of attack that may go undetected when employing this scheme is the selective existence attack carried out by totally selfish nodes. The nature of these nodes means that they will not participate in route discovery processes for other nodes.