Block Chain – for my own understanding:

Part1: Definitional Issues

I am trying to understand the concept and use cases of blockchain. I plan to put up a series of blogs on this subject as I navigate through the complexity of the subject. I will be more than happy to receive any response pointing out flaws in my understanding. Please write to me at ashok.nag@gmail.com.

Definition of Blockchain:

Bitcoin.org: The blockchain is a shared public ledger on which the entire Bitcoin network relies. All confirmed transactions are included in the blockchain. It allows Bitcoin wallets to calculate their spendable balance so that new transactions can be verified thereby ensuring they’re actually owned by the spender. The integrity and the chronological order of the blockchain are enforced with cryptography.

Ethereum: A blockchain is a public database that is updated and shared across many computers in a network.

Wikipedia: A growing list of records, called blocks, that are securely linked together using cryptography. The blocks are timestamped and chained with the previous block by incorporating a cryptographic hash of the previous block.

IBM: Blockchain is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets in a business network.

Oracle: Blockchain is defined as a ledger of decentralized data that is securely shared. Blockchain technology enables a collective group of select participants to share data. With blockchain cloud services, transactional data from multiple sources can be easily collected, integrated, and shared. Data is broken up into shared blocks that are chained together with unique identifiers in the form of cryptographic hashes.

Our definition: Blockchain is a digital record management system with the following properties:

  1. Records are grouped into blocks with a pre-defined limit for the size of a block. The size of a block determines the number of records of a given size that a block can include. Data in blocks can only be appended and not deleted or modified.
  2. The process of creating a new block and adding it to a given chain determines the type of blockchain. There are mainly two types of blockchain, namely permissionless and permissioned. The former one is called public blockchain as access to it is open to all. The latter type restricts access to authenticated users only and is also known as a private blockchain. 
  3. Blocks are mostly stored in a key-value database. Bitcoin, Ethereum, and many other cryptocurrencies use LevelDB database of Google. Cryptographic hashes are used as identifiers for a block as well as its records. In other words, hashes are the keys and the data as the value.  
  4. The “chain” part in “Blockchain” refers to the fact that two consecutive blocks are linearly linked as a parent and a child. The block which has no parent is called the Genesis block of a particular chain.  The “chaining process” entails the incorporation of the hash value of a parent block in the header of the child block. A block’s header contains all the metadata of the block. This linking of parent and child through a hashing process ensures
  5. immutability of data of a child’s parent block and then all its ancestors up to the genesis block

Before explaining the components of a blockchain in more detail, we need to clarify the term “distributed ledger” and its connection, if any, to the concept of “distributed database”.

A ledger, primarily an accounting term, is a date-wise summary of all transactions of values, details of which are kept in a supporting book called “journals”. The word” ledger” was used in the blockchain context because its first use case was in the creation of a decentralized currency system. Since a ledger is also a record-keeping system, the term has persisted.  But the question remains whether a ‘distributed ledger” is conceptually and practically equivalent to a “distributed database”. The answer is a big No.

Let us first demystify the term “distributed”. Oracle has defined a distributed database as “a set of databases stored on multiple computers that typically appears to applications as a single database. Consequently, an application can simultaneously access and modify the data in several databases in a network”. 

Ozsu and valduriez have defined a distributed database and database management system as a “    Collection of multiple, logically interrelated databases distributed over a computer network. A distributed database management system (distributed DBMS) is then defined as the software system that permits the management of the distributed database and makes the distribution transparent to the users” (page 3). It is important to note that a distributed database system must also have an associated database management system to enable end users to access, query ,and generate user defined reports. Although a key-value database is also called a database, it provides limited support for data manipulation to discover patterns within the database and, therefore, the DBMS associated with it is very rudimentary.

Let us now look into the ledger aspect of blockchain-based databases. What does a business ledger look like? IBM, while highlighting the deficiencies of current business ledgers, has given the following example.

Source:     https://developer.ibm.com/tutorials/cl-blockchain-basics-intro-bluemix-trs/

IBM states that the current business ledgers are “inefficient, costly, and subject to misuse and tampering.” If this is the “reality”, then all the balance sheets and P&L accounts of IBM itself are faulty, and cannot be trusted by investing public as well as any tax authority”. Be that as it may, it is undoubtedly true that no enterprise will maintain its transactions only in a blockchain database although the immutability property of blockchain may have its own use.

For pedagogical purpose, let us consider the following example of an accounting database model

Source: https://towardsdatascience.com/how-to-build-an-accounting-system-using-sqlite-2ce31f8b8652

Obviously, a proper industry standard accounting information system (AIS) software will require a much more complex database. For our limited purpose, it suffices to note that a ledger book database cannot be a list of transactions only. A number of complex rules must be enforced on the database to create a proper double-entry accounting system.  For example, a bank reconciliation process that matches a company’s bank statement with its cashbook balances is automated in many accounting information systems(AIS).  The participants in this process must be authorized and cannot be anonymous validators. A blockchain-based database cannot be a solution for such essential requirements of an AIS, although underlying transactions can be stored in a private blockchain for future auditing requirements (see the article: Blockchain as the Database Engine in the Accounting System).

Let us consider the information management issues in regard to the Letter of Credit (LC), the most important banking document for facilitating international trade. In general, there are 5 five parties involved in an LC-based international payment settlement process. They are- importer, exporter, issuing bank, advising bank, and confirming bank. Today, banks use the SWIFT platform’s category 7 message type for sending and receiving messages between these parties. It is eminently possible to use a permissioned blockchain platform for sending and receiving LC-related messages. But it is impossible to use a public blockchain platform for this purpose. Furthermore, such a blockchain must rest at the top of a standard relational database to enable payment settlement and recording of underlying credit flow.

The moot point is that a blockchain-mediated database is extremely useful for record-keeping purposes and not for enabling contestable transactions involving values between a network of legally connected parties. For enforcement of any contract between two parties, the foremost requirement is the identification of the parties involved. It is immaterial whether the parties are connected in a network managed by a centralized authority or not. The anonymity of transacting parties should be considered the weakest part of a blockchain-based transaction system and not its strongest one.  As we know a chain is as strong as its weakest part.  

References:

References:

Musa Aujara Shamsuddeen (April 2019) , Documentary Letter of Credit Discrepancy and Risk Management in the Nigerian: Crude Oil Export; Ph.D Thesis submitted to University of Central Lancashire

Özsu  M. Tamer & Valduriez   Patrick (2011)  Principles of Distributed Database Systems; 3rd Edition 2011

Tan Boon Seng , Kin Yew Low (2019) Blockchain as the Database Engine in the Accounting System in  Australian Accounting Review No. 89 Vol. 29 Issue 2


Tags: