# LBFT: An Asynchronous Committee-Based Blockchain Storage Strategy on Zero Trust Model
## 3 Preliminaries  
### Methods and Technologies  
In this section, we introduce the technologies utilized in the construction of LBFT. **Reliable Broadcast (RBC)** is a broadcast protocol, in which a node termed sender who aims to broadcast a message successfully to all the other nodes [37]. An RBC protocol has the following guarantees:  
* _Agreement._ If any two honest nodes output the values \(v\) and \(v^{\prime}\), respectively, then \(v=v^{\prime}\). * _Totality._ If one honest node outputs the value \(v\), then all the honest nodes will output \(v\). * _Validity._ If the sender is honest and it inputs the value \(v\) to the protocol, then all the honest nodes will output \(v\). **Asynchronous binary agreement (ABA)** is an asynchronous Byzantine agreement protocol, in which each node inputs a single-bit (0/1), and their goal is to reach an agreement on the output bit [38; 39]. An ABA protocol should satisfy the following properties:  
* _Agreement._ If any honest node decides a bit \(b\), then every honest node will decide the bit \(b\). * _Validity._ If any honest node decides a bit \(b\), then at least one honest node has received the bit \(b\) as input. * _Termination._ If all the honest nodes receive a bit as input, then every honest node will decide a bit. **HoneyBadger-BFT (HB-BFT)** is the first practical asynchronous BFT protocol in which the nodes eventually achieve consensus on a subset of their inputs. The main underlying building block of HB-BFT is the asynchronous common subset protocol (ACS) [40], constituted with \(n\) RBC instances to have each node propose its input and \(n\) ABA instances to decide an eventual output for each proposed value. It has been proven to satisfy the agreement and total order properties except for negligible possibility in [25]. As shown in Figure 1, each node first activates an RBC instance by inputting a selected batch of transactions as the proposed value, and then the RBC instances broadcast the values to the whole network. If a node \(P_{i}\) has received the value from another node \(P_{j}\) through the instance \(RBC_{j}\), it takes 1 as the input to activate the corresponding \(ABA_{j}\) instance. After receiving \(n-f\) values (where \(f\) is the number of Byzantine nodes), the node inputs 0 into the remaining ABA instances. The ACS ensures that all the nodes output the same value. **Reed-Solomon (RS) Coding** is a widely-applied Erasure Coding (EC). For an original message  
\[m=(m_{0},m_{1},...,m_{k-1}),\]  
\((k,n)\)-RS firstly generates a specific polynomial, where \(X\in\{1,2,...,n\}\),  
\[f_{m}(X)=\sum_{i=0}^{k-1}m_{i}X^{i}.\]  
The message pieces are encoded by evaluating the polynomial with \(n\) distinct evaluation points from a finite field \(F_{q}\) (where \(k\leq n\leq q\)):  
\[RS(m)=(f_{m}(\alpha_{0}),f_{m}(\alpha_{1}),...,f_{m}(\alpha_{n-1})).\]  
Each node \(N_{i}\) calculates and maintains its corresponding encoded value \(f_{m}(\alpha_{i})\). A node can recover the original message so long as it receives random \(k\) of the \(n\) values [41]. In detail, the node substitutes the \(k\) received values for \(f_{m}(X)\), and the \(k\) corresponding evaluation points \(\{\alpha_{0},...,\alpha_{k-1}\}\) for \(X\) to obtain a \(k\)-element linear equation set as follows:  
\[\left\{ \begin{array}{l}m_{0}+m_{1}\alpha_{1}+m_{2}\alpha_{1}^{2}+...+m_{k-1} \alpha_{1}^{k-1}=f_{m}(\alpha_{1})\\ \vdots\\ m_{0}+m_{1}\alpha_{k}+m_{2}\alpha_{k}^{2}+...+m_{k-1}\alpha_{k}^{k-1}=f_{m}( \alpha_{k})\end{array} \right..\]  
Figure 1: The structure of the main building blocks in HB-BFT protocol. Intuitively, the solutions \((m_{0},m_{1},...,m_{k-1})\) of this equation set are the original message. The **Certificateless Aggregate Signature Scheme (CLAS)** is designed on the foundation of Schnorr Signature [42]. For \(n\) users \(u_{1},u_{2},...,u_{n}\), their identities are respectively \(ID_{1},ID_{2},...,ID_{n}\); the \(n\) corresponding public keys are \(pk_{1},pk_{2},...,pk_{n}\); and the certain system state information is \(\delta\).