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

Migrate batch and block proving to miden-base #583

Open
Mirko-von-Leipzig opened this issue Dec 12, 2024 · 1 comment
Open

Migrate batch and block proving to miden-base #583

Mirko-von-Leipzig opened this issue Dec 12, 2024 · 1 comment

Comments

@Mirko-von-Leipzig
Copy link
Contributor

Mirko-von-Leipzig commented Dec 12, 2024

Some block-producer types ought to live in miden-base.

Specifically:

  • BlockNumber, which is currently a weak type alias in base. This should become a strong new-type instead.
  • TransactionBatch which should become ProposedBatch so that the (eventual) batch proving kernel has a target
  • Similarly ProposedBlock and block proving kernel
  • BlockWitness is also a probably moving target
  • BatchId should also move with the batch stuff
@bobbinth
Copy link
Contributor

I'm thinking on the miden-base side, we'll have dedicated crates to handle batch and block construction/proving (similar to how we have miden-tx crate to encapsulate transaction execution/proving logic). These crates should be much simpler than miden-tx: they would probably need to expose just a single function each. For batch prover, this function would take ProposedBatch + maybe something like BatchWitness and return ProvenBatch. For blocks, it would work similarly: take ProposedBlock + BlockWitness and return just Block.

After this, next step would be to add add proving services to for batch and block provers (similar to how we have a miden-tx-prover service) which would allow us to use a pool of workers to build proofs. Then, the node would just make requests to these services for batch/block construction.

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

2 participants