2

This question already has an answer here:

Is it possible to create a bitcoin-like system that has a central authority?

I know that the reason that many people like bitcoin is that it is completely unregulated, but I was thinking that a "central bank" of sorts could make a cryptocurrency more like a real currency (less subject to huge short-term fluctuations) if it were able to create cash.

Would this be possible to do cryptographically (within the algorithm itself), or what would it require?

EDIT: More specifically, what would be the best way to do it?

EDIT2: I still want to keep the P2P transaction system, just have a central regulation system that can create and destroy coins. I wouldn't want to do something like Arscoin where the server maintenance was less than optimal, to say the least.

marked as duplicate by Greg Hewgill, hafnero, John T May 20 '14 at 23:21

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • I was thinking more of a question of how to do it than if it were possible. I fixed the question to say that now. – Stack Tracer May 14 '14 at 20:54
  • I wasn't thinking about removing the p2p element from the currency. While it is technically not a bank, I can't come up with a better term for something that makes money spontaneously appear and disappear than a central bank. Some kind of currency regulation, but still decentralized transactions. Is there a better term for that? – Stack Tracer May 14 '14 at 21:09
  • I'm not exactly sure what makes this so much simpler than any of the existing systems that are out there, other than the fact that you are trusting real people to regulate the cryptocurrency instead of putting blind faith in an algorithm... – Stack Tracer May 14 '14 at 21:26
2

It would be pretty easy to implement this using the Bitcoin source:

  • Have the central bank generate a private key K. Hardcode the corresponding public key into the source. Modify the transaction verification code so that any transaction signed by K is allowed to have outputs that exceed its inputs (or no inputs at all).

  • Modify the verification code further to reject regular "coinbase" transactions. Miners can still mine, but rather than getting a block reward, they are rewarded only by transaction fees (a la Bitcoin in 2140). So you still have the decentralized transaction register confirmed by proof-of-work, but mining doesn't create new money.

  • Change port numbers and version bytes, mine a new genesis block, all the other stuff that any altcoin needs.

Now the central bank can create money at will, just by signing a transaction that has no inputs but does have outputs (paying the new coins to somebody of their choosing).

The central bank can destroy money that it holds, simply by sending to an eater address with no private key. This doesn't need any changes as it's already possible for anyone to destroy their own Bitcoins this way. If you want to give them the ability to destroy money held by someone else, you could add a rule that a transaction signed by the central bank's key may spend any output.

In practice it might be better for the central bank to have a relatively large number of private keys, and a system to revoke specific ones in case they are compromised (perhaps with a special kind of transaction).

Of course, the hard part would be convincing people that this is a good idea, that your central bank is trustworthy, etc, etc.

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