J.R.'s original approach was hiding the data in an Bitcoin address. The big downside to this method is that these addresses can never be spend since no private key exists. When using this method you are basically polluting the blockchain with data that can never be removed. (We call these transactions Class A)
The next solution we came up with was using multi-sig transactions. By supplying an public key that can be used when you want to spend the output we can now make sure every output we create is spendable. This stops the pollution problem. (We call these transactions Class B)
What I understand from OP_RETURN is that you can basically add 80bytes of arbitrary data to each transaction. This would give us a perfect way to encode our data in the most harmless way since these outputs are 'Provably Prune-able' and can safely be ignored when parsing the blockchain. (These transactions will most likely be Class C transactions)
I hope this explains it. If anybody spots an error let me know.
Hi Tachikoma
Thanks for that summary (and apologies if the following question has been covered elsewhere).
Will these new classes of transactions remove the necessity of using sendmany to make a payment?
The reason I'm asking is that I bought Mastercoins early on using a Coinbase wallet, and because Coinbase doesn't support sendmany and doesn't allow access to your private keys, they're stuck there.