Sunday, December 24, 2017

Stable Cryptocurrencies

There are two problems with using Bitcoin as a substitute for conventional currencies. One is that transaction costs are high; I gather there are some proposals to solve that. The other is that its value is very unstable. So far that has been a plus, since the value has mostly gone up. But in general it is a minus, since it means that if you are holding a substantial amount of currency for transactions you are also speculating in its value, whether or not you want to. 

That raises the interesting question of whether it is possible to construct a cryptocurrency with a stable value. Basecoin is a recent attempt to do so. I have not examined how it works carefully enough to offer any opinion on it, but I think in principle the project is doable.

Suppose you want a currency which exchanges at one for one with the U.S. dollar. There is a real world example of a solution to that problem, although it was for paper currency not cryptocurrency–the Hong Kong dollar issued by the Bank of Hong Kong and Kowloon (I think also by a second bank–all this is from memory, so details may be off). It maintained a constant exchange rate with the dollar (not one for one) by a simple mechanism. Any time the $HK went above the target rate the bank printed more, any time it went below they bought some and took them off the market.

Basecoin works on the same principle. In theory it eventually shifts from pegged to the dollar to pegged to a market basket of goods.

Pre-bitcoin, Chaumian digital cash was supposed to provide a currency that could be exchanged by sending messages, with neither party having to trust or know the identify of the other. The problem was that it required an issuer, a trusted bank. A digital currency makes enforcing money laundering rules hard, an anonymous digital currency, which the Chaumian version would have been, makes it impossible, so governments very much don’t want it to exist, which makes it hard to establish a trusted issuer. 

The beauty of Bitcoin is that there is no issuer, so the problem goes away.

How do you maintain a stable digital currency without an issuer, a private central bank? I do not know the details of how Basecoin proposes to do it, but here is my version:

You start with ten issuers, each a respected private firm, probably in different countries, each with a private key/public key pair that it can use to prove its identity. You have some way that the software can measure the exchange rate between your currency and the dollar–the Ethereum people I have talked with refer to a mechanism for reporting real world facts to the software as an oracle and have some ingenious ideas for making one work. The software then establishes the following rules:

1. Any time the exchange rate is above the target, one of the issuers can create one more coin. Which issuer gets to do it depends on which ones created the last nine coins–they go in sequence. 

2. Any time the exchange rate is below the target, one of the issuers, again in sequence, is supposed to buy a coin and take it out of circulation.

3. An issuer that fails to obey rule 2 is no longer in the sequence for rule 1. Each time it fails to obey it, its debt to the system goes up by one. Only when it has repaid that debt by taking the corresponding number of coins out of circulation does it rejoin the sequence of issuers.

4. If the exchange rate is above the target and the issuer whose turn it is to issue a dollar doesn’t, after an hour it loses its turn to the next issuer in sequence.

Assume an expanding demand for the currency, first from its initial spread, in the long term from economic growth. Issuers profit because they are getting an interest free loan in the form of the the coins they print to hold the value down to a dollar. That gives each issuer an incentive to obey rule 2, so as to maintain its ability to issue.

Rule 4 exists mostly to cover the possibility of an issuer going out of business or being shut down by its government. There should be a mechanism making it possible, if that happens, to transfer its status to a new issuer. In the simplest case, that is done by selling the private key that proves its identity to another firm that wants to replace it. 

What is wrong with this proposal?

I was pointed at this problem, and at Basecoin, by my son Patri. I gather it has been discussed at some length recently, so I may well be reinventing the wheel, but I find it more interesting to think such things out for myself than to start by reading what other people have written.

That reminds me of an anecdote about my friend and ex-colleague the late Gordon Tullock. Someone prominent wrote an article. Tullock wrote a rebuttal. The original author wrote a response, claiming that Tullock had entirely misunderstood the original article. It included the line (by memory so not verbatim):
We have all been long impressed by how much Professor Tullock has written. It is even more impressive to realize that he has written so much without being able to read.

18 comments:

Anonymous said...

Bitshares has had stable currencies on it’s blockchain for 3 years now. Go to http://www.bitshares.org.

Anonymous said...

https://bitshares.org/technology/price-stable-cryptocurrencies/

Daniel [oeconomist.com] said...

A process for evolution of the basket itself is needed. My suggestion for baskets backing a currency (crypto- or otherwise) is that they have announced lifespans. As the end approaches, the issuer announces a basket of overlapping lifespan or extension of the lifespan of the prevailing basket.

AbsoluteZero said...

First, a bit about the Hong Kong Dollar. Coins are made by the government mint. Paper bills are issued by originally two banks, HSBC (Hong Kong and Shanghai Banking Corporation, which most in Hong Kong simply call Hong Kong Bank) and Standard Chartered Bank. Later, as 1997 neared, Bank of China also became a note-issuing bank. Recently (I forgot when), the government mint started producing the HK$10 note. The three note-issuing bank produce notes HK$20 and above.

OK. "What is wrong with this proposal?"

To begin with, this: "You start with ten issuers, each a respected private firm..." Those of us who want a decentralized system don't want this, at all. This is why we consider most of the so-called alt-coins out there unacceptable. A few are OK, including BTC, LTC, and XMR. They have very different features. BTC and LTC have open, transparent blockchains. XMR is private. All this is OK. Most of the others are not OK precisely because there are companies or orgnaizations behind them.

Also, this: "Any time the exchange rate is above the target, one of the issuers can create one more coin." This maybe not work as well as you imagine. If it's based on proof of work, the market price can get away from you. This can happen even with conventional financial instruments.

David Friedman said...

AbsoluteZero:

I don't think proof of work has anything to do with what I'm proposing--this isn't bitcoin. The idea is not to make producing coins costly, which is what Bitcoin mining does. It's to make it profitable, and the less it costs to do the more profitable. Instead of constraining the supply by cost of production I'm constraining by an absolute bar on creating coins except when the price of the coin is above the target.

AbsoluteZero said...

David,

Yes, in rereading your post, it's clear you intend the issuers to have the ability to issue coins, essentially at will.

That's a completely different system. As I said, those of us who prefer a decentralized system basically don't want to have what you're calling issuers. That the price of a cryptocurrency quoted in a fiat currency like USD is volatile is a feature we accept. If we want something that's stable against, say, USD, where there are "issuers" behind it that can issue coins at will, well, we already have USD, EUR, JPY, ...

A note about the Hong Kong Dollar. Perhaps most are not interested, but the three note-issuing banks, HSBC, Chartered, and Bank of China, are not the equivalent of the central bank of Hong Kong. That's the Hong Kong Monetary Authority. They set monetary policy, and conduct open market operations, buying and selling HKD to maintain the peg to USD.

The bank notes are legal entities (promises to pay, think of them as zero coupon bearer bonds) issued by the three note-issuing banks. But these three banks do not physically produce the bills.

The bills (the pieces of paper in people's wallets) are the physical embodiment of the notes, and they're produced by the government mint. They possess the metal dies and presses to produce the physical coins and bills.

Justin Colletti said...
This comment has been removed by the author.
Justin Colletti said...

I appreciate your writing on this David. I would offer that there are a few key flaws with the basic premise of a pegged "stablecoin".

1) Any fiat currencies that a stablecoin could peg to are not themselves stable.

2) The commodity baskets they would eventually peg to are not quite stable either. All commodities (save one that you I will let you name for yourself) tend to become dramatically less expensive to extract in real terms as time goes on, thanks to increases in productivity.

3) There is no reason to think that simply matching the quantity of a stablecoin to some other good or basket of goods would make it stable, even in terms of those goods.

First, there is no causal link giving the stablecoin effectively equal utility to the pegged asset. If it is not redeemable in that good, its quantity compared to that good is largely irrelevant.

And second, absent the use of force, there is an unlimited number of stablecoins that could do the exact same thing, thereby creating a potentially infinite amount of "stablecoin" currency inflation against the pegged asset.

The only two things that can give a currency value are redeemability in utility value or some kind or force. That's it. There is no other alternate source of value that mere abstraction can create.

Shuzzr Entertainment said...

rickardo_smith313@esc.edu: The struggle to find more ways of doing business or trade than the traditional “money” seems to be the struggle in a fast growing technological age. Bitcoin, a cyripto-currency in recent months have manage to gain high profile investors to increase not just its profile but value in eyes of many across the world. While trying to understand how this mechanism will actually work in an area that relies of traditional methods of doing business, it remains clear how the regulator part of this will be done. It seems that this, if becomes a popular means of doing business amongst individuals could see the economy and the government policy failing even further as the demand and supply effect that helps to not stabilize the dollar but strengthen it. Inflation could increase, and cause a major disturbance with validation, and valuation. It also raises concerns on “trust” with individuals and a currency that cant be regulated.

David Friedman said...

AbsoluteZero:

I'm describing the HK monetary system sometime in the sixties, when my father was there and figured out how it worked. At least I'm pretty sure that has to be the dating--the year my parents went around the world studying monetary systems.

Unknown said...

Professor Friedman,

Note that the mechanism you propose (i.e. emitting new tokens when the price is too high and buying tokens off the market using reserves when the price is too low) does not critically depend on the reserves being held in the same asset to which the token is pegged. In fact, the latter does not even need to exist. For example, given sufficiently large reserves, the proposed mechamism can peg the value of the token to an inflation-adjusted dollar, which does not exist in nature. The only problem with using a different asset for reserves than for the peg is that if the market value of the reserves plummet below the total target value of tokens in circulation, the reserves will either need to be replenished or the peg will collapse.

However, if the reserves are held in on-chain assets, such as other tokens, the native token (i.e. Ether) or a combination thereof, there is no need for the trusted third parties that you propose: a smart contract could do the required emission and buyback automagically. Given a reliable price oracle (I know, I made it sound almost trivially easy; in fact it is not, there are plenty of devils in details), probably the simplest way to accomplish this is to make the contract play a passive market-maker: the contract would have sellTokens and buyTokens methods, calling which anyone would be able to get reserve assets in exchange for tokens and vice versa, at prices slightly below and above the target price obtained from the oracle. I would expect that the arbitrage opportunity would suffice as an incentive to someone to execute the corresponding method of the contract whenever the open market price drifts outside of the target interval.

Moreover, if the reserve asset is a volatile, speculative asset (such as Ether), the excess reserves (i.e. what remains of the reserve, if subtracting the oracle-provided price of the stable token multiplied by the number of stable tokens in existence) can be tokenized, too, resulting in two tokens: a stable token and a speculative one which carries all the exchange rate risk of the reserve asset. Thus, people who want to speculate on the price of Ether, can actully buy the second token and have the swings of Ether's price amplified. Of course, the result of the aforementioned subtraction can yield a negative value, if the price of Ether plummets too deep, in which case something needs to be done to replenish the reserves. Using a deterministic pseudorandom method to pick a holder of the speculative token with a probability proportional to their holdings to either replenish the reserves or have their holdings slashed (i.e. burned) might work similarly to your proposed mechanism.

If, however, you choose to keep the reserves off-chain, you face an oracle problem even tougher than the price oracle: how would the blockchain know if the backers (one of your 10 companies) have actually performed according to their contract?

DaveW said...

I see price-stabilization of cryptocurrency as a natural result of mass adoption. And until there is mass adoption, it works perfectly well to operate as we are now, denominating contracts and prices in dollars and executing transactions in cryptocurrency at the then-current dollar exchange rate. As the adoption of cryptocurrency and it's value continue to increase, and the value of dollars continues to decrease, the impact those dollars can have on the price of cryptocurrency also decrease. Imagine a world where everyone holds Bitcoin because it is going up in value and its total market cap is 100 times the value of all the dollars in existence. Even if holders of those dollars all simultaneously attempt to trade them for Bitcoin, they can only impact the relative price of the two currencies by a small amount. Same for any other commodity or basket of commodities. That is the current relationship between Bitcoin and dollars, Yen, etc., but in reverse. Bitcoin is impacting the price of those currencies just as much as those currencies are affecting the price of Bitcoin, it just happens to be a much larger percentage of the current price of Bitcoin. It's like gravity between the earth and the moon. Transfer enough mass from the earth to the moon and at some point, we start talking about the earth orbiting the moon.

With Bitcoin (or whatever crypto ends up winning the race), as it is approaching the economic mass and stability of the dollar, people will start to denominate contracts and prices in Bitcoin, which, I believe, will further stabilize its value. Every chunk of value in the economy that is denominated in a particular currency adds its mass to that currency's gravity. (For example, if a gold dealer sets his buy and sell prices in Bitcoin, now the gold he holds and/or is willing to buy at that price becomes a hedge against a change in the price of Bitcoin.) So I think there is a tipping point that would make things change quite quickly when they finally do change.

Stephen Findlay said...

Pegs don't tend to work very well in practice. We've taken a financial markets and economic approach in creating the Arc Reserve Currency stablecoin. Details available on our website. Www.arccy.org

Raphfrk said...

How do you find a trusted Oracle? Once you have a trustworthy Oracle, you have already solved the (hard part of the) problem.

With a working Oracle, you just set the rule such that if the price is to low, you reduce the mint rate and if it is to high, you increase the mint rate.

The mint rate can be negative. That means that the miner must pay to make a block.

The miner is payed the transaction fees for the block less the mint fee (plus or minus)

This allows a coin destruction rate equal to the value of the transaction fees per block.

The blockchain difficulty can be used as a proxy for the exchange rate. This is a measure of the cost of calculating the hashes. New technology can causes this to drop, but it is reasonably stable.

It measures the cost of computation. Even if this cost drops by 50% every 18 months or so, it is a still more stable than many crypto-coins.

Graphs of (price / difficulty) over time tend to be more stable than raw price over time.

Tom Bridgeland said...

I am not sure what you mean by 'stable'. That sounds more or less an impossibility.

Bitcoin is designed to have a fixed number of units once the easy mining is done. This seems to me to make it more like gold, which fluctuates in value according to fear of instability in the market.

Bitcoin also has the advantage that panicky Chinese can easily use it to get money out of China, which is what I assume is the cause of its current run-up.

Grant said...

I arrived at Bitshares for similar reasons, though like you I'm not sure on the quality of their implementation.

However I'm not sure if targeting an exchange rate or price level is even the best goal for a cryptocurrency? Keeping in mind a blockchain is a massive public ledger of (hopefully) most transactions, an algorithmic central bank may have vastly more information at hand than a real central bank. It may therefore be much better able to match the supply of money with its demand.

Unfortunately I'm a software developer, and not well versed enough in monetary economics to go any further with this idea. I'd welcome any links or advice on this subject.

Modern Mugwump said...

Cryptocurrencies have a couple of additional problems you didn't mention.

1 - Long transaction times. Currently, 15 minutes is good, several hours is not unusual. Not terrible compared to a bank wire, but totally useless for everyday shopping.

There may be technical fixes for this, but they seem unlikely to involve a public blockchain (at least for the first few minutes).

2 - The more serious problem is that ANYBODY CAN MAKE ONE.

The idea of Bitcoin is great, but as long as there are hundreds or thousands of competing currencies - and no social (or legal) consensus re which are commonly accepted, it's hard to use any as a medium-to-long term store of value.

Once there might have been a lot of issuers of gold and silver coins, but they were more or less interchangeable by weight (plus or minus purity of the metal). When governments accept money to settle tax bills, that gives some value to fiat currency.

But the crypto situation today is like some people using corn, others rice, others bricks, others marbles...as money. Except crpyto money has no intrinsic value at all, unlike those things.

It's a mess. I do think it'll settle out eventually, and we'll use crypto money for real. But not for a while.

montestruc said...

I recall a non-crypto currency that was for a while gaining traction in Africa. That was cell phone minutes, issued by the cell phone company which was redeemed by paying the cell company the minute currency for consumption of phone time.

If a single cell phone company made a new crypto currency and fixed it to data usage (including voice as data) you then have a “hard” currency. If they took existng open source crypto currency models and modified it so the cell phone conpany (or a consortium) controlled it. Had the cell phone company issue the money in loans to customers, and businesses so long as they agreed to take payment in that money, had the cell company maintain an exchange site with floating exchange with government currency and fixed price in gold, then perhaps you could see a more stable crypto currency.