<p>The validation of the state change of a smart contact in the eUTXO model is done when accepting the transaction. When a node validates a transaction, the node determines if the transaction is allowed to use a certain output as an input. The transaction will look up the script provided by the output's address and will execute the script if the transaction can use the output as an input. The node can validate multiple transactions in parallel if they are not consuming the same input.</p>
<p>References:</p>
<ul>
<li><a href="https://iohk.io/en/blog/posts/2021/04/13/plutus-what-you-need-to-know/" rel="noreferrer">https://iohk.io/en/blog/posts/2021/04/13/plutus-what-you-need-to-know/</a></li>
<li><a href="https://iohk.io/en/blog/posts/2021/03/11/cardanos-extended-utxo-accounting-model/" rel="noreferrer">https://iohk.io/en/blog/posts/2021/03/11/cardanos-extended-utxo-accounting-model/</a></li>
<li><a href="https://iohk.io/en/blog/posts/2021/03/12/cardanos-extended-utxo-accounting-model-part-2/" rel="noreferrer">https://iohk.io/en/blog/posts/2021/03/12/cardanos-extended-utxo-accounting-model-part-2/</a></li>
</ul>

CC BY-SA 4.0
2021-05-02T22:26:05.237Z
So, does every node in the chain has to do all those stuff?
Jelil Akjaly
CC BY-SA 4.0
2021-05-06T20:07:01.633Z
@JelilAkjaly Perhaps only the block minting node needs to do it, creating resulting transactions in the mempool. Then another minter validates those transactions and so on...
emesik
CC BY-SA 4.0
2021-05-01T11:29:50.957Z
2021-05-01T11:29:50.957Z
Marek Mahut - StakeNuts
<p>When smart contracts launch, will every node (relay and producer) have to execute all contracts executions, and therefore all see the same increase in resource usage?</p>
<p>My inkling is that they have to (to ensure the blocks are valid), although I wondered if there was some clever way to avoid this I hadn't considered.</p>

<smart-contract><transaction>
When smart contracts launch, will every node on the network have to run every contract transaction?
# When smart contracts launch, will every node on the network have to run every contract transaction?

(Asked by: username_0 on 2021-05-01)

When smart contracts launch, will every node (relay and producer) have to execute all contracts executions, and therefore all see the same increase in resource usage?

My inkling is that they have to (to ensure the blocks are valid), although I wondered if there was some clever way to avoid this I hadn't considered.

**Tags:** smart-contract, transaction

---

## 1 answers

### Answer by username_1 on 2021-05-01. Score: 7 | Accepted answer

The validation of the state change of a smart contact in the eUTXO model is done when accepting the transaction. When a node validates a transaction, the node determines if the transaction is allowed to use a certain output as an input. The transaction will look up the script provided by the output's address and will execute the script if the transaction can use the output as an input. The node can validate multiple transactions in parallel if they are not consuming the same input.

References:

* <https://iohk.io/en/blog/posts/2021/04/13/plutus-what-you-need-to-know/>
* <https://iohk.io/en/blog/posts/2021/03/11/cardanos-extended-utxo-accounting-model/>
* <https://iohk.io/en/blog/posts/2021/03/12/cardanos-extended-utxo-accounting-model-part-2/>

> **Comments:**
> **username_2**: So, does every node in the chain has to do all those stuff?  
> **username_3**: @JelilAkjaly Perhaps only the block minting node needs to do it, creating resulting transactions in the mempool. Then another minter validates those transactions and so on...  

---

