Add Thesis

Blockchain Database

Technical background and a reconnaissance on an implementation within the banking industry

Written by Viktor Charpentier, Tom Johansson

Paper category

Bachelor Thesis

Subject

Computer Science

Year

2017

Abstract

Thesis: What is a blockchain? The invention of the blockchain was proposed under the pseudonym Natamoto4 in the famous paper "Bitcoin: A Peer-to-Peer Electronic Cash System" in November 2008 [18]. In this paper, he proposed a protocol that uses cryptography and TCP (Internet) to implement a distributed currency system without any central or regulatory agency. The system is peer-to-peer (P2P) operation, that is, all nodes use the currency system. TCP is used as a communication medium between nodes, and cryptography is used to protect the pseudo-anonymity of users and prevent fraudulent transactions. The Bitcoin and Ethereum blockchains will describe a distributed database in more detail in sections 2.5.1 and 2.5.2.2.3.1. The core is that the blockchain is a database distributed/shared across users to ensure data consistency. The database is managed by one, multiple, or all peers in the network, not by a central organization [10]. As we all know, the fully decentralized blockchain is managed on the basis of P2P. The distributed nature of the blockchain means that at any point in time, all users on the blockchain should have the same copy of the ledger. The purpose of this is to ensure that "I know, what I see is what you see". However, the way to distribute the ledger and how to ensure the consistency of the ledger may vary greatly between implementations. 2.3.2 The common point of participating in all blockchain databases through a pair of keys is that participating transactions are completed through a pair of digital keys, allowing asymmetric encryption [11]], also known as public key cryptography. In practice, this means that individuals or entities wishing to conduct transactions on the ledger must come up with a series of random characters, store them securely, and represent the person's private key. Derive a wallet address from this private key, which is similar to a bank account. Using a pair of keys allows pseudo-anonymous transfer of assets. However, some recent implementations and wallet extensions are using multiple keys to allow a higher or complete degree of anonymity. 2.5.1.2.3.3 State and transaction The blockchain database consists of state (a snapshot of asset/value ownership) and transactions that change state. Bitcoin is an example of a completely stateless protocol, which only contains transactions. Other protocols store the most recent state and only store the current transaction. However, the common point of all blockchains is to pack transactions into blocks together with other data, such as the hash5 of the previous block header, to ensure that the blockchain has not been tampered with. When two people decide to make a transaction, they distribute the transaction to the network via TCP and become part of the candidate block. 2.4 In terms of blockchain implementation, in the blockchain community, various experts are freely describing the characteristics of existing blockchain implementations, lacking consistency in terminology and taxonomy. This report will roughly classify blockchain implementations through three parameters; trust vs. untrusted, public vs. private, permission vs. permissionless. 2.4.1 Trust vs. Untrust Blockchain network is composed of interconnected nodes, similar to the Internet, communicating via TCP. In the consensus process, nodes are validating transaction blocks and adding them to the chain. In the trusted blockchain, some trusted nodes are trusted to have write capabilities and add transaction data to the ledger, that is, verify transactions and place them on the blockchain. These trusted nodes usually refer to enterprise nodes or bank nodes trusted by users for safe management of transactions, similar to today's traditional intermediary systems. The nodes in the untrusted blockchain do not trust any specific node. Therefore, transaction verification relies on a consensus mechanism in which any node can participate and write into the ledger. Bitcoin is an example of a blockchain without trusted nodes. 2.4.2 Private vs. Public Public and private characteristics value the read permission of nodes on the blockchain. The public blockchain distributes all data in the network, so all nodes have full read permissions and insight into the ledger. In a private blockchain, only selected nodes can view the data. Such nodes can be trusted verification nodes or audit nodes, such as governance nodes, which need to be supervised and controlled in the ledger. However, public distribution of transaction data in the network is one of the characteristics that define the blockchain. Therefore, one might think that a private blockchain is a semi-distributed ledger, not a blockchain. 2.4.3 The feature of permission and permissionlessness relates to who can participate in the value exchange on the blockchain. In the permission ledger, there is one or a group of nodes to verify and track and decide who can join the network. Therefore, among the existing blockchain implementations in 2017, only trusted blockchains can be licensed. On the other hand, in a permissionless blockchain, anyone can join the network. Therefore, there is no centralized trust model in which a specific identity needs to be known and all nodes join anonymously through their digital keys. Nevertheless, permissionless ledgers may have a centralized trust model. 2.5 Existing main realizations 2.5.1 The first realization of the Bitcoin blockchain was introduced in the Bitcoin white paper. Bitcoin is a cryptocurrency that can be traded without any intermediary. This invention was published after the financial crisis, with the aim of eliminating central authority, increasing transparency and allowing direct transactions. Read Less