Unlimted OP_RETURN: Explained for everyone.

Bitcoin requires data. There are rules about what that data can be. Those rules give us wonderful things like multisig and Lightning. Capacity for data is limited by blocks. This limit keeps Bitcoin accessible to everyone by keeping resource requirements low. Miners try to earn as much money as they can until that data capacity is filled up. The more data you include in your transactions, the more expensive they are to send because of supply and demand. Users run nodes. Those nodes always relay blocks, and most of them also choose to relay transactions. Nodes choose to relay transactions for two reasons: To estimate what fee their user should use for their own transactions To guess what will be in the next block, reducing bandwidth and saving resources. If miners include transactions in blocks that were not exchanged by nodes on the network, it may cause users’ nodes to consume more resources, may result in users paying too much for their own transaction fees, or may result in users paying too little for their own transaction fees, leading to long wait times for confirmation. Therefore, the best policy for nodes is to anticipate miners’ behavior and emulate it. Transactions have different kinds of data. Output scripts must be stored by every node until they are spent. If they are never spent (or unspendable) they are stored forever. Nulldata is added to transactions being SENT, is ignored by nodes and can be deleted. Witness data is added to transactions being RECEIVED, is processed by nodes and then can be deleted. Witness data costs less transaction fees than other data, but can only be used after some earlier transaction (paying a fee) has been SENT. A user may add data to a transaction without caring where in the transaction it is because: The data is not intended to be interpreted by Bitcoin’s consensus rules The data is intended to be interpreted by some other software for some reason besides validating the transactions themselves This behavior can not be prevented by policy alone: Bitcoin allows permissionless, uncensorable payments between untrusted parties. Users can use Bitcoin to pay miners to include data in blocks. The less harmful kind of transaction data, if it does not need to be processed by Bitcoin’s consensus mechanism, is NULLDATA. The best way to make Bitcoin Core the most useful, best performing software possible for the most Bitcoin users possible, is to relay transactions without any limit on nulldata. submitted by /u/pinhead26 [link] [comments]

May 2, 2025 - 21:19
 0

Bitcoin requires data.

There are rules about what that data can be.

Those rules give us wonderful things like multisig and Lightning.

Capacity for data is limited by blocks.

This limit keeps Bitcoin accessible to everyone by keeping resource requirements low.

Miners try to earn as much money as they can until that data capacity is filled up.

The more data you include in your transactions, the more expensive they are to send because of supply and demand.

Users run nodes.

Those nodes always relay blocks, and most of them also choose to relay transactions. Nodes choose to relay transactions for two reasons:

  1. To estimate what fee their user should use for their own transactions
  2. To guess what will be in the next block, reducing bandwidth and saving resources.

If miners include transactions in blocks that were not exchanged by nodes on the network, it may cause users’ nodes to consume more resources, may result in users paying too much for their own transaction fees, or may result in users paying too little for their own transaction fees, leading to long wait times for confirmation.

Therefore, the best policy for nodes is to anticipate miners’ behavior and emulate it.

Transactions have different kinds of data.

  • Output scripts must be stored by every node until they are spent. If they are never spent (or unspendable) they are stored forever.

  • Nulldata is added to transactions being SENT, is ignored by nodes and can be deleted.

  • Witness data is added to transactions being RECEIVED, is processed by nodes and then can be deleted. Witness data costs less transaction fees than other data, but can only be used after some earlier transaction (paying a fee) has been SENT.

A user may add data to a transaction without caring where in the transaction it is because:

  • The data is not intended to be interpreted by Bitcoin’s consensus rules
  • The data is intended to be interpreted by some other software for some reason besides validating the transactions themselves

This behavior can not be prevented by policy alone:

  • Bitcoin allows permissionless, uncensorable payments between untrusted parties.
  • Users can use Bitcoin to pay miners to include data in blocks.

The less harmful kind of transaction data, if it does not need to be processed by Bitcoin’s consensus mechanism, is NULLDATA. The best way to make Bitcoin Core the most useful, best performing software possible for the most Bitcoin users possible, is to relay transactions without any limit on nulldata.

submitted by /u/pinhead26
[link] [comments]