Distributed consensus ‐ based routing protocol with multiple mobile sinks support for wireless sensor network

Non ‐ uniform node distribution in a randomly deployed network causes inefficient routing when some abnormalityor events at certain parts of the network cannot be detected due to a coverage hole problem. Existing works to improve routing efficiency in randomly deployed network utilise mobile sink to prolong nodes lifetime is either centred around the static sink or movement through random patterns. Few works had considered multiple mobile sinks to route packets in such network distribution. In fact, important aspect such as collaborations among mobile sinks is not well considered, where the decision made by each mobile sink in most existing approaches tend to maximise the individual sink's utility rather than benefiting wider parts of the network. Thus, a decision based on consensus may benefit more parties and eventually lead to better decision. A distributed collaboration mechanism may assist nodes mobility in improving routing efficiency. Thus, the authors proposed the consensus ‐ based routing protocol, which aims to improve routing efficiency in randomly deployed network, by deciding relocation of mobile sinks based on coverage factor, in order to reduce energy consumption, providing more balance sinks distribution and better network coverage. Simulation results show good performances of proposed approach in terms of nodes lifetime, energy consumption, delay, packet delivery ratio and coverage hole, compared to other existing protocols.


| INTRODUCTION
Packets may be routed inefficiently due to the coverage hole existence in decentralised and randomly distributed networks. Moving the sinks is among the most effective solutions in wireless sensor networks (WSNs) [1]. To improve the lifetime of the nodes in large-scale networks, many algorithms relocate a mobile sink toward the bottleneck nodes in the network either through uncontrolled (random) or controlled mobility [2][3][4]. This mobility reduces the formation of holes in the network and extends the dynamic property of the WSNs (node deaths, ad-hoc topology) by frequently changing the network topology [5], extending network lifetime [5,6] or reducing the energy consumption of the network [5,7,8]. However, most of these solutions are centralised, in the sense that the proposed schemes determine optimal sink routes and sojourn times based on the knowledge of global network parameters. This is not necessarily feasible in WSNs. In fact, most of these works consider energy-based factors in its decision-making.
Many of existing works rely on the third party for identifying the sink mobility path. The information in [9] is sent to a designated sink (third party), where the sinks will then be assigned to the sites using Hungarian assignment algorithm. The approach in [1] considers energy and distance while considering the next migration points. A list of forbidden and the allowable sites is constructed and the list is used by the designated sink, in determining the sites. Among the consequences of the third-party dependability is in terms of the information exchanged. The solution is not scalable to a higher number of base stations, since the number of constraints increase exponentially [9,10]. In addition, it requires a large amount of data exchange between the sink nodes that causes delay. However, relying on the third party (designated sinks) based on exchanged information could also be manipulated when constructing the forbidden or approved lists and if the information is not accurate, the site may not be visited at all.
Many of the existing multiple sink mobility problems use integer linear programme either to minimise the maximum energy spent in each round to determine the locations of the sinks [11] or to achieve optimal values of network lifetime [1,9]. In [12], all combinations need to be computed to find the best next migration points, which is impractical for a network with large number of sinks and sites. These mechanisms consume a lot of resources and may benefit an individual sink rather than the overall network. As a distributed system, WSNs require mechanism that can promote advantages to larger part of the network, in order to ensure the overall network longevity.
The controlled single-sink mobility problem is widely investigated in the literature compared to multiple-sink mobility problem. Algorithms for single-sink mobility are not directly applicable to the multiple-sink case, which may involve a number of possible combinations compared to single-sink case, in deciding the relocation point. Among the existing works involving multiple sinks are those of Basagni et al. [2], Choi et al. [4,[13][14][15]. Since there is no fixed infrastructure or cooperative control base in distributed wireless sensor networks, the data transmission requires a mutual aid among the nodes, through consensus [16][17][18][19][20], negotiation-based methods [21][22][23], learning-based approach [24,25] or scheduled-based mechanisms [26,27]. However, these mechanisms have some similarities to the centralised systems which incur a high computational cost and may be quickly exhausted. In addition, the collaboration between sinks is still lacking, assuming that all other nodes will always agree with the decision made by a sink. This may not be true as nodes in the distributed network tend to avoid participating due to their resource restriction. Thus, a collaboration mechanism that comes with lower costs is needed.
Blockchain, a more recent and well-known technology, has been applied in domains such as e-commerce, online business and banking due to its ability to be trustable, self-executed and self-enforced in the absence of third-party management [28]. It tracks, coordinates and carries out transactions and stores information from a large number of devices, enabling the creation of applications that require no centralised cloud [29]. Even though the concept of blockchain originated as a tool for a cryptocurrency, it is not necessary to develop a cryptocurrency to use a blockchain and build decentralised applications [30]. Due to these properties, blockchain has gained much attention beyond the purpose of financial transactions [31]. As a trusted, decentralised, self-organising ledger system, the blockchain is very suitable for multi-hop distributed WSNs even though its application in WSN is still few [32]. Thus, the proposed approach was motivated by the concept introduced in blockchain technology, taken into consideration of the features it offers, but is not aimed to be utilised in the real blockchain platforms.
Even though researches involving mobile sinks have been considered by some researchers, they still suffer from several challenges. The motivations for the work of of this paper are based on several issues, including: � While the number of existing researches involving multiple mobile sinks is still few, it is observed that the factors that trigger the sink movement in existing work are restricted to either energy, predetermined grid or probabilistic approach (sojourn time or location). � Collaborative decision based on consensus in distributed network is necessary not only to avoid waste of resources, due to duplication, redundancy, excessive information exchange etc., but also to get a wider view from participating sinks in order to benefit larger part of the network. Unfortunately, the collaboration among decision-makers (multiple mobile sinks) in existing consensus or decision is still lacking. � The features and capabilities of distributed consensus-based approach such as blockchain have been recognised in many fields, where security and trust have been the basis in blockchain-based solutions. Despite its benefits, the concept of consensus-based on blockchain is applied limitedly to model distributed solutions, considering other basis than security.
As WSN is resource constraint and distributed network, and it lies on two important factors which are trust and resources. The proposed consensus-based routing protocols (CBRP) differ from the simple coordination and are stated as follows: First, an innovative CBRP is proposed which aims to improve network efficiency through a distributed and decentralised decision-making in WSN. Second, the proposed protocol will contribute to the limited number of controlled mobility routing approaches involving multiple sinks, considering a coverage hole as an input factor that is given less attention in many routing decisions. Third, the features considered both the resources constraints (by avoiding high computation costs) and also the collaboration aspect together (which is feasible through verification of rules).
The remainder of this paper is organised as follows: Section 2 reviews the related work; Section 3 defines our proposed protocol; Section 4 describes the rules in the proposed protocol; Section 5 presents our simulation results and Section 6 concludes the paper.

| RELATED WORK
In [32], the author proposed a trusted routing scheme to ensure the routing security efficiency of WSNs using blockchain and reinforcement learning. The results show good performances in terms of delay, energy consumption and throughput. The approach consists of server nodes (the preauthenticated nodes of the blockchain) that are responsible to verify the proof of authority in the blockchain based on several related routing information (token name, timestamp, number of packets and route address). All the routing nodes get the relevant routing information from the blockchain network instead of their neighbour routing nodes. The token in the contract uses transmission and receipt of packets to check if the number of packet received by destination is equal to the number of packets sent by the source. Only the validation of more than half of the authenticated server nodes can allow a server node to upload the transaction to the blockchain network. However, the approach did not consider resource constrained in WSNs, that is, if the server node is a node having similar capabilities, then it would be overloading to the server node.
In [33], a unique distributed blockchain-based contractual routing (BCR) protocol is proposed for a network of untrusted Internet-of-Things (IoT) devices. It utilises smart contract to discover a route to destination or data gateway within heterogeneous IoT networks. The BCR replaces the transmission of control messages in the existing routing protocols with smart contract function calls in the BCP. In the proposed approach, the coverage factors are considered in setting up the rules that requires for consensus. The coverage factors include the coverage hole detection, coverage recovery and coverage redundancy. The most common works conducted in previous years in determining the coverage hole is based on Euclidean distances (and angles) such as in [34]. The coverage recovery is referring to the guiding the movement of the mobile sinks, as can be seen in [35], where the distributed coverage hole recovery algorithms for the wireless sensor networks use the vector methods to decide the magnitude and direction of the mobile nodes. While in [36], the sensor will choose the midpoint or 3/4 point between the sensor target location and its current location as its new target location.
Avoiding redundancy in distributed network is crucial as redundancy may involve unnecessary resources. In order to avoid such coverage redundancy in distributed network, redundancy check is necessary. Several sensing disk coverage models that use geometric properties were introduced in the existing redundancy checks. These include sponsor sector [37], crossing coverage [38], and Voronoi vertices and intersections [39]. In [39], the author studied the problem of detecting and eliminating redundancy in sensor networks with a view to improving energy efficiency and presenting an efficient distributed solution in cases of sensor failures and insertion of new sensors, while preserving the network's coverage.

| CONSENSUS-BASED ROUTING PROTOCOL
The proposed consensus-based routing protocol (CBRP) considers a network that consists of a set of static sensors, S = s 1 , s 2 , …, s n . Each s i has a sensing range r i , where any point that is within a distance of r i from s i can be monitored by s i . A location in A is covered by s i if it is within s i 's sensing range and is said to be j − covered if it is within at least j sensors' sensing ranges. Multiple numbers of mobile sinks were deployed in the network, MS = MS 1 , MS 2 , …, MS n , in a twodimensional area A, where each mobile sink MS i , i = 1, …, n, is located at coordinates (x i , y i ) inside A and has a sensing range r j , and is responsible for its own Voronoi polygon, that is, only one MS i may exist in one polygon, and each s i within MS i polygon will be reported to MS i . Figure 1 illustrates the framework of CBRP.
The scope: The mobility in WSNs is usually controlled by one of the three methods: the sink moved between the sensor nodes and gathering the sensor data, the sensor nodes are moved and mobile relays are deployed to gather and deliver data to the static sink [3]. The sink movement is classified into controlled and uncontrolled strategies [2]. CBRP uses the first method where the sink moved between the sensor nodes to gain the data. The sink mobility is based on controlled moving strategy, where the sink movement depends on three coverage factors, namely coverage level, coverage recovery and coverage redundancy. Different types of mobility require different approach. CBRP considers a network with resourceful mobile sinks and resource constrained sensor nodes, which is a common network structure involving distributed network. Thus, the applicability of CBRP in most of the existing distributed network structure is promising.

| Components in CBRP
CBRP implements the concept of a contract, called a topology adjustment contract. The components in the topology adjustment contract in CBRP consist of participants, distributed ledgers (incorporating five rules: coverage detection, relocation, redundancy check, force-based and consensus) and verification components done by every individual participant.

| Smart contract
Smart contracts are digital contracts that are self-enforcing which makes it prohibitively expensive to break a contract [40].

F I G U R E 1
The framework of consensus-based routing protocol It is also called a self-executing contract, blockchain contract or digital contract, and is a set consisting of pre-programmed computer instructions (codes) that all the participants must agree on. In general terms, a smart contract refers to the computer protocols or programs that allow a contract to be automatically executed or enforced taking into account a set of predefined conditions. In CBRP, the contract is defined as a set of rules (or functions) that participant needs to react upon. The functions within the contract is called whenever certain conditions are triggered. Figure 2 shows the four rules in CBRP: the coverage, redundancy, relocation and consensus that each mobile sink adheres in improving the network performances.

| Participants
In a blockchain-based approach, the enforcement of rules in a distributed ledger model is by the participants. Mobile sinks in the network are potential participants in CBRP. These potential participants will communicate with each other at the beginning (initial construction of the region) and also when topology adjustment is needed. These mobile sinks are considered as potential participants as some of them may not be necessarily involved in the adjustment process. Each participant is bound by four sets of rules specified in Sections 3.2 to 3.1.3.
An individual decision based on these rules will be sent to the requesting mobile sink, which will then take action based on the majority of agree or disagree results (considered as consensus) decided by other participants.

| Consensus
A common consensus is reached by a majority of nodes. This process of voting on one node is known as consensus. If a node wants to make an update on their side, other nodes must vote on this decision to make sure the update is legitimate and secure. Once it is done, the information is updated to the most recent and the agreed upon updates on all nodes simultaneously.
The following sections explain the four modules in CBRP implementation.

| Setup module
The setup module is executed whenever a region in the network needs to be constructed, that is, in the beginning of deployment and whenever a topology adjustment contract is executed (upon execution of a consensus module). This module aims to construct partitions for each mobile sink.

| Construction of region
For large networks, partitioning a network into several regions or partitions could allow nodes in the network to sustain longer. If a single sink is in charge of each partition, then a more efficient mechanism is established in terms of several network performances such as energy efficiency, network latency, packet loss and lifetime. This is because the nodes can report to the sink which is closer to the nodes.
CBRP partitions the network into several Voronoi polygons. To make use of the resource efficiently, each mobile sink is responsible to monitor a region and collaborate with its nearby mobile sinks in order to balance and adjust the region covered. In the initial setup module, each mobile sink will share its location with other mobile sinks in the network in order to setup its region.

| Initialisation module
This module will initiate and trigger the need for topology adjustment to other mobile sinks, when a detected coverage hole in a constructed polygon is less than the coverage threshold. Sensors will calculate the distance and angle to move. In a CBRP initiation module, the mobile sink will send a request for topology adjustment. Coverage has been identified as the fundamental issue and one of the most important performance metrics in sensor networks that reflect how well a field is monitored or covered by sensors [34,36,41]. Thus, CBRP considers a coverage hole as the factor that triggers protocol implementation.
CBRP achieves these through two rules: (1) coverage level detection rule and (2) mobile sink relocation rule which are explained in Sections 3.3.1 and 3.3.2. Each mobile sink is bound by these rules when initialising a request and plan for a relocation request. Algorithm 1 shows the conditions and rules related to the initialisation module.

| Rule 1: Coverage detection algorithm
There are several conditions that lead to topology changes. CBRP is based on coverage conditions where the protocol will be executed when inefficient coverage level is detected.
The four rules in consensus-based routing protocol contract Different applications may require different levels of coverage. Applications such as battlefield monitoring may require full area coverage in which every location needs to be covered by at least one or more sensor nodes. Even though full coverage provides the best surveillance quality, some applications such as monitoring applications (temperature applications and forest fire applications) only require partial coverage [42]. CBRP considers partial coverage; thus, the energy consumption of sensor nodes is less, and network lifetime is longer, due to the requirement of fewer nodes in the deployment area. These conditions need to be detected to ensure efficient coverage in the network. In [41], perimeter coverage is used in detecting the coverage level. This will illustrate whether the perimeter of a sensor under consideration is sufficiently covered or not (based on computed distance and angle). A correct answer will be obtained by collecting coverage information from all the sensors. The coverage is detected using equations below.
For any two nodes s i 's and s j 's, a point on the perimeter of si is perimeter-covered by s j if it locates within the sensing range (r s ) of s j .
The distance between two sensors s i and s j located at positions (x i , y i ) and (x j , y j ), respectively, is given by dðs i ; s j Þ ¼ ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi If the distance exceeds 2r s , s j covers no part of s i 's perimeter. Otherwise, s j covers a certain range of s i 's perimeter. Let y i = y j and x i ¿ x j . The angle α is computed as follows: Thus, the arc of s i within the range [π − α, π + α] is perimeter−covered by s j .

| Rule 2: Relocation algorithm
Once a coverage hole is detected, a mobile sink will move towards the coverage hole area to gather information of the coverage hole area. However, with the lack of central and global information, it depends on surrounding nodes to assist its mobility for the distance it needs to travel and the angle it should take.
CBRP uses vector-based mechanisms in determining the mobility of mobile sinks (i.e. the direction and moving distance), as proposed in [35]. In addition, to ensure that the new position (relocation) that it plans benefits the existing network, the verification module and consensus module explained in Sections 3.3.2 and 3.1.3 are used. The vectors are calculated as follows: The resultant vector V R

| Verification module
Upon receiving a relocation request (new location and angle described in Section 3.3.2), the neighbouring mobile sinks will individually validate the new location based on the pre-agreed rules to check whether the new location requested is appropriate or otherwise. In the verification module, neighbouring mobile sinks will agree on a request if the new location will not fall in the fully redundant area. The valid relocation position Algorithm 1 Initialization Rules: (Coverage level detection and relocation request)

Algorithm 2 Relocation Verification Rules
will be accepted and propagated, or else it will be rejected. The accepted information will be updated by each participant. Thus, each participant (the mobile sinks) will gain the updated version of each other. Algorithm 2 shows the sequence of rules that each mobile sink will follow in order to verify the relocation request.
3.4.1 | Redundancy mechanism CBRP uses redundancy as a verification factor that determines other mobile sinks decisions regarding the new location. The aim of redundancy checking is to ensure that the proposed location (new location calculated by the request mobile sink) is at an appropriate location, not overlapping with other mobile sinks regions and is not unnecessary movement (as moving to a redundant location which is already covered by other mobile sinks will not contribute to the performance improvement of the network). To reduce the number of redundant nodes, a redundant elimination algorithm is proposed in [39]. In [43], the author minimises the overlapping area by controlling the density of WSNs. CBRP utilises the approach used in [39] in checking the redundancy.

| Force-based mechanism
In this module, the distance between the new location and the other mobile sinks is checked. The relocation location could be too close or too far from the other mobile sinks. In order to balance the position of the request mobile sink's new location with the other surrounding mobile sinks, a force-based mechanism is considered in CBRP. Force-based mechanisms are highly used in solving coverage hole problems [44]. In order to verify this topology change request, a pre-agreed rule is determined for all mobile sinks. In CBRP, the attributes of electromagnetic particles, where an expelling force will push the two electromagnetic particles that are too close to each other.

| Consensus module
Before a new data or transaction in a blockchain-based module becomes a part of the consensus-agreed ledger, it needs to be validated either by some or all participants, depending on the network setup. Consensus is the key for the proper functioning of a blockchain, which basically consists of a mechanism that determines the conditions to be reached and to achieve consensus in a distributed network without central authorities and with participants who do not necessarily trust each other. Several authors have conducted a good comparison of consensus algorithms [29,45]. Reviews on several alternative consensus methods can be found in [29]. An example of the existing consensus algorithms is practical Byzantine fault tolerance (PBFT) [46], and the federated Byzantine agreement (FBA) [47].
In a large WSN network, it is not practical to get consensus from all mobile sinks in the network due to distance and uncertain nature, including physical obstacles of the distributed network. In such situations, certain numbers of verifications and approvals from neighbouring mobile sinks are required and involved participants will make decisions based on the preagreed rules. The votes in CBRP are controlled based on time frame. Within a time frame, if majority of the mobile sinks' responses is positive (agree), the request is permitted, and the request mobile sink will broadcast the decision. Other mobile sinks will update the information and broadcast the updated information to their members. Otherwise, if there is no response from the mobile sinks within a time frame, a negative vote is considered.

| SIMULATION RESULTS
This section demonstrates the performance of CBRP. The simulations are conducted using MATLAB software that measures five network performance indicators. These are number of dead nodes, energy consumption, delays, packet delivery ratios and percentage of coverage holes. The performance of CBRP has been compared with respect to the following metrics: � Network lifetime, that is, when the first node dies having totally depleted its energy. � Delay, that is, the time that goes from packet generation at a sensor node to the successful delivery of that packet at the sink. � Packet delivery ratio which is the percentage of number of packets delivered in total to the total number of packets sent from source node to destination node in the network. � Coverage level is the percentage of coverage area of nodes over total area.

| Simulation scenarios and parameters
All sensor nodes are static and uniformly distributed for grid deployment. The sink node is mobile for all network scenarios. The networks have the same initial energy as well as the same energy requirement for sensing, processing, transmitting and receiving sensory data. Three sets of experiments have been performed to measure CBRP performances for a network size of 400 � 400 m 2 , with different network densities, ranged from 150 to 300 nodes. Each round in this simulation is considered as 100 s. The parameters used are summed in Table 1.
In this simulation, the mobile sinks create their region using the arbitrary square bounded Voronoi diagram, to compute the individual Voronoi cell area that is bounded in an arbitrary square. Messages between nodes and mobile sinks are exchanged: First, the mobile sinks will send broadcast messages that consist of the sink ID and its coordinates. The nodes that receive the message will accept it and send their information to the sink. The message sent by the node consists of the sink information, the node's ID and its coordinates. Information is also broadcast to other mobile sinks and mobile sinks that receive the message will accept and send their information back to the mobile sink that broadcasts the message. Mobile sink will calculate the length (based on the coordinates informed by the nodes) to determine nodes belonging. A threshold value is set for this, where if the length is less than the threshold, the nodes belong to the same region. The Dijkstra algorithm is used to calculate the shortest distance between mobile sink and the nodes. The mobile sink will then compute the path if multi-hop exists in the network. If there are paths available, it will add all the nodes' path together.
The coverage level is simulated in the MATLAB by considering a coverage probability, as proposed in [48]. The coverage level before and after the mobile sink's moved is recorded. Then, a threshold value is used to evaluate the coverage level condition (in this simulation, the threshold is set to 0.9). The inpolygon function in MATLAB is used to identify the nodes belonging (whether the node is inside or outside a region). Each node in a region will compute its coverage probability. The coordinates of nodes having the lowest and the highest coverage probability levels in each mobile sink region are recorded, respectively.
Each mobile sink will then calculate the distance between its location and the nodes within near mobile sink that have the lowest coverage hole. It will find the nearest nodes (having minimum distance) and inform them its ID. It will then check  for the coverage level again and stop whenever no hole is detected. For the lifetime performance measurement, the radio-energy dissipation model that is commonly used in many researches, including in [49] is considered in this simulation.
The first set of experiment aims to demonstrate the effectiveness of consensus mechanism in CBRP to overall network. Figures 3 shows the performances of proposed model in terms of packet delivery ratio, energy consumption, delay and hole area when consensus factor is considered (and neglected).
The second set of experiment is to observe the performance of CBRP with the movement of the mobile sinks. Figure 4 illustrates the communication path and coverage level before and after the mobile sink moves to location upon consent of other mobile sinks. It is obvious that the movement of mobile sink results in more balance and fair distribution of region among mobile sinks. The results of such movement are recorded in Table 2. From Table 2, it can be observed that the network performances improve when the mobile sink is at the new position. The delay is less as the location is located closer to the nodes around it. This as well causes the packet delivery ratio to increase. As more area is covered by the mobile sinks, less area is vacant and the energy consumption is less as less movement is needed when the sink is at a balance position.
In the third experiment, CBRP performances are compared with other existing work, that is, random walk, GMRE and ETARP. The nodes' initial energy considered in  Figures 5-7 show the results when different numbers of nodes were deployed in the network (ranging from 100 to 300 nodes).
To evaluate CBRP performances as controlled sink mobility protocol, its performances are compared to GMRE which is a controlled mobility protocol type that improves the uniformity of the energy consumption by controlling the sink mobility towards the area where nodes have the highest residual energy [2].
The performances of CBRP are compared to a distributed trust-based protocol, that is, ETARP, where this protocol discovers and selects routes with high expected utility which will be both energy efficient (minimum energy cost) and trusted. CBRP is compared to ETARP to observe its performances in terms of the five network metrics (instead of focusing on security aspects). The other protocol used in the performances comparison is random walk, which is a common and traditional sink mobility protocol. Figure 5 shows the number of dead nodes in CBRP, random mobility, GMRE and ETARP when different numbers of nodes (150-300 nodes) were deployed in the network. The network lifetime is defined as the time until the first node dies after fully depleting its energy. The number of dead nodes in CBRP is the least compared to the other three protocols. When 150 nodes were deployed, the number of dead nodes in ETARP is also a minimum followed by GMRE and random walk. However, the number of dead nodes in ETARP is more than the number of dead nodes in GMRE when more nodes were deployed (200-300 nodes). The nodes in random walk start to deplete sooner compared to the other three protocols and the number of dead nodes in random walk increases with the increase number of nodes. On the other hand, the number of dead nodes in CBRP is still low with the increase in number of nodes deployed.
By utilising mobile sink in a network, the nodes which consume the largest amount of energy for data relaying -139 changes over time. This increases the network lifetime as energy depletion is more balanced among the nodes. In GMRE and random walk, the decision about whether to move or not is due at certain specified time. The energy consumption is depending on the time specified. The lower the time, the higher the network lifetime is. As random walk did not enforce any energy-based criterion for sink movement, its performance is the worst among all the mobility schemes. The specific sink random movement in random walk varies its performances, due to a non-negligible probability of poor performance. For GMRE, even though it considers nodes residual energy, the mobility decision is based on the current status of the network and on a local view of the residual energy. Both random walk and GMRE do not have a global view of the network topology and the network traffic, resulting in decrease performance with respect to CBRP. On the other hand, CBRP considers multiple sinks utilisation and each sink is dedicated to one specific region. The energy consumption is significantly lower as communication involves shorter distance between nodes and its sink. CBRP involves reduced sink mobility as it enforces coverage-based criterion that requires the sink to move only when low coverage level is detected. In addition to this, the decision about whether to move or not is upon consensus among neighbouring sinks, thus a wider view of the network topology and traffic is possible. This could lead to a better move with respect to global network lifetime maximisation. Figure 6 shows the sum of residual energy in the network associated with the different mobility schemes per node residual energy over time. CBRP considers the energy dissipation model used in [50]. Least energy was consumed in CBRP, followed by GMRE, ETARP and random walk. The number of nodes does influence the energy consumed in the network (reflected by Figure 6a-d. In random walk, the sink tends to move to sites located centrally, resulting in better latency but high energy consumption as nodes in the central areas always consume energy regardless of the sink location (even when the sink is located at the centre or on the perimeter). Lower energy consumption is experienced at the nodes F I G U R E 6 Energy consumption in CBRP, random mobility, GMRE and ETARP considering (a) 150 nodes, (b) 200 nodes, (c) 250 nodes and (d) 300 nodes 140close to the sink. As GMRE enforces energy-based criterion, the sink tends to move towards high energy nodes. As the mobility decision in GMRE is based on a local view of the network, more energy is consumed by the nodes that exhibit lower energy to reach the sink. This can be the worst when more nodes are deployed in the network. In contrast, utilisation of multiple sinks allows close communication between the sink and the nodes in a region. The coverage-based and consensus factors considered in CBRP allow more balance energy consumption in the network. In any mobility schemes, overhead exists due to route set up and release when the sink changes site as well as the cost required for gathering information such as residual energy at adjacent sink sites. Much lower mobility in CBRP corresponds to lower overhead for such route management compared to random walk, GMRE and ETARP. Figure 7 shows the performance results in terms of delay, that is, the time from packet generation at a sensor node to the successful delivery of that packet at the sink. The average length of routes to the sink implies a higher packet latency. This is obvious for random walk and GMRE as both protocols do not have the global view of the network. The energy-based criterion used in GMRE, for example, may lead the sink to high energy nodes that result in a longer route for the other nodes to reach. Data latency is increased due to newly generated packets while the sink is moving and those in transit toward the sink are established. The sink will spend time not only at the centre, but also along borders. Thus, longer average routes are imposed. Figure 8 shows the packet delivery ratio in CBRP, ETARP, GMRE and random walk. Packet delivery ratio is the percentage of packets generated at the sensor nodes that are successfully delivered to the sink. It is observed that the packet in CBRP is always successfully transmitted. A high packet delivery ratio in CBRP is seen in all the four situations (different density). ETRP also performs well (slightly low) compared to CBRP. The number of nodes does not affect much in CBRP. However, the packet delivery ratio in random walk decreases with the increase in the number of nodes. Less packet delivery ratio s in GMRE and random walk may be due to more frequent moves in this protocol when more nodes were involved. Also, frequent change of -141 sink position may cause inaccurate reporting when the nodes send information to outdated sink locations which causes packet drop. On the other hand, the verification and checking mechanisms in ETARP and CBRP require confirmation and consensus rather than simply moves based on the sink's own decision. Figure 9 shows the results of area covered in CBRP, ETARP, GMRE and random walk. As nodes in the networks are randomly deployed, the coverage hole when fewer nodes are deployed may be higher (as shown in Figure 9a compared to the network with more nodes (Figure 9c, d. In such scenarios, CBRP outperforms all the other protocols. The performances of ETARP and GMRE do not differ much. CBRP enforces coverage-based criterion in the sink mobility decision, which ensure that the network is well covered by each sink. For such, its performance in terms of coverage level is obvious. The consensus mechanism introduces in CBRP also contributes to its good performance, as the decision made need to be agreed by neighbouring sinks, resulting in more balance and better coverage. Based on the simulation results, it is observed that CBRP performs the best in the five performance metrics (number of dead nodes, energy consumption, delay, packet delivery ratio and coverage hole) compared to the three existing protocols: GMRE, ETARP and random walk. Due to the fair distribution of packets, the nodes in the network are able to sustain longer. The energy consumes in CBRP is the least, the packet delivery ratio is highest and the delay is slightly shorter than the three existing protocols. CBRP also covers better compared to the rest.

| CONCLUSION
Here, the authors have proposed an innovative protocol, called CBRP, for distributed and decentralised decision-making WSN. CBRP utilises multiple mobile sinks for efficient routing in distributed manner. The proposed protocol is a controlled mobility type where the movement of mobile sinks is assisted by the nodes in the network and this type of mobility approaches is very few. Most existing works use energy factor in assisting mobile sinks or nodes mobility. Instead, CBRP uses coverage as the factor that determines mobile sinks mobility, taking nonuniform distribution in random deployment as its focus.
The proposed protocol lies around several features including distributed network, uncertain environment, limited knowledge, non-uniform distribution and collaborative mechanisms. In decentralised and randomly distributed network where decision made depends only on information provided by nearby nodes, there is no guarantee that the nodes or sinks that participate are the reliable ones. The decisions taken by nodes in most of existing works are based on values that satisfies nodes' own utilities and not part or majority of the network. Based on these situations, mechanisms that can provide verification and agreed-upon platform are needed.
Recent consensus concept called blockchain could support these needs. However, the concept is considered limitedly in WSN. CBRP integrates this concept in mobile sinks' decision making with the assistance from surrounding nodes through five modules (setup modules, initialisation module, relocation module, verification module and consensus module). In observing the performances of CBRP, simulations were conducted on five performance metrics including number of dead nodes, energy consumption, delay, packet delivery ratio and percentage of coverage hole.
Decision based on consensus benefits more parties and eventually lead to better decision, as revealed through CBRP outstanding performances over the other compared routing protocols, that is, GMRE, ETARP and random walk. The collaboration among nodes and mobile sinks and between mobile sinks could improve the routing efficiency. The mobility assistance provided by normal nodes using vectorbased approach had as well improved the coverage hole in the network. Collaboration among mobile sinks and verification before decision is made balances the network performances.
In the future, it is planned to complement the investigations conducted here with experiments on real test beds. The proposed protocol could be implemented and tested on real applications, either in small scale or large scale applications. As a distributed solution, the proposed methods have great potentials in many applications that require decision making to be made in a distributed manner such as in military applications, human mobility, moving or relocating goods etc. For smaller scale applications, several sensors can be embedded in a Zigbee Arduino board and programmed to coordinate the movement among multiple devices. It can also be tested by using other protocols such as Z-Wave or LoraWAN, for applications that span over a large space.

ACKNOWLEDGEMENT
The author declares that the work presented in this paper is part of Dr Nor Khalid PhD work [51].