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

Protocol: Protocol Statements #3109

Closed
15 of 17 tasks
Tracked by #3083
iAmMichaelConnor opened this issue Oct 27, 2023 · 0 comments
Closed
15 of 17 tasks
Tracked by #3083

Protocol: Protocol Statements #3109

iAmMichaelConnor opened this issue Oct 27, 2023 · 0 comments
Labels
A-documentation Area: relates to documentation A-protocol Area: relates to designing / explaining the protocol T-tracking Type: Tracking Issue. This contains tasklists.

Comments

@iAmMichaelConnor
Copy link
Contributor

iAmMichaelConnor commented Oct 27, 2023

The statements of the protocol are split across many circuits and smart contracts.

Protocol Statements

Preview Give feedback
  1. A-documentation A-protocol
    LeilaWang
  2. A-documentation A-protocol
    LeilaWang
  3. A-documentation A-protocol C-avm
    dbanks12
  4. A-documentation A-protocol
    LeilaWang
  5. A-documentation A-protocol
    LeilaWang
  6. A-documentation A-protocol
    LeilaWang
  7. A-documentation A-protocol
    LeilaWang
  8. A-documentation A-protocol
    LeilaWang
  9. A-documentation A-protocol
    LHerskind rahul-kothari
  10. A-documentation A-protocol
    LHerskind rahul-kothari
  11. A-documentation A-protocol
    LHerskind rahul-kothari
  12. A-documentation A-protocol
    LHerskind
  13. A-documentation A-protocol
    zac-williamson
  14. A-documentation A-protocol
    LHerskind
  15. A-documentation A-protocol
    spalladino
  • Protocol Statements
    • Describe the logic of the protocol.
    • Describe the assertions that must be in place.
      • The constraints (assertions) of the system are spread across many circuits and L1 contracts, but they should be described as a whole, in one place. Where the assertions are located (i.e. in which circuit/contract) is a matter of optimisation, which might change over time. This can then serve as a checklist, to ensure those assertions are included in at least one of the circuits/contracts.
      • In particular, exhaustively explain what shouldn't be possible.
    • Sub-protocols
      • It might help to describe certain sub-protocols, which need to be sound in their own right.
      • E.g.:
        • Contract Deployment
        • (Account abstraction)
        • A private function call
          • Nested private function calls
        • A public function call
          • Nested public function calls
        • Private -> Public function calls
        • Enqueueing many public function calls
        • Private -> Internal Public function calls
        • Side-effect ordering
        • Note/Nullifier squashing optimisations
        • Upgrading contract bytecode
        • Upgrading keys
        • Gas metering
        • Fee payments
        • Sequencer Selection
        • Prover Selection
        • Initiating an upgrade
    • Circuits
      • For each: Explain / justify the requirements. Describe the Public Inputs ABI & the Bus ABI. Explain the statements logic and assertions.
      • High-level topology [David/Leila?]
      • Private Circuits [David/Leila?]
        • General features a private circuit must adhere-to.
        • Why not a private VM?
      • Public VM Cicuit [David] <-- big section
      • Kernel Circuits
        • Private [David/Leila?]
          • Initial Private Kernel Circuit
          • Inner Private Kernel Circuit
          • Ordering Private Kernel Circuit
        • Public [David/Leila?]
          • Initial Public Kernel Circuit
          • Inner Public Kernel Circuit
          • (Ordering Public Kernel Circuit???)
        • Future Kernel Optimisations
          • Delegating chunks of compute to 'gadget' circuits
          • A Merkle Tree of Private Kernel iterations
      • Rollup Circuits [Lasse/Leila?]
        • Base Rollup Circuit
        • Merge Rollup Circuit
        • Root Rollup Circuit
      • Squisher Circuits [???]
        • Honk -> UltraPlonk
        • UltraPlonk -> Standard Plonk / Fflonk
      • Circuits for sequencer/prover selection? [Palla]
      • EIP-4844 circuit [???]
      • Bytecode commitment circuit [???]
    • Smart Contracts [Lasse]
      • ...
@github-project-automation github-project-automation bot moved this to Todo in A3 Oct 27, 2023
@iAmMichaelConnor iAmMichaelConnor changed the title Protocol Statements YP: Protocol Statements Oct 27, 2023
@iAmMichaelConnor iAmMichaelConnor added A-documentation Area: relates to documentation A-protocol Area: relates to designing / explaining the protocol labels Oct 27, 2023
@iAmMichaelConnor iAmMichaelConnor added this to the 📝 Yellow Paper milestone Oct 27, 2023
@iAmMichaelConnor iAmMichaelConnor changed the title YP: Protocol Statements Protocol: Protocol Statements Oct 31, 2023
@iAmMichaelConnor iAmMichaelConnor added the T-tracking Type: Tracking Issue. This contains tasklists. label Oct 31, 2023
@github-project-automation github-project-automation bot moved this from Todo to Done in A3 Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-documentation Area: relates to documentation A-protocol Area: relates to designing / explaining the protocol T-tracking Type: Tracking Issue. This contains tasklists.
Projects
Archived in project
Development

No branches or pull requests

1 participant