Next Article in Journal
FPGA Implementation of Pillar-Based Object Classification for Autonomous Mobile Robot
Previous Article in Journal
A Survey: Security Vulnerabilities and Protective Strategies for Graphical Passwords
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Resource-Based Dynamic Pricing and Forced Forwarding Incentive Algorithm in Socially Aware Networking

1
School of Computer and Information Science, Hubei Engineering University, Xiaogan 432000, China
2
School of Computer Science and Information Engineering, Hubei University, Wuhan 430062, China
*
Authors to whom correspondence should be addressed.
Electronics 2024, 13(15), 3044; https://doi.org/10.3390/electronics13153044
Submission received: 25 June 2024 / Revised: 23 July 2024 / Accepted: 30 July 2024 / Published: 1 August 2024
(This article belongs to the Section Computer Science & Engineering)

Abstract

:
In socially aware networking, nodes typically behave selfishly due to resource constraints and social correlations, resulting in low network performance. To incentivize selfish nodes to actively participate in message forwarding, this paper proposes a resource-based dynamic pricing and forced forwarding incentive algorithm (DFIA). Firstly, the algorithm introduces virtual currency as a transaction medium and then designs a pricing function based on factors such as the node’s resource status, participation contribution, location relevance, and social connectivity. It ensures that the forwarding service is transacted at a reasonable price through bargaining rules. Secondly, a forced forwarding strategy is implemented to compel selfish nodes, which are unwilling to participate in other nodes’ message forwarding, to forward a certain number of non-local messages. Meanwhile, in order to prevent nodes from discarding messages and to ensure successful forwarding to the destination, specific rules are used to allocate contribution values to nodes that successfully participate in message forwarding. Lastly, to avoid false quotation behavior, blockchain technology is employed. Transaction information is packaged into blocks and added to the blockchain after consensus validation by other nodes in the network, ensuring the transparency and immutability of transaction data. Simulation results indicate that compared with the existing incentive algorithms, this algorithm not only enhances message delivery probability but also effectively reduces average latency.

1. Introduction

With the rapid development of network information technology, the mobile environment formed by smart devices (smartphones, tablets, in-vehicle devices) with the help of neighborhood-based wireless technologies (Bluetooth, WIFI) [1] has received more and more attention, and Socially Aware Networking (SAN) [2,3] has appeared accordingly. SAN research determines reasonable protocols to provide services for upper-layer applications by sensing and analyzing the contextual information of the mobile node [4] in the network. This is achieved through social network analysis and machine learning technologies, which analyze and learn from the behavior and environmental information of carriers obtained from intelligent mobile devices. From these data, social attributes such as community, interaction intensity, and mobility patterns are derived. By integrating these social attributes with a carrier behavior, effective routing protocols and message forwarding strategies are designed to provide high-quality services for upper layer applications. For instance, the studies in [5,6] made forwarding decisions based on users’ social characteristics and similarities [7].
SAN (refer to Figure 1) leverages the social attributes of mobile carriers (i.e., subscribers) to design efficient network protocols. It represents a new approach in Delay Tolerant Network (DTN) [8] and Opportunistic Network (OppNet) [9]. In terms of operating principle, SAN is similar to DTN and OppNet [10]. On the one hand, due to the dynamic topology caused by nodes’ mobility within the network, there is a lack of stable end-to-end communication paths between the source and destination nodes. When the link between nodes is disrupted, the conventional routing methods fail to forward message data, and probabilistic encounters are often utilized to realize the forwarding in a multi-hop manner. On the other hand, during message forwarding, intermediate nodes typically use the “store-carry-forward” method to temporarily store messages [11,12,13], utilizing their short-range and low-cost devices to communicate with each other, thereby sharing data objects (such as pictures, advertisements, etc.) among nodes [7]. However, unlike DTN and OppNet, mobile devices in SAN are generally carried by objects such as humans, vehicles, and animals, which move to various places and engage in different activities, resulting in constantly changing network topology. Therefore, there are certain social attributes among nodes in SAN. It is extremely crucial to develop efficient solutions to motivate nodes to cooperate through these social attribute characteristics.
As an emerging network model, SAN still has many numerous challenges for the research of node selfishness, message forwarding security issues, and other related technologies. In SAN, some nodes may exhibit selfish behaviors due to their limited resources resulting in poor delivery capability or poor social relationships with other nodes. These behaviors negatively impact the overall network performance and efficiency. The selfish behaviors of nodes are manifested as individual selfishness [14] and social selfishness [15]. Nodes exhibiting individual selfishness neither receive information from nor forward information to other nodes when their resources are scarce. Conversely, nodes displaying social selfishness only provide data forwarding services to familiar nodes and refuse to forward or receive data messages from nodes with poor social relationships. In SAN, in addition to the challenges posed by node selfishness, there also faces risks of malicious attacks such as tampering and stealing against forwarded messages and transaction records [16]. It is, thus, clear that effective incentive mechanisms and stringent security measures are needed to motivate nodes to participate in cooperation and prevent malicious attacks from occurring, which, in turn, ensures an efficient operation of the SAN and secure data transmission.
Currently, designing incentive mechanisms for nodes is the primary method to address the problem of node selfishness in SAN. Existing node cooperation incentive mechanisms can be categorized into three types: reputation-based incentive mechanisms, virtual currency-based incentive mechanisms, and game theory-based incentive mechanisms.
As described in paper [17], the authors accurately calculated reputation by combining the credibility and confidence of recommenders and fairly evaluated each recommendation. They employed a fair differential service mechanism to incentivize active participation. In [18], Roy et al. defined node reputation value and message forwarding cost. This strategy improves the message delivery efficiency by selecting nodes with a high reputation value and low cost in multicast data transmission as the next-hop nodes for message forwarding. Bounouni et al. [19] combined direct and indirect reputation to evaluate node trustworthiness, allowing for nodes to accurately understand the status of neighboring nodes within their vicinity. Then, the nodes are classified into different cooperative states based on their reputation values, and corresponding incentives are implemented to encourage cooperation based on these states. These incentive mechanisms face challenges in monitoring, storing, and transmitting reputation values due to potential attacks by malicious nodes, which may cause inconsistencies in reputation values. Additionally, nodes near the set threshold may exhibit fluke mentality, maintaining just enough reputation value to avoid actively participating in forwarding.
Wang et al. [20] proposed an incentive evolutionary game model, which encouraged both normal and abnormal nodes to participate in network cooperation through the evolutionary process of survival of the fittest, ensuring a high level of cooperation and maintaining the continuous stability of the network. A repetitive game model (CGTFT) based on the cooperation evaluation function of neighboring nodes was established in the literature [21]. For rational nodes in the network, the cooperation degree evaluation function is designed by combining the residual energy and successful forwarding rate of the nodes. Then, the CGTFT model is used for the game, rewarding nodes that actively participate in cooperation and punishing selfish and uncooperative nodes. Additionally, a forgetting factor is introduced to facilitate the cooperation reconstruction for nodes that enter the punishment period. The study reported in [22,23] proposed a game theoretical pricing model based on the Rubinstein Bargain model, allowing for relay nodes to price their services according to residual energy and the value of the transmitted information, thus enhancing the distribution of message content within the network. These mechanisms employ game theory for analysis. However, they require high resource costs and are more suitable for symmetric networks, making them less friendly to asymmetric networks.
Xiao et al. [24] proposed an equivalent-exchange-based data forwarding incentive scheme (EEIS). EEIS combines the resource status and wealth status of nodes to price the messages that need to be forwarded and publicly disclose the wealth and resource status of both trading parties. In [25], Li et al. introduced a service pricing-based, two-stage incentive algorithm (STIA). STIA prices the forwarding service by considering service quality, message attributes, and resource status, and the authors proposed a two-stage incentive mechanism. It also formulates a currency overdraft scheme and a two-stage penalty mechanism to prevent nodes from defaulting after overdrawing currency. During service transaction, both nodes access a Credit Clearing Center (CCC) to understand each other’s situation, preventing false quotation. However, using a third-party trusted institution to manage and prevent false quotation increases the risk of data leakage if there are security vulnerabilities or malicious attacks. Rao et al. [26] proposed a resource-constrained and Socially Selfish-Based Incentive Algorithm (RSIA). Nodes are rewarded with virtual currencies through bargaining and negotiation as an incentive for selfish nodes to be part of the cooperation. The algorithm introduces the Gini coefficient to evaluate the income balance of nodes, and it rewards or penalizes nodes based on their income balance. RSIA configures each node in the network with a trusted security module. Nodes only add the corresponding currency value when transaction information is verified as unmodified, thus avoiding false quotation. However, this algorithm does not take into account the positional relationship between nodes. When configuring the security module H for nodes to perform A C K validation, the reliance on manufacturers for node trust could compromise the entire network’s security if a manufacturer’s credibility was compromised. Therefore, ensuring the authenticity and accuracy of transactions and preventing false quotation remain critical issues to address.
In summary, regarding the above analysis, to incentivize selfish nodes to actively take part in message forwarding and prevent nodes from making false quotation, this paper proposes a resource-based dynamic pricing and forced forwarding incentive algorithm (DFIA). This algorithm analyzes the selfish behavior of nodes and considers their resource situation, contribution level, wealth status, and social relevance to negotiate message forwarding prices. Additionally, a forced forwarding strategy is introduced to compel selfish nodes to forward non-local messages, thereby curbing the behavior of nodes that focus solely on their own interests and are unwilling to participate in network cooperation. To prevent false quotation, the transaction information is recorded on the blockchain, leveraging the decentralized and transparent nature of blockchain technology to ensure that prices cannot be tampered with.
The remainder of this paper is structured as follows: Section 2 introduces the network model and assumptions of the algorithm. Section 3 details the relevant definitions and implementation process of the proposed algorithm. Section 4 presents the simulation environment. We set Spray And Wait [27] as the underlying routing algorithm and combine the proposed DFIA, RSIA from paper [26], the STIA from paper [25], and the EEIS from paper [24] with the underlying routing algorithm for experimental comparison. The final part summarizes the entire paper and future outlook.

2. Network Model and Assumptions

This paper presents an abstract representation of the connections between nodes in Socially Aware Networking (SAN) as an undirected graph G ( D , E ) , where D is the set of all nodes and E represents the set of edges. Here, N denotes the number of nodes in SAN. The source node is the carrier of the message before transmission, and the relay node is the carrier that receives the message. Upon the meeting of the source node and the relay node, the formation of an edge between the nodes is initiated. E ( i , j ) represents the edge between nodes i and j, where i j .
Additionally, at the initial stage of the network simulation, this paper creates a genesis block. As transactions for message forwarding services between nodes are successfully completed, new transaction records are packaged into new blocks and sequentially linked after the genesis block. This ensures that all transaction records are securely and orderly stored in the blockchain formed from the genesis block. Nodes in the network collectively participate in and maintain a public, transparent, and tamper-proof blockchain.
According to the needs, this paper makes the following assumptions and definitions for the model:
  • Each node in the network has one and only one I D , and all nodes are rational, meaning they pursue the maximization of their economic benefits or other strategic goals while adhering to network protocols and rules.
  • The network comprises two distinct types of nodes: normal nodes and selfish nodes. Normal nodes participate in the storage, carrying, and forwarding of messages as expected; selfish nodes are those nodes that refuse to accept and forward any messages from other nodes due to low benefits or weak social connections.
  • Assume that the potential malicious behavior of nodes in SAN is limited to false quotation, rather than tampering with messages or collusion.
  • Only one node in the network is authorized to form a new block at any given time.

3. A Resource-Based Dynamic Pricing and Forced Forwarding Incentive Algorithm

In this paper, the forwarding of messages between nodes is treated as a transaction. The buyer is the carrier of the message before forwarding, and the seller is the carrier that receives the message. The forwarding service provided by the buyer is the commodity, and both parties use virtual currency as the transaction medium. Both parties offer an initial price based on a pricing function. If the bid is reasonable, the transaction is successful. Otherwise, the prices are adjusted according to specific bargaining rules, and the transaction is attempted again. If the transaction still fails, the next message is processed. Once a transaction is successful, the transaction information is written into a block and linked to the blockchain, ensuring transparency and immutability of the information.

3.1. Relevant Definitions

3.1.1. Delivery Urgency of Nodes

The delivery urgency of a node refers to the urgency with which a node can receive and forward messages, primarily determined by the node’s remaining buffer space, remaining energy, and the remaining Time To Live (TTL) of the message. When all three are sufficient, it indicates that the node’s delivery urgency is low, and the node has ample resources and time to forward and receive messages. As messages are continuously received and forwarded, the node’s buffer space, its energy, and the message’s TTL will inevitably decrease gradually, thereby increasing the node’s delivery urgency. In this paper, we utilize a state index to represent this delivery urgency of a node.
The node’s buffer state index is the ratio of the node’s remaining buffer space at a given moment to the node’s initial total buffer space, reflecting the node’s buffering capability. The node’s energy state index is the ratio of the node’s remaining energy at a given moment to the node’s initial total energy, reflecting the node’s capability to forward messages. The message’s TTL index is the ratio of the message’s remaining TTL at a given moment to the message’s initial TTL, which is one of the critical factors affecting the node’s ability to deliver the message. Therefore, the delivery urgency Q x , m h of node x at time h is defined as follows:
Q x , m h = α ( 1 B r x B i n i t x ) + β ( 1 E r x E i n i t x ) + γ ( 1 T r m T i n i t m ) .
The weight values α , β , and γ are introduced to balance different optimization objectives. Since the problem involved is NP-Hard, the weight values between different instances will have a significant impact on the performance of the algorithm. Therefore, in our study, we adjusted different weight values through a large number of experiments, and then found the optimal weight configuration under a specific problem instance. B r x , E r x , and T r m represent the remaining buffer space, the remaining energy value, and the remaining TTL of the message m of the node x at the moment of h, respectively. B i n i t x , E i n i t x , and T i n i t m represent the initial total buffer space, the initial total energy value, and the initial TTL of message m for node x, respectively.

3.1.2. Positional Relevance of Nodes

The positional relevance of nodes refers to the distance-related situation between the node and the message destination node. It is normalized using a Gaussian similarity function on the node’s positional attribute function, serving as a measure of the node’s positional attributes.
The primary location attributes of a node include the node’s movement speed, the angle with the destination node, and the distance. The location attribute function l o c ( x , d ) of a node is defined as
l o c ( x , d ) = v x | c o s A | D ( x , d ) ,
where v x denotes the moving speed of node x. Assume the coordinates of node x and destination node d are ( a x , b x ) and ( a d , b d ), respectively. Then, c o s A = a x a d + b x b d a x 2 + b x 2 a d 2 + b d 2 , where 0 A π , and A represents the angle between node x and the destination node. D ( x , d ) = ( a x a d ) 2 + ( b x b d ) 2 , where D ( x , d ) represents the Euclidean distance between node x and the destination node.
The Gaussian similarity function [28] is used to normalize Equation (2), and the positional relevance of the nodes is calculated as
g ( x ) = e ( l o c ( x , d ) ) 2 2 σ 2 ,
where σ = 1 is the scale parameter. As the location attribute function of node x gets smaller, the value of g ( x ) approaches 1, indicating that the time for node x to reach the destination node is shorter. In the pricing model, node x will be willing to pay a higher price for the forwarding service to quickly forward the message.

3.1.3. Participation Contribution of Nodes

In a network, the participation contribution of a node reflects its level of involvement in forwarding messages and its contribution to the overall network efficiency. This is a significant factor influencing the pricing of a node. A higher participation contribution is indicative of a node’s willingness to provide services for other nodes, thereby increasing the delivery rate of messages within the network through its forwarding activities. Therefore, the DFIA algorithm introduces the cooperation degree and average contribution degree of nodes to measure their participation contribution during the message delivery process.
Whether a node is willing to cooperate is demonstrated by its willingness to consume its resources to forward messages generated by other nodes. The number of non-local messages forwarded by a node is directly proportional to its participation. Thus, the cooperation degree X x ( h ) of node x at time h is defined as
X x ( h ) = F x M x .
where F x denotes the total number of non-local messages forwarded by node x. Each time node x successfully forwards a non-local message, then F x + 1 . M x represents the number of encounters node x has with other nodes. Each time node x encounters another node: the M x + 1 .
When the message that a node helps forward is successfully delivered to the destination node, this paper assigns contribution values according to the node based on its position in the forwarding path to encourage active participation in network communication. The first relay node in the forwarding path is assigned the highest contribution value, as it determines the direction of message delivery. Additionally, the last relay node is given a relatively large contribution value because it completes the actual message delivery and is the task accomplisher. The other relay nodes in the forwarding path receive decreasing contribution values based on their positions in the forwarding path. The contribution value C ( i , n ) assigned by node i on the nth path is represented as follows:
C ( i , n ) = ( 1 r ) i 1 r , if 0 i < L ( 1 r ) i 1 , if i = L ,
a v g C x = t = 1 n C t ( x , n ) t ,
where r ( 0 < r < 1 ) denotes the contribution value allocation ratio factor, and L represents the total number of relay nodes on the path. Upon successful delivery of a message to the destination node, the contribution value of node x is accumulated in accordance with the aforementioned allocation scheme. Thereafter, the average contribution value of node x, avgC x , is calculated according to Equation (6).
Therefore, the participation contribution P C x of node x can be expressed by Equations (5) and (6) as
P C x ( h ) = ρ X x ( h ) + ( 1 ρ ) a v g C x ,
where ρ is the weight factor by which X x ( h ) and a v g C x have influence on P C x and ρ [ 0 , 1 ] .

3.1.4. Wealth Status of Nodes

Nodes in the network initially possess a specific amount of virtual currency, which reflects their forwarding capability to some extent. Based on the amount of virtual currency available to a node, it can be classified into three different virtual currency states: sufficient state, general state, and insufficient state. When V x ( h ) > V m a x , the node is in a sufficient wealth state, at which time C x ( h ) > 1 . When V x ( h ) < V m i n , the node is in an insufficient wealth state, at which time C x ( h ) < 1 . When V m i n V x ( h ) V m a x , the node is in a general wealth state, at which time C x ( h ) = 1 . The relevant calculation is as follows:   
C x ( h ) = V x ( h ) V max , Adequate State 1 , General State V x ( h ) V min , Inadequate State .
where V x ( h ) represents the amount of virtual currency owned by node x at moment h. The virtual currency thresholds V m a x and V m i n , respectively, represent the maximum and minimum amounts of virtual currency that may be owned by a node.

3.1.5. Degree of Social Correlation between Nodes

In SAN, the social correlations between nodes describe the extent to which some kind of connection or mutual influence exists between nodes. Social correlation is used to reflect the interaction and bonding between nodes in the network by analyzing the common neighbors and historical encounter records between nodes. Therefore, this paper comprehensively evaluates the social correlation among nodes from the dimensions of social overlap of nodes and the degree of contact between nodes.
The degree of overlap between two nodes is quantified by the number of common neighbors that they possess in SAN. These common-neighbor nodes are the bridge connecting two nodes, and they represent the similarity between nodes. Thus, the social o v e r l a p x y between node x and node y is defined as
o v e r l a p x y = c o m x y n e i g h x + n e i g h y c o m x y ,
where c o m x y denotes the number of common-neighbor nodes between nodes x and y; n e i g h x and n e i g h y represent the total number of neighbors of nodes x and y, respectively.
The degree of contact between nodes quantifies the intimacy of contact between these nodes through the analysis of the frequency and duration of encounters. If two nodes communicate with each other frequently, interact frequently and deeply, and the degree of contact between them is high, then, drawing on the definition of a friend in the real society, the two nodes are friends with each other. The contact degree c o n t a c t x y between nodes x and y is calculated as follows:
c o n t a c t x y = N m c x y T m x y N a c c u r e n t T .
As mentioned above, N m c x y denotes the number of encounters between nodes x and y so far, T m x y denotes the sum of all encounter times between nodes x and y so far, N denotes the number of nodes in the current network, and a c c u r e n t T represents the current moment.
Based on Equations (9) and (10), the social correlation S C x y between nodes is calculated as follows:
S C x y = φ o v e r l a p x y + ( 1 φ ) c o n t a c t x y ,
where φ is the weight factor that determines the influence of o v e r l a p x y and c o n t a c t x y on S C x y , and φ [ 0 , 1 ] .

3.2. Transaction Model

In SAN, message forwarding between encountering nodes is abstracted as a transaction process, where the forwarding service is bargained and traded using virtual currency. In this process, the node carrying the message before forwarding acts as the buyer, while the node receiving the message acts as the seller, and the message forwarding service acts as the commodity. Both parties are required to disclose their wealth and resources as well as their offers for the forwarding service based on their respective considerations.

3.2.1. Buyer’s Expenditure Function

To ensure that the message can be delivered to the next-hop node smoothly, buyer x must consider its own wealth reserve, delivery urgency, and message attributes carried, so as to determine a reasonable expenditure price as the compensation for providing forwarding services to the next-hop node. When x’s wealth reserve is sufficient, the buyer will synthesize its own delivery urgency and wealth reserve to give a reasonable price. When x’s wealth reserve is insufficient, with the passage of time, the survival time of the message will be gradually shortened, the node’s remaining cache and energy will be gradually depleted, and the buyer’s delivery urgency will become higher. Therefore, to relieve its pressure, the buyer will offer a higher transaction price. When x’s participation contribution is higher, indicating better service performance, it will benefit x in purchasing the forwarding service. If the node carries a larger message, the energy and cache consumed in forwarding will also increase, and x’s delivery urgency will also increase and, in turn, affect the bidding price for the message. In addition, x has to consider its own node position correlation. When its position correlation at the message destination node is high, it means that the time it takes for x to reach the destination node is shorter, and it will slightly raise the price in order to forward the message as quickly as possible. In summary, the expenditure function of buyer x to forward message m at time h is defined as
B N p x ( h ) = M s i z e ( Q ( x , m ) h + σ 1 g ( x ) ) C x ( h ) P C x ( h ) .
where M s i z e denotes the size of m, g ( x ) denotes the positional relevance of x, σ 1 is the weight occupied by the positional relevance of a node and satisfies α + β + γ + σ 1 = 1 , C x ( h ) denotes the wealth of x at time h, and P C x h denotes the participation contribution of node x at time h.

3.2.2. Seller’s Income Function

When receiving messages carried by x, the seller y also needs to consider its own wealth reserve, delivery urgency, and the attributes of the carried message to price it, aiming to maximize its income. When y’s wealth reserve is sufficient, the node’s willingness to provide message forwarding will decrease, so it has to combine with y’s delivery urgency to make reasonable pricing. When y’s wealth reserve is insufficient, it needs to obtain virtual currency from elsewhere at a lower price, and its willingness to provide message forwarding increases. Message forwarding is more favorable when y has a higher participation contribution. The size of the message is directly proportional to the energy and cache required for message forwarding; when the message is larger, the energy and cache consumption also increases for y providing a forwarding service, which, in turn, affects the pricing. In addition, y has to consider the social correlation between nodes. If the correlation between nodes is high, i.e., S C x y S C x y m i n , then it indicates that the relationship between two nodes is better. Node y has a stronger willingness to forward the message, and the bidding price will be relatively low, as shown in Equation (13). On the contrary, if the correlation between nodes is low, i.e., S C x y < S C x y m i n , the forwarding node will bid relatively high, as shown in Equation (14).
S N p y ( h ) = M s i z e ( Q ( y , m ) h σ 2 ( 1 S C x y ) ) 1 C y ( h ) ( 1 P C y ( h ) ) ,
S N p y ( h ) = M s i z e ( Q ( y , m ) h + σ 2 S C x y ) 1 C y ( h ) ( 1 P C y ( h ) ) .
where M s i z e denotes the size of m, S C x y denotes the social correlation between x and y, and σ 2 denotes the weight value occupied by the social correlation between x and y, satisfying α + β + γ + σ 2 = 1 . S C x y m i n denotes the minimum threshold of social correlation between x and y, C y h denotes the wealth status of y at time h, and P C y ( h ) denotes the participation contribution of y at time h.

3.2.3. Forced Forwarding Strategy

Given the limited energy and cache resources available to nodes in the network, they tend to prioritize forwarding their own messages or refuse to forward non-local messages to ensure their generated messages are delivered successfully. This behavior greatly harms the overall interests of the network. To maintain the collective interests of the network and incentivize low-collaboration nodes to participate in cooperation, this paper introduces a forced forwarding strategy to restrict the behavior of those nodes that are only concerned about their own interests and are unwilling to cooperate in the network. This strategy promotes cooperation among nodes and optimizes network performance.
The size of the forced forwarding value C F x of node x is determined by the collaboration degree X x h and contribution value C ( i , n ) of node x, which is calculated as follows:
C F x = 10 ( 0.3 X x ( h ) ) C ( i , n ) .
Forcing the forwarding value to be updated automatically at a fixed frequency ensures that the forwarding behavior of the nodes can be monitored and regulated at certain time nodes. When C F x > 0 , node x must forward C F x messages generated by other nodes before it can forward its own generated messages. When node x is restricted from forwarding, in order to forward its own messages smoothly, it can only improve the degree of collaboration by participating in forwarding messages generated by other nodes, and then gradually reduce its own forced forwarding value until it eventually restores the normal message forwarding capability.

3.2.4. Transaction Rules

In SAN, when the buyer x meets a seller y, both parties need to negotiate the pricing of the data forwarding service according to specific rules, and the algorithm’s specific transaction rules are as follows:
(1) Both buyer and seller are fully informed of the message pricing and wealth status of the other party.
(2) After the transaction starts, the buyer’s wealth is the price of expenditure given by buyer x as B N p x ( h ) and the price given by seller y as S N p y ( h ) . If B N p x ( h ) S N p y ( h ) , then message m is successfully forwarded, and the next message can be forwarded. If B N p x ( h ) < S N p y ( h ) , the first negotiation forwarding fails.
(3) If the first negotiation between buyer and seller fails, enter the second bargaining stage. By comparing the wealth of both parties, the respective prices are adjusted. The buyer adjusts B N p x ( h ) by considering its cooperation degree, average contribution, and positional relevance, and the seller adjusts S N p y ( h ) based on its cooperation degree, average contribution, and social correlation between nodes. The adjustment factors for the second negotiation are k 1 and k 2 , respectively. The second bargaining rules are as follows:
  • If C x ( h ) > C y ( h ) , then S N p y ( h ) remains unchanged, and B N p x ( h ) is adjusted according to equation B N p x ( h ) = B N p x ( h ) ( 1 + k 1 ) , where k 1 is calculated as follows:
    k 1 = ω 1 X x ( h ) + ω 2 a v g C x + ω 3 g ( x ) ,
    where X x ( h ) denotes the cooperation degree of x, a v g C x denotes the average contribution degree of x, and g ( x ) denotes the positional relevance of node x. The weights ω 1 , ω 2 , and ω 3 denote the influence of cooperation degree, average contribution degree, and positional relevance of the node on the adjustment factor k 1 , respectively, and the sum of the three of them is 1. Here, the weights are dynamically adjusted using an adaptive weighting method, and the value of the weight is calculated using Equation (17):
    ω 1 = X x ( h ) X x h + avg C x + g ( x ) ω 2 = avg C x X x h + avg C x + g ( x ) ω 3 = g ( x ) X x h + avg C x + g ( x ) .
  • If C y ( h ) C x ( h ) , then B N p x ( h ) is unchanged, and S N p y ( h ) is adjusted according to the formula S N p y ( h ) = S N p y ( h ) ( 1 k 2 ) , where k 2 is calculated as follows:
    k 2 = θ 1 X y ( h ) + θ 2 a v g C y + θ 3 S C x y ,
    where X y ( h ) denotes the cooperation degree of y, a v g C y denotes the average contribution degree of y, and S C x y denotes the social correlation between nodes x and y. The weights θ 1 , θ 2 , and θ 3 represent the influence of collaboration degree, average contribution degree, and social correlation between nodes on the adjustment factor k 2 , respectively, and the sum of the three of them is 1. The dynamic adjustment of these weights also follows the same method as in Equation (17).
(4) If both nodes reach a consensus that B N p x ( h ) S N p y ( h ) after the second bargaining, the message will be forwarded as in step (2). If not, the transaction will be abandoned, and the next transaction will be continued. The message transaction flow is shown in Figure 2.
The detailed process of the normal message transaction algorithm is shown in Algorithm 1, which describes the complete bargaining process for the message forwarding service when two nodes meet without a forced forwarding penalty. The detailed forwarding process is as follows: when nodes x and y encounter each other, x and y give their respective first bids for the forwarding service according to Equations (12)–(14), respectively. If B N p x S N p y , then the message is forwarded, and the transaction price is set to the average of B N p x and S N p y . And then the transaction record is packed into the blockchain. On the contrary, according to the transaction rules described earlier, the price is adjusted based on the wealth status of x and y to make a new offer. If B N p x 1 S N p y 1 , then one half of the sum of B N p x 1 and S N p y 1 is the transaction price. And the transaction record is packaged into the blockchain after the successful message forwarding. If the negotiation still fails after both parties re-adjust their prices, they give up forwarding this message m, and the next message is processed for forwarding.
Algorithm 1 Normal Message Transaction Algorithm
Input:  B N p x , S N p y , C x , C y
Output: the successful forwarding message m
  1:
if  B N p x > = S N p y   then
  2:
     C o s t m = ( B N p x + S N p y ) / 2
  3:
    x sends message m to y, y receives message m
  4:
    if The amount of currency that x currently has is greater than C o s t m  then
  5:
        Transaction successful
▹ createNewBlock
  6:
        The block is added to the end of the blockchain.
  7:
        Update the wealth of x and y
  8:
        return m
  9:
    end if
10:
else
11:
    Recalculate the cost of m and both parties’ adjusted bids.
12:
     B N p x 1 = getPriceTwice_x( B N p x , S N p y C x , C y )
13:
     S N p y 1 = getPriceTwice_y( B N p x , S N p y C x , C y )
14:
    if  B N p x 1 > = S N p y 1  then
15:
         C o s t m = ( B N p x 1 + S N p y 1 ) / 2
16:
        x sends message m to y, y receives message m
17:
        if The The amount of currency that x currently has is greater than C o s t m  then
18:
           Transaction successful
▹ createNewBlock
19:
           The block is added to the end of the blockchain.
20:
           Update the wealth of x and y
21:
           return m
22:
        end if
23:
    else
24:
        Continue the next transaction.
25:
    end if
26:
end if

3.3. Message Forwarding Game Process

In SAN, the message forwarding transaction between nodes can be abstracted as a dynamic game process. The game participants in this process are the buyer x and the seller y. There are two main phases: whether the buyer x sends a message forwarding request and whether the seller y receives a message forwarding request at this time. The behavior of both parties in the two phases can either be cooperation or refusal of cooperation. It is to be expected that the rational nodes in the network select a strategy that maximizes their own benefits. In this paper, we use backward induction to analyze the two stages of the game process and demonstrate that mutual cooperation is the optimal strategy for both parties.
Suppose that at time h, for message m, the bidding price of x is B N p x ( h ) and the bidding price of y is S N p y ( h ) , then the transaction price for the message is C o s t m = B N p x ( h ) + S N p y ( h ) 2 .
(1) First, analyze the second stage of the game process, whether the seller y receives the message forwarding request or not, and its behavior determines the node’s profit. When y accepts a message forwarding request from x, i.e., chooses a cooperative behavior, the current gain E y of y is calculated as follows:   
E y = S N p y ( h ) C o s t m .
When y refuses to receive a message forwarding request from x, i.e., chooses to refuse a cooperative behavior, there is no gain. In addition, since y did not accept the message while encountering x, the number of non-local messages forwarded by y is less, while the number of encounters increases and the degree of collaboration of y decreases, resulting in the participation of the contribution also decreasing. From Equations (13) and (14), it can be seen that y’s next bid for other messages becomes higher, which may lead to the failure of the transaction. In contrast, y will be willing to receive messages.
(2) Next, analyze whether the buyer x sends message forwarding requests or not. If x sends message forwarding requests at the time h, i.e., chooses the cooperative behavior, then the currency it saves E x can be expressed as
E x = B N p x ( h ) C o s t m ,
If x does not send a message forwarding request at time h, i.e., it refuses to cooperate, first, analyze the cost that x has to pay from the point of view of the message to be forwarded. At time h + 1 , the survival time of the message passes with it, and in order to successfully forward m, the extra cost H 1 that x has to pay can be expressed as
H 1 = M s i z e C x ( h + 1 ) P C x ( h + 1 ) φ 1 T r e h T r e h + 1 T T L ,
where T r e h + 1 denotes the remaining TTL of m at time h + 1 , and the meanings of the other symbols correspond to those in Equation (12).
Additionally, the cost to be paid by x is analyzed in terms of buyer x’s energy and cache. Since the energy of x is strictly decreasing as time increases, and x refuses to cooperate, its cache is also partially occupied by the message m. Therefore, at time h + 1 , if x wants to send a forwarding request, and its proposed price will also increase, then the additional price H 2 that x has to pay can be expressed as
H 2 = φ 2 ( M s i z e B r x ( h + 1 ) + M s i z e E r x ( h + 1 ) ) L x C x ( h + 1 ) P C x ( h + 1 ) .
where L x denotes the length of the message to be forwarded by x at time h + 1 , B r x h + 1 denotes the remaining buffer ratio of x at time h + 1 , E r x h + 1 is the remaining energy ratio of x at time h + 1 , and the meanings of the other symbols match those in Equation (12).
In summary, the additional cost H to be paid by buyer x for choosing to refuse cooperation at time h is at least
H = m i n H 1 , H 2 .
Obviously, E x > 0 > H , so x must choose to send a message forwarding request.
After the above analysis, both buyers and sellers will choose the cooperative behavior under the premise of both obtaining the maximum benefit, i.e., (cooperation, cooperation) is the optimal strategy.

3.4. Security Module

This paper adopts the incentive strategy based on virtual currency to design the algorithm, so it is inevitable that the behavior of nodes’ false quotation will occur in the process of each transaction, which seriously undermines the normal order of the transaction. In order to prevent nodes from illegally tampering with the amount of currency, this paper uses blockchain technology to create a security module to guarantee open and transparent message forwarding transactions between nodes. Blockchain is a decentralized digital ledger for economic transactions with the advantages of transparency and security [29,30,31,32]. In the network, records of all successful transactions are recorded in a blockchain structure, usually in a sequential order, and cryptographically guaranteed to be non-tampering and unforgeable. Each node in the chain is independent and equal, relying on a consensus mechanism to ensure data consistency, with the characteristics of decentralization, openness and transparency, and non-tampering [33].

3.4.1. Module Creation

When storing transaction data, each node in the network generates a public key P K and a secret key S K by means of a public key encryption algorithm (e.g., RSA). Among them, the S K is kept securely by the node, while the P K is publicly available on the network. To ensure the security of the transaction process and prevent false quotations, this paper performs the following process for the transaction record generated between the initiator A and the acceptor B of a transaction, which contains the transaction parties A and B, the transaction price, cost, etc.:
(1) Block creation: When the message transaction between A and B is successfully completed, use the hash function (SHA-256) to calculate the hash value of each item in the transaction record. Then, A’s S K is used to sign the hash value H ( c o s t ) of the price of the transaction, generating S i g S K ( H ( c o s t ) ) . Then, the transaction record, the hash value, and the signature are packed into a new block and broadcast to the whole network so that other nodes can verify.
(2) Verification: B can use A’s P K to verify the digital signature and recalculate the hash value H ( c o s t ) of the transaction price. If these two hash values match, then the verification process is successful, which indicates that the transaction data have not been tampered with in terms of price during transmission. Other nodes in the network will check whether the transaction in the block is valid after receiving the new block.
(3) Consensus achievement: When a sufficient number of nodes confirm that the transaction is valid and a consensus is reached, the block is considered valid.
(4) Blockchain update: Once a new block has gained network-wide consensus, it is added to the end of the blockchain as shown in Figure 3. This update process ensures consensus and consistency of transaction history across the network.
The tampering of transaction data is ensured by the use of hash algorithms in the modules created through the above process. Each new block contains the hash value of the previous block, and any tampering with the transaction data will change its hash value, thus disrupting the continuity of the entire blockchain and making any dishonest behavior easy to be recognized and rejected by other nodes in the network. Moreover, the transaction data are transparent and trustworthy due to the fact that the verified transaction records are written in blocks and added to the blockchain, which, in turn, achieves transparency and trustworthiness of the transaction data. Any node participating in the network can access and verify these transaction records, again effectively preventing the occurrence of a false quotation behavior. All nodes follow the longest chain principle, meaning that when multiple competing branch chains exist, nodes will choose to join the longest valid chain as the main chain, ensuring the robustness and security of the blockchain. Thus, the fairness and security of the message transaction process in the network is ensured through the use of the blockchain.

3.4.2. Forwarding Scheme

The complete message forwarding service process in DFIA is shown in Algorithm 2. Suppose node x meets node y, x needs to forward message m to y, where C F x denotes the forced forwarding value of x. C F x is judged before the message forwarding transaction. When C F x > 0 , x enters into the forced forwarding phase; it is forced to forward non-local messages. For each successful message forwarding service transaction, the value of C F x is decremented by one, and vice versa; it continues to forward the next message. When C F x 0 , x carries out the normal message forwarding transaction according to Algorithm 1. During the message forwarding service transaction, the forwarding service is priced according to Equations (12)–(14), and bargaining is carried out according to specific transaction rules. If the bargaining is successful and the message is forwarded successfully, the transaction information including both parties x and y, transaction price, etc., is packed into the block and added to the blockchain after verification. Otherwise, the transaction fails and the next message is forwarded.
Algorithm 2 DFIA Algorithm
Input:  C F x , x, y
Output: the successful forwarding message m
  1:
if  C F x > 0   then
  2:
    if The source node of the message is not the node x then
  3:
        if  B N p x > = S N p y  then
  4:
            C o s t m = ( B N p x + S N p y ) / 2
  5:
           if The amount of currency that x currently has is greater than C o s t m  then
  6:
               Transaction successful
▹ createNewBlock
  7:
               The block is added to the end of the blockchain.
  8:
               Update the wealth of x and y
  9:
                C F x = C F x 1
10:
               return m
11:
           end if
12:
        else
13:
           Recalculate the cost of m and both parties’ adjusted bids.
14:
            B N p x 1 = getPriceTwice_x( B N p x , S N p y C x , C y )
15:
            S N p y 1 = getPriceTwice_y( B N p x , S N p y C x , C y )
16:
           if  B N p x 1 > = S N p y 1  then
17:
                C o s t m = ( B N p x 1 + S N p y 1 ) / 2
18:
               if The The amount of currency that x currently has is greater than C o s t m  then
19:
                   Transaction successful
▹ createNewBlock
20:
                   The block is added to the end of the blockchain.
21:
                   Update the wealth of x and y
22:
                    C F x = C F x 1
23:
                   return m
24:
               end if
25:
           else
26:
               Continue the next transaction
27:
           end if
28:
        end if
29:
    end if
30:
else
31:
    
▹ Normal Message Transaction Algorithm
32:
end if
33:
function createNewBlock( h o s t X , o t h e r , m, c o s t )
34:
     p r e v i o u s H a s h blockchain.getLastBlock().getHash()
35:
     t i m e s t a m p SimClock.getTime()
36:
    Sign the hash value of the transaction cost using A’s private key SK.
37:
     n e w B l o c k new Block( h o s t X , o t h e r , m, c o s t , p r e v i o u s H a s h , t i m e s t a m p , 0)
38:
     b l o c k H a s h n e w B l o c k .calculateHash()
39:
     n e w B l o c k .setHash( b l o c k H a s h )
40:
    return  n e w B l o c k
41:
end function

4. Performance Evaluation

4.1. Simulation Environment and Scenario

The experiments reported in this chapter were conducted on a personal computer with a CPU of 3.60 GHz, 16.0 GB of RAM, and Windows 11 operating system, running the Opportunistic Network Environment simulator [34] (ONE) through the IntelliJ IDEA 2021.2.1 software operation. In the experiments, this study adopted Spray and Wait routing as the underlying routing algorithm and compared DFIA with RSIA in [26], STIA in [25], and EEIS in [24] for simulation. The following five simulation scenarios were designed:
(1) S + selfish nodes;
(2) S + selfish nodes + DFIA;
(3) S + selfish nodes + RSIA;
(4) S + selfish nodes + STIA.
(5) S + selfish nodes + EEIS.
The specific experimental parameter settings are presented in Table 1.

4.2. Performance Parameters

The simulation experiments mainly use the following three parameters as the evaluation criteria to assess the effectiveness and practicality of the incentive algorithm.
Message delivery probability: this is the ratio of the total number of messages successfully delivered to the destination node to the total number of messages created. A higher message delivery rate indicates a greater success rate of the node in forwarding the message to the destination node. Message delivery probability is an extremely important parameter for evaluating the network performance.
Average latency: this is the average time consumed by a message from its inception to successful forwarding to the destination node. Lower latency means that less network resources will be consumed during message forwarding, and the message will take less time to reach the destination.
Network overhead: this is represented by the ratio of the difference between the number of messages relayed by nodes in the network and the number of successfully forwarded messages to the number of successfully forwarded messages. A reduction in network overhead is indicative of a reduction in energy consumption by the node during message forwarding.

4.3. Simulation Results

In this study, evaluation experiments were designed in terms of different selfish node percentages and different TTLs. In the first evaluation, we observed the experimental results by setting the percentage of selfish nodes to 0%, 20%, 40%, 60%, 80%, and 100%. Figure 4, Figure 5 and Figure 6 illustrate the comparative performance of each algorithm in terms of message delivery probability, average latency, and network overhead in three dimensions when different percentages of selfish nodes exist in the above five scenarios. In the second evaluation, the percentage of selfish nodes was set to 60%, and the message TTL was set to 2 h, 4 h, 6 h, 8 h, and 10 h, respectively. Figure 7, Figure 8 and Figure 9 show the changes in message delivery probability, average latency, and network overhead of each algorithm for the five scenarios mentioned above under different message TTLs. A total of 30 trials were conducted for each set of evaluation experiments, and the mean value of the data from these trials was taken as the final experimental result.

4.3.1. Different Selfish Node Percentages

As shown in Figure 4, the probability of message delivery for the five scenarios with different selfish node percentages is depicted. The decrease in message delivery percentages can be attributed to the fact that selfish nodes do not participate in the forwarding cooperative behavior, which reduces the success rate of messages reaching the destination node. The overall trend indicates that the addition of selfish nodes results in DFIA, RSIA, and STIA acting as an incentive in the case of nodes with a selfish behavior. However, DFIA is more effective compared to RSIA and STIA. S has a more pronounced trend of decreasing message delivery rate as it does not use any incentives. RSIA focuses on the resource constraints and possible presence of high affluent nodes’ resource constraints and the possible impact of preferred selfishness on the network. STIA takes into account the quality of forwarding service of the nodes as well as the possible effects of short-term currency shortage in making decisions about nodes’ forwarding behaviors. EEIS uses node resource pricing and adopts the mode of equivalent exchange to carry out transactions. However, they do not consider the influence of location correlation between nodes and the influence of strong and weak social correlations between nodes. DFIA comprehensively considers the characteristics of node location and social correlations. Although its message delivery probability is 0.68% lower than RSIA when there are 20% selfish nodes, with the continuous increase in selfish nodes, the delivery probability of DFIA is higher than other algorithms. Based on the evaluation of the overall effect of the experiment, DFIA demonstrates the optimal performance in terms of message delivery probability.
Figure 5 illustrates the average latency for the five scenarios with different proportions of selfish nodes. The increase in the average delay means that the addition of selfish nodes results in a longer time for message forwarding to the destination. The data presented in Figure 5 reveal that as the proportion of selfish nodes increases from 0% to 100%, the average latency increases in all scenarios, with varying degrees of increase. S has the most significant increase in average latency, especially when the proportion of selfish nodes reaches 60%; its average latency value increases dramatically because no incentive measures are adopted. In the remaining four scenarios, the increase in average latency is relatively smooth and does not appear to rise sharply. Among them, the average latency of DFIA is the most stable, and its average latency is lower than that of RSIA, STIA, and EEIS. This indicates that the adoption of DFIA incentive strategy is more conducive to mitigating the impact of selfish nodes, and it improves the delivery probability of the message and reduces the average latency at the same time.
Figure 6 depicts the network overhead in the five scenarios under different percentages of selfish nodes. From the data in the figure, it can be seen that with the increasing proportion of selfish nodes, the network overhead of the other four scenarios, except for S with no incentives, is generally decreasing and changing more stably. In the S scenario, the network overhead decreases sharply when the proportion of selfish nodes exceeds 60%, and it directly decreases to 0 when the proportion of selfish nodes in the network is 100% because there are more and more selfish nodes in the network, and the nodes are not able to relay the messages or successfully deliver the messages to the destination node in the absence of incentive strategies. When the proportion of selfish nodes increases to 60%, the overall network overhead of DFIA is high compared to RSIA, STIA, EEIS, and S with no incentives. This is because DFIA introduces blockchain technology in the use of RSA to encrypt the transaction records, leading to a higher overall network overhead at the expense of higher network overhead in increasing the message delivery probability and ensuring the security of the transaction.

4.3.2. Different TTLs

Figure 7 illustrates the message delivery probability for the above scenarios under different message TTLs. It is evident that the message delivery probability increases with each increase in message TTL. The increase in message TTL means that the nodes are not restricted by too many time constraints when forwarding messages. There is enough time to forward the messages, which can avoid the situation of dropping messages and the resulting lower performance of the network. Compared to the other four algorithms, the message delivery probability of DFIA is clearly optimal, which depends on the fact that DFIA takes into account the factors leading to the selfishness of nodes in many aspects, which, in turn, motivates the selfish nodes to take part in the cooperation. In contrast, RSIA, STIA, and EEIS do not consider the effect of the location relevance of nodes on nodes and do not distinguish the strength of the social correlation obviously, leading to less effective incentives. It can be seen that DFIA can effectively prevent nodes from dropping messages, making the message delivery probability optimal.
Figure 8 illustrates the average latency of the four scenarios under different message TTLs. It is clear that the average latency increases for all of them as the message TTL increases. An increase in the message TTL means that the messages have a greater chance of being delivered to a greater distance in the network, which, in turn, leads to an increase in the number of packets in the nodes congestion when data forwarding is performed and a consequent increase in the latency of the network. The average delay of these five scenarios has a significant increasing trend with the increase in the message TTL, and the maximum increase in average delay is observed for S, which does not take any incentives. Comparatively, the DFIA, RSIA, STIA, and EEIS have a smaller increase in average latency. Among them, the average latency of DFIA is lower compared to RSIA, STIA, and EEIS, which is due to the fact that although STIA considers the node resources and quality of service, it ignores the node’s social correlation factor, which increases the average latency of the message to a certain extent. RSIA only considers the selfish reasons of nodes, but does not consider the positional relationships between them and distinguishes between strong and weak social correlations, which leads to a higher average latency. EEIS adopts quadratic bargaining and does not consider that the message cannot be transmitted in time due to node packet loss, which affects the average latency. DFIA considers the positional relationships between nodes and introduces the social correlation factor, thereby enhancing the delivery rate of the message and reducing the average latency.
Figure 9 illustrates the comparison of network overhead. As the message TTL increases, the network overhead in all scenarios gradually decreases. Since S does not take any incentive measures, its network overhead is higher than that of DFIA, RSIA, STIA, and EEIS. STIA considers the quality of service of the nodes and reduces the message interactions during the bargaining process, thereby optimizing encounter time for message delivery and reducing network overhead. EEIS only considers node resource pricing and uses credit value for monetary lending, and it does not consider the packet loss behavior caused by the decline in transaction capacity due to excessive borrowing and failure to repay, which leads to a high network overhead. DFIA considers node resources, location attributes, and social correlations for the bargaining game, which makes its incentive effect more significant than that of RSIA, and it also has a smaller network overhead. Due to the consideration of multiple factors during bargaining in DFIA, more information interactions are generated, and the network overhead is higher compared to STIA. But DFIA increases the message delivery probability and reduces the average latency, and the overall incentive effect is better than that of STIA.

5. Conclusions

In this paper, we propose a resource-based dynamic pricing and forced forwarding incentive algorithm (DFIA). DFIA bargains the forwarding service required by nodes by integrating the delivery urgency determined by the node’s resource status, location relevance, and distinguishing between strong and weak social correlations. During the transaction process, the forced forwarding strategy is designed to improve the degree of the nodes’ collaboration. In order to prevent nodes from a false quotation behavior, DFIA uses blockchain technology for encryption to achieve transparency and credibility of transaction data. Simulation experiment results show that DFIA reduces the average latency while increasing the message delivery probability and effectively incentivizes selfish nodes to participate in cooperation. However, the algorithm uses RSA to encrypt the transaction records resulting in a higher overall network overhead, which needs to be addressed and optimized in future work. Next, we will delve into the security measures that should be taken for possible malicious behaviors such as nodes colluding with each other and tampering with messages in a SAN.

Author Contributions

Conceptualization, X.Z., Y.L. (Yuan Li) and Z.X.; methodology, Y.L. (Yuan Li); software, Y.L. (Yuan Li); validation, Z.X., Y.L. (Yuan Li) and X.Z.; resources, X.Z., Y.L. (Yuan Li) and Z.X.; data curation, Y.L. (Yuan Li); writing—original draft preparation, Y.L. (Yuan Li) and D.H.; writing—review and editing, Z.X., Y.L. (Yanchao Liu) and S.W.; project administration, Z.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (grant number NO. 61972136) and the Hubei Provincial Department of Education Outstanding Youth Scientific Innovation Team Support Foundation (grant number NOs. T201410, T2020017).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wang, Z.; Liao, J.; Cao, Q.; Qi, H.; Wang, Z. Achieving k-Barrier Coverage in Hybrid Directional Sensor Networks. IEEE Trans. Mob. Comput. 2014, 13, 1443–1455. [Google Scholar] [CrossRef]
  2. Tsugawa, S.; Ohsaki, H. Community Structure and Interaction Locality in Social Networks. J. Inf. Process. 2015, 23, 402–410. [Google Scholar] [CrossRef]
  3. Ning, Z.; Liu, L.; Xia, F.; Jedari, B.; Lee, I.; Zhang, W. CAIS: A Copy Adjustable Incentive Scheme in Community-Based Socially Aware Networking. IEEE Trans. Veh. Technol. 2017, 66, 3406–3419. [Google Scholar] [CrossRef]
  4. Xu, F.; Xu, Q.; Xiong, Z.; Xiao, N.; Xie, Y.; Deng, M.; Hao, H. Intelligent distributed routing scheme based on social similarity for mobile social networks. Future Gener. Comput. Syst. 2019, 96, 472–480. [Google Scholar] [CrossRef]
  5. Zhu, K.; Li, W.; Fu, X. SMART: A Social- and Mobile-Aware Routing Strategy for Disruption-Tolerant Networks. IEEE Trans. Veh. Technol. 2014, 63, 3423–3434. [Google Scholar] [CrossRef]
  6. Annalisa, S.; Antonio, C.; Floriano, D.R.; Peppino, F. Routing in mobile opportunistic social networks with selfish nodes. Wirel. Commun. Mob. Comput. 2019, 2019, 6359806. [Google Scholar]
  7. Xia, F.; Liu, L.; Jedari, B.; Das, S.K. PIS: A Multi-Dimensional Routing Protocol for Socially-Aware Networking. IEEE Trans. Mob. Comput. 2016, 15, 2825–2836. [Google Scholar] [CrossRef]
  8. Galati, A. Delay Tolerant Network; LAP Lambert Academic Publishing: Koln, Germany, 2010. [Google Scholar]
  9. Luciana, P.; Andrea, P.; Marco, C. Opportunistic networking: Data forwarding in disconnected mobile ad hoc networks. IEEE Commun. Mag. 2006, 44, 134–141. [Google Scholar]
  10. Xia, F.; Liu, L.; Li, J.; Mohammed, A.A.; Tianruo, Y.L.; Jianhua, M. BEEINFO: Interest-Based Forwarding Using Artificial Bee Colony for Socially Aware Networking. IEEE Trans. Veh. Technol. 2015, 64, 1188–1200. [Google Scholar] [CrossRef]
  11. Wu, J.; Yu, G.; Guan, P. Interest Characteristic Probability Predicted Method in Social Opportunistic Networks. IEEE Access 2019, 7, 59002–59012. [Google Scholar] [CrossRef]
  12. Elnaz, N.; Nahideh, D. FTR: Features tree based routing in mobile social networks. Wirel. Netw. 2020, 26, 283–291. [Google Scholar]
  13. Mao, Y.; Zhou, C.; Qi, J.; Zhu, X. A fair credit-based incentive mechanism for routing in DTN-based sensor network with nodes’ selfishness. EURASIP J. Wirel. Commun. Netw. 2020, 2020, 232. [Google Scholar] [CrossRef]
  14. Loudari, S.E.; Benamar, N. Effects of Selfishness on the Energy Consumption in Opportunistic Networks: A Performance Assessment. In Proceedings of the 2019 International Conference on Wireless Technologies, Embedded and Intelligent Systems (WITS), Fez, Morocco, 3–4 April 2019; pp. 1–7. [Google Scholar]
  15. Li, Q.; Gao, W.; Zhu, S.; Cao, G. A routing protocol for socially selfish delay tolerant networks. Ad Hoc Netw. 2012, 10, 1619–1632. [Google Scholar] [CrossRef]
  16. Zhang, X.; Deng, H.; Xiong, Z.; Liu, Y.; Rao, Y.; Lyu, Y.; Li, Y.; Hou, D.; Li, Y. Secure Routing Strategy Based on Attribute-Based Trust Access Control in Social-Aware Networks. J. Signal Process. Syst. 2024, 96, 153–168. [Google Scholar] [CrossRef]
  17. Chang, J.; Pang, Z.; Xu, W.; Wang, H.; Yin, G. An incentive compatible reputation mechanism for P2P systems. J. Supercomput. 2014, 69, 1382–1409. [Google Scholar] [CrossRef]
  18. Roy, A.; Acharya, T.; Das Bit, S. Social-based reputation-aware data forwarding for improved multicast delivery in the presence of selfish nodes in DTNs. Int. J. Commun. Syst. 2020, 33, e4235. [Google Scholar] [CrossRef]
  19. Bounouni, M.; Bouallouche-Medjkoune, L. Acknowledgment-based punishment and stimulation scheme for mobile ad hoc network. J. Supercomput. 2018, 74, 5373–5398. [Google Scholar] [CrossRef]
  20. Wang, E.K.; Chen, C.M.; Yiu, S.M.; Hassan, M.M.; Alrubaian, M.; Fortino, G. Incentive evolutionary game model for opportunistic social networks. Future Gener. Comput. Syst. 2020, 102, 14–29. [Google Scholar] [CrossRef]
  21. Wu, J.; Mo, W.; Yin, X.; Bai, G. Research on opportunistic routing incentive mechanism based on repeated game in WMNs. Comput. Eng. Appl. 2018, 54, 5. [Google Scholar]
  22. Haq, A.; Faheem, Y. A peer-to-peer communication based content distribution protocol for incentive-aware delay tolerant networks. Wirel. Netw. 2020, 26, 583–601. [Google Scholar] [CrossRef]
  23. Li, L.; Zhong, X.; Jiang, Y. IAR-GT: An Incentive Aware Routing based on Game Theory for Selfish Opportunistic Networks. KSII Trans. Internet Inf. Syst. 2019, 13, 152–171. [Google Scholar]
  24. Xiong, Z.; Xiao, N.; Xu, F.; Zhang, X.; Xu, Q.; Zhang, K.; Ye, C. An equivalent exchange based data forwarding incentive scheme for socially aware networks. J. Signal Process. Syst. 2021, 93, 249–263. [Google Scholar] [CrossRef]
  25. Xiong, Z.; Li, X.; Zhang, X.; Zhu, S.; Xu, F.; Zhao, X.; Wu, Y.; Zeng, M. A service pricing-based two-stage incentive algorithm for socially aware networks. J. Signal Process. Syst. 2022, 94, 1227–1242. [Google Scholar]
  26. Zhang, X.; Rao, Y.; Xiong, Z.; Deng, H.; Xu, F.; Yuan, L. Resource-constrained and socially selfish-based incentive algorithm for socially aware networks. J. Signal Process. Syst. 2023, 95, 1439–1453. [Google Scholar]
  27. Spyropoulos, T.; Psounis, K.; Raghavendra, C.S. Spray and wait: An efficient routing scheme for intermittently connected mobile networks. In Proceedings of the 2005 ACM SIGCOMM Workshop on Delay-Tolerant Networking, New York, NY, USA, 26 August 2005; pp. 252–259. [Google Scholar]
  28. Cui, J.; Liu, S.; Chang, Y.; Liu, Q.; Wu, Q. Efficient Routing Algorithm Based on Virtual Currency Transaction in DTN. Comput. Sci. 2024, 51, 300–308. [Google Scholar]
  29. Li, X.; Jiang, P.; Chen, T.; Luo, X.; Wen, Q. A survey on the security of blockchain systems. Future Gener. Comput. Syst. 2020, 107, 841–853. [Google Scholar] [CrossRef]
  30. Deng, M.; Lyu, Y.; Yang, C.; Xu, F.; Ahmed, M.; Yang, N.; Xu, Z.; Ke, C. Lightweight Trust Management Scheme Based on Blockchain in Resource-Constrained Intelligent IoT Systems. IEEE Internet Things J. 2024, 11, 25706–25719. [Google Scholar] [CrossRef]
  31. Matsumoto, S.; Reischuk, R.M. IKP: Turning a PKI Around with Decentralized Automated Incentives. In Proceedings of the 2017 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2017; pp. 410–426. [Google Scholar]
  32. He, Y.; Li, H.; Cheng, X.; Liu, Y.; Yang, C.; Sun, L. A Blockchain Based Truthful Incentive Mechanism for Distributed P2P Applications. IEEE Access 2018, 6, 27324–27335. [Google Scholar] [CrossRef]
  33. Zhang, W.; Wang, H.; Hua, H.; Wang, Q. Selfish Mining and Defending Strategies in the Bitcoin. Intell. Autom. Soft Comput. 2022, 34, 1861–1875. [Google Scholar] [CrossRef]
  34. Keränen, A.; Ott, J.; Kärkkäinen, T. The ONE simulator for DTN protocol evaluation. In Proceedings of the 2nd International Conference on Simulation Tools and Techniques, Rome, Italy, 2–6 March 2009; ICST: Brussels, Belgium, 2010; pp. 1–10. [Google Scholar]
Figure 1. Socially aware networking.
Figure 1. Socially aware networking.
Electronics 13 03044 g001
Figure 2. Flowchart of message transaction.
Figure 2. Flowchart of message transaction.
Electronics 13 03044 g002
Figure 3. Schematic diagram of the blockchain.
Figure 3. Schematic diagram of the blockchain.
Electronics 13 03044 g003
Figure 4. Message delivery probability with different percentages of selfish node.
Figure 4. Message delivery probability with different percentages of selfish node.
Electronics 13 03044 g004
Figure 5. Average latency with different percentages of selfish nodes.
Figure 5. Average latency with different percentages of selfish nodes.
Electronics 13 03044 g005
Figure 6. Network overhead for different percentages of selfish nodes.
Figure 6. Network overhead for different percentages of selfish nodes.
Electronics 13 03044 g006
Figure 7. Message delivery probability under different message TTLs.
Figure 7. Message delivery probability under different message TTLs.
Electronics 13 03044 g007
Figure 8. Average latency at different message TTLs.
Figure 8. Average latency at different message TTLs.
Electronics 13 03044 g008
Figure 9. Network overhead at different message TTLs.
Figure 9. Network overhead at different message TTLs.
Electronics 13 03044 g009
Table 1. Parameter settings for simulation experiments.
Table 1. Parameter settings for simulation experiments.
ParameterValue
Simulation time12 h
Number of nodes180
Simulation area4500 m × 3400 m
Transmit speed250 kB/s
Transmit range10 m
Movement modelShortestPathMapBasedMovement
Routing protocolSpray and Wait
Buffer size10 M
Message TTL6 h
Transmit energy4 W
Initial energy2000 J
Message creation interval25 s–35 s
Message Size500 kB–1 MB
α 0.1
β , γ , σ 1 , σ 2 0.3
ρ 0.6
φ 0.45
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, X.; Li, Y.; Xiong, Z.; Liu, Y.; Wang, S.; Hou, D. A Resource-Based Dynamic Pricing and Forced Forwarding Incentive Algorithm in Socially Aware Networking. Electronics 2024, 13, 3044. https://doi.org/10.3390/electronics13153044

AMA Style

Zhang X, Li Y, Xiong Z, Liu Y, Wang S, Hou D. A Resource-Based Dynamic Pricing and Forced Forwarding Incentive Algorithm in Socially Aware Networking. Electronics. 2024; 13(15):3044. https://doi.org/10.3390/electronics13153044

Chicago/Turabian Style

Zhang, Xuemin, Yuan Li, Zenggang Xiong, Yanchao Liu, Shihui Wang, and Delin Hou. 2024. "A Resource-Based Dynamic Pricing and Forced Forwarding Incentive Algorithm in Socially Aware Networking" Electronics 13, no. 15: 3044. https://doi.org/10.3390/electronics13153044

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop