At the core of every DLT based platform lies the underlying distributed ledger technology infrastructure. Each technological infrastructure offers its own unique set of features and core design decisions that fundamentally affect the use cases that it can be applied to. In the financial space, the primary focus is on a permissioned structure, where access is restricted to a set of verified players.
This focus is important in the space due to its immensely regulated nature. Permission-less networks, however, should not be ignored entirely. They can still hold a place for specific use cases. Even within the commonly sought out permissioned networks, the core design decisions can still hold a major impact on many business specific aspects, particularly privacy. Different approaches taken in the development of DLT have led organizations to develop different infrastructures. Currently, there are three primary underlying technologies employed in the trade sector: Corda, Hyperledger Fabric, and Quorum. These three, as well as the highly adaptable public Ethereum network will be explored in the following sections.
Quorum is an enterprise blockchain solution built on top of the standard Ethereum protocol layer. Essentially, the Quorum layer seeks to instill the permissioned structure and privacy controls necessary for enterprise use, specifically financial enterprise use.
To help ensure privacy, Quorum prevents all but the authorized parties from seeing a specific transaction. This is done by augmenting the shared, single blockchain with a smart contract architecture that provides for the segmentation of private data. Under this approach, each node on a network maintains both a public state database and a private state database. Nodes then only execute ledger-update smart contracts if they are party to said contract. This is determined either by the contract being public or by the node being party to a private contract. This means that a node not party to a specific private contract, simply will not store that information. Despite this, each node can be assured that all network transactions exist in a cryptographically secure form somewhere on the network.
Consensus on Quorum currently exists in the form of majority voting, following a confirmation check to ensure that each node has the same current public state database. Furthermore, through a series of Merkle Tree hash checks, the network is also able to confirm an overall consensus on the collective standing of the private states through this same confirmation check. Once the state of the ledger is confirmed, a majority vote decides on the series of transactions to be included in the subsequent block. This consensus mechanism, however, exists on Quorum in the form of a smart contract. This means that it can easily be updated to match future distributed ledger consensus standards.
Hyperledger Fabric, a Hyperledger blockchain framework hosted by the Linux Foundation, an open-source blockchain infrastructure governed by the Linux foundation, facilitates a multi-channel global broadcast infrastructure. Within a network, peers are able to interact with one another through a series of channels, which could include all of the peers on the network or smaller subsets of peers for ensuring the privacy of sensitive transactions. Each channel within a network maintains a separate ledger. The ledger consists of two parts: the world state and the transaction log. The world state is synonymous to a database containing the current state of the channel-specific ledger at any given time. The transaction log is an immutable record of all the transactions that have led to this current world state. It can be used as a verifiable provenance trail for the ledger. Individual peers on a network would maintain a ledger record for each channel that they are a part of.
Beyond this core infrastructure, Hyperledger Fabric operates a very modular architecture. This means that aspects of the network such as identity management, consensus, or encryption can be selected from a ranging menu of options providing a comprehensive, yet customizable network. Such customization allows network administrators to select the features most suitable for their individual situation, allowing Hyperledger Fabric to be effectively applied to a wide array of use cases.
Fabric also takes a unique approach to smart contract implementation, which they call ‘chaincode’. This is done by employing an execute-order-validate execute-order-commit framework, in contrast to the order-execute approach employed by most other networks. Under the order-execute approach, smart contract code is ordered and then transmitted out all other nodes on the network who then independently execute the code. In such approach all contracts need to be deterministic, which leads to smart contract-specific language development to ensure determinism (like Solidity) . The fabric approach taken by Hyperledger Fabric developers, however, allows for simultaneous processing.
This is thanks to the application specific endorsement policy that defines how many peer nodes and which ones need to contribute to execution of smart contracts, which also eliminates non-determinism. because code is executed first creating potential new states that are presented for ordering. Once approved, these new states are then committed to the ledger. This approach is designed to increase overall performance and scalability since execution is not redundantly completed on every node. Moreover it allows for language flexibility: chaincode can be written in Go and Node.js, and with the use of Hyperledger Burrow – in Solidity.
The Corda DLT platform, developed by R3, employs a point-to-point data broadcast system. Such a design eliminates the notion of a single principal ledger, opting instead for transactional data to be shared only with those entities on the network specifically involved in the transaction. This ensures a higher level of privacy for all nodes by sharing data on a strictly need to know basis.
Corda is able to achieve this through a combination of states and transactions. “A state is an immutable object representing a fact known by one or more Corda nodes at a specific point in time.” Transactions consume current states as inputs, apply the desired action, and propose a potential new state. Once verified, the potential new states replace the previous current states with the latter being marked “historic”. To verify if a transaction is valid, it must reach two types of consensus: validity and uniqueness.
Validity requires all parties to a transaction to apply their public key signature to the transaction. To do this, a party will need to ensure that, not only is the proposed transaction valid, but that all previous transactions altering states with the asset in question are valid as well. As information is only shared on a need to know basis, a party may not have direct access to all of these transactions. If this is the case, the party to whom the transaction has been proposed will request the chain of transactions that led up to the creation of the inputs to the proposed transaction. The proposing party will have this chain as they would have requested it in the same fashion when initially acquiring the asset themselves. Once the chain can be confirmed and the current proposed transaction accepted, all parties will attach their public key signature marking the transaction as valid. To achieve uniqueness consensus, each transaction is then signed by a “Notary” if these same inputs have not been used for any previous transactions. This is done to prevent instances of double spending.
Corda binds all on chain contracts to a traditionally recognized written legal agreement outlining the intended use of each contract by allowing for an object to be included in the code. This helps to circumvent to current grey area surrounding the legal enforceability of smart contracts. Furthermore, as a permissioned network, each node must be certified and linked to a registered entity providing a further layer of legal accountability.
Ethereum differs from the other platforms discussed in the sense that it a public permissionless network. This means that anyone in the world is able to join the network and participate in the submission and verification processes. At the core of Ethereum lies the Ether cryptocurrency, currently the second most valuable cryptocurrency by market cap. Ethereum, however, is much more than just a cryptocurrency. The platform side of Ethereum allows for the creation of decentralized applications (dApps). These dApps are capable of the same functionality as traditional computer programs, but are facilitated over a peer-to-peer network rather than a centralized client-server network.
To run a dApp, developers must pay computationally determined fee, termed “gas”, in order to operate their code. This means that the more computations the code executes, the higher the fee will be. These fees serve as a resistance against network slowing infinite loops, potentially enabled by the Turing-complete scripting language, by ending the execution of the code upon reaching the predefined gas limit. As Ethereum currently follows a proof-of-work consensus mechanism (although they are investigating a transition to Proof-of Stake), the gas fees are paid out to the block miner. When considering Ethereum as a blockchain platform in the trade finance space, it is crucially important to understand that it operates on a permissionless and anonymous global broadcast infrastructure. Due to privacy and regulatory reasons, this means that its practical use cases in the trade finance industry are greatly limited.