Here is the general scenario that I think holds more probability mass than bitcoin-as-a-traditional-currency, and yet works as a fairly realistic alternative to bitcoin-as-a-flop:
Bitcoin will fall out of circulation as a currency because of its relative volatility.
Nonetheless, alternate currencies will be built into the blockchain.
These alternate currencies will be designed for stability, instead of deflation.
Mechanisms for trading alternate currencies for bitcoins will be part of the protocol.
Rather than a currency, bitcoin plays a role as a scarce, fungible, stabilizing commodity.
*The ease of turning it into these successful alternate currencies gives it the ability to outcompete traditional options like gold.
Can this be done?
The good news: Yes, it can be done.
The better news: It can be done right now without any changing to the bitchain or mining protocols.
The even better news: It’s being worked on right now. Not least of which by myself.
The caveat: It cannot work quite like your specific proposal. This is due to limitations in the other currencies, not due to limitations in bitcoin. Due to the very nature of the alternate currencies there must be trust in a third party. Someone must have the alternate currencies stored and they must be trusted to deliver it on request (even if in practice this is seldom required).
Consider whether the below modification of your example would satisfy the stable alternate currency need:
Can this be done? Consider the following more specific scenario as an example:
Alice sends 100 bitcoins to TrustworthyBank, with a request for USDCoins.
TrustworthyBank calculates the value of the bitcoins received in USD at current exchange rates and finds that it is worth USD$10,000.
TrustworthyBank sells or stores 99 bitcoins and signs the remaining coin as a colored coin which it then sends to Alice. These coins are identifiable to everyone as USDCoins and are redeemable by TrustworthyBank for USD$10,000 each according to the publicly accessible contract cryptographically signed by the same key used to ‘color’ the coin.
Alice gives 0.8 USDCoins to Bob in exchange for $8k worth of cocain.
Bob places bets summing to the entire 0.8 USDCoins on the (still hypothetical) BitKnow.com Prediction Market, all on the proposition “Arnold Schwarzenegger Elected President of Australia in 2013”.
Craig, one of the people having bet against Bob, receives 0.2 USDCoins on January 1st 2014.
Craig sends 0.2 USDcoins to TrustworthyBank.
TrustworthyBank sends $2,000 to Craig (or equivalent value in bitcoin). It does not know or care what has been done with the coins since they were created. It simply looks at the bitchain, confirms that the coins can be followed back to a signing transaction.
The above example demonstrates the use of bitcoin as a way to make exchanges any other currency. It has the features:
Only a small amount of trust required.
Pseudonymity (with the same mechanisms for increasing that to anonymity if necessary).
Transparency. All the (bitcoin based) transactions made by TrustworthyBank are public. If TrustworthyBank breaches the contract it isn’t possible to hide it. Then people start using ActuallyTrustworthyBank instead. TrustworthyBankOwner goes to jail. (Because naturally the bank that people actually use should be one in whichever country has the most suitable laws.)
Distribution. It requires no interaction with the banking institution except when adding or removing currency from the overall micro-economy. Transactions of the currency are between peers and do not involve TrustworthyBank at all.
All services that already use bitcoin either just work with USDcoins or can be adapted to with little effort. For example an escrow service or Prediction Market that works on bitcoin using 2-of-3 multisignature transactions can be used with USDcoins without the escrow service even needing to have heard of USDCoins.
It is potentially vulnerable to government intervention. If the government that rules the country where TrusworthyBank is incorporated they could choose to come in obliterate it if they want.
It is potentially vulnerable to government intervention. If the government that rules the country where TrusworthyBank is incorporated they could choose to come in obliterate it if they want.
Note: The above weakness is a feature. Moreover it is an optional feature.
Buying USDCoins backed by TrustworthyBank who is established in the real world and subject to government sanctions is a way to establish trust. If they rip people off the usual mechanisms of punishment for that can be counted on. However this relies on having a country that has suitable laws and practices. But what if we don’t find this to be the case?
A (hopefully not too plausible) scenario: The US government decides that if encryption is a munition then bitcoin is a Weapon of Mass Destruction. It starts sending nuclear ICBMs at any country that harbors bitcoin banks. That ensures that bitcoin is a black market currency rather than becoming mainstream. Do these alternate real-world-backed currencies still work?
Yes, they do. Consider MorpheusBank. Morpheus is completely anonymous and untracable. He never interacts with anyone directly and instead monitors the bitchain and responds to stimulus. If a transaction sends bitcoin to the 1morpheusETC address Morpheus sends MorpheusCoin to whichever address the bitcoins were sent from. If the bitchain shows him MorpheusCoin being sent to the 1morpheusETC address then sends bitcoins back. The exchange rate is determined by a publicly accessible algorithm referring to established real world exchange rate sources.
Where TrustworthyBank is trusted based in part on trusting laws, and governments to prevent fruad, MorpheusBank is trusted via observation of past transactions (all publicly verifiable) and estimation that the Morpheus reputation and expected value of all future business exceeds the value he gets if he defects immediately. That is, users trust that Morpheus will not kill the golden goose because he doesn’t want to lose an indefinite supply of golden eggs. This relies on the service returning a sufficient premium to Morpheus to incentivise him.
Why not have the state where MorpheusBank need not be trusted? Allow a user to propose an exchange, and MorpheusBank to sign off on it, and make the two transfers simultaneous and contingent on both being legal transfers.
Why not have the state where MorpheusBank need not be trusted? Allow a user to propose an exchange, and MorpheusBank to sign off on it, and make the two transfers simultaneous and contingent on both being legal transfers.
I don’t think I have properly communicated just which kind of trust in MorpheusBank is required. Perhaps I shouldn’t have used the term ‘Bank’. Morpheus is only required at the point in which external-to-bitcoin value is exchanged with internal-to-bitcoin stuff. ie. It is something that ties an electronic asset to the value of gold, or the value of an index fund, or a particular government backed currency.
Allow a user to propose an exchange, and MorpheusBank to sign off on it, and make the two transfers simultaneous and contingent on both being legal transfers.
Absolutely, that kind of arrangement is possible (using the same kind of transaction mechanism we discussed elsewhere). Where the reputation of Morpheus is concerned the trust is in Morpheus’s contracted promise to make such exchanges in future at a specified rate. The basic decision theoretic reasoning is then:
Morpheus has publicly committed to exchanging MorpheusGold for bitcoins at any time at a rate determined by and .
The fully transparent and publicly accessible bitchain confirms that Morpheus has indeed honoured that commitment.
Morpheus can be seen to be making a known, significant, amount of profit from his business under that identity.
Defecting on his contracts will give Morpheus an immediate payoff while destroying his ability to do business under that name.
The expected future profits of business under the Morpheus name (either by the person using it or whoever it is sold to) exceed the amount that an immediate defection could grant him.
It is likely that Morpheus will indeed trade back the specified value in exchange for MorpheusGold (or MorpheusUSD, whatever) in the future. It is (fairly) safe to buy or exchange MorpheusGold now.
Note that there is actually some advantage to just unilaterally transferring MorpheusGold to Morpheus’s address. That makes the exchange part of the public record and obliges Morpheus to send bitcoin back promptly or be obviously shown to be unreliable. Whereas when proposing simultaneous exchanges with Morpheus, if he delays or refuses trades then the ripped off party must use some other mechanism by which to actively damage Morpheus’s reputation and Morpheus deny it. It also requires communicating with Morpheus directly somehow, either by encrypting data into the bitchain or by Morpheus being directly contactable somehow.
Note that in this case the only additional counterparty risk taken on by making unilateral transfers rather than arranging simultaneous exchanges is whatever the value of the bitcoins were upon which the MorpheusGold has been ‘printed’. He is already being trusted for the component (Gold-representing component of the coins—bitcoin value of the coins).
I figured that the proposed trade would enter the public record; doesn’t it have to in order for MorpheusBank to see and sign it?
I also didn’t notice where MorpheusGold was ever convertible to gold. Clearly MorpheusBank cannot be guaranteed to have enough bitcoin to redeem all of the MorpheusGold to bitcoin if e.g. bitcoin tanks. MorpheusBank is being trusted with the total value of the gold represented by his coins (minus their bitcoin value) and can walk away at any time with that difference. MB has an incentive to sell as much MG as possible and then defect, and any transaction that appears to build trust is not evidence that MB does not intend to defect. (Since if MB was intending to defect, it would perform transactions to build trust)
All in all, I can’t tell the difference between MB and Currin Trading.
Whoa-what? If the demand for gold drives a price increase in gold, there is no ‘rebalancing’ possible to keep one’s ability to purchase gold constant without putting additional reserves into the bank. Likewise, if bitcoin tanks to the point where an ounce of gold can buy all ~21 million bitcoins, but MB has twenty ounces of MG outstanding, it becomes impossible to redeem them for bitcoin (and they were never redeemable for gold).
MB could theoretically avoid both cases by keeping a full reserve of gold, selling gold only as needed to get bitcoins; in the case where bitcoin becomes worthless, MB could effectively set the exchange rate of gold for bitcoin, since there would be no other sellers. If gold became more valuable but bitcoin remained a medium of exchange, MB could simply sell gold at the market rate for any currency convertible to bitcoin.
It looks like colored coins have the ability to completely replace actual bitcoins as units of value, and in fact this might be preferable. I am surprised I didn’t think of this myself because the first (or maybe second or third) thing I thought of when hearing about bitcoins was that a currency based on a issuer-backed market-basket of goods would have been superior, but much more difficult to bootstrap (how do you build trust in a currency that anyone can issue on a network with no enforcement mechanism?). Having an existing infrastructure to pass new coins of arbitrary value sounds like a Win, and bootstrapping the first colored coin value against bitcoin value is smart.
Do you think it’s possible that fiat $10,000/USDcoins2 colored coins redeemable for either $10,000 OR 100 bitcoins would be economically feasible? There would be no demand if there was an expected movement from $100/bitcoin since the issuer wins on volatility, but what if a distribution of distinct USDcoins2 were issued, with 1% being redeemable for $15,000 or 150 and the remaining 99% redeemable for $10,000 or 100 bitcoins, but whose actual value would only be revealed after a period of time (months). Pre-committing to this seems fairly straightforward and would generate demand for the currency with a positive expected net value. I believe the effect would be toward stabilizing the exchange rates at ~$100/bitcoin and 100 bitcoins/USDcoins2. I don’t know if the exact percentages would work, but I imagine that there is some distribution that would have the intended effect. The issuer would be spending to achieve a stable exchange rate, which may be important for clearinghouses, banks, or individuals with savings.
EDIT: I forgot to clarify that the issuer of USDcoins2 decides whether to pay $10,000 or 100 bitcoins when an owner redeems 1 USDcoins2.
Do you think it’s possible that fiat $10,000/USDcoins2 colored coins redeemable for either $10,000 OR 100 bitcoins would be economically feasible?
Sure. And once USDcoins are available USDcoin call options are possible, as are all the various permutations of security constructs you can think of. It’s just a matter of having someone to bet against.
The issuer would be spending to achieve a stable exchange rate, which may be important for clearinghouses, banks, or individuals with savings.
I don’t think the issuer spending to try to force the exchange rate to be stable works too well. It would be better if the issuer is paid an appropriate premium for the issuing the option and the purchaser paying them for what amounts for insurance against a large risk. (And instead of ‘better’ I could also have said “outright inevitable if crypocurrency use becomes widespread”.)
They″ll sell for more than $10k dollars. You’d be long bitcoins by owning that, and won’t be long bitcoins for the nonexchangeable version.
Apparently I left out the important part: The issuer of USDcoins2 would buy them back for either $10k or 100 bitcoins at their option, not at the option of the owner. Issuing USDcoins2 would be a hedge against either currency losing value which is why there would need to be an incentive for anyone else to buy them.
Eh, that’s the same thing as the straight up USDcoins, along with the issuer buying an option to buy back the USDcoin for 100 bitcoins instead of it’s market price.
The straight commission structure makes more sense to me. The bundle isn’t an attractive option to potential customers.
Eh, that’s the same thing as the straight up USDcoins, along with the issuer buying an option to buy back the USDcoin for 100 bitcoins instead of it’s market price.
My thoughts exactly. People use put and call options rather than ‘bundles’ for a reason. It’s just so much simpler.
If it hasn’t already been implemented/suggested, I would point out a new transaction type is needed: One party announces that they have traded a number of BTC for a number of colored coin of a specified type, and the other party confirms. That would allow a user to buy colored coin from a third-party reseller without needing to trust the reseller.
If it hasn’t already been implemented/suggested, I would point out a new transaction type is needed: One party announces that they have traded a number of BTC for a number of colored coin of a specified type, and the other party confirms. That would allow a user to buy colored coin from a third-party reseller without needing to trust the reseller.
This usecase is possible right now. Technically. That is, I can execute this counterparty-risk-free trade right now by typing commands into the console. And this is using the standard bitcoin software that doesn’t even have the faintest idea what a ‘colored coin’ is. This is the kind of possibility that intrigues me about bitcoin. I care next to nothing about the currency itself but the potential use of the infrastructure to solve other tasks through clever combination of known cryptographic primitives is enormous.
For curiosity’s sake, a sketch of how your use case can be implemented as a transaction is:
Each transaction consists of a list of input transactions and a list of outputs. (The amount of bitcoin going to each output is specified, for inputs the entire amount of bitcoin from each input transaction is used.)
Colored coins are just plain old bitcoins that happen to have a signature stamped on a transaction somewhere in the history of that coin. Clients not familiar with such markings—as well as miners storing the transactions—treat them the same way as all other coins.
When colored coins are combined in a transaction with uncolored coins, the colored coin protocol is defined such that the first outputs are the first outputs get the colored coins and the uncolored coins go to the remaining outputs.
Either party A or party B can create a transaction in which a bunch of bitcoins from an address owned by A and a bunch of colored coins owned by B go to addresses owned by A and B (with the A output going first).
After the first party creates the transaction and signs it with the relevant signature it can send it to the other party.
The second party signs it as well and sends it off to be added to the bitchain.
Without both signatures the transaction is worthless.
With both signatures the entire trade takes place in a single transaction. Neither party needs to trust the other.
transactions involving more than two people? Is there a way to turn a colored coin back into a regular bitcoin? When the contract associated with the colored coin is fulfilled, it shouldn’t still color a limited bitcoin.
The good news: Yes, it can be done.
The better news: It can be done right now without any changing to the bitchain or mining protocols.
The even better news: It’s being worked on right now. Not least of which by myself.
The caveat: It cannot work quite like your specific proposal. This is due to limitations in the other currencies, not due to limitations in bitcoin. Due to the very nature of the alternate currencies there must be trust in a third party. Someone must have the alternate currencies stored and they must be trusted to deliver it on request (even if in practice this is seldom required).
Consider whether the below modification of your example would satisfy the stable alternate currency need:
Can this be done? Consider the following more specific scenario as an example:
Alice sends 100 bitcoins to TrustworthyBank, with a request for USDCoins.
TrustworthyBank calculates the value of the bitcoins received in USD at current exchange rates and finds that it is worth USD$10,000.
TrustworthyBank sells or stores 99 bitcoins and signs the remaining coin as a colored coin which it then sends to Alice. These coins are identifiable to everyone as USDCoins and are redeemable by TrustworthyBank for USD$10,000 each according to the publicly accessible contract cryptographically signed by the same key used to ‘color’ the coin.
Alice gives 0.8 USDCoins to Bob in exchange for $8k worth of cocain.
Bob places bets summing to the entire 0.8 USDCoins on the (still hypothetical) BitKnow.com Prediction Market, all on the proposition “Arnold Schwarzenegger Elected President of Australia in 2013”.
Craig, one of the people having bet against Bob, receives 0.2 USDCoins on January 1st 2014.
Craig sends 0.2 USDcoins to TrustworthyBank.
TrustworthyBank sends $2,000 to Craig (or equivalent value in bitcoin). It does not know or care what has been done with the coins since they were created. It simply looks at the bitchain, confirms that the coins can be followed back to a signing transaction.
The above example demonstrates the use of bitcoin as a way to make exchanges any other currency. It has the features:
Only a small amount of trust required.
Pseudonymity (with the same mechanisms for increasing that to anonymity if necessary).
Transparency. All the (bitcoin based) transactions made by TrustworthyBank are public. If TrustworthyBank breaches the contract it isn’t possible to hide it. Then people start using ActuallyTrustworthyBank instead. TrustworthyBankOwner goes to jail. (Because naturally the bank that people actually use should be one in whichever country has the most suitable laws.)
Distribution. It requires no interaction with the banking institution except when adding or removing currency from the overall micro-economy. Transactions of the currency are between peers and do not involve TrustworthyBank at all.
All services that already use bitcoin either just work with USDcoins or can be adapted to with little effort. For example an escrow service or Prediction Market that works on bitcoin using 2-of-3 multisignature transactions can be used with USDcoins without the escrow service even needing to have heard of USDCoins.
It is potentially vulnerable to government intervention. If the government that rules the country where TrusworthyBank is incorporated they could choose to come in obliterate it if they want.
Note: The above weakness is a feature. Moreover it is an optional feature.
Buying USDCoins backed by TrustworthyBank who is established in the real world and subject to government sanctions is a way to establish trust. If they rip people off the usual mechanisms of punishment for that can be counted on. However this relies on having a country that has suitable laws and practices. But what if we don’t find this to be the case?
A (hopefully not too plausible) scenario: The US government decides that if encryption is a munition then bitcoin is a Weapon of Mass Destruction. It starts sending nuclear ICBMs at any country that harbors bitcoin banks. That ensures that bitcoin is a black market currency rather than becoming mainstream. Do these alternate real-world-backed currencies still work?
Yes, they do. Consider MorpheusBank. Morpheus is completely anonymous and untracable. He never interacts with anyone directly and instead monitors the bitchain and responds to stimulus. If a transaction sends bitcoin to the 1morpheusETC address Morpheus sends MorpheusCoin to whichever address the bitcoins were sent from. If the bitchain shows him MorpheusCoin being sent to the 1morpheusETC address then sends bitcoins back. The exchange rate is determined by a publicly accessible algorithm referring to established real world exchange rate sources.
Where TrustworthyBank is trusted based in part on trusting laws, and governments to prevent fruad, MorpheusBank is trusted via observation of past transactions (all publicly verifiable) and estimation that the Morpheus reputation and expected value of all future business exceeds the value he gets if he defects immediately. That is, users trust that Morpheus will not kill the golden goose because he doesn’t want to lose an indefinite supply of golden eggs. This relies on the service returning a sufficient premium to Morpheus to incentivise him.
Why not have the state where MorpheusBank need not be trusted? Allow a user to propose an exchange, and MorpheusBank to sign off on it, and make the two transfers simultaneous and contingent on both being legal transfers.
I don’t think I have properly communicated just which kind of trust in MorpheusBank is required. Perhaps I shouldn’t have used the term ‘Bank’. Morpheus is only required at the point in which external-to-bitcoin value is exchanged with internal-to-bitcoin stuff. ie. It is something that ties an electronic asset to the value of gold, or the value of an index fund, or a particular government backed currency.
Absolutely, that kind of arrangement is possible (using the same kind of transaction mechanism we discussed elsewhere). Where the reputation of Morpheus is concerned the trust is in Morpheus’s contracted promise to make such exchanges in future at a specified rate. The basic decision theoretic reasoning is then:
Morpheus has publicly committed to exchanging MorpheusGold for bitcoins at any time at a rate determined by and .
The fully transparent and publicly accessible bitchain confirms that Morpheus has indeed honoured that commitment.
Morpheus can be seen to be making a known, significant, amount of profit from his business under that identity.
Defecting on his contracts will give Morpheus an immediate payoff while destroying his ability to do business under that name.
The expected future profits of business under the Morpheus name (either by the person using it or whoever it is sold to) exceed the amount that an immediate defection could grant him.
It is likely that Morpheus will indeed trade back the specified value in exchange for MorpheusGold (or MorpheusUSD, whatever) in the future. It is (fairly) safe to buy or exchange MorpheusGold now.
Note that there is actually some advantage to just unilaterally transferring MorpheusGold to Morpheus’s address. That makes the exchange part of the public record and obliges Morpheus to send bitcoin back promptly or be obviously shown to be unreliable. Whereas when proposing simultaneous exchanges with Morpheus, if he delays or refuses trades then the ripped off party must use some other mechanism by which to actively damage Morpheus’s reputation and Morpheus deny it. It also requires communicating with Morpheus directly somehow, either by encrypting data into the bitchain or by Morpheus being directly contactable somehow.
Note that in this case the only additional counterparty risk taken on by making unilateral transfers rather than arranging simultaneous exchanges is whatever the value of the bitcoins were upon which the MorpheusGold has been ‘printed’. He is already being trusted for the component (Gold-representing component of the coins—bitcoin value of the coins).
I figured that the proposed trade would enter the public record; doesn’t it have to in order for MorpheusBank to see and sign it?
I also didn’t notice where MorpheusGold was ever convertible to gold. Clearly MorpheusBank cannot be guaranteed to have enough bitcoin to redeem all of the MorpheusGold to bitcoin if e.g. bitcoin tanks. MorpheusBank is being trusted with the total value of the gold represented by his coins (minus their bitcoin value) and can walk away at any time with that difference. MB has an incentive to sell as much MG as possible and then defect, and any transaction that appears to build trust is not evidence that MB does not intend to defect. (Since if MB was intending to defect, it would perform transactions to build trust)
All in all, I can’t tell the difference between MB and Currin Trading.
MB should be engaging in continuous rebalancing to keep their ability to purchase gold constant.
Whoa-what? If the demand for gold drives a price increase in gold, there is no ‘rebalancing’ possible to keep one’s ability to purchase gold constant without putting additional reserves into the bank. Likewise, if bitcoin tanks to the point where an ounce of gold can buy all ~21 million bitcoins, but MB has twenty ounces of MG outstanding, it becomes impossible to redeem them for bitcoin (and they were never redeemable for gold).
MB could theoretically avoid both cases by keeping a full reserve of gold, selling gold only as needed to get bitcoins; in the case where bitcoin becomes worthless, MB could effectively set the exchange rate of gold for bitcoin, since there would be no other sellers. If gold became more valuable but bitcoin remained a medium of exchange, MB could simply sell gold at the market rate for any currency convertible to bitcoin.
It looks like colored coins have the ability to completely replace actual bitcoins as units of value, and in fact this might be preferable. I am surprised I didn’t think of this myself because the first (or maybe second or third) thing I thought of when hearing about bitcoins was that a currency based on a issuer-backed market-basket of goods would have been superior, but much more difficult to bootstrap (how do you build trust in a currency that anyone can issue on a network with no enforcement mechanism?). Having an existing infrastructure to pass new coins of arbitrary value sounds like a Win, and bootstrapping the first colored coin value against bitcoin value is smart.
Do you think it’s possible that fiat $10,000/USDcoins2 colored coins redeemable for either $10,000 OR 100 bitcoins would be economically feasible? There would be no demand if there was an expected movement from $100/bitcoin since the issuer wins on volatility, but what if a distribution of distinct USDcoins2 were issued, with 1% being redeemable for $15,000 or 150 and the remaining 99% redeemable for $10,000 or 100 bitcoins, but whose actual value would only be revealed after a period of time (months). Pre-committing to this seems fairly straightforward and would generate demand for the currency with a positive expected net value. I believe the effect would be toward stabilizing the exchange rates at ~$100/bitcoin and 100 bitcoins/USDcoins2. I don’t know if the exact percentages would work, but I imagine that there is some distribution that would have the intended effect. The issuer would be spending to achieve a stable exchange rate, which may be important for clearinghouses, banks, or individuals with savings.
EDIT: I forgot to clarify that the issuer of USDcoins2 decides whether to pay $10,000 or 100 bitcoins when an owner redeems 1 USDcoins2.
Sure. And once USDcoins are available USDcoin call options are possible, as are all the various permutations of security constructs you can think of. It’s just a matter of having someone to bet against.
I don’t think the issuer spending to try to force the exchange rate to be stable works too well. It would be better if the issuer is paid an appropriate premium for the issuing the option and the purchaser paying them for what amounts for insurance against a large risk. (And instead of ‘better’ I could also have said “outright inevitable if crypocurrency use becomes widespread”.)
Why is the issuer keeping both a fractional reserve of BTC and a reserve of USD large enough to maintain the value of the USDcoin2?
Just to be clear, you mean that the issuer decides which value to redeem the coins at, not the holder, right?
They″ll sell for more than $10k dollars. You’d be long bitcoins by owning that, and won’t be long bitcoins for the nonexchangeable version.
Apparently I left out the important part: The issuer of USDcoins2 would buy them back for either $10k or 100 bitcoins at their option, not at the option of the owner. Issuing USDcoins2 would be a hedge against either currency losing value which is why there would need to be an incentive for anyone else to buy them.
Eh, that’s the same thing as the straight up USDcoins, along with the issuer buying an option to buy back the USDcoin for 100 bitcoins instead of it’s market price.
The straight commission structure makes more sense to me. The bundle isn’t an attractive option to potential customers.
My thoughts exactly. People use put and call options rather than ‘bundles’ for a reason. It’s just so much simpler.
If it hasn’t already been implemented/suggested, I would point out a new transaction type is needed: One party announces that they have traded a number of BTC for a number of colored coin of a specified type, and the other party confirms. That would allow a user to buy colored coin from a third-party reseller without needing to trust the reseller.
This usecase is possible right now. Technically. That is, I can execute this counterparty-risk-free trade right now by typing commands into the console. And this is using the standard bitcoin software that doesn’t even have the faintest idea what a ‘colored coin’ is. This is the kind of possibility that intrigues me about bitcoin. I care next to nothing about the currency itself but the potential use of the infrastructure to solve other tasks through clever combination of known cryptographic primitives is enormous.
For curiosity’s sake, a sketch of how your use case can be implemented as a transaction is:
Each transaction consists of a list of input transactions and a list of outputs. (The amount of bitcoin going to each output is specified, for inputs the entire amount of bitcoin from each input transaction is used.)
Colored coins are just plain old bitcoins that happen to have a signature stamped on a transaction somewhere in the history of that coin. Clients not familiar with such markings—as well as miners storing the transactions—treat them the same way as all other coins.
When colored coins are combined in a transaction with uncolored coins, the colored coin protocol is defined such that the first outputs are the first outputs get the colored coins and the uncolored coins go to the remaining outputs.
Either party A or party B can create a transaction in which a bunch of bitcoins from an address owned by A and a bunch of colored coins owned by B go to addresses owned by A and B (with the A output going first).
After the first party creates the transaction and signs it with the relevant signature it can send it to the other party.
The second party signs it as well and sends it off to be added to the bitchain.
Without both signatures the transaction is worthless.
With both signatures the entire trade takes place in a single transaction. Neither party needs to trust the other.
transactions involving more than two people? Is there a way to turn a colored coin back into a regular bitcoin? When the contract associated with the colored coin is fulfilled, it shouldn’t still color a limited bitcoin.