Bitcoin Forum
March 19, 2024, 04:28:40 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 »
  Print  
Author Topic: ChromaWallet (colored coins): issue and trade private currencies/stocks/bonds/..  (Read 96870 times)
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 16, 2013, 07:38:00 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....

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

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
1710822520
Hero Member
*
Offline Offline

Posts: 1710822520

View Profile Personal Message (Offline)

Ignore
1710822520
Reply with quote  #2

1710822520
Report to moderator
1710822520
Hero Member
*
Offline Offline

Posts: 1710822520

View Profile Personal Message (Offline)

Ignore
1710822520
Reply with quote  #2

1710822520
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1710822520
Hero Member
*
Offline Offline

Posts: 1710822520

View Profile Personal Message (Offline)

Ignore
1710822520
Reply with quote  #2

1710822520
Report to moderator
Meni Rosenfeld
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
October 16, 2013, 07:49:21 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
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
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 16, 2013, 08:13:20 PM
 #243

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?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
October 16, 2013, 08:43:56 PM
 #244

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.

Chromia: a better dapp platform
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 16, 2013, 09:01:15 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.


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

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
October 17, 2013, 11:10:35 PM
 #246

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

Activity: 994
Merit: 507


View Profile
October 18, 2013, 05:08:08 AM
 #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.
Then the NGCCC can be a more user friendly and understandable: Bitcoin Tokenizer! Wink
Meni Rosenfeld
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
October 18, 2013, 06:30:59 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
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: 547
Merit: 105


Bitcoin ya no es el futuro, es el presente


View Profile WWW
October 18, 2013, 07:03:31 PM
 #249

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.


Bienvenidos a la nueva tecnología
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
October 19, 2013, 01:06:25 AM
 #250

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 (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
October 25, 2013, 12:42:24 AM
 #251

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.

Chromia: a better dapp platform
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
October 25, 2013, 01:38:30 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.
Keep up the good work! Are you involved with coloredcoins.org?
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
October 25, 2013, 03:22:23 AM
 #253

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 (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
October 25, 2013, 09:17:33 AM
 #254

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

Yes, there is my photo in The Team section Smiley

Chromia: a better dapp platform
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
October 25, 2013, 09:56:33 AM
 #255

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

Chromia: a better dapp platform
MilkyWayMasta
Full Member
***
Offline Offline

Activity: 221
Merit: 100



View Profile
November 06, 2013, 06:37:48 PM
 #256

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?

DISCIPLINA — The First Blockchain For HR & Education
From core developers of Cardano, PoS minting, unique Web Of Trust & Privacy algorithms. Be the first, join us!
  WEBSITE  TELEGRAM  ANN  BOUNTY  LINKEDIN  WHITEPAPER  Referral Program 5%
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
November 06, 2013, 08:34:40 PM
 #257

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.

Chromia: a better dapp platform
knybe
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


decentralize EVERYTHING...


View Profile
November 06, 2013, 10:35:02 PM
 #258

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

where do I sign up?
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
November 06, 2013, 11:03:15 PM
 #259

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

Chromia: a better dapp platform
TKeenan
Hero Member
*****
Offline Offline

Activity: 874
Merit: 1000



View Profile
November 06, 2013, 11:30:14 PM
 #260

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.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!