# Wireless May Benefit Blockchain +
## 3 Consensus Among Wireless Nodes
### PoW  
It is widely acknowledged that if two computers can agree upon just a single block (i.e., the head block) in a blockchain, one can then iterate through all of the blocks in the blockchain and verify that the rest of it is identical. Therefore, forming consensus is just a matter of agreeing upon a single block across \"honest\" nodes (whose acronym is \"Byzantine\" nodes [43]) and replicating across all of the honest nodes. Will this be that simple if the nodes are wirelessly connected?  
Let us take a public blockchain like Bitcoin as an example and identify several key characteristics on which wireless connections may affect. Bitcoin allows its nodes to join or leave the network at any time. In other words, nodes should be able to join or leave our system at any time while (i) maintaining consensus; (ii) causing no deadlock in the system; and (iii) being network partition tolerant. This differentiates PoW from traditional consensus algorithms in the sense that it has to tolerate network partitions: while traditional consensus algorithms (e.g., Paxos [44], Raft [45] and practical Byzantine fault tolerance (PBFT) [43]) terminate when a consensus has been reached, PoW keeps iterating continuously, leaving a possibility that it may change at any time what the agreed-upon blockchain is.  
The problem here is that if several nodes leave the network, the consensus may never be achieved due to the inability to have a sufficient number of votes to complete the algorithm (i.e., \(n>3f+1\) for Byzantine fault tolerance (BFT)). Even worse, if several nodes join the network (and if they are Byzantine nodes), then they may be able to manipulate the vote or stop the network from achieving consensus. This is where things get more complicated with the nodes being wirelessly connected; in addition, to such Byzantine nodes, even honest nodes may not be able to correctly participate in a consensus when their connections are intermittent due to uncertainties in wireless communications.  
Since the Bitcoin PoW adopts a gossip protocol [40], there is a chance that two different nodes have heard about two different blocks that point to the same previous block, which forms a \"fork\" in the blockchain. The way that many PoW protocols resolve such a fork is to add a new block to the longest branch. Even if there is more than one branch with the same length, a new block can choose one randomly, which will immediately form only one longest branch and will grow thereafter via the gossip protocol.  
The last characteristic that wireless connections may affect is the possibility of \"live-lock\". Suppose two different forks grow separately in a blockchain, which currently shows no sign of going back to a single coherent consensus. The fundamental problem here is that we can add blocks to a chain much faster than we can learn about other nodes adding blocks to the chain. Individual computers are much faster compared to the communication time of our network between the computers, which leaves the only feasible solution to be slowing the system down. Therefore, PoW is designed such that every time a block is added, each node sleeps for a random period of time (also known as a \"timeout\"), only after which the block can be added.