user1876: I'm reading this article, and quote

The blockchain transaction’s OP_RETURN data can be decrypted using AES-256 GCM to provide a backup command and control domain name

How did someone able to manipulate the Bitcoin transaction script without affecting the transaction?

user13866: As I understand it, OP_RETURN allows the script to exit early with a result of FALSE without evaluating the remainder of the script. That means the transaction output is non-spendable but that the whole transaction still passes normal validation tests.
It is designed in a way that allows a small amount of arbitrary data to be embedded in the script.
See

https://en.bitcoin.it/wiki/OP_RETURN
Explanation of what an OP_RETURN transaction looks like

https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain says

OP_RETURN and data in the block chain

On OP_RETURN: There was been some confusion and misunderstanding in the community, regarding the OP_RETURN feature in 0.9 and data in the blockchain. This change is not an endorsement of storing data in the blockchain. The OP_RETURN change creates a provably-prunable output, to avoid data storage schemes – some of which were already deployed – that were storing arbitrary data such as images as forever-unspendable TX outputs, bloating bitcoin’s UTXO database.
Storing arbitrary data in the blockchain is still a bad idea; it is less costly and far more efficient to store non-currency data elsewhere.


1876: <p>I'm reading <a href="https://blog.google/threat-analysis-group/disrupting-glupteba-operation/" rel="nofollow noreferrer">this article</a>, and quote</p>
<blockquote>
<p>The blockchain transaction’s OP_RETURN data can be decrypted using AES-256 GCM to provide a backup command and control domain name</p>
</blockquote>
<p>How did someone able to manipulate the Bitcoin transaction script without affecting the transaction?</p>
 13866: <p>As I understand it, OP_RETURN allows the script to exit early with a result of FALSE without evaluating the remainder of the script. That means the transaction output is non-spendable but that the whole transaction still passes normal validation tests.</p>
<p>It is designed in a way that allows a small amount of arbitrary data to be embedded in the script.</p>
<p>See</p>
<ul>
<li><a href="https://en.bitcoin.it/wiki/OP_RETURN" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/OP_RETURN</a></li>
<li><a href="https://bitcoin.stackexchange.com/q/29554/13866">Explanation of what an OP_RETURN transaction looks like</a></li>
</ul>
<p><a href="https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain" rel="nofollow noreferrer">https://bitcoin.org/en/release/v0.9.0#opreturn-and-data-in-the-block-chain</a> says</p>
<blockquote>
<p>OP_RETURN and data in the block chain</p>
<hr />
<p>On OP_RETURN: There was been some confusion and misunderstanding in the community, regarding the OP_RETURN feature in 0.9 and data in the blockchain. This change is not an endorsement of storing data in the blockchain. The OP_RETURN change creates a provably-prunable output, to avoid data storage schemes – some of which were already deployed – that were storing arbitrary data such as images as forever-unspendable TX outputs, bloating bitcoin’s UTXO database.</p>
<p>Storing arbitrary data in the blockchain is still a bad idea; it is less costly and far more efficient to store non-currency data elsewhere.</p>
</blockquote>
