Keyboard not found, Press F1 to Continue

7Oct/140

Distributed Consensus Systems: Impact on IT Business and Outsourcing

What follows below is a paper I wrote in Spring 2014 for a Business Outsourcing Course at UNLV. I apologize in advance for the less then perfect formatting.

  1. Introduction

The concept of currency dates as far back as 12,000 B.C. when raw materials were exchanged for tools. The need for currency is best represented by the classical economic problem of the double coincidence of wants. Joe wants a fish and has wheat to trade while Jane wants wheat but does not have the fish that Joe wants. This problem causes great economic stress unless a common unit of trade (currency) is introduced to the transaction.

As currency systems evolved, the modern day system whereby nation states control the money supply came to be. Prevailing economic theory is that the money supply must be liquid and controlled in such a way that inflation can be managed. This cornerstone economic ideal of the 20th century is being turned on its head with the invention of cryptographic based currencies such as Bitcoin. Deflationary by nature, the supply of Bitcoin is mathematically predictable and unchangeable.

Much debate has ensued over the viability of such a fixed supply currency but the application of the technology as a currency may be only scratching the surface. In this paper we take a brief look at the history of digital currency, explain the core innovations introduced by Bitcoin, and discuss the possible disruptions that its creation may fuel.

  1. History of Digital Currency

Since the early days of the internet many have attempted to create successful digital currencies, however all had essentially failed prior to the introduction of Bitcoin. The reasons for failure were many but core among them was the limitation that a central authority was needed.

The problem with representing value digitally is one of scarcity, how does someone prove ownership of a unique digital item when that item can be easily copied? When discussing currency, this problem is referred to as double spending. If Joe sends a payment to Jane, who is to say that Joe didn’t make a copy of that currency moments before and can now send it to Bob? Many early digital currency systems sought to solve this problem by using a central authority that would validate account balances. However as they soon came to realize, centralization can be susceptible to political subversion, denial of service attacks, or take-downs from a ruling authority.

Currency by its very nature should be considered a social norm that transcends national borders, languages, and corporations. A solution was needed that was not prone to these attacks. What follows in this section is a brief introduction of some of the digital currency attempts that pre-date and in some cases helped shape Bitcoin.

 

  1. eCash

eCash was originally introduced by David Chaum as an electronic cash system. eCash is represented in two ways: as an online form called DigiCash or an offline version which is an encoded card that could be used for transactions the same way cash would. The offline version is still being tested. The idea of eCash was to help facilitate monetary transactions on the internet. In 1997, the Mark Twain bank implemented and tested the eCash but was dissolved the same year. In 1998, DigiCash filed for bankruptcy and the eCash project essentially died.

 

  1. b-money

Wei Dai's proposal b-money was first published on the crypto mailing list in 1998. In the essay, two protocols were proposed. The first protocol called for a proof of work function to create money. In this system, money is transferred by broadcasting transactions to all parties. Each party is responsible of accounting for one another. If no agreement is made, each party can argue to determine reparations for himself. In the second protocol, the user publishes accounts and they verify their balances by asking those involved. The parties will also have to verify that inflation has not occurred.

B-money was never built but many of Dai’s ideas found their way into Bitcoin and Dai’s proposal was one of the few citations in the original Bitcoin whitepaper.

 

  1. Bit-Gold

The Bit-Gold proposal by Nick Szabo described a system for decentralized creation of proofs of work. Unlike Bitcoin, Bit-Gold relied on a quorum of network addresses rather than hash computing which left Bit-Gold vulnerable to Sybil attacks where the system was susceptible to forgery. Bit-Gold was not cited in the Bitcoin whitepaper and Satoshi Nakamoto, the pseudonymous creator of Bitcoin, later stated that he had not seen Nick Szabo’s proposal until after Bitcoin was created.

 

  1. Hashcash

Hashcash is a Proof-of-Work system designed by Adam Back in 1997 to limit spam e-mail and denial-of-service attacks. When the user sends an email, their computer spends a short amount of time running a computationally intensive hashing algorithm. The resulting hash is then attached to the email and used as a while-listing hint in spam filter systems. The inclusion of the hash proves to the recipient that the sender spent a certain amount of computing power and subsequently electricity. The recipient can reasonably assume that the sender is likely not a spammer sending millions of messages.

A modified version of Back’s Hashcash was incorporated in Bitcoin to serve as the mining Proof-of-Work function. In addition, Back has recently become involved in the Bitcoin community and introduced the concept of Sidechains explained below.

 

  1. How Bitcoin Works

 

  1. Byzantine Generals Problem

Arguably the most innovative aspect of Bitcoin’s design manifests itself as a solution to the classical Computer Science problem of Byzantine General’s Fault Tolerance. The problem postulates that there exists a city state that is to be attacked by separate army units under the control of their respective Byzantine Generals. Generals are separated by geographical distances and can only communicate by sending messages between each other using messengers. All generals must coordinate and decide on a time of attack but some Generals may be acting as traitors. If the traitor Generals are successful in fooling the loyal Generals, they will overthrow the loyalists. One method of fooling the loyalists would be to coordinate two times of attack, the real time, and then shortly after a fake time. If the traitor Generals attack at the real time and take hold of the city, the loyalists will attack after at the fake time and walk into a trap when they find the city is already controlled by the traitors.

In order to solve the Byzantine Generals problem, the messages between the Generals must be relayed in such a way that all Generals can come to a consensus on the time of attack without trusting who relayed that message. Essentially the Generals must trust the message but not the messenger. The solution to this hypothetical problem has been largely considered unsolved until Bitcoin was created. Bitcoin provides a solution by utilizing two key innovations: Proof-of-Work mining and what is referred to as the Blockchain.

 

  1. Proof-of-Work Mining

In Bitcoin, mining serves two purposes: first is to spread out the job of creating blocks, and second is to issue currency. Miners on the Bitcoin network are computers (or specialized hardware) that essentially work to solve an extremely complicated mathematical puzzle. This puzzle is more formally known as hashing and involves essentially trying an infinite number of guesses as inputs to a complex function until the desired solution is found. The Bitcoin network intelligently changes the difficulty of this hashing problem depending on how fast blocks are being generated, effectively correcting for how much computing power is present on the network. When a miner finds the correct solution, his or her computer can then create the next block in the blockchain. The miner bundles up chosen transactions that happened since the last block and broadcasts the new block to the network.

Along with the new block is a creation of bitcoins that are sent as a reward to the miner for successfully finding the correct hash. This reward is mathematically predetermined and is the process by which Bitcoin’s strict currency issuance is enforced. The block reward began at 50 bitcoins per block and is cut in half approximately every four years.

 

  1. Blockchain

The blockchain serves as a public ledger for all transactions that have occurred in history. Each block consists of many individual transactions that the miner who solved the block has chosen to include. As more blocks are appended to the chain, the difficulty faced by an attacker to rewrite the blockchain becomes increasingly improbable. Thus with a given (usually 6) number of blocks appended after your transaction, you can rightfully ensure that your transaction will never be modified.

As such, the blockchain serves as an unmodifiable record of account and history of transactions. This has broad implications beyond currency, since the time-stamped and unmodifiable properties can be used to prove that something has occurred at a specific point in time.

 

  1. Public/Private Key Addressing

Addresses are managed in Bitcoin by using Public Key Cryptography (PKI). PKI allows a person to “sign” a piece of data with a Private Key, while allowing anyone with the Public Key to verify the authenticity of the signature. Only private keys can sign and cannot be impersonated unless the key is stolen or shared. In Bitcoin, a special hash of the public key becomes an address. Since keys can be generated (more correctly, found) as often as the user likes, a user can have as many addresses as they desire. In fact it is commonly recommend that addresses not be reused in order to improve user privacy by making connecting transactions more difficult.

 

  1. Scripting Language

In Bitcoin, transactions are actually much more complex than simple inputs and outputs. Bitcoin includes a scripting language wherein a transaction can be fully formed into a much more complicated verification of information. While many of the features in the scripting language are currently disabled in today’s implementations, it is clear Satoshi had grander plans for Bitcoin then just currency transactions.     Many of the complicated transactions in finance today can be formed with the scripting language and processed programmatically. Things such as multi-party escrow and coins that are un-spendable until a certain date (wills/trusts) are easily done.

 

  1. Inverted Trust Model

The traditional banking and finance system provides trust through limiting access to the network. In order to do wire transfers or transact as a credit card merchant you must achieve permission by some gate-keeping entity in order to join those networks and have your transactions sent. This limiting of access is inherent because there is no security at the network level. Any bad actor that has gained access to the network can transmit false transactions and the network will not be able to distinguish.

Crypto-currencies invert this trust model by providing the security inside the network. Access is open to all and anyone can transact within the network with zero permissions. The network itself will recognize bad actors and ill-formed transactions are simply ignored. Authenticity of transactions is quickly and easily verified through cryptography and the blockchain.

Another way of thinking of this difference is push and pull transactions. With credit card transactions for example, all transfers happen as a pull. You give some entity all details about your account and they initiate the money transfer out of your account. There are serious personal security implications with this model as you then must trust that the entity will never initiate a transaction you did not expect or authorize. With crypto-currency all transactions are push. An entity requesting payment must generate a receiving address and ask the sender to initiate a transfer to that address. At no time does the receiving entity gain access to the sender’s account.

 

  1. Future developments

 

  1. 2nd Generation Blockchains

Numerous projects exist that look to improve upon certain aspects of the core Bitcoin blockchain idea and push for the application of that technology into other fields. Bitshares is a growing family of individual and specialized blockchains being developed for banking, trading, lending, gambling, and more. The Ethereum project looks to provide a single blockchain that will be a foundation for unlimited applications. Ethereum uses a much more powerful scripting language then Bitcoin which would allow users to represent any type of asset or programmable transaction they could imagine.

 

  1. Sidechains

Another more recent proposal by Adam Back is a system to peg the value of alternative blockchains to the Bitcoin blockchain. This two way peg would allow a user to transfer Bitcoins off of the Bitcoin blockchain and on to a separate sidechain, while ensuring that double spending is avoided. These sidechains could have different properties such as larger block size to include more transactions, faster block speed for speedier transaction confirmations, or more complicated implementations that would allow for trustless anonymous mixing services.

 

  1. Impact and Potential for Disruption

 

  1. Decentralizing IT Infrastructure Systems

The obvious and immediate impact that consensus systems will have on IT Business is on infrastructure systems. Many technologies exist to distribute corporate data among the organization such as Domain Naming System (DNS), Identity (Active Directory), and File Storage (CIFS). Many of these technologies are ripe for replacement with decentralized systems.

 

  1. Outsourcing and Offshoring

Outsourcing and offshoring is a broad topic in business and occurs at multiple levels within a business. Regardless of the size of the contract, the business is paying an outside vendor or employee to perform some work in a contractually obligated way. Obviously these payments can immediately be made with digital currency and reduce the cost as well as friction of hiring international talent. What is less obvious is the ability for these vendor contracts to be paid programmatically. In a scenario where the contract deliverables are concrete and measurable, it may be possible to use Smart Contracts in combination with digital currencies to pay contractors automatically and immediately upon provable completion of a deliverable.

 

  1. Provable Document Existence

Blockchain technology provides an interesting way of proving the authenticity and date of computer files. One example currently being used is a sort of public notary service. A user creates some form of document or file and then uses a hashing algorithm to create a hash of the digital file. That hash is then included in the data inside a transaction in a blockchain such as Bitcoin. The unique property of a hash is that even the most miniscule change to a file will result in the new hash being almost unrecognizable from the original hash.

At any later date the user can provide someone with both the original file and a link to the blockchain transaction. The transaction will show the hash and more importantly the timestamp of when that was added to the blockchain. If the hash on the blockchain matches the hash of the document, it is then proved that the document the viewer is looking at is the original as well as providing an age of the document.

 

  1. Business Ownership Structures

Perhaps one of the most interesting implications of consensus systems is the idea of an organization that is formed and represented within a blockchain itself. Most businesses can be simplified down to having processes, workers, shareholders, vendors, and customers. If the business is structured in such a way that these entities can be represented digitally, then the business could be represented on a blockchain.

A simple example would be that of a charitable organization. By existing on a blockchain, all aspects of the charity would be public and verifiable. Donations received, payments to vendors, movement of funds, and payments to employees could be made public. Quite possibly the largest problem with charities today is knowing how much of an impact your donation has on the stated outcome. Did all of your funds get used to pay some executive or did they actually make it to the ground level where the impact is needed? These problems become completely transparent when the charity operates out in the public’s view on a blockchain.

Another example is that of a startup company. Currently if a person wants to start a business and immediately make it public to entice outside investment the process is expensive, complicated, and arduous. However if the company is formed on a public blockchain this process is greatly simplified. Initial shareholders can be assigned equity which can then be instantly traded on an open market. Any type of business payments such as dividends, payroll, vendor contracts, and utilities can be done instantly and programmatically without human intervention.

 

  1. Distributed Autonomous Agents

Building upon the previous examples we come finally to Distributed Autonomous Agents. The concept can be rather odd as there are no direct metaphors for their existence. Distributed Autonomous Agents can be thought of as corporations that exist entirely autonomously - they do not require human interaction or management in order to operate and generate profits. Their business logic and processes exist entirely in computer code that was originally created by someone or some team. Once created and started, these autonomous computer programs do not require direction from humans, they simply follow preprogrammed instructions.

One of the best examples to convey the uniqueness of this idea is that of a self-driving taxi car. Imagine that the car exists as its own business and the car owns the majority equity stake in itself. A person could bid on an open market for the cheapest taxi cab based on the person’s current location and final destination. Once a car is selected by the person it would drive them autonomously to that person’s destination, at which point the person pays the car electronically. The car recognizes it needs fuel and visits the closest fueling station. Since the car controls its own digital currency wallet, the car can then pay for the fuel digitally. If the car has done this process several times it likely now has a positive balance - a profit. If the car sees that demands is high for rental services and profit margins are good in the area, excess profits could be invested in a brand new car. The new car would effectively be a spin-off business from the parent, paying potential dividends to its shareholders.

The car example is just one of potentially endless applications of this idea. Almost any entity that can follow programmed decision logic could be represented as an Autonomous Agent.

 

  1. Conclusion

 

Distributed Consensus Systems have been unleashed upon the world and the technology is here to stay. Like the early days of the internet, it is nearly impossible to predict even a fraction of the potential implications of the technology. The internet changed the way humans interact, share knowledge, and get things done. Consensus systems will change the way we represent and exchange value as well as lead to a drastic shift from centralized management to decentralized autonomy. These changes have wide reaching implications for IT management and business outsourcing. Vendor contracts, international payments, legal documents, and even corporate structures will be impacted in numerous ways. Where we go from here is hard to say but understanding the technology is the first step to exploring how it will disrupt business.

 

 

References

  • “Bitcoin”.   The Bitcoin Foundation. <https://bitcoin.org/en/>. April 20, 2014.
  • "Bit Gold". 2012. Bitcoin Wiki. <https://en.bitcoin.it/wiki/Bit_Gold_proposal>. April 30, 2014.
  • "B-Money". November 2012. Bitcoin Wiki. <https://en.bitcoin.it/wiki/B-money_Proposal>. April 30, 2013.
  • Collins, Jennifer. “A Short History of the Debit Card”. August 2011 <http://www.marketplace.org/topics/business/news-brief/short-history-debit-card>. April 20, 2014.
  • “Cyptocurrency”. 2014. Wikipedia. <http://en.wikipedia.org/wiki/Cryptocurrency>. April 20, 2014.
  • "e-cash". March 2014. Wikipedia. <http://en.wikipedia.org/wiki/Ecash>. April 30, 2014.
  • Graf, Konrad S. “Bitcoin Decrypted”. December 2013. Konrad S. Graf Investigations and Observations. <http://konradsgraf.com/bitcoin-decrypted>. April 20, 2014.
  • "Hashcash". Hashcash.org. November 2003. <http://www.hashcash.org>. April 20, 2014.
  • S. Jevons (1875), Money and the Mechanism of Exchange, Chapter 1, paragraphs 5-6. London: Macmillan.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.