Author

Topic: colored coins on Terracoin (Read 1971 times)

legendary
Activity: 2632
Merit: 1023
March 18, 2013, 01:17:06 AM
#17
I confess I do not conceptually understand colored coins

can you nutshell it?

You take something that's normally nearly indistinguishable (e.g. 1 USD bills) and arbitratrily declare some of that "special", "tainted" or "colored".

For example I have a 1 USD bill with the serial number 1234567890 and I declare that I will give anyone who hands me this exact bill in the future 100 USD, then I spend it/auction it/otherwise get rid of it. Everyone who does NOT know about the new value I gave to that bill still thinks it's an ordinary 1 USD bill, not worth 100 USD and might carelessly spend it. Also if there were no way to know it's exactly THIS bill (no tracking/serial number) it also wouldn't work, as I  wouldn't be able to tell if I have to give out 100 USD back if someone hands me an unmarked bill.

Colored coins work similarly, you declare that some coins are "special" to you and represent shares or whatever. This special value or contract does not show up anywhere in a block chain (other than transactions with these coins) but they can be traced due to the public nature of the block chain. So if I then publish "I started giving some special value to THIS coin, then used it in this transaction etc." people can track which address holds these coins and see if they own any. Since the coins are potentially worth more than other coins of the same denomination (in the example: the 1 USD bill would be worth 100 USD minus the risk that I might not honor my contract) one could for example trade in the same chain for these special coins (in the example: someone buys the special 1 USD bill from someone else for 50 USD).

As these transactions take place in a block chain and not for example on a stock trading platform (e.g. A transfers to B 1 special coin and gets from B 1000 "normal" coins in return) you can cut out the middle man. Also you can create more arbitrary contracts. Issues mainly include mixing "normal" and "special" coins and making sure you don't accidentially spend your special coins like normal ones (in the example: buy an ice cream with the 1234567890 1 USD bill). This is why the ArmoryX software is being written, to take care of this and some other issues.

Thanks, this may take a bit to sink in

but If I follow you, it allows capital raising, minus a lot of stock exchange fees, eg you just need to put the listing on a board and off you go.

also serves a a means to distribute dividends to said addresses as you can see where they are

so it sort of piggy backs the stock market onto the back of the existing BTC structure.

I would have thought that such a thing if it works would be quite the boon and worth a couple of hundred/thou BTC to get the
client and market watching software together, time to do a capital raising over at crystok et.al, so you can bootstrap out of having to do a capital raising (sort of like how you had to boot early computers when you think about it).

legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
March 17, 2013, 04:39:32 PM
#16
How much do you think we would need to pay someone to update Armoryx?

5 BTC is a typical bounty we give (at current exchange rate). I'm not sure how much effort is required. Also we can pay more for bigger overhaul and further development.

I am willing to contribute for sure.
legendary
Activity: 1022
Merit: 1033
March 17, 2013, 03:02:13 PM
#15
How much do you think we would need to pay someone to update Armoryx?

5 BTC is a typical bounty we give (at current exchange rate). I'm not sure how much effort is required. Also we can pay more for bigger overhaul and further development.
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
March 17, 2013, 01:38:31 PM
#14
Isn't Bitcoin Testnet supposed to be used for this kind of experiments?

It was already demonstrated that technology works, both on Bitcoin testnet and mainnet.

We now want people to try using it by trading something of value. It just not interesting to play with worthless tokens.

(Of course, I wouldn't recommend to try it on something very valuable because technology is not well tested yet and loss is possible.)

How much do you think we would need to pay someone to update Armoryx?
legendary
Activity: 2618
Merit: 1007
March 17, 2013, 01:00:11 PM
#13
I confess I do not conceptually understand colored coins

can you nutshell it?

You take something that's normally nearly indistinguishable (e.g. 1 USD bills) and arbitratrily declare some of that "special", "tainted" or "colored".

For example I have a 1 USD bill with the serial number 1234567890 and I declare that I will give anyone who hands me this exact bill in the future 100 USD, then I spend it/auction it/otherwise get rid of it. Everyone who does NOT know about the new value I gave to that bill still thinks it's an ordinary 1 USD bill, not worth 100 USD and might carelessly spend it. Also if there were no way to know it's exactly THIS bill (no tracking/serial number) it also wouldn't work, as I  wouldn't be able to tell if I have to give out 100 USD back if someone hands me an unmarked bill.

Colored coins work similarly, you declare that some coins are "special" to you and represent shares or whatever. This special value or contract does not show up anywhere in a block chain (other than transactions with these coins) but they can be traced due to the public nature of the block chain. So if I then publish "I started giving some special value to THIS coin, then used it in this transaction etc." people can track which address holds these coins and see if they own any. Since the coins are potentially worth more than other coins of the same denomination (in the example: the 1 USD bill would be worth 100 USD minus the risk that I might not honor my contract) one could for example trade in the same chain for these special coins (in the example: someone buys the special 1 USD bill from someone else for 50 USD).

As these transactions take place in a block chain and not for example on a stock trading platform (e.g. A transfers to B 1 special coin and gets from B 1000 "normal" coins in return) you can cut out the middle man. Also you can create more arbitrary contracts. Issues mainly include mixing "normal" and "special" coins and making sure you don't accidentially spend your special coins like normal ones (in the example: buy an ice cream with the 1234567890 1 USD bill). This is why the ArmoryX software is being written, to take care of this and some other issues.
legendary
Activity: 1022
Merit: 1033
March 17, 2013, 12:11:12 PM
#12
Isn't Bitcoin Testnet supposed to be used for this kind of experiments?

It was already demonstrated that technology works, both on Bitcoin testnet and mainnet.

We now want people to try using it by trading something of value. It just not interesting to play with worthless tokens.

(Of course, I wouldn't recommend to try it on something very valuable because technology is not well tested yet and loss is possible.)
sr. member
Activity: 441
Merit: 268
March 17, 2013, 12:05:15 PM
#11
Isn't Bitcoin Testnet supposed to be used for this kind of experiments?
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
March 17, 2013, 10:51:48 AM
#10
I'm going to post this over in Project Development as well, just as there maybe a wider audience of experiences programmers to that could help out.
sr. member
Activity: 252
Merit: 250
March 17, 2013, 10:05:48 AM
#9
This is great! TRC is an ideal candidate for trying things out on a platform similar to Bitcoin. I'd definitely give it a shot.
sr. member
Activity: 364
Merit: 252
March 17, 2013, 09:42:05 AM
#8
Just throwing this out here, but if it would help we would be happy to color some of our coins in our wallet to watch the propagation.
It does sound facisnating Smiley

Perhaps 10 years in the future I will be hunting down our old colored coins for nostalgic value "kids, this is one of the coins your dad made it rich with *dad points to privkey*"
legendary
Activity: 1204
Merit: 1002
RUM AND CARROTS: A PIRATE LIFE FOR ME
March 17, 2013, 09:19:20 AM
#7
Wow! I hadn't thought about this, what a great idea!
sr. member
Activity: 364
Merit: 252
March 17, 2013, 08:34:07 AM
#6
sounds great, Im thrilled to see the colored coins implementation is still being worked on.
legendary
Activity: 1022
Merit: 1033
March 17, 2013, 06:41:55 AM
#5
I confess I do not conceptually understand colored coins

can you nutshell it?

The basic idea is same as with smart property: ownership of a certain transaction output ("a coin") is associated with ownership of some property, physical of digital.

Ownership is transferable, i.e. if you send this output to a different address, owner of that address will now own property.

Ownership of an external object is a matter of convention, but this convention can be implemented in software.

Colored coins are a bit more complex, as special rules govern "which goes where" in a transaction which involves multiple inputs and outputs. Generally, it is about a rule of conservation: if 100 red coins go in, 100 red coins should go out, maybe to a different address.

Colored coins can encode quantity of property in transaction output value. Say, issuer declares that 1 satoshi is one share. Then transaction output with 123 satoshi is 123 shares.

In the end, it can look just like stock exchange in terms of user interface (e.g. like http://litecoinglobal.com), but use blockchain for accounting. Also there is a useful property that one can buy colored coin or smart property safely... So market can be decentralized, no need to trust anybody except issuer.

If issuer sells 1000 shares of a company and then simply runs away with money, it can't be helped.
legendary
Activity: 2632
Merit: 1023
March 17, 2013, 06:27:23 AM
#4
I confess I do not conceptually understand colored coins

can you nutshell it?

legendary
Activity: 1022
Merit: 1033
March 17, 2013, 06:24:39 AM
#3
Sounds interesting, I'll take a try to buy some stocks if these are available. But don't have time to do this.
If this implementation needs to change the Terracoin source code?

No. ArmoryX is a separate colored-coin-enabled wallet, but it needs access to Satoshi client, i.e. Bitcoin-Qt or bitcoind running on same machine.

Or terracoin-qt/terracoind in case of Terracoin.

At least it worked fine with stock Bitcoin clients...
sr. member
Activity: 425
Merit: 262
March 17, 2013, 06:17:44 AM
#2
Sounds interesting, I'll take a try to buy some stocks if these are available. But don't have time to do this.
If this implementation needs to change the Terracoin source code?
legendary
Activity: 1022
Merit: 1033
March 17, 2013, 04:44:48 AM
#1
Motivation. Please understand me correctly, colored coins work fine on Bitcoin, and that's our target. However, the only functional implementation we have now is ArmoryX, it has performance issues. Basically, it requires running bitcoind or Bitcoin-Qt (which means multi-hour blockchain download process and ~10 GB on disk), also it eats about 1.5 GB of RAM... I can't run it on my own laptop!

We'll have a lightweight implementation in about a month, but there is some desire to play with it earlier.

So what I want is to port ArmoryX to Terracoin. It would allow people to play with colored coins without PITA. (testnet doesn't count because testcoins are worthless).

Why Terracoin.

1. Its blockchain size is currently small.
2. Current version is based on Bitcoin 0.8, which means that sync time is fast.
3. Also confirmations are fast, which is nice.

Benefits for Terracoin. Basically you get something like a stock exchange... With free listing. I believe the reason why 'real sector of economy' companies have registered on LTC-GLOBAL is that fee was relatively small.

Possible negative effects. Some people say it might generate lots of transactions and pollute blockchain... But, in any case, there will be approximately zero activity in near future (lots of activity is a nice problem to have), also colored coin transactions are not different from normal trade transactions w.r.t. blockchain usage.

What's required. ArmoryX needs to be updated to work with 0.8 blockchain format. Also it needs to be patched to work with Terracoin. I think it just needs to be pointed to a different genesis block and default ports need to be changed, that's all.

I can do this myself, but I'm too lazy for that. I have some budget to update ArmoryX to a new version (backport changes from newer Armory version), so I can pay somebody to do this.

I estimate that it (updating to 0.8 format) shouldn't take more than a day of coding for an experienced C++ and Python programmer.

Whoever wants to grab this task/bounty please post here or PM me and mention how much money you want for this (separate for 0.8 update and for terracoin support, I need it for accounting reasons).
Jump to: