# PINE: Post-Quantum Based Incentive Technique for Non-Cooperating Nodes in Internet of Everything
## 3 Proposed Approach--PINE Protocol
### Protocol Design
#### 3.3.2 Operational Phase  
In the previous phase, the discussion primarily focused on node selection, encryption, nomination, and overhearing during the round-trip communication cycle, i.e., the transmission of \(R\gets Enc_{R}\) and \(S\gets ACK/NACK\), along with addressing issues with avoiding node bias in the network. * To proceed with network operation in a stabilized network for communication cycles, initially, during the session time until \(Time_{T}\) node \(S\) analyzes the information stored in \(InTab\) and requests \(EnergyStatus\) from the next worthy hop node \(N_{S}\) such that \(N_{S}\in\{Neighbour_{S}\}\) based on the incentive. However, before blindly relying on \(InTab\), node \(S\) should be aware that the selected hop node from \(\{Neighbors_{S}\}\) may or may not be cooperative, i.e., \(N_{S}\) may transmit the direct true or false \(EnergyStatus_{N_{S}}\) to \(S\) when aiming to increase its chances of selection and becoming \(F_{j}\). Therefore, to verify the cooperativeness of \(N_{S}\), \(S\) requests the overheard \(NetInfo_{N_{S}}\), i.e., \(NetInfo\), from the neighbour-relay nodes in order to compare \(NetInfo_{N_{S}}\) (specifically the \(EnergyStatus_{N_{S}}\)) with the direct \(EnergyStatus_{N_{S}}\) and entries in \(InTab\). If any information mismatch is found, \(N_{S}\) is rejected and penalized for responding with direct false information, and \(S\) selects, nominates, and verifies the other next available neighbour from \(\{Neighbor_{S}\}\). * Furthermore, if the direct \(EnergyStatus_{N_{S}}\) requested by node \(S\) is aligned with the overheard \(NetInfo_{N_{S}}\) (specifically the \(EnergyStatus_{N_{S}}\)) and \(InTab\), such a node \(N_{S}\) is tagged as cooperative \(F_{j}\) and \(S\) successfully transmits \(Enc_{R}\) to \(F_{j}\). * The selected and nominated \(F_{j}\) performs context-awareness to discover the set of neighbour nodes \(\{Neighbour_{F_{j}}\}\); \(F_{j}\), similar to node \(S\), follows the same procedure for the selection and nomination of \(F_{j+1}\). After network stabilization, all the nodes are aware of the incentive value flooded by \(S\); therefore, \(F_{j}\) requests the direct \(EnergyStatus_{N_{F_{j}}}\) from \(N_{F_{j}}\) such that \(N_{F_{j}}\in\{Neighbour_{F_{j}}\}\) based on high incentive in order to service operations. \(N_{F_{j}}\) transmits the direct \(EnergyStatus_{N_{F_{j}}}\); in the meantime, to identify any non-cooperative activity of \(N_{F_{j}}\), \(F_{j}\) requests for overheard \(NetInfo_{N_{F_{j}}}\) (specifically the \(EnergyStatus_{N_{F_{j}}}\)) to compare the received direct and overheard information. * If any discrepancy is found, \(F_{j}\) selects and nominates the next \(N_{F_{j}}\in\{Neighbour_{F_{j}}\}\) as \(F_{j+1}\) based on the fresh direct and overheard information received. All of the \(\{Neighbour_{F_{j}}\}\) overhears the network activity of packet forwarding or intentional packet-dropping by \(F_{j}\) and updates the \(NetInfo_{F_{j}}\). It is worth noting that while it may appear that \(F_{j}\) is a cooperative node, it might exhibit a non-cooperative behaviour while performing node selection and nomination and forwarding the packet to \(F_{j+1}\), not in terms of forging \(EnergyStatus\) but rather in terms of inability to forward the packet or intentional dropping of the packet. Taking this a step further, if \(F_{j}\) successfully transmits \(Enc_{R}\) to \(F_{j+1}\), then the neighbour nodes of \(F_{j}\) increment \(PacketForwardCount\), or if \(F_{j}\) drops the packet while sending \(Enc_{R}\) to \(F_{j+1}\), every node in the set \(\{Neighbour_{F_{j}}\}\) increments \(PacketDropCount\). Therefore, in the next communication session, packet-dropping nodes have the lowest selection chances based on the final incentive calculated by node \(S\). After a certain time, if \(ACK/NACK\) is not received from node \(R\), node \(S\) assumes that the packet is lost and requests \(NetInfo\) from the neighbours and distant-neighbours to inspect the issue of intentional packet dropping by a node or a dead node.