Chapter 9. Other Blockchains

The success of Bitcoin and Ethereum has provided the genesis for many developers to begin working on blockchain technology. As previous chapters have shown, the decentralized nature of both networks leads to some interesting use cases.

Businesses must secure and protect corporate and user data, and blockchains are a novel technical idea for how to do so. Blockchain technology could be put to many uses within organizations. However, in practice this often requires rethinking the way that Bitcoin, Ethereum, and other open consensus networks operate in order to conform with data security, regulatory, and other requirements businesses must comply with.

What Are Blockchains Good For?

For open blockchains like Bitcoin and Ethereum, the main use cases thus far have been mostly speculative—the coverage of markets, dapps, and DeFi in this book have made that clear, we hope. But for businesses and other organizations, blockchain has some other interesting uses, and there are many trials occurring in this area.

Let’s look once again at the basics of what blockchain is useful for besides cryptocurrencies and speculation. Here are the core technologies that are put together to create what is known as blockchain today:

Consensus
Validates new records to prevent corruption
Hashing
Solidifies records to retain an audit trail
Encryption
Secures the transfer of digital data
Distribution
Enables sharing of public ledger records

What are the specific properties derived from blockchain technology? On a basic level, a blockchain does the following:

Self-organizes (consensus)
A blockchain, without prompting, is capable of processing data at a consistent increment of time—generally whatever the block generation interval happens to be.
Permanently records (hashing)
Blockchain technology makes it very hard for any party to alter records that have already been placed into a block.
Transfers assets (encryption)
The first use case for blockchain was to transfer an asset without the involvement of a third party. That began with units of cryptocurrency.
Shares data (distribution)
Multiple parties that don’t necessarily trust one another can use blockchain to collaborate on various data structures.

Many who are interested in blockchain are looking for reasons to use it to solve problems that existing technology hasn’t solved. Open blockchains provided a way to make a payment to someone without a third party’s involvement, but the main use for them today has become speculation. Unfortunately, speculation is not a use case that’s relevant or attractive to organizations with technology issues.

So what are some use cases for businesses? Consider databases. Securing and sharing databases is a challenge for many organizations, and it has been made even more complex by the advent of technologies like cloud and mobile, which open up new security vulnerabilities. Blockchain could finally provide a way for organizations to coordinate information that needs to be secured yet shared by multiple parties.

Companies can ask questions like the following:

  • Is blockchain a transactional mechanism counterparties can agree on?

  • Can parties agree on what kind of data is to be written using blockchain?

  • Can problems be solved with this technology?

The answer is definitely yes in each case.

Databases and Ledgers

A database is a structured set of information stored inside a computer system. Databases are key to storing information, and can often be accessed in several different ways depending on the data’s use. Database management systems (DBMSs) are interfaces end users can use to categorize and retrieve data. These users are often critical components of an organization, working in areas such as communications, payroll, and human resources, among others. The most popular databases today are relational databases, which use tables to arrange information. The data is organized in such a way that it does not repeat across columns.

Replication systems are used with databases to make them distributed. Replication involves storing data in multiple places in a way that allows it to be easily updated or synchronized. This increases the availability of the data. Database systems must balance high availability with efficiency, and replication also allows users to work with various datasets in parallel. Replication systems must continuously work to update data in order to make sure everyone is working on the same set of information. There are various replication models that keep data up-to-date.

Ledger is a term used to describe a record-keeping system. The term permissionless ledger is sometimes used to describe cryptocurrency-based blockchains. This includes Bitcoin, Ethereum, various forks, and most altcoins. These networks are called permissionless because anyone can join in and participate; there is no central authority that grants or denies permission.

Blockchain in the permissionless world is a distributed computing system with accounts and payments built in. However, some organizations don’t particularly see the benefit of this. Permissionless systems need accounts, payments, and cryptocurrencies to properly incentivize users, but that may not necessarily be the case for permissioned ledgers. In the permissioned world, providing infrastructure for payments and accounts is optional.

Distributed ledger technology (DLT) is enterprise terminology that describes a more blockchain-type ledger database. Database structures generally follow specific schemas that allow developers to read, write, and query them. DLT brings a new schema to database infrastructure, enabling reading and querying to occur in real time (writing in a consensus-based system is not always done in real time, and akin to following a clock).

Databases are centralized portals. In organizations, an administrator usually controls access to the entire system. Using a ledger system can allow multiple parties to access information without requiring one single gatekeeper.

There’s nothing wrong with centralized databases. However, blockchain technology enables the sharing of information through consensus incentives instead of centralized rent-seeking (e.g., targeted advertising on social networks or taking a fee like online marketplaces do).

Decentralization Versus Centralization

Early cryptocurrency proponents embraced decentralization as a core part of the technology. However, many other blockchain platforms—particularly those being developed for organizations—are much more centralized. Let’s take a look at some of the differences.

Key Properties of Distributed Verifiable Ledgers

Ben Laurie, founder of the Apache Foundation and a cryptographer working at Google Research, has laid out a Framework for Distributed Verifiable Ledgers that outlines characteristics that are desirable in blockchains that are not of the open permissionless variety.

We’re calling these other blockchains in this chapter because there is a good amount of variety between the different implementations. However, in all these systems it is important to consider the following aspects:

Admission control
There must be some definition of what is permitted in the ledger, and how it should be formatted. Admission control is common in IT systems; it is a key element in system security.
Consensus
Consensus means agreeing on the validity of information published on a chain or ledger. This could be achieved via proof-of-work, majority rule, union, or some other method. Bitcoin and Ethereum use the longest chain rule to resolve forks.
Verification
Verification ensures that behavior on the network is correct and as intended. Admission control, consensus, and ledger reviews—some method of examination—are all components of this.
Enforcement
Some form of enforcement is required to keep order. Blockchains such as Bitcoin provide enforcement by adding checkpoints corresponding to certain blocks that everyone on the network agrees were on the longest chain. At each fork, the new “longest chain” must contain all these checkpoints.

Enterprise Implementations

There are also groups working on more specific proprietary blockchains. Many of these groups started with Ethereum and then decided to build their own solution from the ground up for specific use cases.

Corda

Developed by the consortium R3, Corda focuses on institutions seeking privacy. The platform is based on the Java Virtual Machine (JVM), familiar to the existing base of developers in the finance industry. There is no global blockchain or representation of state. Instead, Corda uses a ledger system that replicates to relational databases for easy querying. Its smart contracts are basic legal terms instead of code.

How Corda works

Corda is designed to make transactions between businesses more trustworthy and efficient, as illustrated in Figure 9-1. Without Corda, the databases of the two companies are siloed. With Corda, the companies can safely collaborate to manage transactions.

Figure 9-1. Corda enables collaboration while preserving privacy

Usually, when two separate entities perform transactions they each maintain a ledger, and at intervals they reconcile them. For example, a toy manufacturer receives constant shipments of parts from its supplier. Each company keeps track of those shipments using its own software and processes. Every month the two companies reconcile their ledgers when the supplier sends an invoice, and the manufacturer checks the invoice to confirm that the numbers are the same in its system.

Every business has multiple relationships like this. The more partnerships a company has, the more effort and resources are required to keep track of them.

There are two main attributes of public blockchains that businesses can benefit from:

Transaction immutability
Once a transaction has been added to the ledger, it cannot be modified or removed.
Peer validation
Before a transaction can be added to the ledger, other network participants check whether the transaction is valid or not.

However, there are also several attributes that are not attractive to businesses:

Transaction transparency
When businesses complete a transaction, they may not want everyone else in the network to know about it. Only the participants involved in the transaction should know the details.
Limited scalability
Centralized databases can process millions of transactions per second, whereas public blockchains at most can process a few hundred per second.
New programming languages and concepts
Dapps that run on top of public blockchains are mostly written in new languages, like Solidity and Vyper, and require developers to learn new skills.
Permissionless
Public blockchains allow anyone to participate in the network, but businesses want to control who can transact with them.
Hidden identities
Participants on public blockchains are identified by their blockchain address, which can make many participants essentially pseudo-anonymous. Businesses want to know who they are transacting with.

The Corda protocol was built to satisfy all those business requirements.

The Corda network

A Corda network is a peer-to-peer network of nodes. Each node represents a legal entity, and each runs an instance of Corda with one or more Corda applications. Figure 9-2 illustrates.

Figure 9-2. Example of a Corda network

Anyone can start their own Corda network, but every node in the network must receive permission by the network operator to join, and must also be identified to all participants in the network. Every node in the network communicates directly and in private with every other node in the network through Transport Layer Security (TLS).

Blockchain as a Service

The concept of Blockchain as a Service (BaaS), where vendors provide easy-to-implement solutions that can be customized, is likely to grow as use cases for the technology increase. Similar to Software as a Service (SaaS) and cloud offerings, these blockchain products provide elements such as centralized management of users and distribution of nodes. Here are a few examples:

Amazon Quantum Ledger
Part of Amazon Web Services, the Quantum Ledger Database (QLDB) is a ledger that is secured by cryptography and uses the Ethereum and Hyperledger Fabric frameworks. However, the system is centralized, because node-based distributed blockchains are harder to set up. Its strong point is that it offers users the ability to set up an immutable and cryptographically secure ledger.
Azure
Microsoft’s Azure cloud platform offers a distributed model, allowing developers the ability to deploy different blockchains like Quorum and Corda. Because of the blockchains used, Azure supports smart contract development. Developers can also set up validators inside their blockchain implementations. The Azure framework makes it easy to export blockchain information to databases that allow for more complex querying.
VmWare
With support for the EVM, DAML, and Hyperledger, VmWare Blockchain is a multiblockchain platform. Developers are also able to use VmWare’s cloud technology to set up various types of infrastructure implementations, including the option of hybrid cloud capabilities to increase security and privacy. It also uses a Byzantine fault-tolerant consensus engine to provide features of decentralization.
Oracle
Oracle’s Blockchain Platform is built on Hyperledger Fabric and supports multicloud implementations—hybrid, on-premise, or a mix of the two for greater flexibility. The purpose is to be able to configure specific environments depending on regulatory requirements. Oracle also supports tamper-resistant blockchain tables within its existing enterprise database offerings to provide fraud protection; examples include chain of custody, escrow, and audit log capabilities within databases.
IBM
IBM provides a toolset that offers support for Hyperledger Fabric as the core technology. The toolset provides Visual Studio Code extensions for enterprise development, with smart contract programming capabilities available in Node.js, Go, Java, and Solidity, among others. Hosting options are flexible using IBM Cloud on-premise, remote, or hybrid offerings, with deployment via Red Hat’s OpenShift container platform, which is managed with Kubernetes.
SAP
The company supports Hyperledger Fabric and Ethereum mainnet with deployment and services provided via its Cloud Platform. SAP Blockchain Business Services protects documents and data from tampering. SAP also allows external blockchains and nodes to plug into its various systems, including SAP “landscapes,” which are its various server architectures, and SAP HANA, its custom data platform.

Banking

Large financial institutions and central banks have been looking at blockchain implementations in a search for ways to circumvent what may be outdated, inefficient, or otherwise expensive processes. Not all of these fully work yet, but experimentation in this sector is a sign of blockchain progress.

US Federal Reserve

The United States’ central bank has been observing cryptocurrencies over the years. In 2019, the Boston Federal Reserve published a paper describing Ethereum- and Hyperledger-based blockchain tests that it had run (Figure 9-4). It used wallets representing various banks and smart contracts to reconcile payments made to the Federal Reserve, which the Boston branch is in charge of.

Figure 9-4. Design for the Boston Fed test—in Hyperledger, “chaincode” is a smart contract

Permissioned Ledger Uses

The use cases for permissioned systems are often very different from those of open blockchains. As we’ve pointed out, open blockchains can be good for speculation, tokenization, and storing digital value, but enterprises have other requirements. These include speed, privacy, and development capabilities. These requirements have led to the development of an array of new use cases for blockchain, after extensive testing of permissioned platforms.

Gaming

Anyone who has played video games understands the value of items like virtual weapons, power-ups, or clothing. In-game these items often have tremendous value, but they are normally locked into one particular game or ecosystem. The concept of items connected to a digital asset to signify uniqueness is gaining popularity, thanks in part to the Ethereum-based CryptoKitties.

Blockchain technology can also be used to combat cheating. On-chain chess, illustrated in Figure 9-6, is a project conducted by the Technical University of Berlin using Ethereum smart contracts. Players knew the game could not be cheated because of the public contract code.

Figure 9-6. A schematic for Technical University of Berlin’s on-chain chess

Payments

There is a role for blockchain-based payments, but open blockchains have struggled to compete with the likes of existing networks such as Visa.  Still, many still see an opportunity to use blockchain for specific payments use cases, such as the following:

Corporate payments
The administrative costs involved when large organizations make payments are immense. An example would be ensuring that a check for an invoice matches a purchase order as stipulated in a contract. Also, making payments to various countries is complex. Some processes involved could be automated and verified with blockchain technology. Visa started working on this problem in 2016, and it launched a service in 2019 called B2B Connect that uses Hyperledger.
Interbank payments
Large banks also have problems making cross-border payments. Some of these problems involve a lack of information about a payment when sending it to banks around the world. JPMorgan, with its JPM Coin, has developed something called the Interbank Information Network (IIN). This is a Quorum-based system that sends along interbank payment information. IIN now has more than 320 members using the platform.
Person-to-person payments
There’s a lot of interest in the idea of using blockchain ledgers to make payments cheaper and faster, which has been problematic on public blockchains. In 2019, PayPal invested in a company called Cambridge Blockchain for its identity technology, which has also been a challenge. Facebook, which possesses lots of information about its users, may have already solved that problem, as outlined in the next section.

Libra

Most enterprise blockchain experiments are focused on behind-the-scenes business processes. However, there is an opportunity for companies to use cryptocurrency and blockchain fundamentals to offer new features to users and customers. It’s early in this game, but consumer-focused companies like Facebook want to bring blockchain to everyone, particularly in terms of making payments on the internet. Libra is the name of the effort being spearheaded by the company.

Borrowing from Existing Blockchains

The Libra Association intends to create an entirely new payments system on the internet by using a proof-of-stake consensus Byzantine fault-tolerant algorithm developed by VMware, known as HotStuff. The association’s members will be the validators of the system.

HotStuff uses a lead validator. It accepts transactions from the clients and uses a voting mechanism for validation. It is fault tolerant because the other validators can take the lead’s place in case of error or downtime. Byzantine fault tolerance is used in other blockchain systems, most notably on some smaller open networks utilizing proof-of-stake. Figure 9-7 illustrates Libra’s consensus mechanism.

Figure 9-7. Consensus mechanism for Libra

The Libra cryptocurrency is expected to hold a stable value, backed by a basket of assets that will include fiat currencies and treasuries. Unlike most stablecoins, it does not plan to peg to the US dollar and will instead exist as a digital currency with its own valuation against fiat.

Libra is expected to support the use of smart contracts by third-party developers to create applications. This will be accomplished through a new programming language called Move. This language will allow programmers to create contracts and even update the state of the Libra blockchain. Move is being labeled as a language “with programmable resources.” With vetted validators and specific resource types, Libra’s smart contracts will likely be more limited in scope than those of open blockchains such as Ethereum.

Novi

Facebook itself will develop its own wallet, known as Novi, to facilitate transactions. The impact of the Novi wallet could be large given Facebook’s billions of users across its many platforms, including Messenger, Instagram, WhatsApp, and Oculus VR.

Libra will also support a number of third-party wallet implementations. The network itself is expected to be open, with wallets being the gateways for financial services. KYC/AML will need to be a component of Novi, and this is something Facebook can easily implement into its products since it already has a trove of user data at hand.

How the Libra Protocol Works

Libra’s network contains two types of nodes: validator nodes and full nodes. Validator nodes are permissioned and are made up of organizations in the Libra Association. These nodes manage governance of the network and process Libra transactions using the LBFT consensus protocol.

Full nodes can be run by anyone and serve two purposes:

  1. They act as real-time broadcasters of the current state of the Libra blockchain. Full nodes maintain a full copy of the blockchain and answer client requests to read from the blockchain.

  2. They revalidate transactions that have been processed by validators.

Full nodes make Libra more scalable by removing the burden of validator nodes servicing read requests. This also protects validator nodes from potential DDoS attacks.

When a client application—for example, a Libra mobile wallet—wants to interact with the network, it reads data from full nodes and sends transaction requests to validator nodes.

The LBFT protocol is a set of rules that define how transactions and governance are performed on the Libra blockchain. Even though all validator nodes on the network are identified and trust each other, there is still a risk that at some point one or many of them could become a bad actor and try to include invalid transactions on the network. One example is if hackers compromise a couple of validator nodes. The hackers could then try to process transactions that send funds from other accounts to their own.

Transactions

Transactions in Libra are structured in a similar fashion to Ethereum. Libra follows an account model, as opposed to a UTXO model like Bitcoin, so there are no inputs or outputs. The structure of a Libra transaction is illustrated in Table 9-1.

Table 9-1. Structure of a Libra transaction
Field Description
Sender address The account address of the sender of the transaction.
Sender public key The public key that corresponds to the private key used to sign the transaction.
Program The program is comprised of the following:
  • The bytecode from the Move transaction script.

  • An optional list of inputs to the script. For a peer-to-peer transaction, the inputs contain information about the recipient and the amount transferred to the recipient.

  • An optional list of Move bytecode modules to publish.

Gas price (in microlibra/gas units) The amount the sender is willing to pay per unit of gas to execute the transaction. Gas is a way to pay for computation and storage. A gas unit is an abstract measurement of computation with no inherent real-world value. 1 microlibra = 0.000001 LBR (10^−6).
Maximum gas amount The maximum units of gas the transaction is allowed to consume.
Sequence number An unsigned integer that must be equal to the sequence number stored under the sender’s account.
Expiration time The time after which the transaction ceases to be valid.
Signature The digital signature of the sender.