Skip to content

Definition & Security Proofs for Merkle Trees #4

Description

@quangvdao

This issue tracks all development of Merkle trees. This is the basic vector commitment scheme that is required for all proof systems we care about (later development may bring in other schemes such as KZG, Bulletproofs, etc.)

We would like to prove completeness, extractability, and hiding for Merkle trees. These proofs (extractability and hiding) are non-trivial, and will require serious effort (from the core team or a serious outside contributor). The reference for this is in Chiesa & Yogev's recent zkSNARK textbook.

Relevant files in ZKLib:

Depends on progress in #2 to be able to state security properties for Merkle commitments.

Tasks:

  • Flesh out the definitions of Merkle trees, especially the opening phase.
    • Single index opening
  • Prove completeness of Merkle commitments.
    • Single-index
    • Batch-index
  • Initial development of the extractability proof.
    • Extractor definition
    • Single-instance extractability
      • Single-index
      • Batch-index
    • Multi-instance extractability
  • Initial development of the hiding proof.

References:

The textbook has more details but the paper might be an easier first read.

Metadata

Metadata

Labels

help wantedExtra attention is needed

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions