# A Survey of Secure Time Synchronization
## 5 Discussions for Future Work
The benefit of using clustering is that it reduces the depth of the tree which results in improved battery life of sensors and improved network lifetime by reducing energy consumption by reducing synchronization message overhead and scheduling activities. In addition, level discovery is performed only once in the TPSN, and therefore, if one of the nodes dies, all the child nodes of the dead node will fail. One of the possible solutions to avoid is that, whenever some critical nodes request tree reconstruction, a level discovery should be performed again. In this way, some nodes which have low energy levels will not participate in the parent node election during level discovery. Any of the above suggested improvements in the TPSN will increase the accuracy of the TPSN and will reduce energy consumption. In addition, the TPSN would be able to handle topology changes more efficiently and in better way than before. Figure 13: TPSN synchronization message. Time synchronization plays an irreplaceable role in the development of a WSN, and therefore, it important to have a secure time synchronization protocol which also provides high accuracy and energy consumption efficiency. The RBS protocol provides high accuracy by removing the uncertainty of sender's delay from the critical path by using broadcast messages from a reference node. All other nodes receive these broadcast messages and use them as a reference point to compare their times with neighbor nodes and to change their clocks accordingly. Eliminating sender's uncertainty that comes from transmission and receiving times helps the RBS protocol achieve higher accuracy compared to bidirectional information exchange protocols. However, the most significant drawback of the RBS protocol is the high number of message exchanges which results in high computational complexity, network traffic overhead, and high energy consumption, which are not suitable for the limited battery power of sensors. To gain synchronization in the RBS protocol, a reference node sends a synchronization message to all the slave nodes. Two nodes (as previously shown in Figure 10), Nodes A and B, are in the communication range of Nodes R, and they will receive the message. The receiving times of messages are recorded as \(T_{a}\) on Node A and as \(T_{b}\) on Node B. Nodes A and B exchange this timing information with each other and Node B calculates the timing difference to Node A and records it by using d as follows:  
\[d=T_{a}-T_{b} \tag{18}\]  
after that, Node B can adjust its time to synchronize with Node A using d as follows:  
\[T_{b}=T_{a}-d \tag{19}\]  
The information gained is enough to continue a local time scale. By doing this, it eliminates the send time and access time from the critical path. However, the number of messages exchanged will be large when synchronizing, depending on the number of nodes in the network. It is important to reduce the number of message exchanges in order to make it suitable for WSNs. One possible solution is to use clustering which can ensure synchronization accuracy by reducing communication overhead and information exchange messages. The network can be divided into clusters as shown below in Figure 15.  
Figure 14: TPSN hierarchical Tree. A broadcast message is sent out from the base station to cluster heads to achieve synchronization between them. After achieving synchronization between the base station and cluster heads, cluster heads send a broadcast message to intra-node clusters in order to synchronize nodes within the cluster. When deciding the cluster head, it is important to consider the energy level of the node, and the distance between cluster head nodes and intra-node clusters. Firstly, a bidirectional synchronization principal can be used to synchronize the base station and cluster heads to estimate clock skew and transmission time.