# Blockchain-Based Lightweight Trust Management in Mobile Ad-Hoc Networks
## 2 Background and Related Work
### DCFM: Representative Attack Mitigation Scheme in OLSR  
DCFM is a representative scheme that was adopted in the proposed scheme. Before detailing DCFM, we will discuss node isolation attacks (NIAs), which are the main attacks that are explicitly addressed by DCFM. NIAs, which were first defined by [PERSON] et al. (2006) in 2006, are a type of DoS attack against the OLSR. As the name suggests, the objective of this attack is to isolate a targeted victim from the network. In such attacks, the attacker takes advantage of the fact that OLSR routing nodes find the MPR nodes with the maximum coverage among their neighbors. Specifically, the attacker node prevents a victim from receiving control messages from its neighbors. As a starting point, the attacker positions itself within the broadcast range of the victim and identifies its two-hop neighbors by exchanging hello messages with the victim. It then produces a fake hello message indicating that it is a one-hop neighbor of the victim's two-hop neighbors. Consequently, the victim will choose the attacker as its sole MPR based on the routing protocol, which requires a minimal set of MPRs. Therefore, the attacking node is the only node that can forward link information from the victim and it simply discards the victim's messages. As a result, other nodes cannot receive any information from the victim, so will be removed from the network topologies of any other nodes. The symbols used to explain DCFM are defined as follows. * \(N\) is the set of all nodes in the network. * \(n\); \(x\in N\) are the victim and the attacker nodes, respectively. * \(x_{1}\) is a fictitious node advertised by \(x\). Figure 1: How MANET Nodes Work with OLSR. Figure 3: TC Message Format (RFC 3626–OLSR). Figure 2: HELLO Message Format (RFC 3626–OLSR). * \(HOP_{1}(n)\subset N\) is the set of all one-hop neighbors of \(n\). * \(HOP_{2}(n)\subset N\) is the set of all two-hop neighbors of \(n\). * \(MPR(n)\subseteq HOP_{1}(n)\) is the set of one-hop nodes of \(n\) who have appointed \(v\) as their MPR. * \(MPR^{\prime}(n)\subseteq HOP_{1}(n)\) is the set of one-hop nodes who were selected by \(n\) as MPRs. First, when node x sends a HELLO message containing HOP1(x), n should check if \(HOP1(x)\cap HOP1(n)=\phi\). For example, in Figure 4, HOP1(v) = [a, d] and x is attempting to isolate node v. Therefore, it sends a fake hello message claiming to know all two-hop neighbors of v (\(HOP_{1}(x)\) = [v, b, e, \(x_{1}\)]). The reason why x excludes v's one-hop neighbors is that v could determine if x is an attacker by checking the hello messages of its one-hop neighbors, allowing it to mark x as a suspicious node. However, x declares that v is its one hop neighbor, meaning all one-hop neighbors of v are two-hop neighbors of x, so it can be assumed that x will choose v as its MPR to cover all nodes in \(HOP_{1}(v)\). Therefore, x cannot be identified as malicious, so additional contradictions must be identified based on a second rule. For each node y mentioned in a HELLO message, n should check if there is a node \(z\in HOP_{1}(y)\) such that (a) z is not included in \(HOP_{1}(n)\), (b) z is located three hops away from n, or (c) there is a specific node in MPR(x) for reaching z. For example, in Figure 3, according to x's hello message, b and e are one-hop neighbors of x. Consequently, b and e are only one-hop neighbors of c and f, respectively. This means c and f are three hops away from v. Therefore, x should appoint b and e as its MPRs for covering c and f, respectively. Otherwise, it is determined that x is an adversary. The final rule is that node n should check every HELLO message containing its neighbors if the sender is suspicious. These rules should be applied sequentially. In this scheme, all nodes in the network perform these processes repetitively in the hello interval and TC interval whenever a hello message is suspicious.