# Wireless May Benefit Blockchain +
## 4 Analysis on Consensus Performance
### Scalability  
The literature of distributed systems often relies on the universal scalability law [52, 53] as the key scalability measure, which is given by  
\[\mathsf{S}=\frac{N}{1+\alpha(N-1)+\beta N(N-1)} \tag{1}\]  
where \(N\) denotes the number of nodes in the network; \(\alpha\) gives the level of contention; and \(\beta\) indicates the delay for achieving coherency across the network. Nonetheless, we acknowledged that this quantity is usually obtained empirically, which makes it almost impossible to analytically quantify \(\alpha\) and \(\beta\). For this reason, we decided to move on to find another metric that can accommodate both distributed systems' and wireless communications' characteristics. It was a challenge to find previous work exactly quantifying \((\alpha,\beta)\) of \(\mathsf{S}\) for blockchain. However, we found an extensive empirical analysis of the parameters for Zookeeper [33], one of the popular distributed systems [54]. In fact, Zookeeper has appeared on many of \begin{table}
\begin{tabular}{l l} \hline \hline
**Acronym/Symbol** & **Description** \\ \hline \(\mathsf{G}\) & Gini coefficient as the decentralization measure \\ \(\mathsf{P_{fail}}\) & Probability of failure at each node \\ PoC & Proof of coverage \\ PoS & Proof of stake \\ PoW & Proof of work \\ \(\mathsf{R}\) & Scalability \\ \(\mathsf{r_{cls}}\) & Rate of clustered area \\ \(\mathsf{r_{v}}\) & Rate of validators \\ \(\mathsf{S}\) & Universal scalability [52, 53] \\ \(\mathbb{S}_{(\cdot)}\) & Set of nodes belonging to consensus type \((\cdot)\) \\ \(\mathsf{T_{c}}\) & Length of time taken to complete a consensus \\ USL & Universal scalability law [52, 53] \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Table of acronyms and mathematical symbols. the blockchain systems [55; 56]. This makes a case that we adopt the result of S found for the Zookeeper as a scalability benchmark for this paper's result, which shall be presented in Section 5.2.1. Motivated from the challenge, we define a generalized metric for the scalability in this paper, which is given by  
\[\mathsf{r} =\frac{\mathsf{\#\ transactions}}{\mathsf{\#\ seconds}}\] \[=\frac{n_{\text{tx}}}{\mathsf{T}_{c}} \tag{2}\]  
where \(\mathsf{T}_{c}\) denotes the length of time that has been taken to complete a single consensus, which in turn can be written as  
\[\mathsf{T}_{c} =\sum_{x=1}^{X}1_{x=X}\mathsf{T}(x)\] \[=\sum_{x=1}^{X}\left(1_{x=X}\sum_{i,j\in\mathbb{S}(x)}\mathsf{T}_ {ij}\right)\] \[=\sum_{x=1}^{X}\left(1_{x=X}n_{\text{N}[\mathbb{S}(x)]}\mathsf{T} _{\text{to}}\right) \tag{3}\]  
Here are details on the parameters of Equation (3): \(x\) denotes each consensus attempt (which is defined as an entire round of having collected verifications from all the participating nodes \(\in\mathbb{S}(x)\)); \(\mathbb{S}(x)\) denotes the set of nodes participating in the current consensus attempt \(x\); \(X\sim\text{geo}(p)\) is the number of consensus attempts before the first successful consensus, which is modeled as a geometric random variable; \(1_{(\cdot)}\) is an indicator function that gives a \(1\) when \((\cdot)\) is true, or a \(0\) when false; \(n_{\text{f}}\) gives the number of communications among \(k\) nodes participating in the current consensus attempt; and \(\mathsf{T}_{\text{to}}\) gives a timeout (in the unit of seconds) for which every node must wait as a means to avoid a network partition among different nodes, which is a uniform random variable between \([0,\hat{\mathsf{T}}_{\text{to}}]\) where \(\hat{\mathsf{T}}_{\text{to}}\) is the maximum value for \(\mathsf{T}_{\text{to}}\). We elaborate on \(\mathsf{T}_{ij}\), which is defined as the delay equals the sum of the times spent at every node participating in a single networking [57]. The delay can be broken down as follows at a single node:  
\[\mathsf{T}_{ij} =\mathsf{T}_{\text{que}}+\mathsf{T}_{\text{prop}}+\mathsf{T}_{ \text{to}}\] \[\approx\mathsf{T}_{\text{to}} \tag{4}\]  
where the subscripts \"que\", \"prop\", and \"to\" indicate delays due to queueing, propagation, and timeout, respectively.