The Architecture of Blockchain..(4/5)

The easiest, as well as the most comprehensive way, to define the Blockchain (BC) would be to to call it a “a highly secure, resilient, algorithmic & accurate globally distributed ledger (or global database or the biggest filesystem or the largest spreadsheet) that provides a foundational infrastructure pattern to build multiple types of applications that help companies (across every vertical), individuals and society discover new business models, transact, trade & exchange information & assets. “

Why is the Blockchain such a terrific innovation? 

The creation of the Blockchain by the eponymous Satoshi Nakamoto is nothing short of a work of disruptive genius. While Satoshi’s goal was to create a currency (bitcoin) that did not need a central authority to create, validate & maintain, the architecture as laid out provides the chassis for running truly distributed applications that eliminates the need for 3rd party verification – thus establishing a true peer to peer economy.

Let us consider Banking as we have known and understood it for almost 400 years.

Banking is a system of intermediaries across the spectrum – ranging from payment networks (e.g Mastercard, Visa etc) to Clearinghouses in Capital Markets to Banks etc . And the reason these intermediaries exist is to establish trust between two parties who do not know each other. Thus currency or any other financial instrument created without the need for a central authority needs to be protected from fraud & abuse. In Banking, large institutions stand behind and protect payment systems.

The Blockchain serves that purpose in the realm of the Bitcoin and stands behind every bitcoin ever created by maintaining the proof of ownership.The innovation is it’s openness yet it’s security which ensures that the currency is tamper proof.

Prior to Blockchain, two important shortcomings had hindered the development of a truly secure digital currency.

These are  – 

  1. Currency Counterfeiting  – The problem of double spending that allowed the copy and reuse (effectively counterfeiting) of digital currency again and again (much like an mp3 file) after issue. What is different with bitcoin is that once a bitcoin has been purchased or transferred anywhere in the world – ownership is established and recorded authoritatively via the Blockchain . The Blockchain operates at such a massive scale which makes it virtually impossible (and cost prohibitive) to hack or otherwise break into bitcoin. Thus there is no need for a central 3rd party to a issue, authenticate and validate ownership of the currency.
  2. Who is the definitive legal owner of a given unit of Currency ? – For a peer to peer currency to truly work, each member of the millions of global nodes must be in agreement about the ownership of every unit of the currency & the total number of coins any member owns at any given time. This problem of global consensus (also called the Byzantine Generals problem) in a distributed network is solved by the Blockchain. The Blockchain leverages peer to peer communication to achieve consensus on transaction blocks every 10 minutes (avg) while processing newer blocks constantly as business transactions occur using Bitcoin (or any of the other AltCoins).  Specialized nodes called Miners perform the issue of new units of currency while simultaneously performing large & complex calculations. Doing these ensures that the Miner node(s) can mine a block of transactions during the same time. The benefit to the Miners is that they can keep the transaction fees associated with that block as a reward. It is almost impossible for this system to be broken into as it is in the interest of all the miners to form a distributed consensus based on valid block information. This capability is termed as the proof of work

Blockchain Architecture Considerations:

When one examines the architecture of Blockchain, a few important design aspects that need to be discussed are –

  1. The Blockchain platform itself
  2. The role of Nodes in constituting the overall blockchain & the Node discovery process
  3. Transactions that make up the blocks running in the Nodes
  4. Security implementation that generates the Blocks
  5. The process of adding newer blocks to the Chain

BC_WireTransfer

               Illustration 1 –  Wire Transfer of Bitcoin using the Blockchain shared ledger

Lets examine each of these in the context of the current public blockchain in terms of an end to end transaction shown below. It is my expectation that other kinds of blockchain variants will leverage the current technology as a foundational design pattern while layering in their own industry or consortium specific requirements.

Blockchain Platform:

The Blockchain itself is an application that runs on a network of distributed servers. The core application is a transaction database modeled as a secure ledger,  that is shared by all nodes (servers) that run the full stack install. It is thus a 100% decentralized transaction system that acts as a highly transparent ledger. Any node running the Blockchain software can run the entire Blockchain locally. While the Blockchain client uses Google’s LevelDB database to store metadata internally – the Blockchain data can be stored in a flat file or in a relational DB depending on user preferences.

The below architecture diagram broadly captures the 3 main layers of the Blockchain along with their roles.

BCArch

                        Illustration 2 – Blockchain Architectural Layers (Click to enlarge)

Once installed on a server, the full Blockchain client syncs up with other nodes in the network. From then onwards the particular server maintains all and any transaction records conducted using bitcoins (or any other application running on the Blockchain). The integrity and chronological order of the transactions (& the addresses owning the currency) are enforced by strong cryptographic rules. As stated above, the Blockchain software operates at such a massive scale which makes it virtually impossible (and cost prohibitive) to hack or otherwise break into bitcoin or any other application running on it. Thus there is no need for a central 3rd party to a issue, authenticate and validate ownership of the currency.

The nodes in the overall network use the peer-to-peer IP network to process and verify transactions. When several nodes all have the same blocks in their individual databases, they are considered to be in consensus.

Nodes in the Blockchain:

Blockchain is a peer to peer (P2P) network working on the IP protocol on the internet. A P2P network is essentially a flat topology with no centralized node, hierarchy, or special server node. All nodes equally provide & can consume services while collaborting via a consensus service.

As discussed above, the nodes in the blockchain play the role of a Central Bank or a  trusted third party.  Every node maintains a fully replicated copy of a database that contains the payment history of every bitcoin ever created along with ownership information. As transactions happen using the currency, a consensus mechanism essentially dictates how nodes agree on blockchain updates.

The graphic below shows the current number of nodes active in the bitcoin network and their locations on the globe.

BC_Nodes_         Illustration 3 – Blockchain Nodes – Jan 25,2016 [4]

Though the blockchain enforces an equal structure among all the nodes that are part of the network, nodes can play different roles based on their flavor or business intention.

Thus,  there are 4 basic node types as depicted in the below illustration.It is to be noted that all of the node types discover and maintain connections with peers & also validate blocks.

Full nodes maintain a complete copy of the blockchain database and can verify any transaction without the need for an external lookup. On the other end of the spectrum, nodes that only store a subset of the blockchain database verify transactions using a method called Simplified Payment Verification (SPV).

Nodes of type Miners perform the core process by which transactions are confirmed & processed and eventually included in the blockchain. To be confirmed as valid, transactions are first packed in a data structure & format called a Block that has to satisfy strong cryptographic rules that are verified by the blockchain network. Cryptography also prevents already committed blocks from being further modified as doing so would invalidate all following blocks –  which protects system integrity. Mining also creates an implicit meritocracy in that systems which can process transactions faster and more efficiently get credited for them. For applications like bitcoin, rollbacks currently are almost impossible in the vanilla blockchain architecture – which is a current limitation.

The miner node concept is unique to blockchain as it confers it a high level of security because short of controlling more than half the miner nodes affectionately termed the “51% attack ” (which is a computationally impossible feat to perform at scale), the network cannot be compromised or taken over.

Network Protocol Stack: Once nodes are booted up, they perform a peer discovery to contact any other valid node using a given port over TCP. The Blockchain stack is depicted below and is layered on the OSI stack. The Blockchain Message Exchange specifies the handshake logic between nodes as well as the serialization format for messages exchanged over the wire.

The Blockchain Overlay Network provides higher level semantics that allow multiple types of blockchains (public, vertical specific & private blockchains) to co-exist as well as provides management abstraction for the same. Developers will essentially use this layer to extend vanilla blockchain to support other kinds of applications which can leverage the existing bitcoin blockchain to validate their transactions. E.g. Other kinds of virtual currency, sidechains etc.

BC_Network
Illustration 4- Blockchain Network Architecture  (Click to enlarge)

Transactions and Blocks: 

Applications, the first among them being Bitcoin use blockchain to timestamp transactions. The blockchain implementation consists of two kinds of records: transactions and blocks.

Salient features of transactions –

  1. Transactions can be created on the behalf of any client using a Mobile Wallet or any other client application
  2. Transactions contain the actual business data to be stored in the blockchain
  3. Blocks record the sequence of transactions in the blockchain. Transactions are journaled into the blockchain based on specific sequences
  4. Miner nodes create blocks as discussed in the above section

BC_Transaction

                 Illustration 5- Transactions are converted into Blocks  (Click to enlarge)

The above illustration depicts how currency transactions are converted into blocks. As can be seen,once a transaction (typically a kiosk purchase or wire transfer or credit card payment etc) is submitted into the system, a transaction (say Transaction A) is generated that is pushed into the blockchain node network. A miner node(s) intercepts this to do some sanity checking, once done and it is determined that this is a legit transaction, it is fed into a cryptographic hash function as depicted to generate a unique string of digits. It is then also be combined with other transactions as shown. The generated hash is then stored with other metadata into the header of a data structure called a block. The header is key as it becomes the basis for running the hash function again to create a child block.

The hash function is used as the math puzzle that the miners race to solve by looking over virtually trillions of possibilities. The miner that solves it first submits it for a check by other nodes and once confirmed, the block is stored into the blockchain for posterity. The miner node is then credited a very small percentage of the transaction as fees.

While that ends our view into the main architectural underpinnings of Blockchain, the next & final post in this series will take a broad look at the innovation that will likely be unleashed by the  Blockchain across the industry. We will also discuss what steps CXO’s & IT managers need to take to avoid being disrupted by startups in this area. 

References: 

[1] https://blockchain.info/api
[2] https://bitcoin.org/en/developer-reference
[3]”Mastering Bitcoin” – Andreas Antonopoulus – O’Reilly Press
[4]https://bitnodes.21.co
[5] https://en.wikipedia.org/wiki/Bitcoin_network
[6] https://en.wikipedia.org/wiki/Block_chain_(database)

The immense potential of the Blockchain..(3/5)

“We should think about the blockchain as another class of thing like the Internet — a comprehensive information technology with tiered technical levels and multiple classes of applications for any form of asset registry, inventory, and exchange, including every area of finance, economics, and money; hard assets (physical property, homes, cars); and intangible assets (votes, ideas, reputation, intention, health data, information, etc.)…”.  Melanie Swan (2014)

Blockchain-blue

To recap, the fundamental concepts of the Bitcoin again –

  1. The Bitcoin is a digital currency with no physical representation and no central issuing or controlling monetary authority
  2. The ownership of bitcoins is tracked and validated in a global public ledge called the Blockchain. The blockchain tracks every transaction ever made using the bitcoin with new pages being constantly added
  3. Strong cryptographic algorithms are used to authorize transactions. Nodes called ‘Miners’ perform this task.

Blockchain is the #1 trend in financial services from an industry perspective when you consider the below data points-

  1. About a billion dollars of venture capital investment has flown into a range of startups with half of that investment coming in the last 12 months[1]
  2. Forty two of the worlds largest Banks have formed a consortium – “R3” dedicated to researching Blockchain technology [2]
  3. The Linux foundation partnering with technology vendors led by IBM, Swift, Digital Assets & Microsoft are either pioneering open source projects (OpenLedger)[3] as well as offering “Blockchain as a Service” type clouds.
  4. The overarching goal of all of the Open Ledger Project is to make the Blockchain more enterprise grade and feature rich for businesses to adopt. Blockchain development is following that of the Linux kernel which undergirds a range of systems from massive public clouds to enterprise datacenter servers to the Android mobile OS.

What is Blockchain?

The easiest way to define the Blockchain (BC) would be to to call it a “a highly secure, resilient, algorithmic & accurate globally distributed ledger (or global database or the biggest filesystem or the largest spreadsheet) that provides an infrastructure pattern to build multiple types of applications that help companies (across every vertical), individuals and society discover new business models, transact, trade & exchange information & assets. 

The term Blockchain is derived from a design pattern that describes a chain of data blocks that map to individual transactions. Each transaction that is conducted in the real world (e.g a Bitcoin wire transfer) results in the creation of new blocks in the chain. The new blocks so created are done so by calculating a cryptographic hash function of its previous block thus constructing a chain of blocks – hence the name.

As we can see from the above, the Blockchain lies at the heart of the Bitcoin implementation & is the most influential part of the BTC ecosystem. Blockchain is thus both a technology platform and a design pattern to building global & vertical scale industry applications that makes all of the above possible. It can alternatively be described as a database or a global ledger or even as a distributed filesystem.  All of these properties that makes it possible to be used as a platform for digital currency also enable it to indelibly record any kind of transaction – be it a digital currency ,or, a medical record, or, supply chain data, or, a document etc into it.

Blockchain

                                          Illustration: Key Characteristics of Blockchain

The most important characteristics to know about the Blockchain –

  1. Blockchain is the first truly global platform. Anyone with a simple mobile device or a PC can access it using a simple Wallet application – without the need for a middleman. Based on this type of universal access, the Blockchain as a design pattern and business foundation will enable the creation of a range of business uses. The only limit is the ingenuity of thinking.
  2. Virtual currencies are but one of the kinds of highly distributed applications that can be built on blockchain. Blockchain will likely eventually become the embedded economic layer of the Internet permitting not just currency or payment related activities but a whole range of others. Bitcoin & online payments are some of the first applications built on Blockchain. However the killer app is years away from being invented.
  3. Pathbreaking Applications built for Blockchain will upend business models in almost every industry vertical. It will help startups create new business models. We will examine some of these in the final blogpost in this series.
  4. Blockchain is highly secure & immutable thanks to the ingenuity of the architecture as conceived by Satoshi Nakomoto. We will examine the security implementation in the next post but the Miner nodes not only derive hashes of the transaction blocks but also successively combine them into data structures which preclude deriving the data from the hash function.
  5. Blockchain is highly transparent and auditable as transaction blocks are openly available for introspection are published as evidence that demonstrate the integrity of the blocks.This overall paradigm makes it very mathematically intensive and almost computational impossible to create fraudulent new blocks of transactions, as other transactions are continuously being validated.
  6. Blockchain is also highly reliable in that every node running a full configuration maintains a copy of every transaction executed in the system with only an identifier needed to track ownership – a digital address. Anyone can find out the set of transactions and who owns what using a simple web browser application called an explorer.
  7. Due to its flat, peer to peer nature – Blockchain conclusively eliminates the need for any middleman – thus disinter-mediating existing structures in many industry verticals. E.g Financial Services, Supply Chain Management, Real Estate, Healthcare etc. Thus next generation applications and platforms built over the next few decades will need to consider the blockchain.
  8. Blockchain is also digital and introduces the important notion of programmable instruments – be it currency or contracts. An important illustration of the possibilities of blockchain are what are termed – “Smart contracts”. These are rules embedded with a contract that can automatically trigger based on certain conditions being mer. E.g. a credit pre-qualification or a lawyer’s approval etc.
  9. The other point that is not stressed enough is that in addition to the highest levels of security, the blockchain also enables a high velocity of transactions. As an example, if two consumers are connected to the blockchain – one a home buyer & the other a seller, they can find each other, verify the authenticity of the title & any liens on the property, credit pre-qualification etc and finally conduct the transaction in realtime without the need for a middleman (a Bank or a Clearinghouse or a Real estate broker).
  10. Blockchain technology thus has massive potential to be applied in any industry situation where data security & identity theft are major challenges. This includes a plethora of usecases across financial services, retail, IoT, manufacturing, healthcare & real estate.
  11. A point of confusion for a lot of corporations around this technology is the perceived need or dependence around a publicly accessible database – much like a public cloud. However, the Blockchain is an extensible technology paradigm more than an actual platform. To further illustrate this point, there are potentially three types of blockchain implementations possible – a Public Blockchain, a Vertical Industry specific blockchain and a Private Organization blockchain. These could be run inside private clouds with enhanced & business specific security and authentication procedures as applicable thus serving a community of interest.

These key characteristics of blockchain technology open the door to dis-intermediating third parties from myriad business transactions, lowering transaction costs down to a fraction, – ultimately increasing the potential for innovation in every major industry.

In Conclusion – 

To recap, Blockchain is essentially a system & architectural design pattern for recording transactions with the highest degree of security, transparency and anonymity. Bitcoin is but the first application of this ground breaking platform.

Though Bitcoin is the first and the most famous killer app for Blockchain, it is a vastly different way of thinking about existing business verticals and usecases – in terms of efficiency,  reliability, speed & security.

Having said all of this, it bears note that Blockchain is still in its nascent stages of development and has a few years to pass before real world applications can be built on it.

Thus, it is only natural that several questions crop up in the minds of Industry architects, managers and executives.

  1. What are the technology underpinnings of the Blockchain?
  2. What are the major usecases across verticals like Financial Services, Insurance, Healthcare, Manufacturing etc
  3. How can horizontal areas like IoT leverage it?
  4. What are the ramifications for Applications, Data Architectures & Infrastructure?
  5. What should our strategy be in the face of this disruption?

The next post will speak to the technology underpinning the Blockchain. The final post in this series will answer the remaining questions in terms of usecases and business strategy.

References:

[1]  www.coindesk.com/bitcoin-venture-capital/, and Deloitte analysis.

[2] https://en.wikipedia.org/wiki/R3_(company)

[3] http://www.linuxfoundation.org/news-media/announcements/2015/12/linux-foundation-unites-industry-leaders-advance-blockchain

The Architecture of Bitcoin..(2/5)

The first post in this series introduced Bitcoin & the crypto-currency movement that will help drive democratization in the financial industry and society at large in the years to come. This second of five blogposts will discuss Bitcoin (BTC) from a technology architecture perspective. The third and fourth posts will focus on the Blockchain from a business & a technology standpoint. The final post will bring it all together and will cover business models & native application architectures that will be created as part of this immense disruption.

As discussed in the last post, Bitcoin is essentially a novel way of stringing  together existing technology (Cloud Computing, Big Data & Cryptography) to provide a disruptive payment service. The very concept and the software based implementation of Bitcoin were originally proposed in a white paper released (November 2008) by an individual(s) under the eponymous name Satoshi Nakamoto. The paper was titled –  Bitcoin: A Peer-to-Peer Electronic Cash System[1].  In this paper, the author(s) proposes BTC as a digital currency that overcomes two important challenges that bedeviled cryptographic digital currencies prior to the bitcoin.The term Bitcoin (BTC) is a frequently overloaded term referring to a currency, a digital protocol and also an ecosystem of services. This post will focus on the technology underpinnings of BTC.

To reiterate these  – 

  1. The problem of double spending that allowed the copy and reuse (effectively counterfeiting) of digital currency again and again (much like an mp3 file) after issue. What is different with bitcoin is that once a bitcoin has been purchased or transferred anywhere in the world – ownership is established and recorded authoritatively via the Blockchain , a network of distributed servers. The Blockchain operates at such a massive scale which makes it virtually impossible (and cost prohibitive) to hack or otherwise break into bitcoin. Thus there is no need for a central 3rd party to a issue, authenticate and validate ownership of the currency.
  2. For a peer to peer currency to truly work, each member of the millions of global nodes must be in agreement about the ownership of every unit of the currency & the total number of coins any member owns at any given time. This problem of global consensus in a distributed network is solved by the Blockchain. The Blockchain leverages peer to peer communication to achieve consensus on transaction blocks every 10 minutes (avg) while processing newer blocks constantly as business transactions occur using Bitcoin (or any of the other AltCoins).  Specialized nodes called Miners perform the issue of new units of currency while simultaneously performing large & complex calculations. Doing these ensures that the Miner node(s) can mine a block of transactions during the same time. The benefit to the Miners is that they can keep the transaction fees associated with that block as a reward. It is almost impossible for this system to be broken into as it is in the interest of all the miners to form a distributed consensus based on valid block information. This capability is termed as the proof of work

Architecture –

Like most modern computing stacks that provide web scale data & application processing capabilities, the most among them notable being the Hadoop ecosystem and modern Cloud Computing architectures built on OpenStack- Bitcoin is essentially architected as a massive peer-to-peer network.

Bitcoin works on top of the IP protocol that connects the internet together. Peer to Peer (P2P) essentially implies a flat network with no single controller or server node. Each node plays an equal role in providing & consuming services on the behalf of users (and their bitcoin wallets). Early peer to peer networks include BitTorrent & Kazaa etc. The P2P nature of Bitcoin ensures that the supply of the currency is regulated by no one authority and the deflationary property of the Bitcoin system’s money supply is distributed evenly by specialized nodes called miners who not only generate the currency but also help secure the network.

The technical architecture of Bitcoin is depicted in the below illustration and is composed of the following 3 core services –

BCArch

                                               Illustration 1: Bitcoin Architecture

  1. The Blockchain Platform
  2. Bitcoin Protocol & Client Application Layer
  3. Bitcoin Currency Layer

Let’s cover each of these below –

Blockchain Platform
The blockchain is a decentralized database that acts as a highly transparent ledger which maintains all and any transaction records conducted using bitcoins. The integrity and the chronological order of the block chain are enforced with strong cryptography implementation. The Blockchain is comprised of millions of network nodes participating in the Bitcoin network. Each node in the Bitcoin network runs a portion of Blockchain which ensures that every transaction conducted using the Digital Currency is unique across the system.

Bitcoin Miners
Bitcoin mining is the core process by which currency transactions are confirmed & processed and eventually included in the blockchain. To be confirmed as valid, transactions are first packed in a data structure & format called a Block that has to satisfy strong cryptographic rules that are verified by the blockchain network. Cryptography also prevents already committed blocks from being further modified as doing so would invalidate all following blocks –  which protects system integrity. Mining also creates a meritocracy in that systems which can process transactions faster and more efficiently get credited for them. In addition, rollbacks are almost impossible which prevents chargebacks using the bitcoin currency.

Grids of servers called “miners” create bitcoins by constantly computing answers to mathematical problems while simultaneously processing transactions. It is to be noted that any node participating in the bitcoin can be a miner provided it runs the full stack of Bitcoin software. Once it is a designated as a Miner, it can first certify and then record transactions. The Bitcoin Miner thus plays the role of a Central Bank in creating and updating currency. The Bitcoin architecture is designed such that every 10 minutes, a Miner is able to validate transactions conducted in the last 10 minutes and is rewarded with bitcoins. Every 10 minutes on average, a miner(s) is able to validate the transactions of the past 10 minutes and is rewarded with new bitcoins .The Blockchain (BC) is shared by all nodes & is updated by the miners. The BC maintains an ordered and timestamped ledger of all transactions. Cryptography ensures the constant integrity of the Blockchain.

To give readers a technical sense of the current state of the bitcoin mining process, the miner process begins scanning for a value that when hashed twice with a cryptographic hash function like SHA-256 begins with a number of zero bits. Thus, this has the two pronged consequence that the required computational work required goes up  exponentially with the number of leading zero bits required but a hash can always be certified by executing a single round of double SHA-256. Thus, “hard to solve but easy to prove“.

Once the process has produced a valid result, the transaction block cannot be changed without redoing the work. As later records or “blocks” are chained after it, the work to change the block would include redoing the work for each subsequent block.

Bitcoin mining has become a highly resource intensive process with clusters using high end chipsets and CPUs & GPS’s and even FGPA/ASIC technology found in high end architectures.

 Why is Bitcoin so highly secure? 

Majority consensus among the nodes in a bitcoin network is represented by the longest chain, which required the greatest amount of effort to produce it.  It is a given that a majority of computing capacity and power is always  within the limits of honest miner nodes. Past blocks cannot be modified by rogue nodes as the computational capacity needed to do so will be exponential in terms of surpassing the legit nodes.

PS – Blockchain’s internal architecture will be covered in more detail in the next two posts.

Bitcoin Protocol & Client Layer

The Bitcoin protocol provides two main functions –

  • APIs that mediate access to the underlying blockchain platform.
  • Algorithms that drive & control Miners across the network.

Bitcoin’s API Layer  exposes programmatic interfaces & APIs to all the various points of interactions with the BTC system mainly the bitcoin wallet,the blockchain network and transaction services provided by Bitcoin.

Screen Shot 2016-01-14 at 11.39.41 AM

                                          Illustration 2: Bitcoin Developer APIs

A list of APIs is called out below and a full list is available at [1].

Bitcoin’s Client Layer consists of end user software applications that can be installed on a full server or a smartphone or simply used over an internet browser. The client facilitates the generation of security features like private keys and also provides Wallet functionality that facilitates the sending of currency transactions using the client’s private key. As discussed above, the block chain is a shared public ledger on which the entire Bitcoin network relies. All confirmed transactions are included in the block chain. Using APIs provided by the Bitcoin client,  wallets can calculate their currency balance and the blockchain network can verify transactions for account limits.

Bitcoin Wallets

A Wallet is a simple file or database that stores (digital) keys (among other things including addresses & digital signatures) that prove ownership of bitcoins. The keys stored in a user’s wallet are generated and managed by the user’s wallet software without reference to the blockchain or access to the Internet. The usage of keys provides three important functions – a. A model that enables decentralized control b. a high degree of security & c.proof of ownership.

clear-overview

                            Illustration 3: Bitcoin Wallet from the Core Client from Bitcoin.org

The Bitcoin client can take different forms depending on the amount of control the user desires over their currency transactions – payments & transfers etc. To sum up, there are three main forms of Bitcoin clients :

Thick (full) client
The full client also called as a “Full node” is a client that provides the user’s Wallet & stores the entire & complete ledger of transactions using the currency that were ever performed..virtually every transaction. It also provides highly useful information information about the state of the blockchain and (to not put too fine a point to it) the **complete set** transactions conducted using the currency.
Lightweight client
A lightweight client stores the client’s wallet but relies on third-party–owned servers for access to the bitcoin transactions and network. The light client does not store a full copy of all transactions and therefore must trust the third-party servers for transaction validation.
Web client
Web clients as accessed as a service over a web browser. They are the easiest to use but do not provide any of the advanced features the other two types of clients provide. Bitcoin is also very mobile friendly and provides clients for smartphones, that can either operate as full clients, lightweight clients, or simply web clients.

Vendors like mSIGNA build on top of the core APIs to provide advanced yet easy-to-use wallet featuring speed and simplicity, enterprise-level scalability, and strong security. Advanced clients like those of mSIGNA support a range of capabilities beyond the vanilla – multisignature transactions, offline storage, multidevice synchronization, and encrypted electronic and paper backups (src: mSIGNA).

Bitcoin Nodes use the peer-to-peer IP network to process and verify payments. Bitcoins are sent from one address to another using transactions and the network thus forms a highly secure payment network. The nodes can take one of four personas as depicted in the picture below.

BC_Nodes

                      Illustration 4: Four Node Personas in a Bitcoin Network[6]

The “Satoshi” reference client that is downloadable from bitcoin.org is a complete implementation of all node personas  depicted above. It includes a complete copy of the bitcoin ledger & filesystem, client wallets, a transaction verification engine. It plays the role of a full network node in the peer-to-peer bitcoin network. A client configured as as a full client joins up the blockchain network and downloads the complete transactions onto itself in a process that could take anywhere from hours to days.Such nodes discover and connect up with their neighbors in the p2p architecture, then receive, validate and then propagate transactions and the relevant blocks. This routing functionality is depicted as the “Routing Node” in the above picture.

Bitcoin Transactions:

Transactions are messages that denote business actions using bitcoins. Naturally, they are are the heart of the bitcoin system.  Client applications create transactions that are then propagated into the network, processed & committed by Miners and then finally added to the indelible record that is the Blockchain ledger. Transactions are essentially data structures that encode the transfer of value between participants in the bitcoin system.There are multiple types of transactions depending on the use case ( a credit card payment, wire transfer & a payroll transaction sent to hundreds of receivers)  but they all have one or more Inputs and one or more Outputs. This is to ensure that bitcoins can be split and combined. Common transactions will have either a single input from a larger previous transaction or multiple inputs combining smaller amounts, and one or two outputs: the first one for the payment of the transaction, and second one returning the change owed to the consumer. The transaction fee to the miners is the difference between the input and output amounts.

Screen Shot 2016-01-13 at 10.28.34 PM

                                              Illustration 5: Blockchain’s Transaction Explorer[4]

Bring it all together

Let us now consider an end to end  BTC Wire Transfer Illustrated using all the concepts discussed above – Wallets, Transactions,Miners & the Blockchain.

The below diagram illustrated how the process works end to end while bringing together all the technical building blocks discussed above & is largely self explanatory-

BC_WireTransfer

                                      Illustration 6: End to End Wire Transfer using BitCoin

References: 

[1] https://blockchain.info/api
[2] https://bitcoin.org/en/developer-reference
[3]https://bitcoin.org/en/bitcoin-core/
[4]https://blockexplorer.com/
[5] https://en.wikipedia.org/wiki/Bitcoin_network
[6] “Mastering Bitcoin” – Andreas Antonopoulus – O’Reilly Press

Bitcoin (BTC) Ushers in the Future of Finance..(1/5)

The decentralized, peer to peer,high secure and purely digital currency finally came of age in 2015. Bitcoin (BTC) & other variants (the AltCoins) got widespread & positive notice by all industry actors ranging from Consumers, Banking Institutions, Retailers & Regulators. Riding on the real pathbreaker – the Blockchain, the crypto-currency movement will help drive democratization in the financial industry and society at large in the years to come. This first of five blogposts will discuss Bitcoin (BTC) from a business & technology standpoint. The second post will take a deepdive look at the technology behind BTC. The third and fourth posts will focus on the Blockchain. The final post will bring it all together and will cover business models & native application architectures that will be created as part of this immense disruption.

BC_Logotype

If there is something that touches all of humankind everyday across the planet & plays a central role in our existence – it is money & the monetary system. Money supply is the backbone of the financial system & as is typically considered a safe asset that households and businesses can use to meet their financial obligations (e.g payments) or to hold as short-term investments (e.g.savings & checking accounts).

Let us understand how the typical banking system has been structured from a monetary & historical perspective since the 1600s but is still very relevant even now. Please note that this is a very high level and basic explanation that segues into our examination of Bitcoin.

A Quick Primer On How Money Works – 

The simplest and most commonly accepted form of money is currency – a dollar bill or a euro coin etc.This paper representation can be converted into any commodity of suitable value. E.g  Lunch or a Cup of coffee or even downpayment on a Car etc. 

When the monetary system was first created,the unit of monetary value – typically a coin- had some intrinsic value in and of itself. It was either made of silver or copper or nickel etc & could be used to support the currency in the event of a bank run or economic downturn. The limitation with this way of doing things was that since the supply of silver or copper in the world is fairly limited, the money supply has no way of growing to accommodate an expansionary economy. 

After a few decades, the Gold standard was adopted which dictated that the money supply was backed up by a fixed quantity of gold. Any government adopting the gold standard guaranteed a fixed exchange rate with the currency of another country that uses a similar standard.  The Gold Standard worked well for decades.

However, as economies became more complex and increasingly non farm based, the inflexibility inherent in the gold standard was a big problem. Case in point, it was partly blamed for the Great Depression. After the war, the Bretton Woods conferences of 1944 (https://en.wikipedia.org/wiki/Bretton_Woods_Conference) helped create the International Monetary Fund with the aim of enforcing a set of fixed exchange rates that were linked to the dollar.However, in 1972 the Nixon Administration initiated a series of economic measures (in response to economic headwinds & unfavorable currency exchange rate) that disengaged the US from the Bretton Woods System. Essentially, direct convertibility of the US dollar to Gold was canceled rather unilaterally – which rendered the Bretton Woods agreements inoperative.

In a quick span of two years by 1973-74, the Bretton Woods system was replaced by the era of freely floating fiat currencies – not backed by any commodity but solely by the faith in the Central Bank & Government of the Country in question.

The point to then take note of is that a currency note of today  (made of paper) has no intrinsic value in and of itself – in that it cannot be redeemed for any commodity – if society & economic order collapsed. The value of a dollar bill is typically endowed by an issuing & regulatory authority typically the Central Bank such as the US Federal Reserve. This Central regulatory authority prints the currency, controls its supply based on macroeconomic conditions & recognizes it as legal tender for all transactions – public or private. Thus this kind of money is called fiat currency – in that the value of the currency is set by fiat (a Government mandated order). Fiat Currencies form the bedrock of the modern day fractional banking system.

Why Governments need to control the Currency Supply? 

The most important reason is that the money supply is the most critical lever in the Government being able to counter business cycles and to temper recessions & booms. Generally speaking, there are two broad ways to defend a present day economy that is typically complex & hugely diversified in terms of private sector participation –  monetary policy and fiscal policy. While fiscal policy deals with public tax policy which have a lagging effect and take time due to the political process involved – monetary policy can almost instantaneously produce the desired economic effect.

Thus, Monetary policy is the core function of Central banks and is concerned with setting benchmark interest rates (e.g the federal funds rate in the US) that directly influences the cost of credit throughout the economy. The biggest advantages of fiat money is being able to inflate it’s value (by printing more bills) to counter economic cycles or for other political purposes (e.g Zimbabwe Dollar, Argentina Peso & Weimar era Germany among the notable examples).

Fast forward to the financial crisis of 2008, governments all over the world were forced to inflate the value of their currencies by resorting to massive creation and printing of Dollars,Euros,the British pound etc. This inflationary or rather expansionary view of the economy originates with Keynesian (https://en.wikipedia.org/wiki/John_Maynard_Keynes) thinking and is in direct conflict with the libertarian movement associated with Hayek (https://en.wikipedia.org/wiki/Friedrich_Hayek) – which espouses the Gold standard.

As computer technology advanced over the years, the field of cryptography was originally used to ensure secure private communication between two systems or people who had a trusted business relationship. Its scope has since expanded to encompass  usecases as diverse as integrity for both data in motion & at rest, telemedicine, electronic transactions, digital cash, secure & massive distributed computation etc.

Bitcoin (BTC) has strong origins in the Cypherphunk movement  which itself is rooted in libertarian thinking. The goal of the Cypherphunk’s is to influence societal and economic change through the use of cryptography. [2] 

The Origin of Bitcoin

So what is Bitcoin? Bitcoin is essentially a novel way of stringing  together existing technology  (Cloud Computing, Big Data & Cryptography) to provide a disruptive service. The very concept and the software based implementation of Bitcoin were originally proposed in a white paper released (November 2008) by an individual(s) under the eponymous name Satoshi Nakamoto. The paper was titled –  Bitcoin: A Peer-to-Peer Electronic Cash System[1].  In this paper, the author(s) proposes BTC as a digital currency that overcomes two important challenges that bedeviled cryptographic digital currencies prior to the bitcoin.

These are  – 

  1. The problem of double spending that allowed the copy and reuse (effectively counterfeiting) of digital currency again and again (much like an mp3 file) after issue. What is different with bitcoin is that once a bitcoin has been purchased or transferred anywhere in the world – ownership is established and recorded authoritatively via the Blockchain , a network of distributed servers. The Blockchain operates at such a massive scale which makes it virtually impossible (and cost prohibitive) to hack or otherwise break into bitcoin. Thus there is no need for a central 3rd party to a issue, authenticate and validate ownership of the currency.
  2. For a peer to peer currency to truly work, each member of the millions of global nodes must be in agreement about the ownership of every unit of the currency & the total number of coins any member owns at any given time. This problem of global consensus in a distributed network is solved by the Blockchain. The Blockchain leverages peer to peer communication to achieve consensus on transaction blocks every 10 minutes (avg) while processing newer blocks constantly as business transactions occur using Bitcoin (or any of the other AltCoins).  Specialized nodes called Miners perform the issue of new units of currency while simultaneously performing large & complex calculations. Doing these ensures that the Miner node(s) can mine a block of transactions during the same time. The benefit to the Miners is that they can keep the transaction fees associated with that block as a reward. It is almost impossible for this system to be broken into as it is in the interest of all the miners to form a distributed consensus based on valid block information. This capability is termed as the proof of work

Since 2009, BTC has been widely accepted at a growing list of online merchants and Banks. A comprehensive list is maintained here [2] & includes players ranging from Amazon, HomeDepot, eBay to Expedia etc. Bitcoin is open source in nature and is essentially controlled by no one but by the consensus of the community.

What is the Bitcoin? 

So how does Bitcoin approach some of the limitations of traditional currency as we know it ? The central theme of bitcoin is its peer to peer (P2P) nature (driven by technology) where the total and complete absence of any issuing or central authority enables it to serve as a total digital ecosystem. As noted above, it has strong origins in a technocratic- libertarian way of thinking in that it democratizes the money supply while opening up vast new possibilities and business models.

Make no mistake, the original concepts behind BTC are extremely elegant and beautifully designed.

Please note that Bitcoin is a frequently overloaded term referring to a currency, a digital protocol and also an ecosystem of services. We will cover the currency aspect here, the next few posts will focus on the technology underpinnings and the ecosystem that it enables – along with the blockchain.

Let us enumerate the defining characteristics of the Bitcoin (BTC) –

1. The BTC is a virtual currency in that it is entirely digital – with no physical representation like paper or coins – and is created online using a process called “mining”.  BTC’s trade like any financial instrument and are issued on a fixed basis with an upward limit of 21 million units till 2040.
2.Bitcoins are peer to peer & not created or regulated or backed by any central authority – bank or government regulators (and their whims & fancies). It is technocratic and democratic at once. Technology operating at internet scale creates & transfers control of bitcoins to consumers & merchants as a way of buying goods and services. BTC will exist as long as the internet exists and it’s value is purely governed by supply and demand.
3. Advances in cryptography and distributed computing making it almost impossible to hack the BTC. It is thus much more safer than traditional currency to steal or counterfeit or to use over internet transactions. Further, transactions performed using bitcoin can be done by supplying minimal information which makes it extremely hard for malicious actors to hack into or otherwise modify it. Underlying BTC is the concept of a Blockchain.
The Blockchain is a shared public ledger or a massive & highly reliable database which serves as the foundation for the entire Bitcoin distributed network.Every time a user spends their bitcoins or millibits from their BTC wallet – these transactions are confirmed & recorded into the immutable blockchain with the highest guarantees for integrity & chronological order.
4. The BTC is deflationary in nature & this is by design. The total number of bitcoins that can every be created are limited to 21 million till 2040. This fixed number does not inhibit the creation of new bitcoins as they have an infinite capacity to be broken down into smaller divisions. This means that bitcoin cannot be used as a traditional currency can be – as discussed above – e.g. inflate it’s value to pay off debt.
5..Every transaction made using bitcoin is reliably recorded in an un-erasable public ledger the Blockchain (more on this in the next post). This opens up it’s applicability to a vast array of business capabilities.
5.BTC transactions are processed by independent (yet interconnected grids of servers called ‘miners‘). The advantage conferred by this approach is that a vast number of miners keeps the transaction fees very very low to 0.001 bitcoins. Hence bitcoin removes the omnipresent intermediary in financial services
6.BTC transactions while performed at a retail setting may seem slow taking upto a few mts for verification by the Miner infrastructure. However, its true potential becomes evident with use-cases like wire transfers, cross border payments etc which can take days with conventional banking networks just take a few seconds to minutes using BTC.
7.BTC supports the entire spectrum of the money supply employed in a fractional reserve system..M0,M1,M2 etc. It supports this notion by supplying off the chain transactions (more on that in the next post)
We will now examine how BTC works in a real world setting.
How does a traditional Credit Card Transaction Work

Let us consider the most common form of online transaction –  a credit card payment. Credit Card payment networks are high cost pipelines both from a consumer and a merchant perspective. Merchants complain of constantly increasingly interchange fees and consumers accuse it of predatory lending practices.

The below pictorial explains a highly simplified approval process (not clearing or settlement mind you).

Traditional_jpeg

                                    Illustration 1 – Traditional Credit Card Transaction 
How does a BitCoin Transaction Work
All one needs to transact using Bitcoins is an address, a wallet and a private key. There is no need to register with a central authority or an intermediary as transactions are verified using internet based “miners” All of these are completely software based thus making bitcoin a true digital currency. As can be seen below in Illustration 2 – the same transaction with BTC is vastly simplified,
Bitcoin-jp
                                    Illustration 2 – Credit Card Transaction performed using Bitcoin

Advantages of Bitcoin

  1. BTC promotes complete transparency & neutrality as to the creation,usage and movement of BTC. All transactions and bitcons issues can be tracked in realtime using APIs or mobile clients and 3rd party services
  2. Enables complete freedom from the intermediary structure that have been built up in Banking over the years. Different versions of this exist across the spectrum  ranging from Clearinghouses in Capital Markets, to Custodial Banking to the Payments industry. BTC enables the supplanting or even complete replacement of these structures
  3. Very low transaction fees compared to traditional payment networks and clearinghouses
  4. High speed of transaction settlement and contracts transfer compared to traditional clearinghouses
  5. Highest level of security owing to it’s complete transparency –  a huge selling point in these days of constant cyber theft and security attacks.
  6. BTC eliminates the dual challenge that plagued digital currencies before it. These are the problem of double spending and the problem of distributed consensus
  7. Potential lower regulation due to all of the above 

Disadvantages of Bitcoin

  1. Much lower degree of acceptance across the world as compared to traditional fiat currency
  2. Higher volatility as can be seen from the last few years
  3. Immature currency trading markets that need time to evolve
  4. Will supplant but never completely replace fiat currency 
  5. Scalability needs to be improved to matchup with e.g. Credit Card networks etc in the coming years

Summary

Bitcoin will never quite replace fiat currency and nor should aim to do so. As has been termed – it aims to be the currency of transactions In the online world affording consumers & merchants an enormous amount of independence from existing structures. Bitcoin can be employed across a diverse range of use cases (which we will examine in the last post in this series) ranging from online payments to recording complex financial transactions to Contracts to Clearing & Settlement. BTC (and a full blown ecosystem around it) can be truly disruptive in any business situation involving financial intermediaries.

However it’s true potential is being able to bring the vast percentage of the global population that has no access to the banking system into it. With Bitcoin, all one needs is a a cellphone, a bitcoin account and a Wallet app  to be able to begin participating in the financial system.

Much of the innovation around bitcoin is driven by the Blockchain.  The next post will be a deep technical look into the Bitcoin after which point we will move onto the Blockchain – the true disruptive innovation.

References

[1] https://bitcoin.org/bitcoin.pdf

[2] https://en.wikipedia.org/wiki/Cypherpunk