@@ -27,10 +27,18 @@ This restriction creates a specific inefficiency: if a transaction produces an
2727output containing a script or datum that is also required to validate that same
2828transaction, the transaction cannot utilize the copy present in the output.
2929Instead, the transaction must provide a redundant copy of the same script or
30- data (e.g., in the transaction witnesses).
31-
32- This forced redundancy increases transaction size, and thus transaction fees,
33- directly inflating the costs incurred by users.
30+ data (e.g., in the transaction witnesses). This forced redundancy increases
31+ transaction size, and thus transaction fees, directly inflating the costs
32+ incurred by users.
33+
34+ In combination with the upcoming feature of Nested transactions, in the
35+ Dijkstra era, the current restriction imposes a strict constraint in how
36+ scripts and/or data can be shared within a batch. Specifically, without this
37+ proposal, scripts and/or data produced in transaction outputs are only
38+ accessible to subsequent sub-transactions (via reference inputs). This forces
39+ transaction builders to artificially order transactions or to provide redundant
40+ copies of the same script or data (e.g., if two sub-transactions mutually
41+ depend on each other's script and/or data).
3442
3543The key idea of this CIP is to remove this restriction, allowing transactions
3644to reference their own outputs for validation purposes.
0 commit comments