2

I'm reading the paper which introduces the eUTxO model and I'm having trouble figuring one specific difference between the standard UTxO validator and the eUTxO validator.

It seems that the only argument to the validator in the UTxO model is the redeemer

Whether an output can be consumed by an input is determined by a function ν attached to the output, which we call the output’s validator. A transaction input proves its eligibility to spent an output by providing a redeemer object ρ, such that ν(ρ) = true

While in the eUTxO model it seems that the value, datum, redeemer and transaction are arguments to the eTUxO validator

Overall, to check that an input with redeemer ρ that is part of the transaction tx is entitled to spend an output (ν, value, δ), we check that ν(value, δ, ρ, tx ) = true

I understand why the datum, redeemer and transaction are required in the eUTxO validator.

What I don't understand is why value is required in the eUTxO validator but not in the UTxO validator.

Why does the eUTxO model require that the value be passed to the validator while the UTxO model does not?

1 Answer 1

1

In the UTxO model, we ARE passing the value into the validation, an output is compromised of both that and the redeemer (witness). The paper just fails to mention that.

I believe that is because the value is not important here, as we just have to understand that in the eUTxO model, it extends the previous model by including the entire transaction object tx and the datum δ, where δ contains arbitrary contract-specific data. This is done to enforce contract continuity and maintain the machine state, respectively.

The description of the UTxO model was just for reference and a quick brief on it. I believe thats why it fails to mention it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.