I'm just wondering if there's any way of creating a crypto-currency that is stable by-design.

How would one do so? Can there be something like a "central bank" built in into the currency client?

I know it defeats the purpose of a decentralized currency to have a "central bank". I believe bitcoin can be manipulated by someone with a large enough wallet (very large if you ask me) and it is possible for a single entity to act as a "central bank" of sorts if it has the required funds. Or if the government banned and seized all mining equipment to themselves, which would be very impractical manipulation scenario.

Neither can we think of it as a "currency", since it is currently too volatile to think of it as a viable store of value. However it is great for transactional users, which I think gives it the upper hand over current money transmission methods.

Edit 1: My focus is on an built-in algorithmical solution. I've read about the difficulties of pegging the currency, or what a country would have to reinvent if Bitcoin were the official currency. This is not about having a P2P wallet loadable with fiat (as other questions would imply).

Edit 2: The idea is something more akin "A Third Endgame For Bitcoin or, Creating a Truly Free Coin" by Owen Gunden. He proposes unbounding the coin quantity limit, and giving more coins to miners when the price goes up, increasing the amount and therefore lowering its value.

Can a crypto-currency be designed from the ground-up to be a stable and solid store of value? Zero inflation.

  • 1
  • Giving more coins as block reward when the difficulty goes up would stabilize a bit the price as long as the Bitcoin economy doesn't grow. Should it grow and barriers to entry be high (as in very high prices for ASICs or for electricity) then the price would go up irrespective of that clever change. The central problem is the lack of awareness, from within the network and the blockchain, of conditions outside - especially the prices in fiat, there's no feedback for that which could allow an algorithmic solution.
    – Joe Pineda
    Apr 23 '14 at 6:33
  • @JoePineda I feel that with feedback you mean obtaining the BTC's value in fiat money. That can be done algorithmically. Is that what you meant? Apr 24 '14 at 1:55
  • 1
    Exactly, the value of BTC in fiat currencies. Such value doesn't exist within Bitcoin's universe: neither in transactions, blocks' headers or hashes, nothing. Time exists, block timestamps are checked and difficulty adjusted up or down to ensure avg. time between blocks is semi constant. But no price in fiat. I can't see a way to introduce it without a central/official exchange. Users could manually enter it and then call a majority vote to declare it fair or not, but that introduces other complexities.
    – Joe Pineda
    Apr 24 '14 at 3:14

There is a few problems with giving a crypto-currency a stable value algorithmically:

Stability compared to what?

The algorithm would have to be specifically pegged to either an asset, a currency, or some kind of calculated wealth index. But, if it were stable in comparison to e.g. the USD, it would not be stable in comparison to other currencies, or a barrel of oil. There'd always be room for speculation, and it would become completely decoupled when the value it is pegged to ceased to exist.

Stabilizing the value requires control of the money supply

In order to guarantee a certain value, e.g. an exchange rate of 1 SC (StableCoin) = 1 USD, you'd have to create an unlimited offer to buy and sell SC at that price. Both is very hard to integrate into the protocol:

  • In order to lower the price to 1 USD/SC, you can easily have the algorithm create more SC. However, it is hard to algorithmically accept fiat payments in order to sell them! Essentially your algorithm would need to implement bank contracts, user management and all the other shenanigans exchanges do.
  • To increase the price to 1 USD/SC, you'd have to be able to buy any amount of SolidCoins at 1 USD/SC. That requires very deep pockets. You also have to provide all the exchange services as before.

Then, if you wanted a proof-of-work validation, you'd also have to be able to buy back any mining rewards.

In short, I don't think that stability can be guaranteed algorithmically. You would need a central entity that guarantees the price by buying and selling at a fixed value, perhaps for a trading commission. This cannot be implemented in the algorithm, as it would require interfacing with the fiat world, which is not completely digital.


After thinking a bit more about it, I realized that when you create a system that is stable compared to another unit of account, essentially you create a debt-based voucher system for that other unit. Unless your currency decouples from the central market maker by being more successful than what it derives from, your currency remains completely dependent on the well-being of the central market maker – it will lose most of its worth should the central market maker default.

If you follow through on that thought, you essentially arrive at the system that is , where any user can be a "central market maker" and issue his own StableCoins in form of IOUs pegged to any unit of account other people trust him to owe them.

  • So then, you think it would be able to be algorithmically stabilized if it were pegged to a completely virtual system? Mar 19 '14 at 11:03
  • @Murch Great answer. The central market maker (bank, government) with deep pockets full of everything so it it can both buy and sell SC is different to the SC mint.
    – oks
    Mar 19 '14 at 14:32
  • @JustAnotherStackOverflowUser You would still have to be able to manage units of both SC and whatever you pegged it to. I don't see how you could dynamically control the money supply without a central bank entity. You could do it rule-based such as Freicoin does with demurrage and the mining reward, but that doesn't react to price changes either.
    – Murch
    Mar 19 '14 at 15:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.