Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vasil hard-fork (HFC) #996

Closed
12 of 13 tasks
dorin100 opened this issue Mar 29, 2022 · 4 comments
Closed
12 of 13 tasks

Vasil hard-fork (HFC) #996

dorin100 opened this issue Mar 29, 2022 · 4 comments

Comments

@dorin100
Copy link
Collaborator

dorin100 commented Mar 29, 2022

  • check successful era migration - after era migration (from Alonzo to Vasil):
  • blocks are still created by stake pools
  • rewards are still paid
  • all the existing scripts are passing (in the Vasil era) (Shelley/Mary/Alonzo/Vasil transactions) - blocks, rewards, pool operation, etc
  • query protocol parameters CLI command return correct values (protocol version included)
  • transaction view output works for Vasil transactions and it contains all the new parameters when using Plutus v2
  • reference inputs, collateral return, collateral total, more data in the transaction outs (inline datums, reference scripts, other scenarios)
  • Script size - it should be smaller compared with Alonzo
  • Interpreter - it should be faster compared with Alonzo
  • Tx Cost - the cost for interacting with Plutus scripts should be smaller than in Alonzo (it should be cheaper to reference a script than to submit it)
  • Mainnet approach --> Update proposal to add PlutusV2 cost model on top of PlutusV1 cost model #1158

  • cost model V2

    • the next epoch after the HF, the cost model will need to be updated in order for Plutus V2 to take effect
    • the cost of the transactions without Plutus scripts should not be impacted by the second cost model --> Vasil hard-fork (HFC) #996 (comment)
    • we can change any of the cost models with an update-proposal (make and confirm changes to different parameters of both cost-model_V1 and cost-model_V2, for parameters having the same name and also different names)
      • we’re using a positional translation, so the Plutus cost parameter names should be in the same relative positions, but they don’t need to be the same names
  • there is full backward compatibility between Plutus v1 and Plutus v2

LE:

@dorin100 dorin100 changed the title Vasil hard-fork Vasil hard-fork - draft Mar 29, 2022
@dorin100 dorin100 changed the title Vasil hard-fork - draft Vasil hard-fork (HFC) - draft Apr 21, 2022
@vfrsilva
Copy link

vfrsilva commented May 3, 2022

@dorin100 can you please add a point to test/review cost model for Plutus V1 and Plutus V2 after the Plutus V2 cost model is voted (1 epoch after HF)

@dorin100
Copy link
Collaborator Author

dorin100 commented May 3, 2022

@dorin100 can you please add a point to test/review cost model for Plutus V1 and Plutus V2 after the Plutus V2 cost model is voted (1 epoch after HF)

Done. This new point generated some new open questions; check the main thread.

@dorin100 dorin100 changed the title Vasil hard-fork (HFC) - draft Vasil hard-fork (HFC) May 3, 2022
@dorin100
Copy link
Collaborator Author

dorin100 commented Jun 2, 2022

some details about the cost models:

There are four pricing parameters

  • fixed tx cost
  • cost per tx byte
  • cost per CPU unit
  • cost per mem unit

The first two apply to simple txs, all apply to Plutus
There are then two cost models that drive the last two parameters

  • Plutus v1
  • Plutus v2

These only apply to Plutus scripts


  1. what cost model will be used for simple transactions (not involving Plutus scripts)?
  • fixed cost + n x per byte cost
  1. would we have the possibility to make specific changes to any of the cost models with update proposals?
  • yes, we can change any of the cost models with an update-proposal
  1. should the same fields from the 2 cost models be in the same positions/have the same names?
  • we’re using a positional translation, so the Plutus cost parameter names should be in the same relative positions, but they don’t need to be the same names - this is a bit ugly but was the easiest solution

@dorin100
Copy link
Collaborator Author

dorin100 commented Dec 28, 2022

useful (CIP-0047? | Hardfork safety mechanism) - cardano-foundation/CIPs#318

@dorin100 dorin100 mentioned this issue Oct 30, 2023
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants