# Distributed Ledger Technology Review and Decentralized Applications Development Guidelines
## 2 Protocol and Network Tier
### Network Layer
#### 2.2.1 Data Propagation and Replication  
In terms of transaction data propagation, the first generation of DLT systems (Bitcoin [4], Litecoin [17], Ethereum [15], etc.) relied on full-discovery or global disclosure. This is one of the strongest features of blockchain systems since a complete replication of the data offers high availability and reliability. However, there are use cases (e.g., banking, enterprise data) that impose restrictions regarding access to transaction information [59]. Two categories of systems have been identified based on how the transactions are propagated in the system. Firstly, the global disclosure mechanism, implemented by the systems where all the full nodes have access to all the transactions published in the system, and secondly, the selective disclosure mechanism where nodes have access only to exclusive transactions that are targeting either specific businesses or only the involved parties. Most of the blockchain ledgers adopt a global disclosure approach to offer high reliability in an open system where any node can join. The entire system is a peer-to-peer network, where all the nodes are equal. Whenever a new event is issued (a new transaction, a new block) the data is propagated through the entire network, and each node can verify and validate the integrity of the data. The redundancy in storage and computation makes it very difficult for a malicious node to influence the system to its advantage. To attack (e.g., double-spending attack) on a globally disclosed DLT, an elaborate plan must be conducted by the malicious node. It must analyze the network topology (network segmentation) and issue contradictory actions for each half of the network, with the purpose of convincing half of the network to agree with the malicious action taken. Having a global disclosure between all the peers in the network has obvious advantages since such a system benefits from the high replication and availability brought by a \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Type** & **Implementation** & **Platform** & **Enforcement** & **Costs** & **Exploitation Risks** \\ \hline \multicolumn{6}{c}{**Transactional Rules**} \\ \multirow{2}{*}{\
\begin{tabular}{c} Staleless Transaction \\ Oriented \\ \end{tabular} } & Built-In Enforcement & Bitcoin [4], Litecoin [17] & Limited & None & Low \\  & Piggy Backed Enforcement & Counterparty [58] & Templates & None & Low \\ \hline \multicolumn{6}{c}{**State Message**} \\ \multirow{2}{*}{
\begin{tabular}{c} Stateless \\ Oriented \\ \end{tabular} } & Smart Contracts \& & Ethereum [15] & Turing Complete & Fee per instruction & High \\  & Merkle Patricia Tree & & & & \\  & Smart Contracts \& NoSQL DB & HyperLedger [34] & Turing Complete & None & High \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Business rules enforcement on DLT. large number of nodes, as well as Byzantine Fault Tolerant consensus between these nodes regarding the data. However, some clients/businesses prefer having more privacy and control over their data. This property is especially desired in private and consortium chains (e.g., banking systems), where the transactions are required to be shared only between the transacting parties. Although such a paradigm shift may lead to lower reliability in the system, the risks are highly attenuated if these requirements are implemented in permissioned systems where each stakeholder has its identity known and can be held accountable for his actions. One of the selective disclosure approaches is presented in the Hyperledger Multichannel Architecture [60]. The system relies on third-party entities, called Orderers, which are required to order the transactions and publish them according to the category (business specific) in a corresponding channel. A Byzantine fault-tolerant consensus protocol is implemented between the Orderers, to ensure consistency between the decisions. A channel is a business-specific queue that broadcasts all the transactions to the subscribed parties.