Skip to content

Add sanity check for claimsΒ #293

@guidanoli

Description

@guidanoli

πŸ“š Context

With the full Output Unification, all outputs will live under the same tree. Claims will then function as checkpoints, for the array of outputs will only grow, but old proofs will still be usable. On-chain, however, no introspection is made on the claim itself, certifying that the previous claims proves only a prefix of the outputs proven by the next claim.

βœ”οΈ Solution

We can add a sanity check on the claim submission entry point, ensuring that each output proven by the previous claim can still be proven by the new claim. This proof has $O(log\ n)$ size, with $n$ being the number of outputs, and uses $O(log\ N)$ gas to verify, with $N$ being the maximum number of outputs.

πŸ“ˆ Subtasks

  • Specify the check procedure
  • Define a ClaimValidityProof structure
  • Implement a LibClaimValidityProof library
  • Add unit tests for the library
  • Adjust the IConsensus interface
  • Adjust the IConsensus implementations
  • Add unit tests for the IConsensus implementations

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    🧊 Icebox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions