Feedback request: colored coins protocol [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2014-04-11T12:51:10+00:00


Summary:

The email thread discusses the limitation of OP_RETURN's 40 bytes on the number of colored outputs per transaction. The author suggests using a compact format (LEB128) for the asset quantity of each output to mitigate this issue. The approach works well for small amounts of colored coins, but applications like sending dividends in colored coins may require splitting into several smaller transactions. The author believes that it is an acceptable limitation.In response to a comment suggesting that what was being done was no longer colored coins, the author explains that the difference between colored coins and Mastercoin is that colored coins are linked to transaction outputs, while Mastercoin has a notion of address balances. The explicit dependencies of colored coins allow for reliance on SPV, which is not the case with Mastercoin. The author concludes by reiterating the limitation of OP_RETURN size for some applications.The conversation revolves around whether or not a certain project is still using colored coins. The difference between colored coin model and Mastercoin model is explained as colored coins being linked to transaction outputs while Mastercoin has a notion of address balances. Colored coin model's explicit dependencies allow for reliance on SPV, whereas this is not the case with Mastercoin. The approach being described is similar to the original colored coins model in most aspects, but OP_RETURN size limitations can pose problems for some applications. The suggestion is made to look into Counterparty or Mastercoin instead.In an email conversation on October 4th, 2014, Flavien Charlon discusses the issue with using padding to solve asset quantity problems when issuing shares. He suggests that explicitly encoding the asset quantity of every output in the OP_RETURN output is a better solution. This way, whether one is issuing 1 share or 100 trillion, they never need to pay more than 540 satoshis. The person responding to Charlon suggests that what he is doing may no longer be considered colored coins and recommends looking into Counterparty or Mastercoin.Decentralized networks may make it more appropriate to emit fewer shares, as 2 billion shares backed by coloured coins makes less sense than a more conservative number. However, if a company has already created a significant number of shares, then a coloured coin can represent a bundle of shares, with another coloured coin instrument emitted for smaller investors unwilling to deal in terms of bundled shares. Coloured coins have benefits but also constraints that are not difficult to live with. Flavien Charlon suggests that the asset quantity of every output is explicitly encoded in the OP_RETURN output, so whether you are issuing 1 share or 100 trillion, you never need to pay more than 540 satoshis.The email thread discusses the concern with requiring a large BTC capital for issuing coloring coins. The sender is modifying the specification to address it and will post an update when finished. The proposed solution is to encode the asset quantity of every output in the OP_RETURN output. This way, whether one is issuing 1 share or 100 trillion shares, they never need to pay more than 540 satoshis. The recipient of the email argues that using padding is still quite simple, and there are only a few extra lines of code required to handle it. He suggests that it solves the problem once and for all, whereas the proposed solution would create inconvenience for end-users. He also points out that creating different denominations of colored coins would be much more complex and wouldn't work practically.The author of the text is discussing the complexity of adding padding to colored coins, stating that it only requires a few extra lines of code. They argue against an alternative proposal of creating different denominations of colored coins for different share amounts, citing the practicality issue of sending fractional amounts. The author questions why one would prefer to push the complexity to higher levels and create inconvenience for users rather than simply adding a small amount of code to the color kernel. They conclude by stating they will not argue further on the topic.In this context, the discussion is about the use of colored coins to represent shares in a company. The issue at hand is that when buying shares, the buyer may also have to purchase some amount of Bitcoin, which can be inconvenient. One suggestion is to use different colored coins to represent different numbers of shares, like dollar bills of different denominations. It is noted that a proper application layer/UI could hide this from the user and reduce the need for padding. The protocol should remain as simple as possible, and if a UI can work around the issue, it may not be worth complicating the protocol. The dust rule, which sets a minimum transaction value, may disappear one day, rendering the padding parameter useless. The conversation then turns to the idea of listing gold plates on a company's balance sheet. It is clarified that the gold plates are an asset for the owner of the share, not the company itself. The use of gold plates to represent shares raises questions about whether the company is raising capital or selling gold.


Updated on: 2023-08-01T08:35:02.875329+00:00