Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: dacoinminster on July 21, 2011, 02:44:21 PM



Title: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: dacoinminster on July 21, 2011, 02:44:21 PM
I'm blatantly stealing an idea from Bitcoin Morpheus, who came up with the idea for 1971Coins:

I'm going to create a block chain called 1971coin which will be pegged to the value of a 1971 dollar. Why 1971 dollar? It's the year the US completely dropped off the gold standard. That seems like a good value to peg.

I think I have an interesting way to implement that, backed by the current bitcoin protocol, hashing, and stored value, which I summarized in his thread:

What would be REALLY cool would be if some sort of automatic behind-the-scenes "stabilization option" could be built right into the bitcoin client. Imagine a radio button selection where I could choose to store my value in "1971 USD", "bitcoins", or "HyperBitcoins". The 1971 folks would be paired with the HyperBitcoin folks using contracts in the block chain. The contract allows the 1971 users to spend their bitcoins as if they have a set value in 1971 USD, and the hyperbitcoin contract holders are obligated to add bitcoins to the transaction if bitcoins are worth less, or they can pocket the extra bitcoins if bitcoins are worth more.

I wanted my own thread to discuss this further, so I created this one.

Maybe this idea is too simplistic or impossible, but I'm imagining an interface that looks like this for an average joe who just wants a stable store of value:

Quote
Exchange Rate: 1 Bitcoin = 10.00 1971USD
You have 10.00 1971USD (1.00 bitcoins)
You are storing value in: 1971USD change this (#post_)

A bitcoin speculator holding HyperBitcoins might see this:
Quote
Exchange Rate: 1 Bitcoin = 10.00 1971USD
You have 10.00 1971USD, (1.00 bitcoins)
You are storing value in: HyperBitcoins change this (#post_)

Now imagine that the value of bitcoins drops 10%

The user storing value in 1971USD would then see this:
Quote
Exchange Rate: 1 Bitcoin = 9.00 1971USD
You have 10.00 1971USD (1.11 bitcoins)
You are storing value in: 1971USD change this (#post_)

The user storing value in HyperBitcoins would see this:
Quote
Exchange Rate: 1 Bitcoin = 9.00 1971USD
You have 8.00 1971USD (0.89 bitcoins)
You are storing value in: HyperBitcoins change this (#post_)

The contract(s) in the protocol automatically transfered 0.11 bitcoins from the hyperbitcoin holder to the 1971USD holder to make up for the change in the exchange rate.

Now imagine that instead of a bitcoin price drop, we had a 10% bitcoin price increase from where they started.

The user storing value in 1971USD would then see this:
Quote
Exchange Rate: 1 Bitcoin = 11.00 1971USD
You have 10.00 1971USD (0.91 bitcoins)
You are storing value in: 1971USD change this (#post_)

The user storing value in HyperBitcoins would see this:
Quote
Exchange Rate: 1 Bitcoin = 11.00 1971USD
You have 12.00 1971USD (1.09 bitcoins)
You are storing value in: HyperBitcoins change this (#post_)

In this case, contract(s) in the protocol automatically transfered 0.09 bitcoins from the 1971coin holder to the hyperbitcoin holder to make up for the change in the exchange rate.


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: dacoinminster on July 21, 2011, 06:31:12 PM
I should add that the effective leverage experienced by those holding HyperBitcoins would be variable, dependent on how many people are holding them. If very few people held HyperBitcoins, they would be highly leveraged, but if tons of people held them, they would have only very mild leverage.

A big price increase for regular bitcoins would probably cause a lot of people to get out of HyperBitcoins (to lock in their gains), and a big price drop for regular bitcoins would give people an incentive to switch to holding HyperBitcoins (to profit when the price comes back up), which would ensure that there were always enough people holding hyperbitcoins to keep the 1971USD people stable in a declining bitcoin market.

Similarly, if lots of people wanted to hold HyperBitcoins, that would decrease their leverage, reducing the incentive to hold them, and lots of people getting out of HyperBitcoins would increase their leverage, making them more attractive to speculators, and providing incentive to hold them. This would reach a natural equilibrium leverage which would be determined by supply and demand.

Unlike other *Coin proposals, this idea would not devalue today's bitcoins which so many in this community are already heavily invested in. It would in fact (I believe) drive the bitcoin price much higher as people not interested in bitcoin speculation suddenly have a useful stable currency backed by bitcoins that never inflates or deflates at all. The demand for these 1971USD flavor bitcoins would drive up regular bitcoin prices, and the hyperbitcoin profits would be INSANE.

I believe this proposal effectively addresses the following bitcoin problems:
  • Merchants unable to set prices because bitcoin values are always changing
  • Complaints about built-in bitcoin deflation
  • Users who don't want to speculate on bitcoin prices, but want to be able to send/receive a stable decentralized currency
  • Users who want to store lots of money in bitcoins and know that it will still be worth the same in 10 years
  • Speculators who want leverage, but have no easy way to get it


I really don't see a downside here (assuming it can be done at all). Any comments?


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: fabianhjr on July 21, 2011, 06:34:58 PM
How, technically speaking, do you plan to implement it in this decentralized system?


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: dacoinminster on July 21, 2011, 06:41:51 PM
How, technically speaking, do you plan to implement it in this decentralized system?

If enough people think that this is a good idea, I plan to pester the bitcoin developers to look at this thread and comment as to whether there are changes that could be made to the protocol to make this possible.

Is this a good idea? What potential problems might come out of a change like this?


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: Vladimir on July 21, 2011, 08:45:30 PM
I have an idea how to implement this. You raise a few billion dollars reserve and some serious mining and than peg your block-chain to whatever. Market goes higher you sell your coins, market goes lower you buy. Keep doing it until you run out of money. Than peg ends.

This is really the best way I see for implementing it.



Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: fabianhjr on July 21, 2011, 09:02:06 PM
I have an idea how to implement this. You raise a few billion dollars reserve and some serious mining and than peg your block-chain to whatever. Market goes higher you sell your coins, market goes lower you buy. Keep doing it until you run out of money. Than peg ends.

This is really the best way I see for implementing it.



That is really the issue, even Satamoshi said that there was no way to peg it in a decentralized fashion.

You better come up with something, because even if it is the greatest idea we have no known way to implement it.


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: dacoinminster on July 21, 2011, 09:54:47 PM
That is really the issue, even Satamoshi said that there was no way to peg it in a decentralized fashion.

You better come up with something, because even if it is the greatest idea we have no known way to implement it.

Challenge accepted. I'm not a cryptography expert, but I am a software engineer, and I think I can come up with a straw man idea at least for you guys to knock down.

The first thing needed would be a decentralized agreed-upon exchange rate between bitcoins and 1971 US dollars. I don't know how the bitcoin protocol currently does the distributed timestamps, but I'm guessing that something similar could be done for the exchange rate number. For the sake of argument I'm going to assume that having miners encode the exchange rate in their generated blocks would work, requiring a heavy moving average to prevent the exchange rate from moving drastically over a short time. The miners would probably calculate the exchange rate based on the current exchange rates on the biggest bitcoin exchanges, combined with U.S. inflation data since 1971.

Assuming I now have a distributed exchange rate, I proceed to the problem of producing two new bitcoin-backed currencies: 1971coins and hyperbitcoins.

A normal user downloads the shiny new 1971coin/hyperbitcoin client, and wants to convert some of their bitcoins to 1971coins. They see that that the client has a new feature; it says "value stored in: bitcoins change this (#post_)". They click the "change this" button, and select "1971USD". Their client now says "value stored in: 1971USD change this (#post_)". Simple.

Behind the scenes, the client sends out a new kind of transaction, paying the client's bitcoins from their bitcoin address (19hMEAaRMbEhfSkeU4GT8mgSuyR4t4M6TH) to their new 1971coin address (45VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC). Note that the latter address starts with "4", clearly distinguishing it from all regular bitcoin addresses which start with "1". The bitcoins are not actually transferred - they are held by the network, and can only be retrieved when someone converts 1971coins or hyperbitcoins back to bitcoins.

Eventually, a miner running updated code picks up the transaction and encodes for posterity that this user has surrendered their bitcoins to hold 1971coins instead.

The user then uses those 1971coins like they would normal bitcoins, or stores them in a hole in the ground. No matter where they go, how they are subdivided/combined, they can always be converted back into bitcoins by the inverse transaction, and they will get a different amount of bitcoins from the network at that time (equal to the face value of the 1971coins at the current exchange rate). The bitcoins they receive will be the ones surrendered by other people who converted bitcoins to 1971coins or hyperbitcoins.

Another user converts his bitcoins into hyperbitcoins, using a similar transaction, except he sends them to an address starting with "h" (hFNTpsLm8Mitdd99YC1tHSyN2dVMdQiWYo). His bitcoins are also held by the network. His new hyperbitcoins CANNOT be transferred, spent, etc. They can only be held or converted back to bitcoins. This is because all hyperbitcoins are not of equal value. When hyperbitcoins are created from bitcoins, they get a leverage value based on the current number of 1971coins and hyperbitcoins in circulation. When they are converted back to bitcoins, the miner processing the block looks at the change in the bitcoin exchange rate from the time they were created, and pays out bitcoins according to the leverage of these particular hyperbitcoins times the change in the exchange rate.

In this way, bitcoin speculators (who don't want a stable currency) play the counter-party to people who want a stable currency.

There. That's a shot at how it could work. What I am more interested in, however, is your collective comments on whether this is worth doing.


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: fabianhjr on July 21, 2011, 11:32:42 PM
So, you allow a user to determine the inflation policy of his specific block? How could you avoid disputes and what avoids me of lying the exchange rate is 50% lower?


Title: Re: [IDEA] 1971Coins and HyperBitcoins
Post by: dacoinminster on July 21, 2011, 11:34:22 PM
So, you allow a user to determine the inflation policy of his specific block? How could you avoid disputes and what avoids me of lying the exchange rate is 50% lower?

If a miner tries to put the wrong exchange rate in a block, the block would not be accepted by the rest of the network. The same logic would apply to a miner that tried to put a timestamp on a block that was 5 years in the future. Other nodes would reject that block.

Anyway, I'm trying to get back to my central question. My question assumes that it is possible through some protocol changes. I don't really care what protocol changes.

Assuming it is possible in some way, is this worth doing? Will it massively improve bitcoin utility and value as I imagine it will? Or do you guys think it is just another silly idea that probably can't gain traction?

How much demand would there be for a value-pegged bitcoin-backed currency? How much demand would there be for the leveraged hyperbitcoins absorbing the volatility? Would they balance each other out as I imagine they would?


Title: Re: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: fabianhjr on July 22, 2011, 12:25:00 AM
Well, there is no need to change the protocol(block -> POW -> tx -> inflation) though you just change a factor. There is also no way to peg one with the other unless you got tons of them as to assure their acceptance.

This is simply creating a new blockchain.


Title: Re: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: dacoinminster on July 22, 2011, 12:40:25 AM
Well, there is no need to change the protocol(block -> POW -> tx -> inflation) though you just change a factor. There is also no way to peg one with the other unless you got tons of them as to assure their acceptance.

This is simply creating a new blockchain.

I really hope not, because anything involving a new blockchain would be pretty worthless, IMHO.

The only way it would be valuable (I think) is to build on the existing block chain, continuing to accept and process standard bitcoin transactions in the usual way while adding new transaction types and rules for the new bitcoin-backed value stores.

Starting separate block-chains threatens the value of everyone's existing bitcoins, so I can't imagine that very many bitcoin people would want to use something new. I'd rather build on the existing bitcoin network and existing coins, and add value to them.


Title: Re: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: genjix on July 22, 2011, 01:10:36 AM
Sadly I don't see how this could be implemented either :/ I'd rather keep humans out of the loop as much as possible.

Using the 2 currencies for affecting the price using market forces is an interesting concept though. Might be cool some way in the future when we have multiple coin variants.


Title: Re: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: dacoinminster on July 22, 2011, 01:20:10 AM
Sadly I don't see how this could be implemented either :/ I'd rather keep humans out of the loop as much as possible.

Using the 2 currencies for affecting the price using market forces is an interesting concept though. Might be cool some way in the future when we have multiple coin variants.

Well, since you've done a lot of coding using the protocol, you would know whether it is possible as well as anybody.

It just drives me crazy that there are so many people who would rather use a stable bitcoin, and there are so many people who want to bet big on bitcoin's success, and there's a very simple arrangement that would allow each of them to give the other what they want! If it only there was a way we could bring those people together in a simple, easy-to-use way, bitcoins would become much more valuable and usable.

Anybody have any other ideas on how to accomplish this? It will probably make bitcoin values go up at least tenfold if we figure out a way to do it.


Title: Alternative block chains backed by bitcoins
Post by: dacoinminster on July 22, 2011, 09:05:34 PM
I've recently become aware of some of the work that is being done on alternate block chains, and I was pleasantly surprised. Apparently, there are already plans to make alternate block chains piggyback on the hashing power of the bitcoin network:

https://en.bitcoin.it/wiki/Alternative_Chains

I always assumed that alternate block chains would be doomed because no bitcoin users would want to use them since they would compete with bitcoins for hashing power and e-commerce acceptance. It turns out that is not necessarily true!

If I understand what is going on correctly, these alternate chains will piggyback on bitcoin acceptance and usage.

People are already putting these ideas into use:
http://forum.bitcoin.org/index.php?topic=24209.0
http://dot-bit.org/Merged_Mining

I predict that not only will we get alternate blockchains with pegged values, we will also get blockchains that are pegged to gold, silver, oil, google stock, and anything else you can think of. Sweet!!!

All you need is network rules for each chain which hold old-fashioned bitcoins in escrow, then pay them out in proportion to the movements of the commodity being tracked!

It's a bright future for bitcoin. Very bright.


Title: Re: [IDEA] 1971Coins and HyperBitcoins (backed by bitcoins)
Post by: dacoinminster on July 22, 2011, 09:29:08 PM
The post above moves my thoughts out of the context of this thread, so I started a new one here: http://forum.bitcoin.org/index.php?topic=31032.0