Verified-zkEVM/ArkLib

Definition & Security Proofs for Merkle Trees

Open

#4 创建于 2024年12月18日

在 GitHub 查看
 (3 评论) (0 反应) (2 负责人)Lean (88 fork)auto 404
help wanted

仓库指标

Star
 (312 star)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南