However, Bitcoin is a great blockchain to study because it was used as a template for most subsequent blockchains. The data on Bitcoin is structured so that each full node (the computers running the network) contains all the data in the network. This model is compelling from a data persistence point of view. It ensures that the data will stay intact even if a few of the nodes become compromised. However, because every node has a full copy of the history of transactions since the very beginning, and every transaction in the future, it requires that the entries be as small as possible from a storage capacity point of view.
Comparatively, other distributed networks you may have heard of, like Napster and Pirate Bay, are online indexes of data. Individual files are shared from specific nodes in the network. This allows sharing of large files. However, because the data you may be interested in is not available on all the participants in the network, obtaining the data you’re interested in is problematic. It’s also difficult to know if the data that you’re pulling down is intact and has not be corrupted or contains information you don’t want, such as a virus.
The way that Bitcoin coordinates the organization and input of new data consists of three core elements:
Block: A list of transactions recorded into a ledger over a given period. The size, period, and triggering event for blocks is different for every blockchain.Not all blockchains are recording and securing a record of the movement of their cryptocurrency as their primary objective. But all blockchains do record the movement of their cryptocurrency or token. Think of the transaction as simply being the recording of data. A value is assigned to it (as happens in a financial transaction) in order to interpret what that data means.
Chain: A hash that links one block to another, mathematically “chaining” them together. This is one of the most difficult concepts in blockchain to comprehend. It’s also the magic that glues blockchains together and allows them to create mathematical trust.The hash in blockchain is created from the data that was in the previous block. The hash is a fingerprint of this data and locks blocks in order and time. Although blockchains are a relatively new innovation, hashing is not. Hashing was invented over 30 years ago. This old innovation is being used because it creates a one-way function that cannot be decrypted. A hashing function creates a mathematical algorithm that maps data of any size to a bit string of a fixed size. A bit string is usually 32 characters long, which then represents the data that was hashed. The Secure Hash Algorithm (SHA) is one of the cryptographic hash functions used in blockchains. SHA-256 is a common algorithm that generates an almost-unique, fixed-size 256-bit (32-byte) hash. For practical purposes, think of a hash as a digital fingerprint of data that is used to lock it in place within the blockchain.
Network: The network is composed of “full nodes.” Think of nodes as the computers that are running an algorithm that is securing the network. Each node contains a complete record of all the transactions that were ever recorded in that blockchain.The nodes are located all over the world and can be operated by anyone. It’s difficult, expensive, and time-consuming to operate a full node, so people don’t do it for free. They’re incentivized to operate a node because they want to earn cryptocurrency. The underlying blockchain algorithm rewards them for their service. The reward is usually a token or cryptocurrency, like Bitcoin.
The terms Bitcoin and blockchain are often used interchangeably, but they’re not the same. Bitcoin has a blockchain. The Bitcoin blockchain is the underlying protocol that enables the secure transfer of Bitcoin. The term Bitcoin is the name of the cryptocurrency that powers the Bitcoin network. The blockchain is a class of software, and Bitcoin is a specific cryptocurrency. See Book 3 for more about Bitcoin.
Blockchain Applications
Blockchain applications are built around the idea that the network is the arbitrator. This type of system is an unforgiving and blind environment. Computer code becomes law, and rules are executed as they were written and interpreted by the network. Computers don’t have the same social biases and behaviors as humans do.
The network can’t interpret intent (at least not yet). Insurance contracts arbitrated on a blockchain have been heavily investigated as a use case built around this idea.
Another interesting function that blockchains enable is impeccable record keeping. They can be used to create a clear timeline of who did what and when. Many industries and regulatory bodies spend countless hours trying to assess this problem. Blockchain-enabled record keeping will relieve some of the burdens that are created when someone tries to interpret the past.
The Blockchain Life Cycle
Blockchains originated with the creation of Bitcoin. It demonstrated that a group of individuals who had never met could operate online within a system that was desensitized to cheat others that were cooperating on the network.
The original Bitcoin network was built to secure the Bitcoin cryptocurrency. It has around 5,000 full nodes and is globally distributed. It’s primarily used to trade Bitcoin and exchange value, but the community saw the potential of doing a lot more with the network. Because of its size and time-tested security, it’s also being used to secure other smaller blockchains and blockchain applications.
The Ethereum network is a second evolution of the blockchain concept. It takes the traditional blockchain structure and adds several new programming languages that are built inside of it. Like Bitcoin, it has over 10,000 full nodes and is globally distributed. Ethereum is primarily used to trade Ether and create smart contracts. The most popular Ethereum smart contract is the ERC-20. It allows for the generation of interchangeable tokens, which can be used for fundraising purposes. We introduce smart contracts in Chapter 5 of this minibook. In Book 4, Chapters 6 and 7, you can read more about how smart contracts work, and learn how to start writing them.
A third evolution in blockchain technology, which is under active development, is addressing speed and data size constraints. Fixing these issues will enable blockchain technology to be used more realistically with mainstream applications. It will take several years before it is clear which structure will win out.
Popular new developments include sharding, a type of database partitioning that separates large databases into smaller parts called data shards. An Ethereum development effort called fork choice rule splits the Ethereum blockchain into several parallel networks. This may allow Ethereum to scale more efficiently and reduce the congestion on the network, increasing transaction speeds and lowering transaction costs.
A second popular scaling theory is called PoS (proof of stake). Broadly, PoS is the concept of putting up tokens or cryptocurrency as a bond for processing transactions. If the node is corrupted and does not process the transactions accurately, the node may forfeit their tokens or cryptocurrency.
A third effort to scale blockchain technology utilizes trusted nodes. For example, the Factom network operates with federated nodes and an unlimited number of auditing nodes. These nodes are trusted with ensuring the system. Factom’s elected network is small, with just over 60 nodes. To hedge for security risks, Factom anchors itself into other distributed networks to piggyback on the security of more extensive systems. Factom also partitions its network into smaller, faster, more easily managed parts called chains. Factom has faster transaction speeds and lower transaction costs than PoW blockchains.
Consensus: The Driving Force of Blockchains
Blockchains are powerful tools because they create honest systems that self-correct without the need of a third party to enforce the rules. They accomplish the enforcement of rules through their consensus algorithm.