Demystifying Blockchain

I’m concerned about the amount of “blockchain will cure cancer” type prophecies. Many of blockchain’s most vocal proponents are so ill qualified when it comes to understanding the technology yet they hum along singing the benefits. Don’t get me wrong. I’m a blockchain supporter, but I fear it’s being oversold and failures to live up to the hype will result in a backlash. I don’t claim to be the first to have these concerns.

This article is not meant to be an explanation of the technology of blockchains. If you’re interested in a technical discussion, there are many other resources. For our purposes, we can think of blockchains as a log. Now some people equate blockchains to databases, but I think the analogy is flawed. While both a database and a log contain data, a log implies a sequential series of entries, whereas a database implies the ability to read, write and edit in a non-sequential format. A blockchain is sequential. It has dates, times, and some data:

The log in a blockchain can be simple, as above, or complex, following a specific format for the data such as designating accounts to debit and credit and the associated amount. Many people refer to the blockchain in Bitcoin as a ledger, because it logs transactions, the debits and credits of Bitcoin owners. Blockchain log entries can encode bits of programmatic logic.1 But, whatever the format, in essence, a blockchain is a log full of entries.

Unlike a simple log file though, a blockchain has a bunch of fancy characteristics to enhance its security. First, blockchains use a cryptographic technique called hashing to preserve the integrity of the data. Second, blockchains use incentives to ensure that people maintain the log and add new entries to it. These people are called “miners”, with a historical wink to workers who mine precious metals. Because of miner’s need to earn their incentives, the log is widely shared, increasing its availability. Miners bundle up log entries in the queue into a “block” and then add those to the log. The blocks are “chained” to the previous block because each block includes a summary of the previous block.2 Hence, we refer to the log as a chain of blocks or a blockchain. The summary of each block must be of a certain format and it takes significant computing power to put the summary in that format.

Blockchains incent miners to build new blocks in two ways: they earn a “fee” for each entry they log and they earn a “reward” with each block they add to the chain. The fee is paid by people who want their transactions included in the block, which only shifts existing value from the transactor to the miner. The fee is like a percentage paid for someone to transport your gold from one party to another. Whereas, the reward actually increases the money supply. You can analogize this to a gold mine where finding a new gold vein increases the amount of gold in world.

But mining is a competitive enterprise, and only one miner can find a gold vein. In Bitcoin, only one miner can add the next block to the chain. Miners win the race for the next block by solving a very complex mathematics problem, which is why Bitcoin miners now use ASIC (application-specific integrated circuit) built to solve that problem. Having an army of miners creating new blocks further increases the integrity because an adversary would need to muster enough computing to match a majority of the miners. As of this writing, the Bitcoin network is calculating 10,470,748,203,000 megahashes per second and the computer you’re reading this on could probably calculate 50-60 megahashes per second.

Let’s return to our basics description. At its core, a blockchain is a log with a bunch of people competing for incentives (fees and rewards) to add to that log,

The cost of security

As mentioned above, the cost of running the network (storing the blockchain, running the computer that calculates the math problem, etc.) is approximately the same as the income generated by miners. The chart belows shows the daily income of miners for the last two years, based on rewards and transaction fees, currently running about $8 million dollars per day. If that amount is stable for a year, that would amount to $3 billion a year. The current market capitalization of Bitcoin is $62 billion. At this rate, we’re looking at about 5% to secure the network each year.


Illustration 1: Bitcoin daily miner earnings by transaction fee and rewards

 

Doing a back of the napkin calculation, Bank of America spends about $500 million dollars a year on security. Bank of America holds assets of about $2 trillion dollars. So the security budget is about ¼ of a tenth of 1%. Now to be fair, BofA relies on external parties to secure much of their assets; law enforcement and courts to bear the burden of catching and prosecuting thieves and fraudsters and the bank contractually shifts some of the risks to insurance companies, partners and others.

The point of this exercise was to illustrate that the cost of the blockchain can be many times more expensive than a methods of securing a traditional platform. This doesn’t mean that blockchain is not a viable option, but rather you have to weigh the value of what your securing against the costs of the solution.

For instance if you’re securing an international currency (like Bitcoin), having high integrity and availability might be worth it. If you’re securing something like the provenance of pharmaceuticals (subject to hundreds of billions of dollars a years in fraud) might be worth it. If you’re securing stocks, bonds, or real estates titles, then it might be worth it. But if you’re securing collectible cards on a blockchain, the value of the data isn’t worth the cost incurred. What’s throwing a wrench in the economic analysis of most blockchain start-ups is that (look at the chart again) the inflation of the currency is subsidizing the security costs. Blockchain users pay the transaction fees. But because demand is exceeding supply for the currency of blockchains, the price of the fees is small relative to the value of the rewards, obfuscating the true cost of the service provided by the miners.

One way to overcome this cost is the use of an anchoring service that doesn’t store data in the blockchain but aggregates a lot of data into one log entry (a digital proof of the data’s existence) to store in the blockchain. Consider a car title where I try to sell you a car with an altered title. With the digital proof stored in the blockchain, you could reject the title knowing it was altered. We reduce cost because we don’t have to store the actual document, only the digital proof. We increase confidentiality because the data is no longer stored in public. Of course, we lose something as well. We no longer have the availability of the underlying data; if corrupted, we can’t restore the underlying data; we can only prove it is, in fact, corrupted. This is great if you only need to prove data you have wasn’t altered, not so great if you’re concerned about restoring the original data if lost. Unless another copy of the real title existed somewhere, we’d never be able to reconstruct who actually had title.

Public blockchains.

Bitcoin uses a public (or open) blockchain. “Public” in this case means that miners are free to join and leave, and do so based on their own economic interest. If a one can make money in the business of mining, more miners will contribute to the network. If miners are expending more resources than they are earning they will exit the network. The creates somewhat of an equilibrium such that the money earned by the miners is very close to the costs they spend securing the network.3 Profit margins in blockchain mining are dependent on the miner’s underlying costs (mostly hardware and electricity) and the fluctuations in the value of the currency mined.

By contrast, permissioned blockchains are not public. An external structure governs participation, limiting who can act as miners. Thus, permissioned blockchains don’t exhibit the same economic properties as public ones.

What blockchains are good for

Now that we understand what blockchain is, we can start investigating appropriate uses of the technology. The simple fact is, wherever you have a need for a high level persistence (i.e. availability) and integrity, blockchain technology could be of benefit. I stress could, because you have to weigh two factors. The first is the true cost, as previous discussed (taking into account current subsidies). The second is a lack of confidentiality; the transaction data held on a public log. Of course, you could encrypt the data but it is still public and, because of its persistence, runs a higher risk of becoming completely transparent if an adversary compromises the encryption key. Unlike an encrypted private database which has the added protection of having limited exposure, a public blockchain is, by its nature, available to anyone, including an adversary. Even encrypting the data exposes meta-data, such as dates and times of entries, to analysis. As mentioned above, using an anchoring service, you can trade off confidentiality with integrity and availability, but you must determine an appropriate balance for your objective.4


Illustration 2: The trade-off among confidentiality, integrity and availability.

 

Interoperability, the snake-oil of the blockchain world

The most common fallacy in proposals to use blockchain is using it for interoperable data sharing among disparate parties. Participating parties in a blockchain network agree on a standard data structure, so in that respects they are, by design, interoperable. But one doesn’t need a blockchain for interoperability, one only needs an agreement on structure of the data. When I hear about proposals to use blockchains for patient health records (PHR), I cringe. Patient health records are in need on interoperability, so health care providers can share patient data with each other for more efficient health care. But blockchains lack enough confidentiality for patient health records and are an expensive means of providing interoperability. Anchoring services could maintain patient confidentiality but lack the interoperability that most providers in this industry seek. The underlying data, anchored to the blockchain, still needs an agreed upon data structure, which can occur with or without blockchains.

Smart Contracts

One of the more interesting structures of data to use in a blockchain comes in the form of programmatic code. Miners can execute that code as they build the block. Bitcoin has a simple scripting language (see https://en.bitcoin.it/wiki/Script), a sort of machine language for the virtual Bitcoin machine. Ethereum has a much richer programming language which allows such things as smart contracts to run on the network. What is a smart contract? Its an agreement between two (or more parties) that is self-executing. In a typical contract, when two parties agree to something, they must act on that agreement. If I agree to pay you $10 if it rains tomorrow, then I actually have to transfer that $10 if it does rain tomorrow. If I fail to do so, you have to enforce that contract through some means, suing me in court if you want to pursue legal means or beating me with a rubber hose if you want use extra-legal means. A smart contract executes itself. The parties put money in escrow with contract. The contract distributes the money to the parties according to the terms. This eliminates counter-party risk, the risk that the other party in a contract will fail to live up to the terms.

While such a program could run on a traditional server, if something happens to that server, the contract would fail to execute. This might create an incentive for the losing party in an agreement to tamper with or stop the server from running. Putting a smart contract on a blockchain network like Ethereum ensures it’s execution. Like confidence in the integrity of the accounting in the Bitcoin blockchain, Ethereum users are confident in the execution of the contract as written. But ensuring execution is not free and it’s not even cheap. It is a costly contract to execute. The blockchain holds the terms of the contract in perpetuity. It must run on thousands of computers. Users must compensate the miner for this activity. Now this might not be a problem, if the smart contract has significant value or counter-party risk. But no one would or should not use a blockchain for low value contracts with limited risk.5

Conclusion

My goal of this article was to pull away the veil of technological secrecy that sometimes comes with discussion of blockchain. For those without a technology background, it can be hard to distinguish between reality and snake-oil in the blockchain world. For those with a technical understanding, please forgive my over-simplification but it was necessary to help bring a wider understanding of the benefits of blockchain while separating out the more outrageous claims.

1The Bitcoin blockchain actually uses programmatic logic to build the accounting ledger. This what allows for sophisticated features such as multi-signature wallets. But that is out of scope of this article.

2That summary is in the form of a hash of the previous block.

3For more information about the economics of Bitcoin’s blockchain, check out https://helda.helsinki.fi/bof/bitstream/handle/123456789/14912/BoF_DP_1727.pdf

4Confidentiality, integrity and availability are consider the information security triad.

5This post estimated that its 400 million times more expensive to run code that adds numbers together on Ethereum than on a traditional server. Given the nascency of Ethereum, the numbers may be off but the concept that it is significantly more expensive remains.

Freelancers are the Future

One of my more frequent comments on Bitcoin is the need for a ecosystem and a reduction on the reliance of BTC<->fiat transactions. Those sorts of transactions are a drag on Bitcoin’s widespread adoption, especially when the transactions are easy one way but hard the other. Unfortunately, companies such as BitPay, in their zeal to drive merchant adoption, have created just this sort of scenario. It’s easy for merchants to accept Bitcoin without actually accepting Bitcoin. The opposite is not true. In other words, it actually fairly difficult to get Bitcoin. Let’s look at people’s options

1) In the golden old days of Bitcoin (just a few short years ago), you could start mining Bitcoin, essentially turning your electric bill into a Bitcoin exchange. The days of hobbyist doing that are long gone. A few enterprising entrepreneurs set up Cloudmining operations to allow the average user to essentially purchase bitcoin through group mining pool, but I dare say with the rush to gold, the mines are running dry at the moment.

2) You could purchase bitcoins through Coinbase, Circle or a few other companies that allow you to directly obtain Bitcoins through your bank account. However, this works only well for those in the U.S. with banks (and possible good credit). Anyway, isn’t the idea to use Bitcoin to get OUT of the traditional banking system?

3) You could steal Bitcoin. Did I mention this blog is not to be construed as legal advice?

4) You could use an exchange such as Mt Gox, Bitstamp, etc. But they are typically not easy to get money into or out of and they have a bit of a reputation problem.

5) You could meet people locally to purchase their bitcoins or sell yours. Just be careful who you interact with.

6) You could use a Bitcoin ATM…. if you can find one….and you can get it to work.

7) or …you could earn Bitcoin. This is one of the reason I accept Bitcoin for legal work (I’ve had one client pay me twice). It is also the reason I launched 1ncemail.com which provides disposable email aliases to protect your privacy, mainly because I wanted a way of earning Bitcoin rather than buying it.

This problem of getting Bitcoin into the hands of people has perplexed me for quite some time. Many people attribute the downward price of Bitcoin to the ease of exit but difficulty of entry. Unless we, as a community, start solving this problem, Bitcoin may not succeed. I’ve been puzzling over this issue for quite some time. Consumer adoption of Bitcoin is one of the reasons I’m co-organizing the Atlanta Bitcoin Consumer Fair in April, 2015. I want to see Bitcoin get widespread adoption.

If you think about it, how do must people obtain money? That’s right, they earn it. I’m encourage that some companies are starting to think about paying employees in #bitcoin. You’ve got Bitpay offering it’s payroll service. Bitwage has an innovative idea to earn your pay per hour, not every 2 weeks. Overstock.com ever on the forefront, is now offering to pay it’s employees in Bitcoin.

I’d like to suggest that while laudable, these efforts are negligible. We need a much bigger target. I would like to suggest that target is the freelance community. I use freelancers all the time. A freelancer built my 1ncemail app. A freelancer wrote my press release for my privacy consulting business. A freelance designed the graphic for the Bitcoin Consumer Fair. Freelances are working on multiple aspects of my Bitcoin related startup, Microdesic. I primarily use elance.com but recently learned the fivver.com takes Bitcoin. Unfortunately, my first experience using their Bitcoin interface was anything but pleasant. However, I will persist.

There are some 53 million freelancers in the United States. Hundreds of millions more worldwide. For reasons that I’ve elucidate elsewhere, such as reduced transaction costs, I feel the future of work is through freelancing. Freelancing seems to be a natural fit for bitcoin

1) Irreputability means once paid, the freelancer doesn’t have to worry about charge backs.

2) Suited for international payments.

3) Low transaction costs.

4) The ability to escrow funds vis-a-vis a multi-sig wallet.

The closest thing I could find was bittask but it doesn’t quite  operate like the freelance sites elance.com, freelancer, oDesk, etc. I’m not the first person to think of this. See this article on CryptoCurrency News but I haven’t seen any movement in this space. The comments mention dogerr.com but that’s a centralized service and only for Dogecoins, an altcoin derivative of Bitcoin.

Bitcoin and Recurring Billing

I had a discussion a few weeks back with one of the team working on SexCoin, one of the myriad of alt-coins flooding the market. They definitely have name branding right but still miss the boat in the overall justification section.

Litecoin recently tanked after one holder dump his/her holdings.

DogeCoin took a similar dive, recently.

The problem with the alt-coins is there is no reason to use them or have them, other than speculation. When that is the only value, you end up with another tulip bubble. Currency (or money) gets its value from its useability in commerce, but the level of commence for the alt-coins, let alone Bitcoin, is negligible. Unless an altcoin can be used in a very closed loop, closed community, with internal circulation, participants are just as well off using Bitcoin. In other words, A pays B in sexcoin, who pays C in sexcoin, who pays D in sexcoin, which eventually gets back to A. The circulation might not be exact and some in and out exchanges can occur but it won’t work if A pays B in sexcoin who sells it for Bitcoin to pay her rent. (Use of her pronoun is ONLY coincidental, right?). Seriously, though the same problem plagues Bitcoin because right now, people are buying Bitcoin to purchase stuff and then Merchants are cashing right out. This is unsustainable and will eventually make Bitcoin useless as a currency. The transaction costs are just too high to make this viable.

However, my post today is not about the viability of alt-coins or Bitcoin even, but about the notion of recurring billing. You see, in discussions with the sexcoin promoter, he admitted that most adult oriented websites wouldn’t touch it (or Bitcoin) with a 10 foot pole. Why? Well because they can’t do recurring billing. A typical adult website pays about $30-40 per signup in acquisition costs (advertising, promotions, etc). The average consumer who signs up ends up paying $29.95 per month for THREE months (before they realize they are still being billed). Some cancel after a month, some longer but the average is 3 months. [The actual numbers may vary but they are made up here for illustrative purposes]. The point is, the cost shift the costs of providing the service to those to unaware to cancel the recurring billing on the credit card.

Unfortunately, Bitcoin doesn’t have this capability. It’s more akin to cash, you pay it, can’t get it back, but also the merchant can’t get more of it than you authorize. And it isn’t just porn companies doing this. Many mainstream services do recurring billing onto people’s credit cards. I recently had a case of Blizzard Entertainment (the producers of WOW) doing the same to my credit card on an annual basis. I notice a charge fro $74.74 from Blizzard on this month’s CC statement. I called to cancel but this was actually a 2 year old service I signed up for my then girlfriend. She no longer used the service but I was still getting billed. How many people are blissfully ignorant of Blizzard’s billing practices as they fail to notice the charge on their CC long past their active uses of Blizzard’s services?

This is the dirty little secret of Industry, they often do cost shifting with low usage users footing the bill for high usage users. Can Bitcoin help stall that? Some companies like Coinbase are trying to replicate recurring billing, but for that to work they actually have to have a coinbase account, which is tied to a bank account or credit card.