<blockquote>
<p>Yet, if the transactions are valid, the old nodes have no idea where those coins got spent. Are they seen as lost coins?</p>
</blockquote>
<p>Old nodes do know where the coins are going, as the transaction format didn't change. It has inputs and outputs. Taproot inputs are seen as valid by pre-taproot nodes (including taproot-invalid taproot inputs, of course, as they can't verify the rules). But nothing changed about the rest; pre-taproot nodes still:</p>
<ul>
<li>Require that UTXOs referenced as inputs exist, and mark them spent</li>
<li>Create new UTXOs for all outputs in the transaction</li>
<li>Enforce the sum of the input amounts is at least equal to the output amounts</li>
<li>...</li>
</ul>
<blockquote>
<p>What happens when a Taproot transaction is followed by a old style transaction such that UTXOs are back to being available for spending as an old-style transactions?</p>
</blockquote>
<p>There is no such thing as a taproot transaction. Taproot validation rules are a per-input concept, local to its script validation. Everything else about a transaction with a taproot input is unchanged.</p>
<p>The successor transaction is just validated normally.</p>

CC BY-SA 4.0
2022-10-25T23:44:14.223Z
2022-10-28T15:10:12.637Z
2022-10-28T15:10:12.637Z
Pieter Wuille
<p>Nodes that don’t know about Taproot need to be able to validate the blocks with Taproot transactions. Marking them as valid spends is the only option for not forking the network.</p>
<p>Yet, if the transactions are valid, the old nodes have no idea where those coins got spent. Are they seen as lost coins?</p>
<p>What happens when a Taproot transaction is followed by a old style transaction such that UTXOs are back to being available for spending as an old-style transactions?</p>

<full-node><nodes><taproot><validation>
What does an un-upgraded node see when new Taproot transactions are on chain?
Aleksandr Levchuk
# What does an un-upgraded node see when new Taproot transactions are on chain?

(Asked by: username_0 on 2022-10-25)

Nodes that don’t know about Taproot need to be able to validate the blocks with Taproot transactions. Marking them as valid spends is the only option for not forking the network.

Yet, if the transactions are valid, the old nodes have no idea where those coins got spent. Are they seen as lost coins?

What happens when a Taproot transaction is followed by a old style transaction such that UTXOs are back to being available for spending as an old-style transactions?

**Tags:** full-node, nodes, taproot, validation


---

## 1 answers

### Answer by username_1 on 2022-10-25. Score: 8 | Accepted answer

> Yet, if the transactions are valid, the old nodes have no idea where those coins got spent. Are they seen as lost coins?

Old nodes do know where the coins are going, as the transaction format didn't change. It has inputs and outputs. Taproot inputs are seen as valid by pre-taproot nodes (including taproot-invalid taproot inputs, of course, as they can't verify the rules). But nothing changed about the rest; pre-taproot nodes still:

* Require that UTXOs referenced as inputs exist, and mark them spent
* Create new UTXOs for all outputs in the transaction
* Enforce the sum of the input amounts is at least equal to the output amounts
* ...

> What happens when a Taproot transaction is followed by a old style transaction such that UTXOs are back to being available for spending as an old-style transactions?

There is no such thing as a taproot transaction. Taproot validation rules are a per-input concept, local to its script validation. Everything else about a transaction with a taproot input is unchanged.

The successor transaction is just validated normally.


---

