[Bitcoin-development] Increasing the OP_RETURN maximum payload size

Pieter Wuille pieter.wuille at gmail.com
Mon Nov 17 12:00:07 UTC 2014

On Mon, Nov 17, 2014 at 12:43 PM, Flavien Charlon
<flavien.charlon at coinprism.com> wrote:
>> My main concern with OP_RETURN is that it seems to encourage people to use
>> the blockchain as a convenient transport channel
> The number one user of the blockchain as a storage and transport mechanism
> is Counterparty, and limiting OP_RETURN to 40 bytes didn't prevent them from
> doing so. In fact they use multi-sig outputs which is worse than OP_RETURN
> since it's not always prunable, and yet let them store much more than 40
> bytes.

It wasn't limited to stop them from using it. It was limited to avoid
giving others the impression that OP_RETURN was intended for data
storage. For the intended purpose (making a transaction commit to some
external data) a 32-byte hash + 8 byte id is more than sufficient.

> For Open Assets, we need to store a URL in the OP_RETURN output (with
> optionally a hash) plus some bytes of overhead. 40 bytes comes really short
> for that. The benefit of having a URL in there is that any storage mechanism
> can be used (Web, FTP, BitTorrent, MaidSafe...), whereas with only a hash,
> you have to hardcode the storing mechanism in the protocol (and even then, a
> hash is not enough to address a HTTP or FTP resource). Storing only a hash
> is fine for the most basic timestamping application, but it's hardly enough
> to build something interesting.

Do you really need that data published to everyone? You're at the very
least exposing yourself to censorship, and (depending on the design)
potentially decreased privacy for your users. I would expect that for
most colored coin applications, just having the color transfer
information in external data sent directly to the receiver with
transactions committing to it should suffice.


More information about the bitcoin-dev mailing list