I think the notion that the blockchain is Bitcoin's database is wrong.

* the UTXO set is the database

* the blocks take the database from one consistent state to the next.

* the blocks are needed only by newly started nodes to recreate the database.

In this context,

* OP_RETURN is not bloating the database as it never enters it.

* Encoding data in non-OP_RETURN outputs does bloat the database.

Switching what you call "the database" doesn't change the problem with bloat, but maybe the perspective changes a little bit.

Reply to this note

Please Login to reply.

Discussion

(The utxo set is the database - it tells you the current state of how the bitcoin supply is controlled; the blockchain is the audit log of the database - it tells you every change that got us to the current state)

And blocks should be called transactions, and transactions should be called statements, transfers, or ... jpegs.