public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [Bitcoin-development] Feedback request: colored coins protocol
@ 2014-04-06 20:59 Flavien Charlon
  2014-04-06 23:23 ` Mark Friedenbach
  0 siblings, 1 reply; 16+ messages in thread
From: Flavien Charlon @ 2014-04-06 20:59 UTC (permalink / raw)
  To: bitcoin-development

[-- Attachment #1: Type: text/plain, Size: 2397 bytes --]

Hi,

I am the lead developer of Coinprism <https://www.coinprism.com/>, the new
colored coins web wallet. After some discussions with the other people
involved with colored coins, I wrote a specification document describing
the colored coins protocol that we are using in coinprism.

I am looking for feedback/discussions regarding the protocol before we move
from TestNet to MainNet. The document is here:
https://github.com/Flavien/colored-coins-protocol/blob/master/specification.mediawiki
.

The colored coin protocol is layered on top of the existing Bitcoin
protocol and requires no modification of the existing protocol, so it can
be used today. This means that SPV is not as efficient, as the client needs
to backtrack up to the issuing transaction to find the color of an output,
but that is something we can live with.


The protocol marks transactions either as issuance or transfer transactions
by using an OP_RETURN output with a 9 bytes marker. The protocol uses the
value of an output as the colored value. So if an output has 1 BTC and is
colored with color A, that means we have 1 BTC colored with color A.

An alternative would have been to completely disconnect the colored value
and the real BTC value. The colored value of each output would be encoded
in an OP_RETURN output. Someone who wants to send 1000 colored coins would
craft a transaction with an output with the smallest possible amount of BTC
(5,400 satoshis) and indicate in the OP_RETURN that they are sending 1000
colored coins.
The two reasons why we haven't chosen that approach is that first, this
only works with a limited number of outputs given that we have only 40
bytes. And second, this could lead to people spamming the network with very
small outputs (but containing an arbitrary number of colored coins).

On the other hand, with the approach we're using (colored value = actual
value of the output), the 5,400 satoshis rule means that the smallest unit
of colored coin you can send is 5,400 satoshis.

If you want to issue 1 million shares, while still being able to trade each
share individually, you'd have to set 1 share = 5,400 satoshis, and you
would need a capital of 54 BTC for issuing a million shares. It's not a big
problem in itself, but still a slight inconvenience.

Do you think this is the right approach?

Feel free to reply with any feedback regarding the protocol.

Thanks,
Flavien

[-- Attachment #2: Type: text/html, Size: 2911 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-04-11 13:15 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-06 20:59 [Bitcoin-development] Feedback request: colored coins protocol Flavien Charlon
2014-04-06 23:23 ` Mark Friedenbach
2014-04-07  9:49   ` Flavien Charlon
2014-04-07 12:12     ` Jorge Timón
2014-04-07 14:00       ` Flavien Charlon
2014-04-07 15:06         ` Mark Friedenbach
2014-04-07 15:19           ` Flavien Charlon
2014-04-07 18:23             ` Jorge Timón
2014-04-07 19:26               ` Flavien Charlon
2014-04-07 19:58                 ` Alex Mizrahi
2014-04-10 12:19                   ` Flavien Charlon
2014-04-10 14:28                     ` Jean-Pierre Rupp
2014-04-10 16:59                     ` Mark Friedenbach
2014-04-10 17:24                       ` Alex Mizrahi
2014-04-11 12:51                         ` Flavien Charlon
2014-04-07 11:28   ` Alex Mizrahi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox