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

Canto Core Devs Meeting 11 Agenda #13

Open
bebekim opened this issue Oct 18, 2023 · 0 comments
Open

Canto Core Devs Meeting 11 Agenda #13

bebekim opened this issue Oct 18, 2023 · 0 comments

Comments

@bebekim
Copy link

bebekim commented Oct 18, 2023

This week, continuing on B-harvest's Polygon CDK improvement (link)

Design Choice

Replacing CDK Sequencer with CometBFT vs. Complementing Sequencer with CometBFT

  • minimise changes to Sequencer and yet, achieve decentralised block creation
  • L2 consensus verification by L1 zkEVM proof

          (ABCI)                             (SBCI)
CometBFT <-----> Cosmos-SDK  :::  CometBFT <--------> Sequencer | zkEVM

Components

  • Pool & Broadcast: CDK's Sequencer lacks broadcasting so CometBFT will check Tx's, broadcast them (all nodes have Tx's now), and chuck them into Sequencer pool.
  • PrepareProposal: CometBFT will fetch Tx's from Pool (CDK Sequencer) that are best fit for proposal to form a batch
    • ExtendedCommit: to be included as part of PrepareProposal containing sign of checkpoints on previous block
  • ExtendVote: replacing verifyContract (Sequencer) by aggregating signature on checkpoint
  • Sequencer's DAC (Data Availability Committee): no longer needed. SequenceSender used to interact with DAC to aggregate sign but ExtendVote of CometBFT replaces this functionality
  • FinalizeBlock

Follow-up

  • Proposal will be split in two: MVP and Performance improvements
    • MVP: decentralized consensus, zk-proved consensus
    • Performance Improvements: mem-IAVL, parallel signature verification, optimistic block processing
  • Planning to share progress with Polygon in very near future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant