Bitcoin Forum
May 04, 2024, 02:02:04 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: [BOUNTY] 200 BTC for lightweight colored coin client(s)  (Read 10617 times)
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 07, 2013, 09:47:55 PM
Last edit: February 07, 2013, 11:22:30 PM by killerstorm
 #1

It would be cool if more people tried using colored coins: it would help us to gather feedback and develop protocol further. But right now the only client is ArmoryX, and trying it out is pretty involved: it requires fully synced Satoshi Bitcoin client, and besides that ArmoryX eats about 1 GB of RAM. Few people would do that just to play with it...

So we want to see a web-based Bitcoin client which would support colored coins. Support for colored coins means that

  • it should show balance for each installed color separately
  • it should allow sending coins of a certain color
  • it should implement p2ptrade protocol

Currently we 200 BTC for bounties for this project. We'll probably break the whole thing into smaller tasks and allocate bounty for each task.

As for architecture, we haven't settled on this now, but a perspective direction is to have server which can provide data about transactions in same way blockchain.info does, and client will identify colored transaction outputs using backward scan. Currently people are investigating whether it is feasible in terms of performance...

bitcoinjs seems to be a good basis both for client and for server.

If development of web client costs less than 200 BTC we will consider bounties for development of other color-aware thin clients like Electrum and MultiBit.

This is a preliminary announcement as there is no concrete plan yet, but people who are interested in doing this are welcome to apply. (Post here, send PM or post to bitcoinX mailing list: http://groups.google.com/group/bitcoinX/ )

Oh, by the way, of course it would be great if more people will chip in with bounty pledges. All results will be open source etc. It would be shame if we only do web but no Electrum.

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

Posts: 1714831324

View Profile Personal Message (Offline)

Ignore
1714831324
Reply with quote  #2

1714831324
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714831324
Hero Member
*
Offline Offline

Posts: 1714831324

View Profile Personal Message (Offline)

Ignore
1714831324
Reply with quote  #2

1714831324
Report to moderator
dacoinminster
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
February 07, 2013, 10:07:48 PM
 #2

I'm really looking forward to seeing what comes out of this. Colored coins are a big step in the right direction for bitcoin.

My dream is to someday hold oil, gold, and stable currencies in my bitcoin wallet. I probably won't buy colored coins yet (since you currently have to trust a third party to correct price divergences when the market doesn't), but I expect that self-correcting currencies aren't far behind (I think they will work something like this: https://sites.google.com/site/2ndbtcwpaper/2ndBitcoinWhitepaper.pdf).


ripper234
Legendary
*
Offline Offline

Activity: 1358
Merit: 1003


Ron Gross


View Profile WWW
February 07, 2013, 10:49:30 PM
 #3

Glad to see this bounty posted, and thanks Alex for his hard work.

I think the turning point when Bitcoin really became usable was when Blockchain.info launched. Let's do the same for BitcoinX.

While we're at it - I believe that not all of Blockchain.info's code is open sourced today, right? Alex, could we make the result of this project open source? It could benefit any existing/new alt chains that don't want to or can't use BitcoinX directly.


Please do not pm me, use ron@bitcoin.org.il instead
Mastercoin Executive Director
Co-founder of the Israeli Bitcoin Association
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 07, 2013, 11:03:52 PM
 #4

While we're at it - I believe that not all of Blockchain.info's code is open sourced today, right? Alex, could we make the result of this project open source? It could benefit any existing/new alt chains that don't want to or can't use BitcoinX directly.

Everything is going to be open source, however I'm not sure if we'll make considerable improvements to things which aren't directly related to colored coins. It won't be exactly like blockchain.info.

Chromia: a better dapp platform
ripper234
Legendary
*
Offline Offline

Activity: 1358
Merit: 1003


Ron Gross


View Profile WWW
February 07, 2013, 11:14:55 PM
 #5

Everything is going to be open source, however I'm not sure if we'll make considerable improvements to things which aren't directly related to colored coins. It won't be exactly like blockchain.info.

Of course. Building a full blockchain.info clone would cost more than 200 BTC.

MVP first.

BTW, I guess that whatever portion of blockchain.info is opened source might be forked and used in favor of this project. It might take some more effort than building from scratch (or might initially appear to be more effort), but the benefit of forking blockchain.info's code is that it's battle tested.

Of course I could be completely wrong and blockchain's code might be a horrible fit for this project, I don't know it so I can't make that call.

Please do not pm me, use ron@bitcoin.org.il instead
Mastercoin Executive Director
Co-founder of the Israeli Bitcoin Association
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


View Profile
February 07, 2013, 11:16:44 PM
 #6

It would be cool if more people tried using colored coins:

Maybe the fact that you have to beg people to participate should give you some sort of a hint.  Wink

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
February 07, 2013, 11:30:21 PM
 #7

BTW, I guess that whatever portion of blockchain.info is opened source might be forked and used in favor of this project. It might take some more effort than building from scratch (or might initially appear to be more effort), but the benefit of forking blockchain.info's code is that it's battle tested.
Let's hope that piuk directly will get the bounty Cheesy
He seems a good and fast dev.

Anyway, I really hope to see a secure p2p market/exchange Smiley

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 07, 2013, 11:37:26 PM
 #8

Maybe the fact that you have to beg people to participate should give you some sort of a hint.  Wink

Huh?

Colored coins are definitely useless now because nobody have issued anything of value yet. And nobody have issued anything of value because the protocol isn't finalized and implementation is immature.

Effectively it's only a demo now.

And going through blockchain download and running ArmoryX just to play with it is a bit too involved.

I don't think bootstrapping would be that hard once we'll get all software done.

End users don't even need to know that they are using colored coins.

For example, they might interact with an exchange similar to https://btct.co/ but with extra features like anonymous trading, offline storage, transfer between exchanges and so or.

Or they might interact with a payment system which is able to transfer USD, but doesn't require any registration.

Chromia: a better dapp platform
ikbrunel
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
February 07, 2013, 11:46:26 PM
 #9

Awesome! I've started poking around in the Electrum source, intending to implement the atomic/P2P trade tools for that platform.

Quite stoked to see colored coins hitting the rest of the clients codebases. There are some cool applications in the pipeline.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
February 08, 2013, 12:06:42 AM
 #10

Depending on what functionality you exactly need, https://bitcointalk.org/index.php?topic=22785.0 (ABE, Alternative BlockExplorer) is at least already able to read bitcoin style block chains and can also generate various reports. I guess it would not be ok to create a webwallet out of it, but at least some display/3rd party auditing for colored coin exchanges could maybe built in there.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 08, 2013, 12:58:50 AM
 #11

Depending on what functionality you exactly need, https://bitcointalk.org/index.php?topic=22785.0 (ABE, Alternative BlockExplorer) is at least already able to read bitcoin style block chains and can also generate various reports.

bitcoinjs-server acts as a full Bitcoin node, it keeps its own blockchain database and so on.

https://github.com/bitcoinjs/bitcoinjs-server

I guess it would not be ok to create a webwallet out of it, but at least some display/3rd party auditing for colored coin exchanges could maybe built in there.

Yes, but I think bitcoinjs-server is a better choice. Of course it can be used for "colored block explorer".

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

Activity: 793
Merit: 1016



View Profile
February 08, 2013, 01:40:37 AM
 #12

This is a shame colored coins haven't gained more traction.  They're a fantastic way to create stock or something, and a great new way to make bitcoins (or at least some of them!) even more valuable.  It really is a good idea and good addition to bitcoin.

BIGMERVE
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500



View Profile WWW
February 08, 2013, 03:48:34 AM
 #13

Can someone explain what a colored coin is?

deadweasel
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250



View Profile
February 08, 2013, 03:55:45 AM
 #14

Can someone explain what a colored coin is?

It doesn't it exist, it's stupid, it's frivolous, fuck it.

Edit: p.s. whiskey.

ikbrunel
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
February 08, 2013, 04:50:09 AM
 #15

Can someone explain what a colored coin is?

It's an itty-bitty fraction of a Bitcoin that represents ownership of an asset.

That asset could be a bond (in which case payments could be made to all bondholders without knowing who they are pretty trivially by inspecting the blockchain), ownership stakes in a company (in which case stockholders could vote by signing one side or another of a decision with a private key corresponding to the public key to which the colored coin was most recently transferred), or tokens for smart property (in which case your car would ask you to sign a random character string which it would validate against the public key to which its ownership colored coin was transferred most recently).
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 08, 2013, 07:53:21 AM
 #16

General info about colored coins for those who need it: https://bitcointalk.org/index.php?topic=106373.0

Chromia: a better dapp platform
Peter Todd
Legendary
*
Offline Offline

Activity: 1120
Merit: 1150


View Profile
February 08, 2013, 12:25:05 PM
 #17

Have you seen my post on fidelitybonds and contracts? Fidelity bonds are a close cousin to colored coins, with the exception that every txout is associated with a contract. For fidelity bonds this is the contract describing how the holder promises they will act, but for colored coins the "contract" could simply be the identifier of the color; the colored coin protocol for fidelity bonds uses the least significant bits of the txout value to separate contract and change outputs, and thus allows for arbitrary precision. Currently there is just contract and change, but the idea that can easily be extended to multiple different colors in a transaction by using more bits if required, allowing fidelity bonds to be traded for colored coins representing other assets in the future.

Contracts also allow for off-chain trading by inserting a special contract stating that some trusted ledger holder, possibly kept trustworthy by a fidelity bond, will maintain balances for the coins beyond some point. Of course, obviously the problem of trusting some central ledger is exactly the problem that colored coins is trying to solve, but there is room for both solutions, especially as demand on the limited block space becomes high. Trusted ledgers can after all still transfer some of the balance they are keeping a ledger of back onto the block chain, allowing you to get your balance back onto the block chain. Similarly the trusted ledger might actually be a merge-mined alt-chain using cross-chain coin trading. (reminds me, I should ensure the contracts protocol is compatible with those transactions)

Of course, you're pretty far along with colored coins with your existing protocol, but I thought you might be interested in what I'm working on. Also, thanks for everyone who developed the idea of colored coins in the first place; the fidelity bonds and contracts proposal wouldn't have happened without your ideas.

kangasbros
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1006



View Profile
February 08, 2013, 02:31:14 PM
 #18

What about command-line-tool/JSON-rpc for the concept? I think that would be the key to get it to the masses.

midnightlightning
Member
**
Offline Offline

Activity: 68
Merit: 10



View Profile
February 08, 2013, 04:54:34 PM
Last edit: February 08, 2013, 05:09:00 PM by midnightlightning
 #19

So we want to see a web-based Bitcoin client which would support colored coins. Support for colored coins means that

  • it should show balance for each installed color separately
  • it should allow sending coins of a certain color
  • it should implement p2ptrade protocol

Currently we 200 BTC for bounties for this project. We'll probably break the whole thing into smaller tasks and allocate bounty for each task.

As a developer, I'm starting to look at what features this would mean; is this accurate in starting to break down what those "smaller tasks" you mentioned are?

it should show balance for each installed color separately
  • Needs the ability to "install" a color: User needs to be able to upload a color definition file to inform the server of that "color" of coin. => File upload with parsing/verification of the upload file, or typing each of the four fields in
  • The definition files would be global among all users of the site, such that caching the blockchain of where those coins are at would be shared across the site => A separate database would need to be designed for them
  • Non-logged-in users could see the balance/location of colored coins the site knows of, and logged-in users can see what their balance of colored coins is. => The blockchain logic would need to be augmented to keep a running total of colored coin locations, and keep track of colored coins that were inadvertently destroyed by badly-formed transactions merging a colored input into an uncolored input via a single output.

it should allow sending coins of a certain color
  • Needs the ability to create a transaction that follows the order-based coloring rules. The site would ensure that if two inputs are directed at one output, that both are colored, so colored coins don't get destroyed in the process.
.
it should implement p2ptrade protocol
This one I'm not finding a definition for; where's the protocol specification for the "p2ptrade" protocol? I found "P2PTradeX" (cross-chain protocol), is that what you mean? You say you've worked it into your Armory client fork, but I'm not seeing a reference to the original protocol.


Incidentally, I'm excited to see this functionality added to the Bitcoin environment, both for tracking assets, and it could be a way to mark stolen coins to see where they end up. While the Bitcoin protocol itself guards against double-spends and address collision, there's still a few cases of hacking/social engineering that parted people from their coins. In the real world criminals fence/launder money and goods to disguise stolen items. If coins gained unethically were marked as "colored" by some authoritative source (who verified someone's not just crying wolf saying it was stolen), the logic used to track a colored coin through the blockchain could be used by individuals/merchants who don't want to accept stolen coins as payment. Yes, criminals could "launder" the colored coins by merging two inputs into one output by the current protocol, but the matching protocol could easily be extended to figure out what portion of an output is colored, since the protocol sorts the transaction inputs and outputs and matches up their values, there could be logic saying that output N is "red" for the first X BTC, "blue" for the next Y BTC, and uncolored for the rest. If output N then becomes an input for output M, the same logic could split M out by color too. A color-aware client could also un-scramble a given output's colors, then; assigning multiple outputs to that one input.
killerstorm (OP)
Legendary
*
Offline Offline

Activity: 1022
Merit: 1015



View Profile
February 08, 2013, 07:58:47 PM
 #20

What about command-line-tool/JSON-rpc for the concept? I think that would be the key to get it to the masses.

What's the use case?

You can write Python scripts which will work with ArmoryX implementation, that's pretty much trivial.

However, the problem is it takes like 3 minutes to load it up (scanning whole blockchain) in the best case, so you'll probably want a long-running

Here's an example of fully automated Satoshi-Dice-style trading:

https://github.com/killerstorm/BitcoinArmory/blob/color/autotrade.py
https://github.com/killerstorm/BitcoinArmory/blob/color/extras/autotrade-test.py

Whole application in 150 lines of code...

Also, there is bitpaint.py command line tool (fairly primitive compared to what ArmoryX does), it wasn't wildly popular...

Chromia: a better dapp platform
Pages: [1] 2 3 4 »  All
  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!