Bitcoin XT vs Core, Blocksize limit, the schism that divides us all.

Forking Bitcoin, the first existential milestone

Forking Bitcoin, the first existential milestone

The news recently is all abuzz about the Gavin Andresen and Mike Hearn’s fork of Bitcoin called Bitcoin XT.  For the first time in the history of Bitcoin, its very existence has been put into peril by way of what is termed a ‘Hard Fork’ of the protocol.  I have watched the situation develop, and I feel that I must comment on this topic as the amount of FUD coming from both sides of the camps is reaching alarming levels, and frankly I think this is hurting Bitcoin. (the price as well as the community).  This is a long post, apologies.  Normally I would have split it out into several, but I wanted the message to be complete, and atomic.  If you want the executive brief, jump to the summary at the end. Go on, I won’t mind. (but don’t come back to me with questions later!)

Priorities of Bitcoin

Bitcoin, as a vision conceived by Satoshi Nakamoto is a decentralized cash payment system.  For such a system to work, you need a decentralized solution to the Byzantine General’s problem, which is something that I have detailed in the past and is succinctly defined here.  The reason Bitcoin is such a brilliant invention, was that it solved the consensus problem in a decentralized way.  The solution isn’t a perfect one, in fact, it cannot be formally shown to hold in all cases, (which is a source of consternation for many folks like Vitalik Buterin and likely drove him to develop Ethereum in response to the desire to have a formally provably secure solution), but it is shown in practice to work, in most real world situations so far.  For this solution to work, Bitcoin holds the following priorities in descending order of importance:  Consensus, decentralization, store of value, and payment system.  It would seem that the goals of the Bitcoin project have since diverged, under the leadership of Gavin, to focus more on the payment system use case for Bitcoin, at the expense of consensus and decentralization.  I would argue that sacrificing consensus, threatens all the other aspects of Bitcoin, not the least of which is its use as a stable store of value.  In fact, I believe such a consensus breach is an existential risk to Bitcoin itself.

Compounding the problem, is that the XT camp (and to a lesser extent the Core camp) is increasingly using populist and alarmist strategies to scare the public onto their side, betting on ( and rightly so ) that most people do not know enough about the inner workings of Bitcoin and thus will be drawn to believe what they say based on their reputation alone.  From the perspective of an interested 3rd party, I can no longer watch the partisan media campaign war that is taking place, using carefully misleading language and omitting of facts to steer public to their causes.  I could cite actual examples of such disingenuous wording and statements, but I will chose to leave it up to the reader with a critical mind to identify such examples on their own. (See appendix) Morally, I refuse to join the ad hominem smearing, and instead choose to focus on discussing the pros and cons of the debate from a purely scientific standpoint ( in hopefully, language that will make sense to the non-technical )

The block limit debate in a Nutshell

So what is the big debate about anyway?  Block limit.  I won’t go into the nitty gritty details of how the blockchain is put together, but suffice it to say that the current limit of the size of each block on the blockchain is 1mb. (1000000 bytes actually, but who is counting?) And one block is mined about every 10min on average.  That works out to be a theoretical limit of a paltry 7 txn/s (tps). Not stellar, as payment systems go. That is precisely why Gavin and Mike Hearn have been pushing for increased block sizes, in principle.  For comparison, VISA can supports on average about 2000 tps, PayPal about 115 tps.  VISA’s theoretical limit is an astonishing 50k tps.  So why is Bitcoin artificially limiting itself to something so low?  Because Bitcoin being a decentralized system with no one central point of processing, it is susceptible to denial of serivice (DoS) attacks.   What that means is that bad actors on the network can collude to attack the network stability itself, if it becomes profitable for them to do so. Making it unprofitable for them to do so is the key innovation of the Nakamoto consensus solution.  Satoshi put in the 1mb limit himself, in anticipation of having some limiter to the size which would prevent bad actors from breaking the system before it was widely adopted enough to be resilient.  He did himself foresee a time when the limit could be relaxed, but wasn’t sure at what point that may be, due to the fact it depends on a lot of variables.  We still don’t know what the limit should be, but the general consensus is that 2mb is okay, 8mb unknown, 20mb definitely risky.  Why? Read on.

Mine mine all mine!

Mine mine all mine!

Selfish miners

Selfish mining, is one such attack which was clearly explained in Satoshi’s paper as a possible weakness of Bitcoin.  This entails a miner, who has a significant amount of hashing power, mining blocks but not publishing them, thereby creating a secret longer chain that the rest of the network does not know about, with the intent of broadcasting it later, and in doing so will reverse some transactions that may have already been confirmed on the public (but shorter) chain.  This is the infamous double spend attack.  Normally this can only be accomplished reliably when one possesses over 51% of the hashing power of the network.  What most people don’t know is that network propagation is also a factor here.  Satoshi admitted that his calculations on the percentage of hashing power in order to be able to pull off a 51% attack reliably assumes no significant network propagation delays.  Indeed the danger of allowing block size to increase to the point where the expected delays in block propagation through the network has been discussed ad infinitum in the past, and the reason why the block debate has been ongoing since at least 2011.

In this regard, I can understand why Gavin feels that he must do something drastic to force the issue.  The attack goes as follows: If blocks were allowed to be ‘too big’ (big enough to add plausible delays to propagate to all nodes) then a miner would be incentivized to stuff the block they are mining full of txns that pay himself (or a cohort), up to the allowable block limit.  They do not broadcast these transactions to the network unless they solve the block themselves, removing the possibility of paying miner fees to some other miner.  If they manage to solve the block, they immediately broadcast all their spam txns and block solution.  The other miners would have to drop what they are mining, and start downloading the new (very large) block (which may take some time) and verify it, which involves checking the validity of all contained transactions (which will take some more time).  All this results in a appreciable head start that the attacking miner can enjoy in mining the next block.  So what he has successfully done is increased his ‘effective’ hashing power giving him a slight edge over his competitors.  Of course this is a game-theoretic problem, so we can assume that once one miner starts doing this, then either all miners will start doing this, as well (and make orphan blocks and double spends a lot more common) or band together to share high bandwidth connections/nodes (and push the system more towards a centralized one) both situations are bad for Bitcoin.  So everyone can agree that too big of a block size would open up bitcoin to a certain type of fragility that has up until now, not been a problem.

So how big is too big?

So unlimited block limit is clearly bad, and 20Mb is generally agreed upon as pretty risky (up to 8sec propagation delays).  What’s wrong with just 8Mb?  Frankly, it’s probably ok.  Probably.  The problem is that nobody knows.  Because nobody has finished researching the issue to a satisfactory level yet.  This is why some core developers are calling for more time to analyze what the ‘safe’ limit would be given the current bandwidth limitations of the present internet.  Others have proposed counter solutions to increase block limits that take a much more conservative approach.  XT proposes to start with 8Mb limit and scale up automatically 2x every 2 years until it reaches 8Gb. Gigabytes.  That will certainly make bitcoin able to compete with VISA.  But, can we be certain that network bandwidth growth will continue trending up monotonically without fail? What happens if a global downturn occurs and we see a slowdown in technology development?  What happens to the people who bought Bitcoin as a hedge against a fiat money collapse?  But for me the scariest part is that once XT block limit increase schedule is triggered, there is no turning back! (see Appendix)

What we are really arguing about here

That brings me to the crux of matter.  What we have here is an ideological schism in Bitcoin.  Most people fail to realize that this is what the block debate is really about.  On one hand you have folks who believe Bitcoin should be the new VISA system.  They believe that Bitcoin should be able to handle all the transactions on planet earth, from everyone’s daily coffee purchase, to everyone’s house purchase, to how Google cars should be paid for their services.  On the other hand, you have those who believe Bitcoin’s core value is the fact that it is a hedge against fiat currencies, and by extension, governments (in the case they decide to infringe upon your liberties).  Bitcoin CANNOT be both. It’s just not possible.  For a system to be able to support the proposed 53k tps it will need to be massively centralized (like VISA).  If such a system existed (like VISA), it would no longer be immune to government coercion or control.  The opponents of XT will argue that it is inevitable, and nay, necessary that sub-domains riding on top of the Bitcoin network be setup to handle local payments between local parties, thus keeping the required number of txns on the main net of Bitcoin manageable.  A current project under development, Lightning Network, is exactly one such solution.

Risks of not raising the Limit

The biggest argument against doing nothing (or doing nothing urgently — because I believe mostly all the devs agree the limit should be raised eventually) is that if the limit is hit due to real transactions in the network, then confirmation times will be variable, and delayed.  This is a valid point.  What will happen is that due to transactions piling up, people will no longer be able to reliably assume that they will get a confirmation in around 10min.  The simple rebuttal to this is that for customers of payment processors like Coinbase and BitPay, it doesn’t matter, as they will give you a confirmation without waiting for a block anyway.  What it does mean is that there is a chance that your txn could be double spent (and the payment processor would have to cover it).  I personally don’t consider this a major concern to current users.  Most people who don’t use a payment processor aren’t really that sensitive to confirmation times.  If you were sensitive to confirmation times then you are likely already happy waiting an hour to confirm anyway.  Another valid concern is that txns piling up unprocessed will put memory pressure on nodes running on small memory capacity hardware.  But the biggest rebuttal to this is that transaction traffic (natural traffic, not a contrived ‘stress test’) will not happen suddenly.  If it seems like the limit is getting hit persistently, and confirmation times are becoming a problem, an emergency limit increase is something that the core devs can patch very simply and quickly.  They can execute such an emergency block size “QE” if you will, at a moments notice.  They have demonstratively done this kind of deployment before, during the one previous hard fork, and with the F2Pool bug.  So what is the rush?

Fee (free) markets

On the other side of the fence core devs want to let the limit be reached, in order to force wallet apps to implement the necessary protocols/interfaces for developing a fee market. What this means is that they see that Bitcoin can never be ‘free for everyone’, if it were, it would have to be centralized (see above).  So although I believe everyone wants Bitcoin to be cheap enough (cheaper than any present centralized alternative), the core folks want to encourage a free market mechanism where if the network transaction load is high, you will need to pay more fees to get your txn processed on time.  Currently that is technically possible, but due to most wallet software’s inability to estimate the likely charge that is required, or lacking the ability to pay more to raise the priority of your txn that is already broadcast, it is not implemented in practice.  Part of the reason they want the block limit to be hit (gently) is so wallets are forced to upgrade to be able to make this experience better for their users, and thus be ready when the real limit (the unknown one where bandwidth creates the significant DoS attack concern) is hit, because core will not be able to raise it any further beyond that without compromising the integrity of the network.

What is a Hard Fork, and why is it dangerous?

Okay, thank you for bearing with me.  If you soaked in all the above you have a pretty good grounding on what the debate is about.  Now onto the process by which XT is going about the fork, and why it is irresponsible.  A hard fork means that the blockchain will split, with each side having a common ancestry, but be irrevocably non-reconcilable with each other.

I will spare you most of the details of the XT forking rules as I am sure you can find info elsewhere (see the Appendix below for link to Gavin’s BIP 101), but generally after Jan 2016, if 75% of the last (consecutive) 1000 blocks are mined by XT miners, then XT miners will be able to accept up to an 8mb block as valid. Sometime after that, once this first big block is mined, –let’s call this the “Judas” block (see diagram), then it will be rejected by the remaining 25% of the network.  They will drop it and continue mining the block on top of block “Jesus”, and when mined let’s call it “John”.

Bitcoin XT hard fork worst case scenario

Bitcoin XT hard fork worst case scenario

The XT miners cannot accept “John” as it builds on top of an invalid parent block (they need it built on top of “Judas”) and so goes on to mine “Pontius”, meanwhile, the core loyalists will mine “Paul” block which builds on top of “John”.  Any subsequent block mined by either side will be dropped as invalid by the other.  Effectively we now have 2 Bitcoin networks, with respectively 25% and 75% of the pre-hashing power before the Judas block.  It is untrue that the 25% will be compelled to join the majority.  They may go on happily mining on the John chain in perpetuity.  Their block rewards (mining income) will not be diminished (in fact, they will make MORE mining rewards, due to a smaller mining pool).  What will end up happening is that the hash power distribution will have changed.  The previous owner of 10% hash power pre-Judas block now will find themselves with ~45% of the hash power of the new John chain, and similarly miners on the Judas chain will have increased effective (relative) hashing power.  In truth, both chains are now less secure than the combined chain, pre-Judas.  Most importantly fungibility of bitcoins are now broken.

Both chains will still get transactions from the whole network.  Indeed txns of coins that were mined before the Judas block are valid on both chains and thus will be attempted to be mined on both, than is, unless the txn include any coins minted from a block after Jesus (in either fork), in which case it cannot be spent on the opposing chain from whence it came.

So what?

Why is this situation really bad?  Because of the exact reason why Hard Forks are dangerous.  If they have a consensus, they are resolved quite quickly with one fork winning over the other. (and it doesn’t matter which is longer!) That’s how it was resolved in the past, by unanimous endorsement by core to choose one over the other (and upgrade or downgrade accordingly).  IF there is no clear winner, because each side wants to stick by their guns due to ideological reasons, then we have a problem.  Why?  Consider Alice, who uses wallet A, and Bob, who uses wallet software B.  Wallets need to communicate with nodes to get their block confirmations. If wallet A is connected to a Bitcoin (John) chain node, and Bob’s wallet B is connected to a node running the XT (Judas) chain then they are no longer going to see the same block confirmations, and they won’t know about it!  Alice will send bitcoins to Bob, she sees a confirm, but Bob will never see a confirm, if the coins are originally minted from a post-Judas block.  If it is from Jesus block or less, then her transaction with Bob will work and be seen by both of them, BUT then Alice can re-spend those same coins with a counterparty on the John chain!  (and this goes both ways).  This breaks the fungibility of bitcoins, and will likely cause a massive loss of confidence of Bitcoin as payments will no longer be able to be reliably confirmed.  Because both are operating on the same network (IP ports, QR codes, URI etc) there is no way to detect a-priory if your payment is being made to a receiver who can receive it, until after you try (or unless they are really tech savy and you both know which side of the fork you are on).  This bad situation can happen as early as 100 blocks after Judas block. (about 16 hours).  Much of the chatter in the social channels portraying the XT upgrade as perfectly safe seems to be deliberately ignoring this fact.  And for understandable reasons.  IF (and only IF) everyone does upgrade to XT, then we will have no problem.  But if they don’t and it turns out to be a game of chicken, then we all will suffer.

Help us Satoshi Nakamoto, you're our only hope!

Help me Satoshi Nakamoto, you’re our only hope!

Where is Satoshi?

So with all these scary uncertainties, you may ask why hasn’t Satoshi come out to speak on the behalf of one side or the other in order to settle the dispute?  Indeed it would be akin to him coming out to act as a 3rd party mediator, such as when a parent comes in to break up a fight among siblings.  There has in fact been a post by someone claiming to be Satoshi, from a valid known Satoshi email address, claiming pretty much that the XT fork is unnecessarily dangerous, see here: Satoshi? Despite the many allegations that if this was really Satoshi, he would have signed his message with a known PGP key or perhaps moved some of his coins to prove that it was him, he has not done so.  I for one do not believe that he would.  If you read the message, (ignoring for a second who it is from) he is saying that Bitcoin’s vision is not one where it is subject to the egos of charismatic leaders, including Satoshi Nakamoto.  People who harp on the fact that Satoshi has not made a provably authenticated statement is clearly missing the whole point of this message.  If he were to do so, rest assured the whole of the community will rally with him, but that is exactly what he doesn’t want to happen, a whole community blindly following authority!  Consistently so, the author points out that if it takes a benevolent dictator to pull us out of this mess “deux ex machina” then Bitcoin, as a project in decentralized money resistant to authority, has failed.  That tautological statement, is provably true if you can wrap your head around it.  Therefore, if Satoshi wants it to succeed, he won’t use his ‘God card’ and settle disputes.  If Bitcoin continually needs Satoshi to keep us from going astray, then Bitcoin isn’t worth saving.   Considering that Satoshi has likely the most coins at risk than anyone else, and him coming forward to break the impasse would likely save us (and the value of his own coins) it is truly commendable that he has not done so.  The fact that he hasn’t tells me that he (where ever he or she is) is truly acting in an altruistic manner.  He is more willing to let Bitcoin die, than to let it continue on as a system that does not value consensus as its first and foremost priority.

Summary

(yeah you can skip to this if the above is more than you can digest in one sitting)

the-matrix4

There is no spoon [danger] in a Hard Fork, but only if we ALL *believe*

Gavin and Hearn are trying to force consensus in an “Inception” like manner, betting on the fact that if 75% agree with him (whether they are well informed actors or not) then the 25% remaining will be forced to fall in line otherwise risk breaking Bitcoin for everyone.  Why are they doing this?  One can only imagine they feel that Bitcoin needs to grow otherwise risk being overtaken by a competing cryptocurrency.  Although current transaction volumes are not hitting the limit yet, they believe that adding capacity will stimulate growth.  That sounds more like strategy that Ben Bernanke or Janet Yellen might believe.  What they may end up doing is that they will cause the end of Bitcoin themselves if the 25% minority believe it is better to continue running a reduced (hash power) version of Bitcoin that values consensus, over one that is run by a charismatic leader who is willing to force changes onto the network, or split it off into separate sects if he doesn’t get his way.  If we choose that to be the overriding model of Bitcoin, then Bitcoin as Satoshi envisioned it, as far as an experiment in “collective consensus building money, free from authority”, has failed.  So just ask yourself one question, given all the unknowns and potential existential risks to Bitcoin, — What is the rush?  Why the urgency?

On the other hand, the appeal of XT’s ideology is that block limits (in fact the consensus rules themselves), shouldn’t be something that is left for us humans to decide.  Once set, the code itself, in an Inception-like manner should be the only one that guides the future path of Bitcoin.

One thing is for sure, if we make it out of this without blowing ourselves up we will see a big jump in BTC price.

If you liked this post, please consider dropping me some satoshis
Tip me with ChangeTip!

Please donate!

Onward and forward!

Post Scriptum:

So you decide*, was Satoshi’s vision to have consensus rely on a group of humans who need to always maintain internal consensus before a change? Or was his vision to leave consensus of the protocol, even at this meta-level, mostly in the hands of the code itself, once triggered?  That is the choice that we all need to make now.  *And if you really want to throw your mind into a self-referential loop, consider if Satoshi himself, would have wanted the public to have to be making this choice?

Appendix: (for you geeks)

I) Misleading media coverage (one example)

Incorrect misinterpretation by media: Cryptocoinsnews.com

The blocksize increase activates, at fixed dates,
 if a super-majority of 75% of miners have
 opted for the new block size by indicating 
their preference in their submitted blocks. 
Without 75% miner consensus no block 
size increase activates.

The misinterpretation is that once XT is activated, at times during the increase periods it can be stopped by another supermajority vote. That is, you get a chance to vote again every 2 years. That is incorrect, as the code specification clearly states (below link). Once started, we are on a linearly increasing block limit doubling schedule that cannot be stopped until 8Gb is reached. Furthermore, the increase is not a step function that occurs once every 2 years, the limit increases with each block linearly. (They each bump up 1/730 of a step)

II) Useful background references

BIP 102 The simplest solution – Jeff GarzikBIP 100 An increase schedule with voting – Jeff Garzik

Bitcoin XT BIP 101 specification – Gavin Andresen

Hard Forks vs Soft Forks and why Hard Forks are supposed to be Hard

III) Once XT is triggered there is no turning back! Why? Because forks are voted upon my miners choosing to run one version of bitcoin over the other. And while theoretically if we were all on XT and something like a global downturn did necessitate a pause or scale back on the continuously increasing block sizes (due to bandwidth tech not keeping up) we would be hard pressed to convince the miners to cap or scale back their big blocks as bigger blocks means more fees collected by mining and there would be economic incentives to favour them.

“Decentralized”? – What does that really mean?

You hear this term thrown around the crypto-sphere a lot, but I wager that 90% of the supposed experts that you ask don’t actually understand the meaning of it, and only serve to continue the cycle of misunderstanding.  I hope to clarify the situation and I hope that after you read this, the next time someone says that “[so-and-so] is not decentralized” you will be able to correct them, with the confidence of the Dos Equis man with a half lit cigar and a bourbon.

So what does it mean to be decentralized?

Let’s start with the good ol’ Webster-Merriam definition:

noun de·cen·tral·i·za·tion (ˌ)dē-ˌsen-trə-lə-ˈzā-shən
1:  the dispersion or distribution of functions and powers; specifically : 
the delegation of power from a central authority to regional and local authorities 
On the surface, it simply means there is no central authority or controlling power.  But we know that when we speak about technology, we must also consider the different dimensions of meaning to which they can apply.
According to the dictionary meaning, would you say that the internet is decentralized?  Certainly most would agree with you in terms of its ability to bring commerce to the marketplace without any central control or authorization.  Indeed, the internet was really the decentralization of information, for before its mass adoption, we relied on the media of newspapers and periodicals, along with that of television and radio for the dissemination of information.  But even as the internet decentralized information in the broader sense, is the internet itself a decentralized technologyInternet Corporation for Assigned Names and Numbers (ICANN) controls the issuing of domain names.  We rely on ISP companies to give us an on-ramp onto the information superhighway (how long has it been since that term was used? Sorted!) and they in turn rely on BGP (Border Gateway Protocol) routers which form the backbone of the internet to route your traffic.  Most of these routers are physically situated in USA, and most of them run on the hardware developed by one US company, CISCO.  Still think it’s decentralized?  Not so clear anymore huh?  Well that’s exactly the state of affairs in the cryptocurrency industry.  The word decentralization is being paraded and sold as a feature of various projects, and thus the word is overused and over-abused.  But as with many things in life, when you start peeling back the layers, you soon see many different versions of truths, and many times conflicting viewpoints are actually simultaneously true, depending on the context or point of view.  So lets enumerate all the different contexts in which people in the crypto field normally speak of in terms of decentralization.

Network topography

Before we examine the specific aspects of cryptocurrency systems in light of their degree of ‘decentralization’ let’s first begin by clearly defining what each type of topology looks like.
Network_topologies
Centralized systems have one hub or server, and every other node is a slave or client. Centralized systems have many advantages, namely in speed and ability to relay information quickly without having to worry about data contention.  This is because as updates are only happening in one place,  sequencing them in a consistent way is as simple as putting them in the order that they arrived at the hub.  Additionally,  the ability to unilaterally control the rules of participation and membership are either necessary or an advantage in the domain in which they are operating.
Traditional systems which work best in a centralized way are rail/traffic control systems, telecom networks,  governments and the central banking systems.
If you look at the decentralized graph in the middle, there are no large control centres but instead there are many smaller clusters with a hierarchy of mini-hubs.  This network topology is much like what we have in the internet today, which is small centralized clusters of users connecting through small hubs (local ISPs) which in turn connect through large hubs (global ISP, BGP routers).  You will note that although there is certainly less centralization than in the first case, you will notice that there are certain nodes which are ‘better connected’ than their peers.  Natural systems tend to develop in decentralized ways, from human societal structure, friend association networks, to tree root systems and fractals.  It’s pretty safe to say that it is the most ‘natural’ state in which complex systems and living things in our universe arrange themselves.
The last diagram shows a distributed network, you will see that the difference is that each node connects to all of its local neighbours and on average each node has about the same number of connections as their peers.  Notably, this means that it would be impossible to clearly designate any group of nodes as ‘better connected’ than others, and thus we no longer have any notion of hub nodes.  Systems like this are found in highly independent systems, such as BitTorrent and other systems where every node is simultaneously a client and a server.

So with those images in mind lets go over all the different contexts by which we can judge a cryptocurrency in terms of its topology.

Source Code

Who controls the source code of the project?  If it is closed-source, then clearly it is centralized, and opaque.  But what if it was open-sourced?   Does that mean it is decentralized?  Certainly we can’t call a project which is open-sourced centralized in terms of control of its code, as it could be simply copied and forked by others.  Though if you look at Bitcoin as an example, although its code is open, the number of people who hold commit rights to the code base are a very select few.  Although this control is limited, I would still label an open-sourced project a decentralized one.  It may not be as decentralized as say, the internet, but it is certainly not as centralized as say, the code for MS Office.

Administration

How do participants join? Who gets to determine who is allowed to participate? How are bad actors handled? Are they expelled by the will of a superuser controller or voted out by a quorum of network peers or simply ignored?  As most cryptos are Dynamic Membership Multi-Signature (DMMS) systems, they are all decentralized by nature.  We can contrast this with traditional banking and brokerages, which whom you must open up an account with in order to participate.  Even the internet is more centralized in this regard, as we discussed earlier, you must register domain names with a registrar which operate under the oversight of ICANN. Although some fine folks are working on changing that. With crypto, you can join the network and create your own accounts without getting anyone’s permission, and indeed this is the basis upon which most ‘cold wallets’ work.

Value distribution (token distribution)

How is the distribution of its token handled?  Is it dolled out to groups or early investors from a central repository controlled by an entity? Is it earned or mined by participants themselves? Is it some combination of the two?  This is a particularly contentious topic and one that will most likely get at least 3 people in the room embroiled in a heated debate, that may or may not end with a broken nose. That is because the method of value token distribution is at the heart of why many claim crypto-currencies are scams or ponzi schemes.  Apparently making a token out of nothing and selling it to people for profit is something that only the government licensed banks are allowed to do.  If you make your token yourself and distribute or sell it to people, then you are running a centralized value token.  You may or may not be operating a ponzi-scheme.  Proof of work is the only way to achieve decentralized distribution of a token without picking favourites.

Validity and Security, immutability

How is security of the data ensured?  What prevents bad actors from selectively partitioning the network or promoting their transactions over others?  How do they prevent actors from filtering out or delaying certain transactions and isolating victims?  How is the data protected from being modified without anyone knowing?  Mostly all cryptos have decentralized verification and integrity roles, as they are normally part of the job of every node to validate transactions in the P2P network.  Contrast this to the traditional banking system where only the banks could validate and clear cheques, which is a classic centralized system.

Consensus mechanism

How is consensus achieved and ensured?  Through a vote, or through a proof of work? This is basically how the network manages to ‘stay in sync’.  Which is to say, how it manages to agree on the ordering of transactions which are all asynchronously floating around the P2P network.  What does it mean if a proof-of-stake system which depends entirely on the rules of the system to determine who gets to be the ‘forger’ of a new block, to be decentralized?  I would argue that in these cases of PoS, where the essential nature of consensus is based on a distribution algorithm, then the algorithm rules themselves being written by developers form a sort of centralized control system.  Unlike proof of work, where only the amount of work to be done is controlled and miners are free to maximize their ability to perform the work in order to increase their chances at forging a block, stake systems having no work requirement so anyone’s chances at becoming a forger depend solely on their stake in the system through some formula decided by the developers.  This is a form of centralized control.

Exchange mechanism

Some cryptos have a built in exchange protocol or match making engine along with the ability to store an open order book.  The orders are stored as part of their blockchain and matchmaking is done via the network transaction mechanism itself.  If they can run without the need of a central service hosted in one place, then they can be considered a decentralized exchange.    In contrast, there are many exchanges which are run off-chain as a business and these are centralized, as their order books are maintained by them on proprietary databases, and if you open a trading account with them, then you wear all the counterparty risk in the odd chance they were to fold and go under. Not that that happens very often.

Armed with these contexts, you can now start to talk about decentralization in a way which may be meaningful without the discussion degrading into the “You aren’t decentralized!” Yes we are!” mudslinging-fest that they sometimes tend to do.

In the next article, I will go over some of the more popular cryptos and rate their degree of decentralization based on these criteria.

If you liked this article, please donate some bits!  Donating has been shown to cure male pattern baldness.

Please donate!

Please donate!

18vgcjWm4SrEf1p9vMHYLgRtUZedYNMr2s

Twitter: @digitsu

Tip me using ChangeTip!

All donations will go to a good cause. Moving this site onto my own server. Getting rid of these ads, etc.

Why you should be a Bitcoin Maximalist

I have been struggling for the last couple of months with trying to explain the phenomenon known as Bitcoin maximal-ism.  Essentially it is a movement that is focusing a lot of effort primarily into advocating the support of Bitcoin as the blockchain solution at the expense of all other crypto projects.  Being a pragmatist myself, I was at first very skeptical of the absolutist ideals that they seemed to advocate.  However, time has a way of cutting away the flash obscuring the truth behind wisdom, and I have come to appreciate the maximalist position more recently after much consideration.  This story starts and ends in exactly the same place, which is the theory and value of what we call money.

What is money?

Now, bear with me here, as I know I am bound to lose about half of you with boring economic terms reminiscent of the Econ 101 class that you took in university.  I promise that it is worth it.  One of the sources of confusion in crypto space which many people struggle with is that cryptocurrencies are a hybrid of the financial and economic discipline, with computer science and mathematics.  Surrounding this whole thing is the concept of money, and it doesn’t help that most economists can’t agree on the exact nature of money, specifically the objective exchange-value of money.  If you were to ask 10 people on the street the question “What is money?” you will inevitably get 10 different answers and 9 of them will be wrong.  The truth about money and why not many people understand what it is, is no accident.  Great lengths have been taken to ensure that this topic is never sufficiently taught in schools, and confusing or conflicting terminology is used in various different circles which compounds the problem.  So to begin to understand what money is we need to be very meticulous about the terminology that we employ so that we can begin to unravel the overlapping layers of meaning and obfuscation.  We shall start with the simple description of what money is; which is simply a medium of exchange, which can efficiently facilitate the indirect exchange of goods between parties.  If Bob is a Baker, and Will a wheat farmer, Bob can certainly exchange bread for wheat with Will.  But in the case where Will doesn’t want bread, and needs corn instead, and Charlie, the corn farmer doesn’t want wheat but wants bread, then Bob can exchange bread for corn with Charlie, which he can then exchange for wheat with Will.  In this simple example, the corn that Bob bought from Charlie was acting as the money, which is to say it had no value to Bob aside from its use as a facilitator of indirect exchange.  Indirect exchange in turn allows for efficient division of labour, so that people can specialize in baking, corn farming or shoe making, without having to learn all those skills for themselves in order to produce these products for their own consumption.  Money then, is simply a medium of exchange that facilitates the indirect exchange of goods.

Types of money

There are essentially 4 different types of money which have been used over the history of human civilization. Commodity money, credit money, fiat money, and money-substitutes.

Commodity money we are all familiar with.  It was the first money to be ‘invented’ by mankind.  It is simple a commodity that possessed certain qualities that made it amenable to be used as a medium for exchange, this involves properties like divisibility, immutability, easily verifiable, and impossible to forge.  Commodity money of antiquity, like gold and silver, were created spontaneously by the market.  It is in fact the only trust-free money that can be created by the market.  Nobody decreed that gold should be used.  It was used, and the task of governments in the past was to just verify and regulate its authenticity through the system of standardized minting and measurements.  Commodity money is created by expending work or labour in order to extract it from its natural state, and prepare it for use as a money.  This effort (and the entire industry that surrounds it) acts as a natural buffer to fluctuations in supply of the commodity, and thus a damper on the exchange-value of the commodity money.

Credit money is also created by the market, and it is essentially the use of an IOU as a money.  This money, however requires trust, in that every IOU comes with it a certain amount of counterparty risk.  In stable and strong markets, this risk is minimal, but in developing markets where corruption or insufficient legal systems exist to properly enforce contracts, this risk can be appreciable.  Credit money is characterized by the exchange of present goods for future money (or present money for future goods).  Credit money is used quite prolifically in American society in the last 50 years due to the success of credit networks such as VISA and Mastercard.  Credit money, being an IOU only has value so long as it is tethered to another type of money backing it.  In simple terms, IOUs are claims on an actual assets somewhere else, this can be future value in the case of interest bearing bonds, or simply warehouse warrants, or gold certificates.  It is important to note that before 1930s, the US dollar was a credit money, due to the nature of it being a claim to a certain amount of gold held by the national treasury, which was redeemable on demand.

Fiat money is the money that only has value because it has been decreed to have value by the governing state or body.  It has no intrinsic value, and in fact would in most cases be nothing but worthless paper if it were not for legal tender laws and the threat of imprisonment awaiting those who refuse it accept it as an instrument to extinguish any debts by other parties.

Money-substitutes are the last type of money.  Though it is probably more fair to call it a subclass.  It only exists when the conditions surround it such that they can be easily and readily redeemed for any of the other 3 types of money.  Bank deposits and token coinage is an example of a money-substitute.  Token coinage of course is used in most countries.  It is called ‘token’ and not the same as commodity money because it by itself is not intrinsically money.  For instance, if you were to take a quarter and melt it down to the elemental nickel/zinc, it would not have the value of 25 cents, nor would you be able to buy bubblegum with it. (the price of bubblegum being more than a quarter notwithstanding).  Another common money-substitute is poker chips at a casino, and food-stamps in the US.

So what is Bitcoin?

So where does Bitcoin sit in these definitions of money?  Well I know I would be in disagreement with many gold bugs and hard money advocates like Peter Schiff when I say this, but I believe Bitcoin is clearly a commodity money.  Sure, it is virtual.  It is by no sense ‘hard’ in the visceral or tangible sense, but it is clearly a commodity money in so far as the characteristics that economists such as Ludwig von Mises had set out to so meticulously define 80 years ago.  It requires work to produce, it costs money to produce, and the mining or production industry is not directly influenced by the politics and monetary policy of the day.  In fact, the only thing that should incentivize the producers is good old fashioned capitalist greed.  Greed is in fact one of the most pure and predictable of incentives.  It was very likely that in past centuries many environmentalists lamented at the fact that so many gold mining companies were wasting vast resources and energy in digging this yellow metal out of the ground.  They may have even lobbied their governments to put restrictions on the gold mining industry “for the collective good of mankind”.  “Look at all the wasted effort and energy that they expend just to ingratiate themselves”, they would have said.  I tell you definitively that these people did not understand the market and the mechanisms that work within it nor the forces that naturally control the flow of supply to meet demand. (The demand for money).   I digress, however, as I think you will agree that the point of Bitcoin having all the characteristics of a commodity money have been shown, and thus should therefore act exactly as one in the economy.

Altcoins

So why all the altcoins?  To date I believe the number is in the thousands if one were to count every type of digital currency created since the advent of Bitcoin.  But why do they exist?  Why do perfectly logical smart people devote so much time to creating them and promoting them?

Simply put:

1) People are greedy

2) People do not understand money

3) People do not grasp that blockchain and Bitcoin is an experiment in money, as much as, or perhaps more than it is an innovation in technology

People are greedy

The first requires little explanation.  People are motivated by greed.  Ponzi schemes are great for “redistributing wealth” from people who do not possess the same information or reasoning capabilities as you may have.  It is easy to mask a new altcoin in a thick blanket of rhetoric singing praises of “equality of opportunity”, “common good” or “freeing the people from oppression”; you know, socialistic sounding marketing phrases that any reasonable, even-tempered bipedal on the planet would agree to.  Start a coin, premine it, or create a fixed supply of money which only you control, and enjoy all the benefits of the central bank, which is to say you use the same mechanism of wealth distribution used for centuries, except with you at the top of the pyramid instead of the government.

People do not understand money

The second point deals with the fact that most people don’t understand what money is, and there for do not really understand what it takes to create a money.  I have previously explained what money is and the types of money that exist.  In order for a thing to be a money, it must clearly fit into one of these categories.  Anything less would be equivalent to Monopoly(TM) money.  It may be money-like, but it is not a money.  This point is where we lose a lot of smart minds wasting their time working on POS (Proof of Stake) systems which aims to either “solve” the distribution issue of Bitcoin or the mining energy expenditure issue.  The fact that I use the word “solve” in quotes belies my opinion on the matter.  They are not problems.  As I have explained in the previous example of gold, complaining that Bitcoin mining firms will ‘go berserk’ if left to its own devices and spend half the world’s energy supply in mining is ludicrous and only serves to illustrate to the astute reader that the speaker does not understand economics.  For even the most devote Keynesian would admit that the free market will find the correct price such that a given activity is profitable.  Miners who expend capital to increase the supply of Bitcoin when the demand for it stays the same or does not increase the same amount will soon find themselves losing money, and at some point they will stop their mining activity.  There is no need for a “government” to step in to regulate the market**.  Ever.  The market is self-regulating by the forces of greed vs fear alone.  As for the question of fair distribution, I ask what is “fair”?  Is a old panhandler who found gold in the rivers of California and subsequently made a fortune by fishing the nuggets out of a river doing anything unfair or unconstitutional?  Would we rather see a law passed that forced all gold miners who profited from the gold rush to relinquish a portion of their gains to the public? (Yes!, I suppose, if you are a communist)  The problem with trying to hand tailor a distribution of money is that you need to control a fixed supply.  A fixed supply virtual asset which is created from nothing and distributed to people, has no value, no more than monopoly money has value.  Sure there may be some token value created by a few people buying it on the promise of future gains, but in truth it is no more valuable than money printed by Parker Bros.  This is because any POS coin is in fact, a fiat money.  Or rather, a bad attempt at creating a fiat money.  Fiat money only works when you can force people to attribute value to it, and use it.  If you hold no such power, you may as well be handing out orange $200 bills as people pass “GO”.

Bitcoin is an innovation in money, more so than technology

This is the crux of it.  The issue is that most computer geeks think that Bitcoin is an innovation in technology.  Accordingly, they see iterative improvements on it as a positive thing, like how cell phone technology improved over time with different companies contributing innovations to the craft over the years.  I cannot remember how many times I have heard developers defend the idea that innovating with different blockchain implementations can only be a net good thing.  “Look at how Apple improved upon Microsoft” they would say, or “look how TCP/IP improved upon frame relay networks!” they would shout.  I say this: these people are categorically misunderstanding what the essence of Bitcoin is.  It is not so much a technology innovation as it is an innovation in money.  Let that fact brew in your mind for a couple of seconds. Bitcoin is an innovation in money.  Money has not seen any real innovation since that fateful day almost 100 years ago at Jekyll Island when the industrialists and bankers got together and designed the Federal Reserve system in order to “solve” what they saw as a problem with the elasticity of money.  Bitcoin created a new sub-category of commodity money: /money/commodity money/digital. Due to the nature of Bitcoin being a money innovation, and the fact that commodity money has a very particular way in which it can come to be accepted as a money (the mining or work process in extracting and preparing the commodity for use) this essentially means that a lot of technologists are wasting their efforts in trying to build better versions of it because they only see it for its technological implementation.  If they only realized what many of us with financial backgrounds have realized, which is that Bitcoin is a new money, then they would be more likely to better spend their efforts building technology on top of this new money network, instead of trying to build their own version of it.

The Cultural Divide

What the crypto space now is suffering from is a divide; a divide in mindset, background and thinking.  It is into this gulf that all altcoins find their existence.  On one side you will find the computer scientists, the mathematicians, the nerds.  On the other you will find the economists and the financiers.  Neither side respects the other enough to actually consider listening to what the other side is saying.  You have folks like Peter Schiff saying that Bitcoin is geek money and isn’t real money. You have Bitcoiners saying that economists and bankers are dinosaurs and this new digital technology will disrupt and break all the rules of the old regime. Both are wrong. Both are right. Both are too blinded by their own arrogance to realize this.

So geeks, computer scientists, developers everywhere. Please stop wasting your time on self-gratifying Ponzi schemes, POS currency systems and other lessor coins and help contribute to making Bitcoin better. It’s an open source code base. Use your brain power for good. Support the only internet money.  Trust me, I’ve sat on both sides of the fence being an engineer working at big bank trading floors for over 14 years, the race is over and Bitcoin has won.  Time to fight the real war, which is the separation of money from the state. Let’s all help make this experiment in new money work.

Next time, I will explore the reasons why there can only be one digital commodity money in world, and why that money is Bitcoin.
** The only time a market should/may be restricted is when it is a question of morality or human decency, and even then, some atheist, anarchists would disagree on that point.  The debate of which is beyond the scope of this topic.
Please donate!

Please donate!

18vgcjWm4SrEf1p9vMHYLgRtUZedYNMr2s

Twitter: @digitsu

Tip me using ChangeTip!

I hate ads, you probably hate them too, they may or may not be the cause for global warming! If you liked this post, please support, when I can pay for self hosting ads will go the way of the dodo!