Introduction to Blockchain Technology. Tiana Laurence

Читать онлайн.
Название Introduction to Blockchain Technology
Автор произведения Tiana Laurence
Жанр Учебная литература
Серия
Издательство Учебная литература
Год выпуска 0
isbn 9789401805049



Скачать книгу

      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.

illustration

      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.