However, most of these applications are difficult to implement today, simply because the scripting systems of Bitcoin, and even next-generation cryptocurrency protocols such as the Bitcoin-based colored coins protocol and so-called “metacoins”, are far too limited to allow the kind of arbitrarily complex computation that DAOs require. When one wants to create a new opcodes bitcoin news, especially in an area as delicate as cryptography or cryptocurrency, the immediate, and correct, first instinct is to use existing protocols as much as possible. There is no need to create a new currency, or even a new protocol, when the problem can be solved entirely by using existing technologies. Others “install” the color definition file in their colored coin clients.
When the color is first released, output H:i is the only transaction output to have that color. If a transaction spends inputs with color X, then its outputs will also have color X. For example, if the owner of H:i immediately makes a transaction to split that output among five addresses, then those transaction outputs will all also have color X. When a colored coin client notices that it received a new transaction output, it uses a back-tracing algorithm based on the color kernel to determine the color of the output. Right: any attempt to change any part of the Merkle tree will eventually lead to an inconsistency somewhere up the chain. Incompatibility with scripting – as mentioned above, Bitcoin does have a moderately flexible scripting system, for example allowing users to sign transactions of the form “I release this transaction output to anyone willing to pay to me 1 BTC”.
Same limitations as Bitcoin – ideally, on-blockchain protocols would be able to support advanced derivatives, bets and many forms of conditional transfers. Unfortunately, colored coins inherits the limitations of Bitcoin in terms of the impossibility of many such arrangements. The advantage of a metacoin protocol is that the protocol can allow for more advanced transaction types, including custom currencies, decentralized exchange, derivatives, etc, that are impossible to implement using the underlying Bitcoin protocol by itself. In both cases, the conclusion is as follows. The effort to build more advanced protocols on top of Bitcoin, like HTTP over TCP, is admirable, and is indeed the correct way to go in terms of implementing advanced decentralized applications.