After having introduced blockchain’s main achievement by means of the Byzantine Generals Problem, we first need to look at some relevant terms and the definition of blockchain itself.
Blockchain technology is still at an early stage of development and subject to rapid evolution, which is why a common definition that is generally agreed upon has not been established yet. Technically speaking, a blockchain is merely an ever-growing set of records, called blocks, which are chronologically chained together and immutably secured using cryptography. Each block contains a cryptographically secure hash of the previous block, a time stamp and transaction data. Strictly speaking, a blockchain is not more than a data structure. However, the term is commonly used for a concept, which allows to create distributed consensus about the state of a database that is shared among a network, without having to rely on any trusted authority. To separate the two terms, the overarching concept will be referred to as blockchain technology (BCT) in this series.
BCT applies several fundamental computer scientific principles, combining peer-to-peer (P2P) networks, cryptographic algorithms distributed data storage and a so-called distrib-uted consensus mechanism. A P2P-network is a distributed network architecture that divides tasks between participating computers (nodes). Most importantly, nodes in P2P networks directly communicate with each other without relying on centralized servers. Distributed data storage is closely linked to P2P. Instead of leaving the storage of data to centralized servers, in a BCT environment, every node in the network stores a version of the blockchain on its own computer. Cryptography is a deep academic research field using numerous sophisticated mathematical techniques to render data secure. BCT requires rather ordinary and well-established cryptographic techniques, namely crypto-graphic hashes and digital signatures. Cryptographic hash functions take data of arbitrary length as input and return an output of fixed length. SHA-256, the hash function most commonly used by BCT, has two important features. First, the output it generates is unique. Second, the hash function is unidirectional, i.e. inferring the input data from the output hash is impossible.
The setting for a blockchain network now can be described as the following. A P2P network that is comprised of many nodes, each of which store a version of the blockchain on their own computer. Each of the nodes can be assumed to have an interest in updating the blockchain, be it out of intrinsic motivation or because they are incentivized to do so. Updating the blockchain equals verifying a number of transactions, that a node has re-ceived from other nodes in the network and bundling them up in a new block. Once the new block is created, a node propagates the new block to the network. Upon validation, other nodes in the network consent to the block and add it onto their version of the block-chain. How this consensus comes about in detail will be explained in the following episode, starting with transactions in blockchain network.
Image source: shutterstock