Pages:
Author

Topic: ChromaWallet (colored coins): issue and trade private currencies/stocks/bonds/.. - page 15. (Read 97112 times)

newbie
Activity: 18
Merit: 4
I am still trying to wrap my head around how we get cash $ into and out of  a decentralized exchange.  If someone can help me there I would really appreciate it.
It's a difficult problem, which I have not yet seen anyone address properly.

I have heard of four (attempted) solutions to this, and none of them is perfect:

1. Gateways (à la Ripple)
Though exchanges themselves are decentralised, the "coloured coins" they exchanged need to be issued by a trusted (centralised) authority who will exchange for example 10EUR/USD for 10cEUR/cUSD which can THEN be exchanged for BTC or other currencies.

2. IOUs (à la Ripple)
Rather than trading actual currencies, people make interest-free "loans" and trade the debt. For example, you give me 1BTC for a 150GBP "IOU", which you can trade on to other people with the promise that I (or others trading IOUs in the same currency) will buy it back for 150GBP worth of BTC/some other currency. Of course this relies on people having confidence they will be able to trade the IOUs back to Bitcoins.

3. Magic (à la Harry Potter)
Some sort of coloured coins are distributed that by convention just happen to be pegged exactly to EUR/USD/GBP or whatever, and eventually the convention becomes so universal that people stop distinguishing between cEUR and EUR.

4. Automatic "monetary policy" (à la Mastercoin)
One suggestion I have seen, I think it might have been for Mastercoin but I'm not 100% sure, was that some sort of decentralised "system address" would hold an excess of for example cEUR, and when the BTC value of cEUR started to climb above EUR more cEUR would be released into the market, and if the value was below EUR then the system would buy back some cEUR for BTC to bring the value back up. How the system would track the value of the EUR however I don't know. Presumably it would be a mathematical system not relying on external feedback, so would try to approximate a certain value that was equal to the value of the EUR at the time of implementation, which obviously could change over time and the correlation become broken.
legendary
Activity: 1400
Merit: 1013
I am still trying to wrap my head around how we get cash $ into and out of  a decentralized exchange.  If someone can help me there I would really appreciate it.
It's a difficult problem, which I have not yet seen anyone address properly.
member
Activity: 84
Merit: 10
I understand the coloring part, but I don't get how this paves the way for distributed exchanges. What am I missing?
It really doesn't pave the way.  But don't worry, the guys over at Mastercoin have already solved that and they have their distributed exchange up and running.  It is not just a pipe dream - it is actual software which executes.

We implemented decentralized exchange back in January. It worked, people made transactions with it.

I've described the difference between colored coins and Mastercoin approaches here: https://bitcointalksearch.org/topic/m.3487339


I am still trying to wrap my head around how we get cash $ into and out of  a decentralized exchange.  If someone can help me there I would really appreciate it.
legendary
Activity: 910
Merit: 1000
Quality Printing Services by Federal Reserve Bank
legendary
Activity: 1022
Merit: 1033
I understand the coloring part, but I don't get how this paves the way for distributed exchanges. What am I missing?
It really doesn't pave the way.  But don't worry, the guys over at Mastercoin have already solved that and they have their distributed exchange up and running.  It is not just a pipe dream - it is actual software which executes.

We implemented decentralized exchange back in January. It worked, people made transactions with it.

I've described the difference between colored coins and Mastercoin approaches here: https://bitcointalksearch.org/topic/m.3487339
hero member
Activity: 874
Merit: 1000
I understand the coloring part, but I don't get how this paves the way for distributed exchanges. What am I missing?
It really doesn't pave the way.  But don't worry, the guys over at Mastercoin have already solved that and they have their distributed exchange up and running.  It is not just a pipe dream - it is actual software which executes.
legendary
Activity: 1022
Merit: 1033
...
Probably nothing now, but after we'll make a release we'll need people to test it.

where do I sign up?

I'll post an update to this thread when it's ready.
hero member
Activity: 658
Merit: 500
decentralize EVERYTHING...
...
Probably nothing now, but after we'll make a release we'll need people to test it.

where do I sign up?
legendary
Activity: 1022
Merit: 1033
How's the progress going killerstorm?

We have a lot (~5) of developers now and are making good progress, but still a lot is left to do...

I'll try to make an alpha release this week.

Been following r/coloredcoins but no new info. Is there anything the bitcoin community can do to help other than helping develop for colored coins?

Probably nothing now, but after we'll make a release we'll need people to test it.
full member
Activity: 221
Merit: 100
Where is the actual data saved which is associated with the coins?

What data?

If you're talking about metadata like name, contract, etc., then it can be anywhere. E.g. somebody might post on forum that he is selling shares of his company foo, and you canl add this asset definition to your client, like

Code:
ngccc.py addasset foo "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370"

Now it can show you your foo balance (how many shares you have), you can buy and sell them. Of course, client doesn't care what "foo" means.

If you're talking about ownership data, it is encoded in Bitcoin transactions. These transactions look exactly like normal Bitcoin transaction and do not have color tags or anything. But client can trace them back to the genesis transaction my going through the transaction graph, and that's how it knows that it represents ownership.

How's the progress going killerstorm? Been following r/coloredcoins but no new info. Is there anything the bitcoin community can do to help other than helping develop for colored coins?
legendary
Activity: 1022
Merit: 1033
I get this error

$ python ngccc.py

It's not this simple Smiley

OK, first of all, I wouldn't call this 'usable', basically it is just a prototype at this stage.

Requirements: To run it you need bitcoind or Bitcoin-Qt with enabled JSON-RPC interface, and also txindex needs to be enabled.

To do this you can add txindex=1 to config. If you launched bitcoind/Bitcoin-Qt before, it will need to reindex blockchain. To do this, simply stop it and launch with -reindex parameter. Reindexation can take up to a hour.

(txindex is needed only for work with colored coins, if you want to use it for plain bitcoins it works fine without it.)

OK, so it is a command-line utility. Generally, each command requires a name of asset you're working with, e.g.:

Code:
$ python ngccc.py newaddr bitcoin
1NJukQf77p76SezLwRGkjeX4qtz28BMa6D

$ python ngccc.py balance bitcoin
30000

$ python ngccc.py alladdresses bitcoin
[u'1LxmJJLnnLR9QmBNJwVhFL4h8BtQQ8SEbS', ... ]

$ python ngccc.py send bitcoin 1LxmJJLnnLR9QmBNJwVhFL4h8BtQQ8SEbS 12345
...

(Note that it uses blockchain.info to find UTXOs, so balance command might be slow if you have many addresses.)

Now let's do something with colored coins:

Code:
$ python ngccc.py issue foo obc 1 10000
   # this issues colored coins using order-based coloring method (obc), using 10000 satoshi for this
   # asset associated with this color will be called foo

# balance will be available only after genesis transaction is included into a block:

$ python ngccc.py balance foo
10000

# only addresses associated with asset foo will be able to receive colored coins
$ python ngccc.py alladdresses foo
['17tJE7tySa6L6UUmLGAzMAvrqjLcAaXwZx']

$ python ngccc.py send foo 17tJE7tySa6L6UUmLGAzMAvrqjLcAaXwZx 10000
...

Currently there is no good way to get color_desc of asset/color:

Code:
$ python ngccc.py dump_config >my-config.json

$ cat my-config.json
{
    "asset_definitions": [
        {
            "color_set": [
                "obc:caff27b3fe0a826b776906aceafecac7bb34af16971b8bd790170329309391ac:0:265577"
            ],
            "monikers": [
                "foo"
            ]
        }
    ],
...

Once you have color_desc, you can import it into another client like this:

Code:
$ python ngccc.py addasset foo "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370"

#and now it is possible to get an address which can be used to receive foo-coins:
$ python ngccc.py newaddr foo

Finally, wallet is editable: to do this you need to edit JSON file obtained by dump_config, and load it using import_config my-config.json
legendary
Activity: 1022
Merit: 1033
Keep up the good work! Are you involved with coloredcoins.org?

Yes, there is my photo in The Team section Smiley
hero member
Activity: 994
Merit: 507
I get this error


$ python ngccc.py
Traceback (most recent call last):
  File "ngccc.py", line 30, in
    main()
  File "ngccc.py", line 16, in main
    if args[0] == 'import_config':
IndexError: list index out of range
hero member
Activity: 994
Merit: 507
ngcccbase development update: it is now able to issue and send colored coins.

Also, blockchain scan got considerably faster.



Note that 30 out of 31 commits are mine, which means that all my attempts to recruit people were futile.

I even had to do trivial tasks like this one: https://github.com/bitcoinx/ngcccbase/issues/10

myself: https://github.com/bitcoinx/ngcccbase/commit/c7c284d811a0457749c6e7eaef193b8ca0e78268

Sure, I can do that, but I'd rather focus on things which are complex.
Keep up the good work! Are you involved with coloredcoins.org?
legendary
Activity: 1022
Merit: 1033
ngcccbase development update: it is now able to issue and send colored coins.

Also, blockchain scan got considerably faster.



Note that 30 out of 31 commits are mine, which means that all my attempts to recruit people were futile.

I even had to do trivial tasks like this one: https://github.com/bitcoinx/ngcccbase/issues/10

myself: https://github.com/bitcoinx/ngcccbase/commit/c7c284d811a0457749c6e7eaef193b8ca0e78268

Sure, I can do that, but I'd rather focus on things which are complex.
hero member
Activity: 994
Merit: 507
I'm wondering if using the term "colored coins" confuses what they actually represent to the lay person. If they were called "tokenized bitcoins" it would be abvious to most, that the bitcoins represent something else of value.  Turning a bitcoin into a token makes sense compared to coloring it.
Then the NGCCC can be a more user friendly and understandable: Bitcoin Tokenizer! Wink
We use the "token" terminology often. However, "tokens" is the "what" - the goal is to have decentralized digital tokens representing arbitrary assets. "Colored coins" is the "how", it is the name of a specific approach to achieve it - which is to take coins (which is actually a technical term meaning UTXO) and "coloring" them, that is, making it possible to trace them.
Thanks. I still wish it was "Bitcoin Tokenizer" and not "NGCCC"!  Grin
full member
Activity: 547
Merit: 105
Bitcoin ya no es el futuro, es el presente
It's great to read this thread. I'm working in the implementation of colored coins in a p2p and web exchange for stocks, bonds and options.

coinmarket.pw is the link.

I'm using colored coins for transactions and to keep records of who has what.
I'm using namecoin to store the relationship between the genesis address and the stock and other metadata.
I'm using a mix of internal database and bitmessage to store local and p2p trades
I'm using abe block explorer and mysql to store all the block chain in a easy to access database to track colored coins

I want to collaborate with this project, because I'm using the technology. I think we can make this a initial exchange, then a group of exchanges can spawn from it in various countries, with collaborative order book, offering different advantages to traders and issuers that help them decide in which market they want to stay. They can also keep portion of their shares on multiple markets, to increase the liquidity.

donator
Activity: 2058
Merit: 1054
I'm wondering if using the term "colored coins" confuses what they actually represent to the lay person. If they were called "tokenized bitcoins" it would be abvious to most, that the bitcoins represent something else of value.  Turning a bitcoin into a token makes sense compared to coloring it.
Then the NGCCC can be a more user friendly and understandable: Bitcoin Tokenizer! Wink
We use the "token" terminology often. However, "tokens" is the "what" - the goal is to have decentralized digital tokens representing arbitrary assets. "Colored coins" is the "how", it is the name of a specific approach to achieve it - which is to take coins (which is actually a technical term meaning UTXO) and "coloring" them, that is, making it possible to trace them.
hero member
Activity: 994
Merit: 507
I'm wondering if using the term "colored coins" confuses what they actually represent to the lay person. If they were called "tokenized bitcoins" it would be abvious to most, that the bitcoins represent something else of value.  Turning a bitcoin into a token makes sense compared to coloring it.
Then the NGCCC can be a more user friendly and understandable: Bitcoin Tokenizer! Wink
hero member
Activity: 994
Merit: 507
I'm wondering if using the term "colored coins" confuses what they actually represent to the lay person. If they were called "tokenized bitcoins" it would be abvious to most, that the bitcoins represent something else of value.  Turning a bitcoin into a token makes sense compared to coloring it.
Pages:
Jump to: