ethereum / go-verkle

A go implementation of Verkle trees
The Unlicense
215 stars 67 forks source link

Add EIP7736 support #457

Open weiihann opened 1 month ago

weiihann commented 1 month ago

Primary changes:

weiihann commented 3 weeks ago

Here's a general explanation of how expiry works with stateless proofs:

There are 4 scenarios for a given stem:

  1. Both prestate and poststate not expired

    • Works as normal
  2. Both prestate and poststate expired

    • Works as normal, there shouldn't be any state diffs because they are expired
  3. Prestate not expired, poststate expired

    • Works as normal, this indicates that there are no state updates from prestate to poststate, so state diffs do not exist
  4. Prestate expired, poststate not expired

    • This indicates that a resurrection has occurred. How to verify:
    • We added a new extension status type called extStatusExpired to indicate if a given stem has expired.
    • If an extension status of a stem is extStatusExpired and any of the postvalue in the stem given in the proof is not absent, then we know that there's a resurrection.