Standard Kepler

CBDC Part 5: Comparing Corda, Fabric, and Quorum

Click to Download Full Report

2/11 – 2/17

WEEKLY RECAP

  • Total market cap. reached $123.4bn (a 0.3% increase), and 7 day trading volume rose 24% for top 100 crypto


THOUGHTS OF THE WEEK

Several Central Bank Digital Currency (CBDC) proof-of-concept and prototype projects have been conducted to date (see CBDC Part 1). These projects have generally been spearheaded by a central bank, yet in collaboration with financial institutions (who use existing financial market infrastructure) and developers of enterprise level Distributed Ledger Technology (DLT). The following is a brief comparison between the three most prominent contenders (see CBDC Part 2-4), largely based on the findings of previous CBDC projects.

Privacy: Corda only seeks to achieve consensus among parties of an agreement on the state of that specific agreement as it evolves, as opposed to seeking agreement on the state of a globally distributed ledger. Hyperledger Fabric offers the ability to set up shared channels (each one a ledger) between parties, with transaction within the channel being private to outside parties. It is worth noting that channel-level account balances can be viewed by channel participants. Regulators (e.g. a central bank) can be included in channels for compliance purposes. Quorum achieves privacy via public and individual private state trees, with the public state tree storing vanilla Ethereum transactions and hashes of encrypted private smart contract changes. Quorum thus offers and requires both private and public smart contract transactions. The private contracts enable private transactions between two parties, while public transactions are used to distribute zero knowledge proofs for verification on the Quorum network.

Scalability & Performance: Due to its design, Corda is not a proper blockchain. This not only alleviates privacy concerns, but also makes scaling significantly easier compared to traditional DLTs. The addition of a new participant only requires the installation of a new node to the existing network. In Fabric, [N x (N-1) / 2] + M channels are required to operate, with N = number of participating nodes, and M = number of multilateral channels. The network complexity rises with each new participant, and participants need to maintain and move funds between individual channel-level accounts for each channel. Quorum’s vastly improves upon the performance of Ethereum by virtue of being a permissioned network, yet there is further room for improvement with regards to the speed of running zero knowledge proofs.

Resiliency: While Corda can continue to operate should individual bank nodes go offline, the use of a single notary node (e.g. central bank) to achieve consensus over uniqueness is a potential point of weakness. This can be rectified with a notary node operated by multiple parties, although at the expense of added complexity. Fabric involves a blockchain, but an orderer is required to order transactions into blocks. The Ubin 2 prototype is built on a single orderer, which introduces a single point of failure. A multi-node ordering service could solve this issue. Propagating hashes of private transactions to the global ledger improves resilience in Quorum. This use of a central ledger ensures significant resilience, and under the tested Raft consensus method the consensus leader could be rotated with each transaction for added resilience. This may or may not be possible in the usage scenario of CBDC, and the consensus leader could thus constitute a point of weakness.

Finality: Of crucial importance to financial service providers. The use of a notary node ensures certain transaction finality in Corda, with a notary signature indicating that input states are thus far unspent. Fabric’s ordered node orders a transaction into a block, and sends it out to channel participants for commitment to the shared channel ledger. The transaction is finalized upon commitment. The Raft consensus method tried alongside Quorum relies on a consensus leader to commit blocks to the chain after verification. Once a block has been committed, the chain cannot be reversed since there is no concept of mining involved, and finality is thus achieved.


CHART OF THE WEEK

© 2018 Standard Kepler