Questions tagged [op-return]

An opcode that allows you to create an unspendable transaction output that stores up to 80 bytes of data.

Filter by
Sorted by
Tagged with
3 votes
2 answers
275 views

Understanding how ordinals work with the Bitcoin blockchain. What is exactly stored on the blockchain?

Supposedly someone uploaded a Doom clone to the bitcoin blockchain: https://ordinals.com/content/521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0 But I'm a bit confused on exactly ...
2 votes
1 answer
96 views

Raw data vs information encoded in OP_RETURNs

Imagine I want to fill the 80 bytes of OP_RETURN data with zeroes, so that the resulting data is 640 bits set to 0, or 160 hex digits set to 0. The data is 640 bits but the information encoded is much ...
6 votes
1 answer
416 views

Was the lifting of the Taproot transaction size limit "accidental"? Why would ordinals want to fill a block with OP_RETURNs?

I was reading this Twitter thread from pourteaux. I'm pretty sure there are some inaccuracies in it but I have a couple of questions. He states: Taproot accidentally blew up the old transaction size ...
3 votes
1 answer
105 views

How can I recognize an OP_RETURN transaction looking only at the hex?

Looking at these two transactions for example: tx1 and tx2. tx1 is an OP_RETURN trasaction, tx2 is a normal transaction. raw hex from tx1 (OP_RETURN): ...
1 vote
1 answer
25 views

Can BIP351 notification transactions be discovered via compact client-side block filters?

I have been reading a bit about BIP351 Private Payments. BIP351 uses nulldata outputs (OP_RETURN) to create shared secrets on the blockchain. Could these notification outputs be monitored client-side ...
  • 67.3k
0 votes
1 answer
38 views

How can I prevent a transaction from being spent

For an academic article I want to know if I can prevent a transaction from being spent at all? I tried to send a transaction with only one output that contains only data (no output address provided) ...
  • 167
1 vote
2 answers
49 views

What are the mean, median, range, limits and trends in the size of coinbase transactions?

I'm attempting to estimate how much "spare capacity" there is for merged mining protocols. As I understand it the scriptSig in the coinbase transaction must be less than 100B. However, the ...
  • 336
3 votes
1 answer
176 views

Tx with OP_RETURN with 77 bytes of data refused by node

A transaction with a 77 bytes OP_RETURN is refused, but with shorter data (e.g. 74 bytes) is accepted, although up to 80 bytes should work. What is the safe limit to be used? Per these references the ...
  • 314
3 votes
2 answers
226 views

Why isn't it possible to add an OP_RETURN (or some arbitrary script) inside a taproot script path with a descriptor?

I'm reading the Bitcoin Core's descriptor documentation and I noticed that the raw() SCRIPT expression can only be used at descriptor top-level. Indeed when called with this descriptor ...
  • 551
2 votes
1 answer
261 views

What is OP_RETURN b9e11b6d?

While investigating some Bitcoin coinbase transactions, I notice that a lot of them have an output of the form OP_RETURN OP_PUSHBYTES_36 b9e11b6d… where ‘…’ is 32 bytes, probably a hash of something. ...
0 votes
2 answers
114 views

How can I query for all OP_RETURN data starting at a specific block height (or hash)

I'm working on a "light client" for ION (Identity Overlay Network), and I'd like to see if there is a better method to grab the OP_RETURN data that it needs in order to build state. ...
0 votes
3 answers
94 views

Different ways in which bitcoin can be burnt

I'm interested in the different ways in which bitcoin can be burnt. I can see three ways: Send coins to a 'made-up' address. There's no way to distinguish it from a real address (so the transaction ...
1 vote
1 answer
153 views

Are OP_RETURN transactions not stored in chainstate database?

I'm running a bitcoin node on regtest. I'm writing scripts to interact with the chain-state database. For my purpose, I'm creating, signing and sending a transaction to my node (pretty much following ...
5 votes
2 answers
444 views

Was Bitcoin 0.3.7 actually hard-forking?

Reading through the wiki (bitcoin.it consensus versions) I noticed that release 0.3.7 ("scriptSig + scriptPubKey evaluations separated") is listed as a hard-forking change. In BitMEX's ...
user avatar
2 votes
1 answer
103 views

What is encoded in the first taproot enabled block?

There are a bunch of encoded messages in the first taproot enabled block in op_return outputs. What is encoded there?
0 votes
0 answers
80 views

Creating an OP_Return TX with Python bitcoinlib

How can I create an op_return TX with python bitcoinlib? The transaction should include the OP_RETURN HEX-Data and an address where I send my change money
0 votes
2 answers
83 views

How much information can a single taproot output hold?

Does taproot make OP_RETURN obsolete? How much information can I stuff into an output? A tapscript leaf? Is there a max depth to the tapscript tree?
  • 1,568
8 votes
1 answer
2k views

How does OP_RETURN burn coins?

What exactly causes the output containing OP_RETURN to be unspendable? And why do I have to use the byes after OP_RETURN for keeping data in the blockchain and I can't use bytes before OP_RETURN?
0 votes
2 answers
457 views

Why are OP_RETURN transactions discouraged? Does using version or locktime make any difference?

Why are OP_RETURN transactions discouraged? Are they paying less fees compared to other transactions? Will it make any difference if same thing is done using version or locktime when data is either 1 ...
user avatar
0 votes
1 answer
140 views

Accessing bitcoind from python module hits error

I am experimenting with the blockchain a bit, specifically trying to use the python-OP_RETURN module to put a few bytes into the blockchain op_return field. To use this module I blv I need a running ...
2 votes
1 answer
212 views

What has OP_RETURN been used for over Bitcoin's history?

What has OP_RETURN been used for over Bitcoin's history? How were these use cases enabled?
2 votes
1 answer
253 views

Can Taproot be used to commit arbitrary data to chain without any additional footprint?

A common way of committing some data to the chain is through an OP_RETURN with some hash. Doing this marks an output unspendable, but the output still requires some footprint (and cost) on the chain ...
  • 3,284
2 votes
1 answer
112 views

"At first, anyone could spend anyone's coins"?

I've been watching this Bitcoin video: https://youtu.be/ZIugzFygviw?t=294 At the linked-to timestamp, he claims that: Due to bugs, at first, anyone could spend anyone's coins! I'm not saying that I ...
1 vote
1 answer
139 views

Why is the source code fee calculated higher than the current bitcoin fee amount?

In python bit (https://github.com/ofek/bit/), when sending a message, it is properly 80 bytes or less (https://developer.bitcoin.org/devguide/transactions.html) fee is If it is a 4-byte character ...
4 votes
4 answers
759 views

What is the currently most efficient and reliable method to store the Bitcoin blockchain in a local database?

I have seen several posts on this before, and have tried all the suggested solutions, but I can't get any of them to work. I am interested in analysing transactions with the OP_RETURN opcode for a ...
0 votes
1 answer
212 views

How to send a 100KB OP_RETURN? [closed]

I'm trying to send an OP_RETURN transaction, and the program says that I can't do it because it is over 80 bytes. I would like to send a transaction using OP_RETURN that stores data. There is a site ...
1 vote
0 answers
396 views

How to add money to my Bitcoin Wallet and send my first Raw Transaction with OP_RETURN using bitcoin-cli

Background So after reading these two articles (Learning Bitcoin from the Command Line and Mastering Bitcoin), I am trying to piece together how I can get my first transaction with OP_RETURN data ...
  • 221
1 vote
1 answer
75 views

Send payment and message at the same time

I am using NBitcoin to write some code. I want to send some bitcoin to an address AND include a message with it. The message could say who the payment came from or why it was sent. According to the ...
0 votes
1 answer
178 views

Is OP_RETURN dangerous for Bitcoin?

Please explain something about OP_RETURN to me? https://bitcointalk.org/index.php?topic=1166928.0 I saw a discussion that the contents of OP_RETURN can open the value of access to the private key. I ...
5 votes
1 answer
734 views

Why does this coinbase transaction have two op_return outputs?

I've been looking at coinbase transactions for fun and I came across one with two op_return outputs.. Does anyone know what the second one is? Also, I understand the first op_return is used to ...
  • 51
1 vote
1 answer
80 views

What is service or entity broadcasts transactions with OP_RETURN data starting with "LP..."?

There have been quite a few OP_RETURN transactions recently where OP_RETURN data in the scriptPubKey starts with 4c 50 which is LP as ASCII. For example these transactions: - ...
  • 1,382
0 votes
1 answer
718 views

How do I broadcast an OP_RETURN transaction using bitcoin cli

I am using Bitcoin Testnet's command line (and GUI). I am curious how, using my own computer and equipment (I already used a faucet) I could send a transaction easily. I tried https://github.com/...
0 votes
1 answer
72 views

Retrieve number of OP-RETURN transaction

Is there a possible way to extract the bitcoin transaction protocoll with Python and extract specifically OP RETURN transaction? I want to plot the number of those over the course of time to derive ...
  • 1
1 vote
1 answer
122 views

In the bitcoin scripting language, how can I access other outputs of the transaction? Or how else can I limit how the coins may be spent?

Is there any way to add an opcode to a UTXO that prevents how the coins are spent? For example, in order to to spend the output, a person must send X number of bitcoin to Y address within the ...
0 votes
2 answers
385 views

Is there anything preventing Lightning Network from passing embedded data in OP_RETURN?

As long as you pay a BTC fee for all the routing node incentives and the last layer in the onion routing includes a transaction with OP_RETURN, wouldn't that allow using OP_RETURN for various ...
0 votes
2 answers
187 views

What Opcodes are used to store a file within Bitcoin? [closed]

At a block-to-block level, what is actually encoded at a byte[] level to encode a file stream?
  • 109
3 votes
1 answer
138 views

Can PUSHDATA/OP_RETURN be used to break a trail of transactions permanently?

I was reading the Bitcoin wiki on how the Bitcoin protocol has no "From" address and the closest thing to a from address is a "previously receiving address". The article then proceeds to show a ...
3 votes
1 answer
691 views

What's the deal with OP_RETURN and length?

It seems like most OP_RETURN transactions include length as the first byte after the OP_RETURN code. Is this specified anywhere? Also, the length is sometimes the entire length of the rest of the ...
  • 131
0 votes
1 answer
107 views

Consensus roles for op_return

What is the validation rule, not policy, for op_return? What is the maximum length of the data that can be attached? Is it 514 bytes? As if the maximum script size was 520 bytes -1 byte for the ...
  • 1,034
5 votes
1 answer
2k views

OP_RETURN max bytes clarification

I've read that an OP_RETURN opcode allows up to 80 arbitrary bytes to be used in an unspendable transaction. My question is, how is it possible that in this famous transaction (...
  • 175
4 votes
2 answers
1k views

OP_RETURN in a coinbase transaction?

Hey looking at this transaction I'm confused why there are two outputs and why one of them is labelled with OP_RETURN
  • 1,568
0 votes
2 answers
60 views

How is "additional information" stored in the ledger and which blockchain projects don't allow it?

So there have been these rumours going around about child abuse information being stored in the bitcoin ledger, that might make bitcoin illegal to possess. How is this infirmation stored and are ...
3 votes
2 answers
4k views

What's with this address 1111111111111111111114oLvT2?

It was the burn address with the most BTC received in 2017 according to http://bitcoinwhoswho.com/blog/2017/12/30/8-97-bitcoins-burned-in-2017/. It's Hash160 is ...
3 votes
1 answer
345 views

Why is there an output with op-return in regtest mode?

Here is an output from getrawtransaction: { "txid": "a2b9e3aa4adeb68a9b8b8b0bbc8d4890585cd711e89cda83e7f236397fac6218", "hash": "6d96c04d49eefe3eab4934188841ef3592c818bf789517b90b1f71ff75a14c26",...
  • 1,303
4 votes
1 answer
1k views

Bitcoin Protocol OP_RETURN + Omni USDT Tether + CoPay Multisig Help

I have been asked to recover some tether that have been sent to the wrong address... Sitting on the blockchain in a multisig copay account. I have written small php command line tools to reproduce ...
0 votes
1 answer
834 views

Create an OP_RETURN tx and validate it's existence in Regtest

A part of my MSc thesis is storing the hash of a string with OP_RETURN tx in the Blockchain to exist as a proof. My main concerns are: -how can i send this tx successfully to my regtest network -...
  • 359
0 votes
1 answer
82 views

Is possible specify who can send bitcoins to me?

I have an idea to store data in OP_RETURN, but… The main problem is it need to easy to review all the transactions. I mean, every user need to have access to the OP_RETURN, giving the public key ...
  • 129
1 vote
2 answers
1k views

Convert plaintext script into hex-encoded script in python

I'm creating a program (for an altcoin I'm developing) that should make it easy to create OP_RETURN transactions. Currently I'm having some trouble with actually creating the script pythonically (I ...
0 votes
1 answer
410 views

Get OP_RETURN from bitcoin-cli

Is there a way to extract old OP_RETURN transactions from the commandline with bitcoin-cli or something? Something in the way of getAllOpRetFromBlock(345345) ...
  • 115
3 votes
1 answer
530 views

Can a transaction have a single 0-value OP_RETURN as its only output?

My goal is to create a transaction that spends dust outputs to a miner. Since the goal is to reduce the UTXO set by consuming low value outputs, I do not want to create any new UTXO by actually ...
  • 4,818