Nodes in socially aware networks (SANs) may act selfishly on individual bases due to resource constraints and socially selfish behavior arising from the social preferences of nodes. In response to such selfish behaviors exhibited by nodes, this paper proposes a social trust confirmation-based selfish node detection algorithm (STCDA). This algorithm first utilizes a subjective forwarding willingness detection mechanism to discern selfishness. If a node’s energy is insufficient or its message rejection rate is too high—that is, the node cannot or is unwilling to forward messages—it indicates that the node is selfish. Otherwise, it is evaluated more thoroughly through the node’s social trust detection mechanisms. It calculates the social trust level of nodes based on the benefits of forwarding messages, thereby distinguishing between individually selfish nodes and socially selfish nodes in the network. If further evaluation is needed, the final judgment will be made using the message confirmation feedback detection mechanism. This checks the message information forwarded by nodes in the network. If nodes fail to forward messages after receiving them—excluding reasons such as message expiration or temporary insufficient cache space—it indicates that the nodes are selfish. Results from experimental simulations show that this algorithm performs better than traditional algorithms. Under conditions of 80% selfish nodes, a message TTL of 300 min, and 10 MB of cache space, it improves the message delivery rate by 5.87% and reduces the average delay by 6.2% compared to the existing comprehensive confirmation-based selfish node detection algorithm.
Read full abstract