Home > Uncategorized > Bitcoin Meets Gresham’s Law

Bitcoin Meets Gresham’s Law

If you’re a bitcoin user, you’re probably aware of the frailties the system has shown since the big bitcoin bubble of last year. There have been several huge bitcoin heists, a couple of exchanges have gone down, malware has stolen unencrypted wallets, and so on. Most of these issues have been fixed, or are being fixed. While the bitcoin bubble did, in fact burst—as all bubbles must—bitcoin’s trumpeted demise by so called economic experts not only seems to have been wrong, but in the after math of its publicity, the digital currency is actually gaining real traction.

Unfortunately, that real traction has exposed a very real problem with the digital currency that could end up killing it. Not quickly, mind you, but slowly, by a thousand cuts. Or maybe I should have said, a thousand fees.

Let us suppose I receive lots of small, ฿1 payments, and then wish to make a larger purchase. For example, let’s say I receive one hundred payments of ฿1 each, and then want to purchase something that costs seventy bitcoins. I could end up being forced to pay nearly ฿6 in processing fees—that’s an 8% surcharge!—for the transaction to go through. Failure to pay the fee cancels the transaction. This is exactly what happened to one bitcoin user last year. Just yesterday I wanted to test a new savings wallet on my system and was told I would have to pay a ฿0.0005 transaction fee, that’s 2.5%, to move ฿0.02 from my online wallet to my savings wallet. Why? Fragmentation. The bitcoin fragments in my wallet that make up the 2 bitcents are (apparently) very, very small indeed, which means that lots of transactions have to be processed by the miners—the volunteer computers who clear all bitcoin transactions. Apparently, the new bitcoin clients force users to pay fees when a transaction is comprised of a large number of small coins: a 70 bitcoin transaction comprised entirely of single coins, or a very small transaction, like my ฿0.02 transaction made up of even smaller bits of bitcoin.

Why is this problem appearing now? Well, I’m no bitcoin expert, but I suspect it’s because bitcoin has now been around for awhile and, given the very serious economic problems around the world, it’s growing in popularity. With greater use comes increased fragmentation, and there doesn’t seem to be a way to reassemble the fragments back into easily processable transactions. Let’s remember: bitcoin started as an experiment. I seriously doubt anyone believed it truly could become a global currency. Hence the relatively small cap on the number of bitcoins that will ever be created. Hence the complete lack of any mechanism to deal with attrition as wallets are lost (and so the bitcoins within them). Hence the complete lack of security in the original releases of the bitcoin client and the wallet.

The security issues are being fixed. Today, if you lose your bitcoins due to theft, it’s due to a lack of care on your part. Popularity has forced exchanges to ramp up their security to that of a bank. All of these measures are to the good.

But the fragmentation issue is another problem entirely. In the first place, bitcoin is supposed to be “cash.” Hard money that, like dollars or euros, can be handed to anybody else free of charge. While tipping the miners has always been considered the polite thing to do, it was never supposed to be compulsory. Nor was the amount to be “tipped” supposed to be a set fee. Yet slowly, the “tips” are becoming transaction fees that there’s no easy way for the average user to escape. John Doe may be paid his ฿5 in a single block, or his ฿5 may be made up of hundreds of coin fragments. He has no way to know until he tries to buy something with them and is hit with an 8% surcharge for using his money. Worse, unlike being handed 500 pennies, he can’t simply run down to the bank or local grocery and exchange his pennies for a $5 bill, free of charge. He’s literally stuck with five hundred pennies and the best he can hope for is that he might be able to make his purchase free if he breaks his ฿5 down into several smaller transactions.

Which leads us to the second issue, and the one that could end up killing bitcoin. If inflation heats up, sending the world economies into a second recession as many experts believe is likely, bitcoin will once again rise in value. That is only going to increase the rate of fragmentation which, in turn, could end up subjecting a greater percentage of bitcoin transactions to mandatory processing fees. This will set off a twenty first century version of Gresham’s Law. “Clean” bitcoins—those that are freshly minted and so not yet fragmented—will be horded because they’re not debased: There will be no transaction fees attached to using them. Whereas the “old” bitcoins that have been fragmented will be shunned because they’re no longer worth their “face value.” They’re worth their face value less the price of the mandatory transaction fee associated with their use.

And that could kill bitcoin!

Advertisements
Categories: Uncategorized Tags: ,
  1. Dan
    May 25, 2012 at 7:06 am

    I’m unsure where you get this information about fees from – fees are only a recommendation to speed up transactions. You can easily switch it off or set it to any value you like. It’s just set to this by default. (currently 0.005 btc for any transaction – it’s not worked out as a percentage)
    The system is already set up to deal with fragmentation like this – it doesn’t charge extra fees. A single transaction can have multiple inputs and outputs – the fee is for the transaction.
    https://en.bitcoin.it/wiki/Transactions
    https://en.bitcoin.it/wiki/Transaction_fees

    The reason fees are useful for very small transactions is that it helps prevent DOS type attacks on the network with someone sending millions of tiny transactions back and forth between 2 addresses they own. Small transactions without fees will eventually be processed by the network, but will take longer than without fees as miners have no incentive to process them.

    • Dan
      May 25, 2012 at 7:08 am

      0.0005BTC is the minimum default fee – approximately 0.25c

  2. Dan
    May 25, 2012 at 8:31 am

    Here’s an example from the block chain of a fragmented transaction.

    https://blockchain.info/tx-index/6764267/d5304ab8078d68e2fbf9e3e1f9c36aa8a25c7781bbcfaefc4b88f64df0e58994

    You can see it’s made up of lots of tiny parts all from different addresses – but only a single fee was paid.

  3. May 25, 2012 at 3:35 pm

    Dan,

    There are many examples of this happening: Google: “bitcoin “this transaction is over the size limit”” and you’ll see the emerging problem immediately.

    As for the “switch it off” part: Again, this is precisely the problem. The new clients will not allow you to “switch it off” if a transaction is over this magical (packet) size limit. The options are to pay the fee amount generated or cancel the transaction. “Switching it off” is not a listed option Your blockchain example actually proves the point. You even say: “only a single fee was paid.”

    EXACTLY! A fee HAD TO BE PAID! That is the point and that is the problem. A fee had to be paid because the trasnaction was “made up of lots of tiny parts all from different addresses.” Had that transaction been made using newer coins that weren’t broken down into “lots of tiny parts all from different addresses” no manditory fee would have been triggered.

    Bingo! Greshams Law in action.

    Finally, as for the fees not being based on a percentage: This is common knowledge. However, percentage based fees are used by financial systems around the world. Therefore, since bitcoin seems to be moving in the direction of manditory processing fees, whether those fees are based on a percentage or not, it is a useful comparison. Again: When it becomes more expensive to use bitcoins — which is supposed to be a “currency,” after all, and therefore free to use — than fiat currency, many people may choose to continue to take their chances with fiat rather than bitcoin.

    Oh, and as for your DOS idea: A fraction of a cent charge isn’t going to make a hoot’s worth of difference to an agency with enough horsepower to clog up a global P2P network — assuming it’s even possible to begin with, which I doubt.

    • Dan
      May 25, 2012 at 4:23 pm

      Ok, here’s another transaction from the same block that has zero fees with fragmented addresses:

      https://blockchain.info/tx-index/6764249/785ffe72853ba33283446f4d103bf1eca6183d14645a6deff27e798cfb687709

      0 fees – it was still was processed – becasue larger value transactions are higher priority by the rules of the protocol (irrespective of the fragmentation)

      The current client – click settings-options and change the fees to 0.00000btc

      If you want to try a DOS then do see what happens. No one is going to spend thousands of dollars for a temporary DOS that resolves itself in a few hours

      To test your theory I just sent 10btc to myself with zero fees:

      https://blockchain.info/tx-index/6797390/8ac5c66389d111a3e9f445c02f2aaccdf5fcf7f8c824d2b88caf4100f092a8a2

      I received immediate confirmation.

      If this was 0.1 bitcoins the client wouldn’t have allowed it -though you can do it with other clients or even blockchain wallet – but you’ll need to wait at least 24 hours for confirmation since it’s treated as low priority due to it’s small size – :

      priority = sum(input_value_in_base_units * input_age)/size_in_bytes

      Note that the older the input age is, the priority increases. I accept that if the transaction is large in bytes due to fragmentation the the priority decreases, but it doesn’t prevent the transaction even at zero fees.
      There is no way anyone will have to pay 8% on a 70btc transaction based on this formula (if you know different show me a 70btc transaction on the block chain with this level of fee)

  4. May 25, 2012 at 5:24 pm

    I do hope you’re right Dan! As far as the 8% being impossible:

    Read this thread: https://bitcointalk.org/index.php?topic=11613.0

    The chap would have had to pay nearly 8% on his 70 btc transaction. So again, I have to disagree. Size may matter as far as processing priority, but it doesn’t seem to matter where these odd, non-voluntary fees are concerned.

    Here’s general thread about packet processing size and forced fees: https://bitcointalk.org/index.php?topic=34948.0

    (One of many. If you’ll do the google search I suggested you’ll see these two at the top, but there are more. Many more!)

    I totally get and even agree with the need to prioritize transaction processing based on a donation being made or not. I can even see some justification for prioritizing based on size, though quite frankly, is a cup of coffee at Starbucks for .02 btc less important than a cart full of groceries that costs 20 btc?

    I can see both sides there. But I lean toward the answer being: Yes, size does matter, because smaller amounts can be forced to be processed faster by making that small (and completely voluntary!) donation of 0.0005 btc, whereas larger transactions hold larger chunks of the circulating coins in escrow until they’re cleared.

    Enjoying this convo!

    Thanks!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: