Bitcoin Forum
April 21, 2014, 02:41:13 PM *
News: Due to the OpenSSL heartbleed bug, changing your forum password is recommended.
 
   Home   Help Search Donate Login Register  
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23  All
  Print  
Author Topic: ChromaWallet (colored coins): issue and trade private currencies/stocks/bonds/..  (Read 43680 times)
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
October 16, 2013, 01:00:05 PM
 #241

I'm sorry, I'm just dropping in here triggered by reddit all confused about colored coins implementations.

Why is this thread called ArmoryX while the implementation talked about seems to be called ngccc?

Well, previously I was working on a different client, called ArmoryX. Since many people already follow this thread, I decided to continue posting updates in it. I guess I should rename it....

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
1398091273
Hero Member
*
Offline Offline

Posts: 1398091273

View Profile Personal Message (Offline)

Ignore
1398091273
Reply with quote  #2

1398091273
Report to moderator
1398091273
Hero Member
*
Offline Offline

Posts: 1398091273

View Profile Personal Message (Offline)

Ignore
1398091273
Reply with quote  #2

1398091273
Report to moderator
1398091273
Hero Member
*
Offline Offline

Posts: 1398091273

View Profile Personal Message (Offline)

Ignore
1398091273
Reply with quote  #2

1398091273
Report to moderator
Buy a Blade, Get a 5-Chip Free!
Start Mining with GAWMiners.com
24/7 Live Phone & Tech Support
Free Hosting & Electricity for 1 Year!

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1398091273
Hero Member
*
Offline Offline

Posts: 1398091273

View Profile Personal Message (Offline)

Ignore
1398091273
Reply with quote  #2

1398091273
Report to moderator
molecular
Donator
Hero Member
*
Offline Offline

Activity: 1190



View Profile

Ignore
October 16, 2013, 07:38:00 PM
 #242

I'm sorry, I'm just dropping in here triggered by reddit all confused about colored coins implementations.

Why is this thread called ArmoryX while the implementation talked about seems to be called ngccc?

Well, previously I was working on a different client, called ArmoryX. Since many people already follow this thread, I decided to continue posting updates in it. I guess I should rename it....

I understand. Yes, please change the title, it's hard enough for newbs to find the relevant stuff about colored coins.

Where is the actual data saved which is associated with the coins?

What data?


I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

This leads me to next question: is any data stored off blockchain at all?

This leads me to yet further question: where/how is "association" of color with a contract "stored"?

sorry for being so lazy and just out-right asking these newbie-questions

also: thanks, killerstorm for writing this: https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro, it really helps

Meni Rosenfeld
Donator
Hero Member
*
Offline Offline

Activity: 1148



View Profile WWW

Ignore
October 16, 2013, 07:49:21 PM
 #243

I'm sorry, I'm just dropping in here triggered by reddit all confused about colored coins implementations.

Why is this thread called ArmoryX while the implementation talked about seems to be called ngccc?

Well, previously I was working on a different client, called ArmoryX. Since many people already follow this thread, I decided to continue posting updates in it. I guess I should rename it....

I understand. Yes, please change the title, it's hard enough for newbs to find the relevant stuff about colored coins.

Where is the actual data saved which is associated with the coins?

What data?


I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

This leads me to next question: is any data stored off blockchain at all?

This leads me to yet further question: where/how is "association" of color with a contract "stored"?

sorry for being so lazy and just out-right asking these newbie-questions

also: thanks, killerstorm for writing this: https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro, it really helps
The data has two parts, the color definition which identifies the color and its meaning, and the transactions which indicate movement of colored coins.

The transactions are completely normal Bitcoin transactions stored on the blockchain.

The color definition is "out of band". The most important place it should be stored is probably the issuer's records, if the issuer itself doesn't know how to treat coins of his color that's a problem. It should also be visible in some public place such as a company website or a repository so other people know what the color represents too. Lastly, every end-user client interested in this color should download the color definition and store it, perhaps in the wallet file, so it can recognize coins of this color.

The color definition connects the blockchain with a real-world entity so there is little benefit in having it inside the blockchain itself.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
molecular
Donator
Hero Member
*
Offline Offline

Activity: 1190



View Profile

Ignore
October 16, 2013, 08:13:20 PM
 #244

The color definition connects the blockchain with a real-world entity so there is little benefit in having it inside the blockchain itself.

Thanks a lot for your above explanations about "storage locations", Meni.

On the last point I quoted: What benefit (or downsides) could a hash of the contract inside the blockchain have?

killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
October 16, 2013, 08:43:56 PM
 #245

I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

No.

Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.

But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".

NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.

And now it is able to recognize these Foo-coins.

Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.

This leads me to next question: is any data stored off blockchain at all?

Blockchain has information about transfers of colored coins.

Everything else can be stored elsewhere.

This leads me to yet further question: where/how is "association" of color with a contract "stored"?

We use a layered model.

Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.

Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.

I believe it's better to keep it manual for now.

E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message like

Quote
I, John Smith, promise to pay X US dollars for a transaction output which has colorvalue X according to color kernel "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370".
In order to redeem them, colored coins must be sent to address 1XYZabc, and then sender must write a message with his contact and banking information, sign it with address which was used to send colored coins to address mentioned above, and send me this signed message via email.

Then John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.

If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.

Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.

But right now it isn't necessary: people can just use whatever they are comfortable with.

Colored coin software is just a tool which tracks coins.

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
molecular
Donator
Hero Member
*
Offline Offline

Activity: 1190



View Profile

Ignore
October 16, 2013, 09:01:15 PM
 #246

I would like to seconds this question regarding color kernel and parameter "storage location"? Do I understand correctly that the color kernel is defined by the issuing transaction and that data is stored in the blockchain?

No.

Suppose you have just installed NGCCC. In its initial state, it only knows about bitcoins, and isn't able to recognize any colors.

But you, as a user, is interested in some asset. So you instruct it: "NGCCC, I want you to track certain colored colored coins using parametrized color kernel OBC. Their genesis is X:Y. Please call them Foo".

NGCCC will add a record like "OBC:X:Y = Foo" into its configuration file so it will be able to remember about this association between name and color.

And now it is able to recognize these Foo-coins.

Issuing transaction is just a normal transaction. It simply acts as a starting point: next transaction will spend its output, and so on.

This leads me to next question: is any data stored off blockchain at all?

Blockchain has information about transfers of colored coins.

Everything else can be stored elsewhere.

This leads me to yet further question: where/how is "association" of color with a contract "stored"?

We use a layered model.

Lowest layer is the colored coin model, it is about color kernel and colorvalues. Contracts simply do not exist on that level.

Contracts can appear on higher levels, but so far we haven't fully implement this higher level. But the thing is, it can be implemented in many different ways, and it isn't of utter importance.

I believe it's better to keep it manual for now.

E.g. suppose John Smith wants to issue 1000 bonds with face value of 1 USD each. To do this he will write a message like

Quote
I, John Smith, promise to pay X US dollars for a transaction output which has colorvalue X according to color kernel "obc:cc8e64cef1a880f5132e73b5a1f52a72565c92afa8ec36c445c635fe37b372fd:0:263370".
In order to redeem them, colored coins must be sent to address 1XYZabc, and then sender must write a message with his contact and banking information, sign it with address which was used to send colored coins to address mentioned above, and send me this signed message via email.

Then John Smith will sign this message using GPG and will post it in on forum. If there are people who trust him, they'll check if GPG signature is valid.

If they are willing to trade these bonds, they will add color mentioned in the message into their colored coin client.

Of course, we can create a special format for these contracts, make some kind of database where they can be published and so on.

But right now it isn't necessary: people can just use whatever they are comfortable with.

Colored coin software is just a tool which tracks coins.


I understand the approach regarding binding of asset/contract/... to color and I agree this is a good approach. Maybe concering yourself with implementing the "higher level" should have low priority.

Thank you! Especially for supplying your example John Smith contract you put in quote above, maybe this could be put somewhere into the "intro" document (https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro).

dillpicklechips
Sr. Member
****
Offline Offline

Activity: 280


View Profile

Ignore
October 17, 2013, 11:10:35 PM
 #247

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.
dillpicklechips
Sr. Member
****
Offline Offline

Activity: 280


View Profile

Ignore
October 18, 2013, 05:08:08 AM
 #248

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
Meni Rosenfeld
Donator
Hero Member
*
Offline Offline

Activity: 1148



View Profile WWW

Ignore
October 18, 2013, 06:30:59 AM
 #249

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.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
osoverflow
Full Member
***
Offline Offline

Activity: 126


Viviendo Linux


View Profile WWW

Ignore
October 18, 2013, 07:03:31 PM
 #250

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.


Bitcoin Market Made in Mexico (in progress!) www.bitcoinmkt.com www.bitcoinmkt.bit www.opticalcube.com OPCU Stock http://is.gd/p1v9FW
Donations: BTC: 1BTCMktcVXbDrzBgv8yqgZg1iVRNfajPz8 LTC: LbtcMKTfcFJrjGhSBbEsG2oRtA1fsHkhou DVC: 1A45H1gEfehJJt2cgHiauhkTcuQ8uqxWHS
Linux is for Windows as Bitcoin is for Fiat Money (EUR,USD,YEN,MXN,etc) Earn Devcoins by Writing
dillpicklechips
Sr. Member
****
Offline Offline

Activity: 280


View Profile

Ignore
October 19, 2013, 01:06:25 AM
 #251

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
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
October 25, 2013, 12:42:24 AM
 #252

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.

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
dillpicklechips
Sr. Member
****
Offline Offline

Activity: 280


View Profile

Ignore
October 25, 2013, 01:38:30 AM
 #253

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?
dillpicklechips
Sr. Member
****
Offline Offline

Activity: 280


View Profile

Ignore
October 25, 2013, 03:22:23 AM
 #254

I get this error


$ python ngccc.py
Traceback (most recent call last):
  File "ngccc.py", line 30, in <module>
    main()
  File "ngccc.py", line 16, in main
    if args[0] == 'import_config':
IndexError: list index out of range
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
October 25, 2013, 09:17:33 AM
 #255

Keep up the good work! Are you involved with coloredcoins.org?

Yes, there is my photo in The Team section Smiley

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
October 25, 2013, 09:56:33 AM
 #256

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

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
MilkyWayMasta
Full Member
***
Offline Offline

Activity: 197


View Profile

Ignore
November 06, 2013, 06:37:48 PM
 #257

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?

Tip: 1Cep5RbaEziB3cjNcHqXkxDQ2aaK5y7DQG
BitMessage: BM-2cXUWSpnEDH2rAPWGoVhd7rtCF8xpVFwGh
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
November 06, 2013, 08:34:40 PM
 #258

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.

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
knybe
Sr. Member
****
Offline Offline

Activity: 406



View Profile

Ignore
November 06, 2013, 10:35:02 PM
 #259

...
Probably nothing now, but after we'll make a release we'll need people to test it.

where do I sign up?

decentralize EVERYTHING... 1NYBEbsY4MVyLguv52HKHX1ePoZbx8vxbF
killerstorm
Hero Member
*****
Offline Offline

Activity: 742



View Profile

Ignore
November 06, 2013, 11:03:15 PM
 #260

...
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.

colored coins proof-of-concept: private currencies, stock/bond p2p exchange

Tips and donations: 16v13Fa9cPmfFzpm9mmbWwAkXY4gyY6uh4
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!