Author

Topic: [2014-11-3] What is Wrong With Bitcoin? - An exercise in decision making. (Read 1337 times)

legendary
Activity: 2408
Merit: 1121
Thanks for writing this, it really hits to the core of what some of the floated changes to Bitcoin would mean. I recommend people forward this to whoever has a say in Bitcoin development. This needs to be read by every core developer out there.
full member
Activity: 145
Merit: 100
http://www.bizforum.org/Journal/www_journalJVP018.htm


      What is Wrong With Bitcoin?
        An exercise in decision making.
         

        By Joseph Vaughn-Perling
        (Chief Scientist of the CryptoCrypt)

 
 
   
There have not been many major disruptive consumer financial technologies in recent history.  The last major disruption was the innovation of the payment card.  Payment cards were created before the internet even existed.  Bitcoin is the money of the internet era, and these are the early days.  The issues and precedents established today may become institutionalized if Bitcoin catches on.  Bitcoin is now at a moment where such a precedent is being set, that could change the fate of the economy for the next century, and a struggle for that future is mounting.

Over the last few years, I have exposed our readers here to some matters of importance to businesses and individuals interested in money.  There are problems with all sorts of money: government currencies, problems with precious metal money gold and silver, and also with crypto currency money.  The most notable of these crypto currencies is Bitcoin.  As different as the problems are with different forms of money, the methods of problem solving are equally as different. Problem resolution methodology is a practice useful to any who are engaged in establishing or working with different organizational structures.

With fiat matters, decisions come from the central banks and are suited to the best benefit of the owning banks.  Precious metal money decision making is the bullion banks and the larger mining institutions.  Bitcoin in contrast is largely without structure.  It began with a bunch of hobbyists and some companies have grown up around it.  This presents some unique challenges with regard to decision making.  There is no one in charge, no one to decide, with Bitcoin decision making is up to all of the individual participants in the peer to peer open-source community to decide what software to run and what to decide with regard to updates.

The Problem

There are some things about Bitcoin that just can not change or else it stops being Bitcoin.  These are described here:https://en.bitcoin.it/wiki/Prohibited_changes and include things such as changing the total amount of Bitcoins emitted and the emission schedule through the rewards to Bitcoin miners.  These things are immutable, but there are many issues that do need addressing and require a consensus to move upon any of them.  (You may have heard some famous or rich Venture Capitalist suggesting otherwise recently, they are simply wrong.)

Of these issues, some of the more contentious, necessary, and problematic are those that would cause what is called a “Hard Fork” in the code.  There is a list of these issues described here: https://en.bitcoin.it/wiki/Hardfork_Wishlist and at the top of the list is a matter of the maximum block size.  The size of blocks in the block chain is one of the fundamental limits on the scalability of Bitcoin.  With current block size, Bitcoin can only handle about 7 transactions per second worldwide maximum.  By comparison, Visa currently handles about 2000 transactions per second average.

As you may know from previous articles here, Bitcoin incorporates an innovative mechanism for managing the ledger of who has which Bitcoins and which Bitcoins are transacted from one account to another called the block chain.  Blocks of Bitcoin transactions are “mined” by solving a cryptographic problem which includes the transactions of the current block and the previous block and a random number.  This problem is solved trillions of times per second and the solution with the most leading zeros is the computer that “mines” the block of transactions winning the transaction fees as well as some freshly minted Bitcoins.  Currently the transaction fees make up only about 1/300th of the total reward.  Most of the reward for mining is the new freshly minted Bitcoin.

Over the coming decades this ratio is expected to change because the freshly minted Bitcoins are scheduled to decrease about every 4 years by half, and as transactions increase in number there should be increasingly more fees.  BUT, there is a problem with this, in that the Bitcoin protocol includes a quick fix that Satoshi Nakamoto added in the early days limiting the maximum block size to 1MB each in order to prevent the block chain from growing too quickly in size.  In order to change this a few things are needed for a consensus.  This process of this decision has been ongoing for a few years (whilst other problems are being addressed), and with no consensus reached yet. 

Some Argue that “No Solution” Is the Solution

There are a number of advocates for not changing the block size at all.  There are arguably good reasons for not changing it.  As a person who goes by the moniker of Cascadian Hacker points out some notes on the matter the reason for the 1MB block size limitation is to protect the block chain against some types of attacks.

Others cite some specific use cases of Bitcoin and its compatibility with other technologies that could become impractical with larger blocks.  One of these other technologies is The Onion Networ (TOR) which provides a layer of network privacy to all internet transactions that use this technology.  It was invented for use by the US Navy but was made public to encourage general use among internet users that seek additional privacy.  This is the position of the keep bitcoin free people, which includes Peter Todd, another of the Bitcoin Core developers.

If There Is a Solution, What Is The Right Solution?

So what is needed to get consensus amongst all the Bitcoin hobbyists in order to make a change? Like all decision making, it takes a confluence of When/What/How being defined and agreed.  Narrowly it is simple, there is an update to the software code, but in broad terms the general population would need to have incentives to run this new code.  To accomplish this requires the belief that it is not only better, but significantly better enough that a switch is warranted, and also sufficient others will also do so that (in the cases of a hard fork) there will be a network systems.

The effects of these hard forks are best implemented well in advance, to provide for sufficient opportunity for everyone that is going to upgrade to learn of the need to do so and accomplish it.  Additionally there is a great deal of dependent software that use the Bitcoin network as an input, so fundamental changes to it can have a ripple effect on many other software packages.  Managing this with Bitcoin is typically done through using a “block height” trigger.

As mentioned previously, the block chain is made of blocks of transactions, each block building on the one before it.  The block height is just the sequential numbered block, each one an average of 8-10 minutes after the previous, so a change in a parameter can be set so that it changes after some future block height.  This choice of how far in the future to put this change will have to be sufficient for enough people to agree to run that different version of software, and also to deploy it to their systems.  The consensus on this it will provide the “when”.

The block chain upon which Bitcoin is based, is a marvelous invention combining computer science, economics’ game theory, and provides a continuous unchangeable ledger of all Bitcoin transactions.  This set of data accumulates growing larger with each block.  If it grows too quickly it will become more expensive and difficult to manage this data set.  However what may be more tragic would be if Bitcoin commerce were delayed for lack of available space in a block.  With each transaction there is an optional fee that can be paid to the miners to encourage them to include that transaction in a block.  Currently the custom is to add .0001 Bitcoin which is about four cents for a transaction. Including a transaction in a block increases the risk that if another competing miner finds a block and it becomes a race to see which will transmit their block first that it may take a fraction of a second longer to transmit the larger block.  Having a transaction included in a block is this a resource the miners are selling

The Bitcoin Foundation Solution

The maximum block size should not be an economic issue though some artificial constraint on Bitcoin commerce.  There is a good blog post on Blocksize Economics by Gavin Andresen of the Bitcoin Foundation and he has also proposed a solution, which is to increase blocksize along the historical trend of bandwidth growth called Neilson’s Law and extrapolated into the future.  This solution has a very good chance of reaching consensus, as it is the simplest solution that could possibly work.  I however am in the dissent, and hoping for better than this for Bitcoin.

Or the Better Solution

We should not need to extrapolate on past historical data to forecast the future.  Not when we have this block chain technology that will be gathering data on the transactions into the far distant future of Bitcoin.  We ought not have to guess at what the future will bring with regard to technology because if Bitcoin is there, the Bitcoin block chain will be there gathering this data for us.  Further this proposal does not resolve the fundamental problem of the current setting, which is that it does not accommodate what future technology may allow.  If Bitcoin is to make a fundamental change requiring a hard fork, it should do so either only in a crisis that necessitates it, or it should fix it in a way that will not require re-fixing again and again.

Milton Freidman Agrees with Me on This.

Milton Freidman (one of the greatest economists of modern history) believed that the Federal Reserve should be abolished, but if the money supply was to be controlled, (as the Federal Reserve does today) that the preferable way to do it would be with a mechanical system that would keep the quantity of money increasing at a steady rate.  Bitcoin does just that.  Therefore this may be a watershed moment for Bitcoin.  By introducing a changing parameter that is a component of the money supply, and proposed to be adopted by the Chief Scientist of The Bitcoin Foundation, Bitcoin runs the risk of undoing Milton Friedman’s dream by re-creating a new Bitcoin Federal Reserve type Central Banking institution.  Just like the Federal Reserve which is owned by the largest banks, the Bitcoin Foundation is a member organization whose board is primarily the largest banking type organizations for Bitcoin.  The largest Bitcoin businesses and Exchanges have historically formed this board.  Several of the early board members have resigned due to problems with their governments, and been replaced by new people.  We cannot say who the future members of this institution may be, but this sets a precedent that will likely have to be repeated.

The way to avoid this would be to fix the problem in a way that would not have to be fixed again later, and this is what I advocate.  That we use the data of the block chain, the size of the blocks, or the fees paid to the miners, or a formula combining these, to determine what the environment of the future economy will require.

This would not only be a better solution than that proposed by The Bitcoin Foundation, it would also be a solution that would not need to be re-adjusted again and again through history, and de-risks the issue of centralization.  This makes the proposal a fundamentally better solution, as it would not be managed in the way that Milton Freidman was looking to avoid.

Bitcoin is reaching a point where a decision will ultimately be needed; the average block is now about a third of the maximum block size.  So there must be a change, and a consensus will need to be reached in order to avoid the block size limitation.

This may just be a time where “good enough” just is not good enough.


Jump to: