<p>Mempool policy and the standardness rules only apply to unconfirmed transactions. There are no propagation guarantees for unconfirmed transactions. Unconfirmed transactions that conform to a node’s mempool policy are forwarded on best-effort basis and eventually reach most nodes that are online at the time the transaction is propagating.</p>
<p>Once any transactions are included in a block, mempool policy no longer applies. Blocks are only judged on basis of the validity rules that define the network consensus. We have propagation guarantees for blocks: every full node must learn about the current best chaintip in order to synchronize with the rest of the network. Therefore, any valid transactions included in a block are guaranteed to be propagated along with the rest of the block.</p>
<p>We treat these two different types of data so differently to protect our own nodes’ resources and network resources. Unconfirmed transactions are cheap to produce and might not be of permanent relevance. In contrast, blocks are expensive to produce and almost always of permanent relevance.</p>

CC BY-SA 4.0
2023-09-27T15:52:11.260Z
2023-09-27T15:52:11.260Z
Murch
<p>The block will be relayed if it is valid. Standardness rules have no play in a valid mined block.</p>
<p>If it wasn't relayed then the chain would break and that block would probably be reorged out for no reason.</p>

CC BY-SA 4.0
2023-09-16T23:29:55.273Z
So the term "standardness" only exists in the context of transactions? And in the context of blocks, if the block is valid = relay, otherwise not.
dassd
CC BY-SA 4.0
2023-09-16T23:27:35.147Z
2023-09-16T23:27:35.147Z
fiatjaf
<p>When a node receives a non-standard transaction (for example, it has more than one OP_return output or has some of the non-standard outputs), it will not be relayed further through the network, however, if it is valid inside a block, it will be accepted.</p>
<p>What I'm curious about is what happens to a block that contains non-standard transactions? If it is valid, of course it will be accepted, but is such a block relayed further through the network or not (as in the case of transactions)?</p>
<p>For example, a block contains a transaction with 2 OP_return outputs, or something in the script validation is not standard, but everything is valid. This block will be accepted by the node, but will the node relay further this block to other peers or not (as in the case of non-standard transaction)?</p>

<block><mempool><relay><block-validity><non-standard-transaction>
Are blocks containing non-standard transactions relayed through the network or not as in the case of non-standard transactions?
dassd
# Are blocks containing non-standard transactions relayed through the network or not as in the case of non-standard transactions?

(Asked by: username_0 on 2023-09-16)

When a node receives a non-standard transaction (for example, it has more than one OP\_return output or has some of the non-standard outputs), it will not be relayed further through the network, however, if it is valid inside a block, it will be accepted.

What I'm curious about is what happens to a block that contains non-standard transactions? If it is valid, of course it will be accepted, but is such a block relayed further through the network or not (as in the case of transactions)?

For example, a block contains a transaction with 2 OP\_return outputs, or something in the script validation is not standard, but everything is valid. This block will be accepted by the node, but will the node relay further this block to other peers or not (as in the case of non-standard transaction)?

**Tags:** block, mempool, relay, block-validity, non-standard-transaction


---

## 2 answers

### Answer by username_2 on 2023-09-16. Score: 5 | Accepted answer

The block will be relayed if it is valid. Standardness rules have no play in a valid mined block.

If it wasn't relayed then the chain would break and that block would probably be reorged out for no reason.

> **Comments:**
> **username_0**: So the term "standardness" only exists in the context of transactions? And in the context of blocks, if the block is valid = relay, otherwise not.  

---

### Answer by username_1 on 2023-09-27. Score: 2

Mempool policy and the standardness rules only apply to unconfirmed transactions. There are no propagation guarantees for unconfirmed transactions. Unconfirmed transactions that conform to a node’s mempool policy are forwarded on best-effort basis and eventually reach most nodes that are online at the time the transaction is propagating.

Once any transactions are included in a block, mempool policy no longer applies. Blocks are only judged on basis of the validity rules that define the network consensus. We have propagation guarantees for blocks: every full node must learn about the current best chaintip in order to synchronize with the rest of the network. Therefore, any valid transactions included in a block are guaranteed to be propagated along with the rest of the block.

We treat these two different types of data so differently to protect our own nodes’ resources and network resources. Unconfirmed transactions are cheap to produce and might not be of permanent relevance. In contrast, blocks are expensive to produce and almost always of permanent relevance.


---

