# A Survey on Network Optimization Techniques for Blockchain Systems
## 3 Background Knowledge  
This section briefly introduces blockchain technology, its architecture and discusses the layers it comprises. The section then discusses blockchain's P2P structure and the gossip dissemination protocol. Blockchain is a peer-to-peer distributed ledger that stores transactions in a chain of blocks. It was initially developed as the technology powering the Bitcoin cryptocurrency [53]. It aims to remove the need for a trusted third party who will validate transactions [57; 58]. Therefore, transactions are timestamped and verified by all participating nodes and then added as a block in the main chain using cryptographic tools. As shown in Figure 3, the blockchain architecture consists of the control, consensus, data and network layers. 1. Control Layer: The control layer serves as an interface between applications and the ledger. These applications include finance, data storage, voting, securing IoT, logistics and supply chain tracking [10; 51]. They interact with the ledger by invoking smart contracts to trigger transactions. Smart contracts are programmable scripts that interact with the ledger by reading or writing data to the ledger when invoked. On-chain and off-chain are the primary processing models at the control layer. 2. Consensus Layer: The algorithms blockchain peers use to agree on the validity of blocks and transactions exists at the consensus layer. Peers in public blockchains use Proof of X (X => Work, Stake and many more) algorithms to reach a consensus [53]. All peers in public blockchains are eligible to participate in the consensus process. However, in private blockchains, validating blocks and transactions are performed mainly by different peers with specific roles. In Hyperledger Fabric (HLF), these roles include orderers, endorsers, validators and leaders [31]. New transactions are first sent to peers who can endorse transactions by executing smart contracts. After endorsement, the transaction is sent to the leader node and maintains a connection to the ordering nodes. Next, ordering nodes add the transactions to a block and send them back to the leader node to be broadcasted in the network. Finally, every peer will have to validate the block before committing it to its local ledger. 3. Data Layer: The data layer defines the structure of transactions, blocks and the cryptographic mechanisms that link them together. A number of transactions are combined together into a block. The size of a block depends on an explicitly defined size or on a time interval at which blocks must be produced [59]. 4. The Network Layer: The network layer mainly consists of the network structure and the communication mechanisms. The network structure is responsible for establishing and managing the peer-to-peer network structure, while the distribution of transactions or blocks to peers in the network is handled by the communication mechanisms using gossip. Forming the P2P network requires new peers to randomly select some existing peers as their neighbors (to exchange blockchain data). Upon joining the \begin{table}
\begin{tabular}{l l} \hline \hline
**No.** & **Criteria** \\ \hline
1 & The study emphasizes the communication complexity of consensus algorithms. \\
2 & The paper proposes optimization for protocols used to share transactions or blocks. \\
3 & The paper presents an optimized neighbor selection or peer-to-peer topology. \\
4 & The paper proposes compression schemes for blockchain data before transmission. \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Inclusion Criteria. \begin{table}
\begin{tabular}{l l} \hline \hline
**No.** & **Criteria** \\ \hline
1 & The article is not published in English. \\
2 & The article uses blockchain to secure IoT applications. \\
3 & The article uses blockchain to secure a non-blockchain network optimization. \\
4 & The article presents a sharding-based blockchain optimization. \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Exclusion Criteria. network, a new peer connects to other peers whose addresses are hard-coded into its configurations.