Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Blockchain technology has come a long way since the initial vision published by Satoshi Nakamoto in 2008. Big buzz words like "bitcoin," "blockchain," and "cryptocurrency" are everywhere. Companies and governments have started to use blockchain technology in earnest and will increasingly do so for the foreseeable future. This book takes an in-depth look at blockchain technology and how users can take advantage of its potential. Since its initial conception, blockchain has encompassed both a social promise and new technology. Originally proposed as a solution for Bitcoin's cryptocurrency record-keeping system, blockchains are now used to store the records of all types of applications. Core services we all depend on like the transfer of money, voting, land records, IP rights, and identity all rely on intermediaries. Blockchain software has begun taking the place of these antiquated systems. The software becomes the trusted record-keeping system, and the rules programed into the software become the intermediaries. This book explains the fundamentals of blockchain technology and assumes that the reader has little to no knowledge of the subject. Topics are explained as simply as possible, while not obscuring details that may affect the reader. It also gives the reader insight into the critical differences in blockchain software and will provide them with a basic understanding of how and why these systems work. After reading this book, the reader will be able to speak with confidence on the topic, know key differences in technology. The reader will also have critical insight into blockchain software's inherent limitations and shortcomings. This book is also the definitive guide to the Blockchain Technology Foundation (BTF) exam from EXIN. It will prepare the reader for the test, and each chapter ends with review questions for extra guidance in preparing for the exam.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 293
Veröffentlichungsjahr: 2019
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
INTRODUCTION TO BLOCKCHAIN TECHNOLOGY
Van Haren Publishing (VHP) specializes in titles on Best Practices, methods and standards within four domains:
- IT and IT Management
- Architecture (Enterprise and IT)
- Business Management and
- Project Management
Van Haren Publishing is also publishing on behalf of leading organizations and companies: ASLBiSL Foundation, BRMI, CA, Centre Henri Tudor, Gaming Works, IACCM, IAOP, IFDC, Innovation Value Institute, IPMA-NL, ITSqc, NAF, KNVI, PMI-NL, PON, The Open Group, The SOX Institute.
Topics are (per domain):
IT and IT Management
ABC of ICT
ASL®
CATS CM®
CMMI®
COBIT®
e-CF
ISO/IEC 20000
ISO/IEC 27001/27002
ISPL
IT4IT®
IT-CMF™
IT Service CMM
ITIL®
MOF
MSF
SABSA
SAF
SIAM™
TRIM
VeriSM™
Enterprise Architecture
ArchiMate®
GEA®
Novius Architectuur
Methode
TOGAF®
Business Management
BABOK ® Guide
BiSL® and BiSL® Next
BRMBOK™
BTF
EFQM
eSCM
IACCM
ISA-95
ISO 9000/9001
OPBOK
SixSigma
SOX
SqEME®
Project Management
A4-Projectmanagement
DSDM/Atern
ICB / NCB
ISO 21500
MINCE®
M_o_R®
MSP®
P3O®
PMBOK ® Guide
Praxis®
PRINCE2®
For the latest information on VHP publications, visit our website: www.vanharen.net.
The many faces of blockchain technology in the 21st century
Tiana Laurence
Title:
Introduction to blockchain technology
Subtitle:
The many faces of blockchain technology in the 21st century
Author:
Tiana Laurence
Reviewers:
Atul Anand (Global MBA, SP Jain: Strategic Management, IIMC)Stefan Macica (Slovakia)Rita Pilon (EXIN)Scott Robinson (founder of Plug and Play FinTech)Mikulas Zalai (Slovakia)
Text editor:
Steve Newton
Publisher:
Van Haren Publishing, ’s-Hertogenbosch, www.vanharen.net
ISBN Hard copy:
978 94 018 0499 8
ISBN eBook pdf:
978 94 018 0501 8
ISBN eBook EPUB:
978 94 018 0504 9
Edition:
First edition, first impression, October 2019
Layout and DTP:
Coco Bookmedia, Amersfoort – NL
Copyright:
© Van Haren Publishing, 2019
Nothing from this publication may be reproduced, recorded in an automated database or published on or via any medium, either electronically, mechanically, through photocopying or any other method, without prior written permission from the publisher.
This publication was produced with the utmost care and attention. Nevertheless, the text may contain errors. The publisher and the authors are not liable for any errors and/or inaccuracies in this text.
Dear reader,
You have heard buzz words like “bitcoin”, “blockchain”, and “cryptocurrency”. They are everywhere. Companies and governments have started to use blockchain technology in earnest and will increasingly do so for the foreseeable future. It is time to take an in-depth look at blockchain technology, and how you can take advantage of its potential.
This book is perfect for you if you are looking to expand your knowledge of blockchain technology but are not a programmer. It is about software but not written for technical experts. It assumes that you have little to no knowledge of the subject and will explain topics as simply as possible, while not obscuring details that may affect you. The book will give you insight into the critical differences in blockchain software and will provide you with a basic understanding of how and why they work.
After reading this volume, you will be able to speak with confidence on the topic, know key differences in technology, and why they are relevant to you, your company, and your industry. You will also have critical insight into blockchain software’s inherent limitations and shortcomings.
The popularization of blockchain has shrouded the sector into the realm of alchemy. Attaching the words “tokenization” and “blockchain” have spontaneously transformed the mundane into the magical. This book will demystify the topic and cut through the hype. You will understand the changes that are happening and uncover any pretense.
In this book, each chapter ends with review questions to help you better understand the core of the chapter.
I hope you will enjoy this book.
Kind regards,
Tiana Laurence
1 Introduction to Blockchain Technology
1.1 Key blockchain concepts
What is a blockchain?
What are nodes?
What is cryptocurrency?
What are tokens?
What does distributed mean?
1.2 Summary
1.3 Test your knowledge
2 Key parts of blockchain technology
2.1 Cryptography
Machines that encrypted data in the past
Modern encryption
Private and public keys
2.2 What is a hash?
From blocks to hashes
2.3 Ledgers
Transactions and trade
2.4 The public witness
Computers that witness
2.5 Summary
2.6 Test your knowledge
3 The structure of the network: consensus algorithm
3.1 Proof of Work
3.2 Proof of Stake (PoS)
3.3 Delegated Proof of Stake
3.4 Proof of Authority
3.5 Proof of Elapsed Time
3.6 Proof of Capacity and Proof of Space
3.7 Proof of Burn
3.8 Hyperledger Fabric
3.9 Summary
3.10 Test your knowledge
4 Key blockchain networks and technologies
4.1 The history of blockchain networks
4.2 Top challenges for blockchain networks
4.3 A deeper dive into Bitcoin
The top challenges that face Bitcoin’s global adoption
Major Bitcoin contributors
4.4 Hyperledger
4.5 EOS’s delegated Proof of Stake
4.6 Ripple
4.7 Unearthing Ethereum
4.8 The Waves platform – a Russian blockchain
4.9 Summary
4.10 Test your knowledge
5 Second generation applications of Blockchain technology
5.1 Smart contracts
Smart contracts: origins and how they function
Creating and deploying smart contracts
5.2 Tokens
Token standards
Second generation tokens
5.3 Decentralized applications
How are DApps constructed?
5.4 Decentralized Autonomous Organizations (DAOs)
How DAOs work
Key takeaways about DAOs
Legality of DAOs
5.5 Summary
5.6 Test your knowledge
6 Expanding applications of blockchain
6.1 Decentralized identity
Online identity - the honey pot
Self-sovereign identity
What is identity?
History of identity documentation
Challenges of identity
6.2 Blockchain protected identity
Blockstack
Microsoft
IBM’s Trusted Identity
Civic
6.3 Blockchain and IoT
Toyota
IBM
6.4 Artificial Intelligence and blockchain
The history of Artificial Intelligence
Companies building blockchain technology for AI
SingularityNET
Enigma
Matrix AI network
6.5 Decentralized marketplaces and exchanges
Challenges of decentralized marketplaces
Lack of legal framework
Emerging developments
Loss of customer touch
Popular decentralized marketplaces and exchanges
OpenBazaar
ModulTrade
FundRequest
6.6 Summary
6.7 Test your knowledge
7 Blockchain and the world economy
7.1 Supply chain industry
Supply chain of the past
Supply chain of the future
Supply chain using blockchain technology
7.2 Cross-border money transfer
A little history in cross-border money transfer
Innovation in cross-border payment
Cross-border payment of the future
Top three challenges in cross-border money transfer
7.3 Financial change agents
The Ripple protocol
The R3 consortium
COTI
Everex
SendFriend
7.4 Summary
7.5 Test your knowledge
8 New frontiers in blockchain and business
8.1 Digital fiat currency
History of digital fiat currency
Top challenges in the digital fiat currency industry
Long-term effects to physical tenders
8.2 Disrupters in banking and currency
eCurrency
Blockstream - Liquid
Ripio
Woorton
BABB
8.3 Blockchain and insurance
History of insurance
Insurance of the present
Insurance of the future
Top challenges in the insurance industry
Blockchain startup companies in the insurance industry
Black
BlockRe
B3i
ChainThat
8.4 Intellectual property rights and providence
History of intellectual property rights
Intellectual property at present
Intellectual property of the future
Top challenges in the intellectual property rights industry
Digital reproduction
Coverage expansion of rights
Digital IP of the future
IPwe
LOCI
Vaultitude
8.5 Summary
8.6 Test your knowledge
9 Blockchain and people
9.1 Lean governments
9.2 Estonia’s e-Residency
9.3 Better authentication and notarization in China
9.4 The trust layer for the internet
9.5 Spam-free email
9.6 Blockchain oracles for IoT
9.7 IP and trusted authorship
9.8 Intellectual property rights
9.9 Government
Smart cities of China - Hangzhou
U.S. Department of Homeland Security
Singapore’s Smart Nation project
Singapore satellite cities in India
China’s Whole Country strategy
9.10 Financial capitals of the world
London
Exciting projects across the UK
9.11 Dubai’s 2020 goal
9.12 BitLicense of New York City
9.13 Malta, the blockchain island of the EU
9.14 German blockchain
9.15 French blockchain efforts
9.16 Summary
9.17 Test your knowledge
10 Blockchain and the inhibitors
10.1 Blockchain vulnerabilities
Smart contract vulnerabilities
Centralized public networks
Centralized private networks
10.2 Community fractures and feuds
10.3 Fraud and scams
Advanced fee schemes
Identity theft and credit card fraud
Internet and device hacking
Market manipulation
Pyramid and Ponzi schemes
10.4 Summary
10.5 Test your knowledge
Appendix A: Answer Keys
Index
Blockchain has become an omnipresent term that encompasses a social promise and a new technology. Originally proposed as a solution for Bitcoin’s cryptocurrency record keeping system, blockchains are now used to store the records of all types of applications.
Blockchain means something more in many people’s minds. The promise many associate with blockchain applications is that they will collapse all centralized systems. Centralized systems are everywhere people need to trust a counterparty and don’t have the resources themselves to do so independently.
An easy way to identify a place where blockchain technology may be applied is to look for areas where a middleman is needed to facilitate trust. Trust is essential for things such as the transfer of money, voting, land records, IP rights, and identity. Blockchain software can be programmed to take the place of the middleman by becoming the trusted record keeping system.
In this chapter, you will learn the basics of blockchain software. This includes the vital concepts that govern most blockchains, economic models, and network structures. It will help you lay a strong foundation for understanding how the technology works and what it is capable of doing.
Blockchain technology has come a long way since the initial vision published by Satoshi Nakamoto in the Bitcoin white paper in 2008. Buzz words like “bitcoin”, “blockchain”, and “cryptocurrency” are everywhere. Companies and governments have started to use blockchain technology in earnest and will increasingly do so for the foreseeable future.
Since its initial conception, blockchain has encompassed both a social promise and new technology. Originally proposed as a solution for Bitcoin’s cryptocurrency record-keeping system, blockchains are now used to store the records of all types of applications.
Core services you may depend on every day such as the transfer of money, payments, voting, land records, IP rights, and identity all rely on intermediaries. Blockchain software has begun taking the place of these antiquated systems. The software becomes the trusted record-keeping systems, and the rules programed into the software become the intermediaries.
It is important to note that blockchains can be used for more than just recording the transfer of value between two parties. The primary benefits of cryptographic identity, historical and chronological provenance, and the transparency of the networks complete history work exceptionally well for many industries that require two parties to trust each other.
Pigeonholing blockchain technology solely for financial transactions is a very limited perspective. Before you can fully grasp the potential applications of blockchains as part of a technology stack, it’s important to understand how the technology works. In the following section you will learn about the key concepts that make blockchain technology revolutionary.
Blockchain technology structure was first described in the Bitcoin white paper as a peer-to-peer distributed time-stamp server. The author, Satoshi Nakamoto (possibly a fictitious name), wanted to create a peer-to-peer electronic cash system that did not need a network of banks to operate. Satoshi described “blocks” and “chains” as a way of organizing and securing records, such that once entries had been made into a shared database, they could be proved mathematically correct and to have remained unchanged.
Satoshi’s description of blocks are groups of transactions that have occurred over a period of time. A transaction, in the case of Bitcoin, represents the transfer of some cryptocurrency, known as bitcoin, from one user to another.
For example, Sally sends you a bitcoin, you receive it, and the transfer of the bitcoin between the two of you is recorded as a “transaction”. Bob, Joe, Mark, and Tammy send each other bitcoins at the same time. All of these transactions are bundled into a block and are recorded in the Bitcoin blockchain.
Blockchains have a special way of recording the transfer of bitcoins from one party to another. The transactions are time-stamped and signed by the sender of the bitcoin. So, in the example above, Sally signs the transfer of bitcoin to you. Sally’s signature for the transfer of bitcoin is not an ink and paper kind. Sally signs electronically or rather cryptographically, with what is called a private key. What this means is that the blockchain software can tell she and no one else has the authority to transfer that bitcoin.
Once Sally’s transaction with you has been recorded in the block with all the other bitcoin transfers, the block is sealed and linked to the other blocks of transactions. Blocks are sealed and linked by hashes. Hashes are created through a cryptographic hash function.
How hash functions are used in blockchains is very clever but simple. All the data that make up a block of transactions are processed. The output of this mathematical process is a string of numbers and letters of a fixed-size, for Bitcoin it is 32 bytes. If the input does not change, the hash function will always result in the same output string. Hash functions are a covenant way in computer science to prove data has not changed.
Once a hash has been generated from a block, the fixed string of numbers and letters is recorded in the next new block of transactions. Recording the hash of the previous block of transactions links one block to another chronologically. Removing a block, or even a single transaction, from within a block would break the record and would instantly be noticeable to everyone, as your fixed string of 32 characters would not match their fixed string. See figure 2.
Figure 1 What is a blockchain?
Figure 2 Hash function in blocks of transactions.
Satoshi’s goal was to prevent Sally from sending the same bitcoin to you and someone else and thus defrauding the network. The “block” and “chain” of blockchain technology is a clever way of structuring and recording transaction data chronologically. It keeps track of “who” owns “what” and “when”.
The Bitcoin white paper incorporated an incentive program for participants to process new transactions and to keep an unaltered record of every past transaction. In Bitcoin, this incentive system is called mining, and the incentive given to the miners is the cryptocurrency bitcoin, see figure 3.
Figure 3 The concept of mining.
Satoshi understood that if a single person or entity had master editing power over the records, then the transaction could be altered, defeating the purpose. If the record was broken, then it may be possible for Sally to send you and Bob the same bitcoin.
Satoshi, possibly inspired by the financial crisis of 2008, wanted to stop fraudulent transactions without needing a third party to aggregate records and provide trust that everyone would operate in good faith. Satoshi proposed that the aggregation of records could be done with software via a peer-to-peer distributed time-stamp server and trust could be established through cryptographically-provable mathematics. This system of record keeping is what you now known as a blockchain.
When a computer connects to a blockchain network, the computer becomes a node. A node runs the blockchain software for the network and keeps the network healthy by engaging in the transfer of information. Anyone can run a node on a public network like Bitcoin. Nodes broadcast bitcoin transactions to other nodes throughout the network. However, not all nodes are the same.
There are several classifications of nodes depending on the level of participation and the type of blockchain network. Every network has different roles available. For example, when you run a node that has a complete history of the network’s transactions and verifies all of the rules of the system, it is called a full node. Full nodes download every block, and then they check each transaction and block to make sure they are compliant with the rules of the network. The network’s rules are called its consensus system. See figure 4.
Figure 4 What is a node?
Every blockchain has unique consensus rules. These rules cover things like the number of cryptocurrency units rewarded to miners and how transactions and blocks are formatted. When a full node finds a transaction or block that breaks the consensus rules, the node rejects the transaction or the block. Each full node works independently.
Operating a full node can be resource-intensive. It requires downloading every transaction for the full history of that blockchain. Full nodes need all new transaction records. They keep all block headers. Block headers identify a unique block and contain a hash of the previous block. All of this data adds up and takes up a lot of room. The Bitcoin blockchain is hundreds of gigabytes in size and growing every day.
However, there is a way to connect to a blockchain, without committing as many resources to the network. This is called a lightweight node or client. Lightweight nodes verify transactions by piggybacking on the work of full nodes. They only download the headers of all blocks and then check transactions utilizing a system called Simplified Payment Verification (SPV). As you may remember, the block headers contain hashes that prove that each block is in order and has all its transactions.
Operating a lightweight node may seem appealing. However, they are vulnerable to being tricked by bad actors. Because the SVP method is only checking the blockchain header, the lightweight node may accept transactions or blocks that are not valid. If you think you have received some bitcoin for example, but in reality you have not, this could cause financial issues. Full nodes provide the highest protection from fraud related to the transfer of cryptocurrency.
Another common way to connect to a blockchain network is to mine. A miner is a type of node that is adding transactions to new blocks. Miners compete to win the right to create a new complete block by solving a complex mathematical problem. Each miner will write their answer in the block header and if they are correct, they are then rewarded with cryptocurrency. The problem that miners are trying to solve is to guess a number that, when combined with the hashed transaction data from the block, returns an answer that is within a specific range called a “nonce”. For Bitcoin, a nonce is a number between 0 and 4,294,967,296.
The first miner to get a hash within the desired range broadcasts the winning number to the rest of the network. All the other miners promptly stop their work on that block and start guessing the nonce for the next block. At that point the competition for the next new block begins.
Miners opt into the ruleset by accepting the software upgrades. The network has available upgrades that users elect to adopt by updating their software. You can think of the upgrades as software patches. The upgrades are only as good as the acceptance and use by the miners.
There are three critical distinctions in blockchain nodes that are worth understanding as these affect the assumptions that are made around fairness, censorship, and permanence of data.
Public blockchain nodes
Public blockchains are open to anyone in the world to participate in the functions of the network, only limited by their access to the internet, hardware, and electricity. This means that you can be a miner earning cryptocurrency as your secure blocks, a full node checking transactions, or a lightweight node sending and receiving messages on the network. There are no gating mechanisms, no one to ask permission and no licensing fee. The software is held in an open license such as the Apache or MIT license. Prominent examples of this type of network include Bitcoin and Ethereum.
Permissioned blockchain nodes
Permissioned blockchains are private networks that utilize some blockchain technology but not all. Most don’t incorporate any kind of mining and so do not have a native cryptocurrency. This means that there are no disinterested third parties securing blocks, the blocks and transactions are all processed by known participants. The participants all have a vested interest in the integrity of the records. Often these networks are built by for-profit companies and are operated by consortiums such as R3.
Nodes on a Corda network
R3 (www.r3cev.com) built a consortium with more than 100 of the world’s leading banks and insurance companies. They work to streamline redundant business processes by integrating blockchain technology.
Corda is the blockchain protocol behind R3. It is a distributed ledger platform, often referred to as “DLT” (distributed ledger technology). Breaking down the jargon, a “ledger” is a general term for describing records used to account for something and “distributed” means that the record is kept in more than one location. It is designed specifically to manage and synchronize financial agreements between regulated financial institutions.
The R3 platform works very differently from public blockchains. There is no mining, and the transmission of data is not public in the same sense as it is on platforms such as Ethereum or Bitcoin. Unlike public blockchains that broadcast their transactions to the whole network, transactions execute in parallel on different nodes. Each node is unaware of the other’s transactions. The history of each network is on a need-to-know basis and cannot be viewed by the public.
Key features of Corda include the following:
■ Controlled access to the network;
■ Observer node for regulators;
■ Transactions are validated only by the parties involved;
■ Compatible with multiple consensus mechanisms;
■ No mining and no cryptocurrency.
Nodes on a Hyperledger Fabric network
Nodes on Hyperledger Fabric (see also: https://www.hyperledger.org/projects/fabric) are called Peers and Orderers. Unlike public blockchains that have nodes validating transactions or mining, the nodes on Fabric host the ledger’s data and make sure it’s in order. The data they host may include smart contracts, orderers, policies, channels, applications, organizations, identities, and membership. Another important distinction is that a Fabric peer can host more than one blockchain ledger. This feature allows for flexible architecture in the design of your private blockchain system.
Blockchain applications connect with peers on Fabric through APIs, application programming interfaces. The APIs allow you to invoke Fabric smart contracts in order to create transactions. Once you have submitted your transaction, they will be ordered and committed to Fabric. This does not just happen right away. The transaction must get approval from enough peers before the ledger is changed. It is possible to have two or more peers agree to cooperate privately. In Fabric this is called a channel. In the channel, the peers agree to collaborate to share and manage identical copies of the ledger associated with their channel.
Otherwise, when you submit a transaction, there is a three-phase process. This process ensures all peers keep their ledgers consistent with each other, see figure 5. This is where orderer peers are important. Their job is to ensure that every peer’s ledger is kept consistent. Single peers cannot update the ledger by themselves.
■ Phase 1: an update to the ledger is requested by a blockchain application. Peers will endorse the transaction. Once a transaction has gained enough endorsements, the transaction will move to phase 2.
■ Phase 2: the endorsed transactions are collected together and packaged into blocks. The orderer is crucial to this process. Peer audit by an orderer ensures this is done correctly.
Figure 5 The Fabric three-phase process.
■ Phase 3: the new block that was created is broadcast back to every peer so that they can update their blockchain record. Each transaction in the new block is then validated by the peer before being applied to its copy of the ledger.
Federated blockchain nodes
Federated blockchain nodes can exist in both public blockchains and private blockchains. Federation is when the system, or rather the user of a system, elect nodes to process transactions. Designating a few nodes to do most of the work of maintaining the blockchain records has its advantages and disadvantages.
One of the main reasons why systems choose this type of architecture is because it can reduce the raw cost of processing transactions and it can increase the speed at which the blockchain is updated and transactions are cleared.
However, there are some very good reasons to not have federated nodes. Blockchains are often judged to be less resilient to corruption when they have fewer nodes operating and securing the network. It is more feasible to take over a handful of computers and their operators then it is the ten thousand or more nodes that operate at any given time on the Bitcoin network.
Here are a few examples of blockchain networks that operate with some form of federation or designated nodes.
Factom is a public blockchain that has two classes of federated nodes, see figure 6. Half of these are processing transactions whilst the other half watch to make sure that the nodes processing the transactions are accurate and not censoring transactions. Users of the system elect nodes to be Federated Factom nodes. Factom does not use mining but does have a native cryptocurrency. The Federated nodes are rewarded with “Factoids” the Factom cryptocurrency for processing transactions. The nodes can then sell Factoids back into the market to those who wish to utilize the Factom blockchain.
Figure 6 The Factom federated network.
Waves is a public blockchain that limits participation in the network to nodes that hold sufficient “waves” of cryptocurrency. Currently, the limit is set to approximately 1,000 waves. The Waves blockchain is a peer-to-peer network, and any computer running the Waves software is considered a node and can propose new transactions. But only full nodes are allowed administrative duties. They relay blocks and transactions to miners and answer queries for end users about the state of the blockchain. Full nodes ensure that new blocks are valid. They check the format of the block in order to validate that all hashes in the new block are correct, that there is a hash of the previous block, and each transaction was signed by the right parties. Full nodes can mine new blocks. Mining on Waves consists only of generating new blocks, it does not require solving difficult math problems like Bitcoin. See figure 7.
Cryptocurrency is a type of digital cash and is a bearer instrument. An old type of bearer instrument was a document that entitled the holder to the rights of ownership, such as shares, bonds, and cash money (coins and notes). Many bearer instruments are banned because of their potential for abuse, for example through tax evasion and money laundering.
The idea of digital cash has been around since the ‘90s, such as Digicash. But it never took off because all the systems relied on a trusted third party to facilitate the record of ownership and transfer. A third party that facilitates the record of digital cash makes it a non-bearer instrument and gives the third party a lot of power.
Figure 7 Bitcoin node vs. Waves node.
Cryptocurrency was developed by Satoshi Nakamoto as a way to prevent the holder of digital currency from sending it to more than one party. This is often referred to as “preventing double-spending”. In a centralized system, preventing double-spending is easy: the third party, for instance a bank, checks their record of ownership and disregards any fraudulent transfers.
The revolution that Satoshi began with Bitcoin in 2008 is a system that allowed the electronic transfer of digital cash without a central party checking its record of ownership. Satoshi developed a peer-to-peer electronic cash system.
The network collaboratively works to prevent double-spending and operates in much the same way as a network for file sharing. Every peer in the network has a list with all the network’s transactions. The peers check all new transactions to make sure they are valid and that there are no attempts to double spend the cryptocurrency.
A cryptocurrency is only a valid entry in a database. Cryptography is used to ensure a request to update the database is correct. There is a distributed network that enforces the rules around updating entries. Some blockchain networks have scarcity mechanisms such as mining that drive the perceived value of an entry. But the root of any cryptocurrency is to have only a valid entry in a database. Cryptocurrencies now have real-world value and can be traded for traditional currencies or directly for goods and services.
Not all blockchain networks have cryptocurrency, but all networks allow for the issuance of some kind of token. A token - much like cryptocurrency - can act as a bearer instrument and be used to transfer value between two parties over a blockchain network. It’s important to note that tokens are very flexible and may not be bearer instruments.
A significant difference between a cryptocurrency and a token is who actually creates them, see figure 8. A token is created by a single party that would like to account for something of value. In contrast, a blockchain network generates a cryptocurrency as a reward mechanism for nodes that facilitate the upkeep of the shared database.
Figure 8 Differences between tokens and cryptocurrency.
The Ethereum foundation pioneered and greatly improved token technology. The Ethereum blockchain was designed to host smart contracts, and these are well suited for creating tokens. A smart contract is code that executes within a blockchain. The smart contract code is a series of instructions that dictate how that token works.
There are many types of tokens, and the Ethereum network has many standards based around how these tokens work. The shared standards allow any tokens on Ethereum to be utilized by other applications. Here are two popular token standards:
ERC-20
The ERC-20 token standard is the most popular token on the Ethereum network, and other blockchains have adopted the same rule set for their tokens. One of the driving factors for its popularity was that the ERC-20 tokens were used for crowdfunding. These funding events were called initial coin offering (ICO).
ERC-721
The ERC-721 is another popular token standard. It differs from the ERC-20 in that each token is unique. A common use for the ERC-721 is digital collectibles. It allows an issuer to prove uniqueness and transferability of a digital asset while allowing each asset to be unique. Cryptokitties (https://www.cryptokitties.co) was the first ERC-721 implementation.
There are three main types of blockchains, as shown in figure 9:
■ public blockchains,
■ private blockchains, and
■ hybrids.
Public blockchains allow anyone to participate in the network as long as they have access to the internet, hardware and electricity. Private blockchains only allow trusted parties to operate their blockchain. Hybrid blockchains control who can participate and at what level of participation each node is allowed to operate. These key differences are important to understand as they affect how distributed a blockchain network can become.
Distribution is characterized by how many independent nodes are operating on a network and keeping a full history of their respective blockchain. For public blockchain this would include all nodes that are mining new blocks and all nodes that are validating transactions.
Figure 9 Hybrid, public and private networks.
A key driver in the distribution of full nodes is economic incentivization. Those blockchains where an individual makes a profit from operating as a miner or processing transactions have more full nodes. Public blockchains offer up their native cryptocurrency as a reward to those who are maintaining the network.
The fair market value of a cryptocurrency will determine how many individuals will compete to maintain the network. The market value is driven by speculation, scarcity and utility. Bitcoin, for example, has fluctuated in price wildly (see figure 10) and so has the number of independent full nodes.
Distribution is a very important consideration when picking a network to work with. The greater the number of full independent nodes, the harder it is to compromise the data that has been written into that blockchain. The greater the number of full nodes, the more difficult it is to censor data from being written into a blockchain.
Figure 10 Price volatility of cryptocurrency.
Public blockchains that do not attract enough nodes are vulnerable to attack. Primarily, the attacker is looking to corrupt the transaction history so that they can spend a token or cryptocurrency twice. This is called a “51% attack“, see figure 11. Given that blockchains have one job, making permanent data, 51% attacks create an existential threat.
Figure 11 51% attack.
Private and hybrid blockchains combat 51% attacks by gating full node access to only known parties. However, they are exposed to just the same problem from within. A few hybrid blockchains have created workarounds where they publish a hash of their network every so often into a highly distributed public blockchain. This hash is called a Merkle tree root and allows a hybrid blockchain to restore itself to its last known valid block in case its network is attacked. See figure 11.
Figure 12 Stabilizing hybrid and private blockchains.
You have covered a lot of ground in this chapter. You have learned what a blockchain is and how it is used to secure information. You have discovered the three main types of blockchain networks: public, private and hybrids. You have learned about cryptocurrency and why it is created by public blockchain networks to secure themselves. This chapter has also looked into the differences between cryptocurrency and tokens and how tokens are being used.
This chapter is important as it lays a framework for the rest of the information in this book. After reading it you are prepared for later sections. You are able to talk more confidently about the technology.
1. What is a blockchain?
A. A blockchain is a node time stamper that holds a record of all transactions that have ever occurred on that network.
B. A blockchain is a time-stamp server that holds a record of all transactions that have ever occurred on that network.
C. A blockchain is a peer-to-peer distributed time-stamp server that holds a record of all transactions that have ever occurred on that network.
D. A blockchain is a peer-to-peer distributed time-stamp server that holds some of the records of the blockchain.
2.What is a hash function in the context of a blockchain?
A. A hash function is a mathematical problem that creates an output called a string. These are numbers and letters of any size; for Bitcoin it is 72 bytes.
B. A hash function adds blocks to the blockchain. And it is the output of a mathematical process that creates a string of numbers and letters of a fixed-size; for Hyperledger it is 32 bytes.
C. A hash function is used to open up all the data in a block. A hash is the output of this mathematical process that creates a string of numbers and letters of a fixed-size; for Bitcoin it is 82 bytes.
D. A hash function is used to secure all the data in a block of transactions. A hash is the output of this mathematical process that creates a string of numbers and letters of a fixed-size; for Bitcoin it is 32 bytes.
3. What is a node?
A. A node is a computer that is connected to a blockchain network. It runs the software for the network and keeps the network healthy by transferring information across the network to other nodes.
B. A node is connected to a blockchain network through the internet. It lets you buy bitcoin.
C. Nodes are special computers that build blocks. They keep the network running by storing information.
D. A node transfers information across the network to other nodes.
4. What is the three-phase process for Fabric?
A. One -write a smart contract, two - the endorsed transactions are collected, three - the new block is broadcast back to every peer.
B. One - an update to the ledger is requested, two - the new block is broadcast back to every peer.
C. One - an update to the ledger is requested, two - the endorsed transactions are collected, three - the new block is broadcast back to every peer.
D. One - an update to the ledger is requested, two - the endorsed transactions are collected, three - the node records the transaction in its ledger.
5. What is a public blockchain network?
A. A public blockchain allows some people to participate at any level they want. All have some form of mining and a token.
B. A public blockchain allows anyone to participate if they identify themselves first. All have some form of mining and a native cryptocurrency.
C.
