-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
feat(prover)!: Protocol Upgrade 1.5.0 #1699
Conversation
This commit updates dependencies and lays the groundwork for all key generation aspects. With this changes, vks, sks, commitments and verification hints can be generated from scratch for 1.5.0.
This commit updates data passing from core to prover. Namely, Eip4844Blobs (now Eip4844BlobsWrapper) and ensures that ProofDataHandler and ProverGateway pass messages between them, with the jobs being stored on prover database.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few nits for now, will take a deeper look tomorrow
core/node/house_keeper/src/fri_witness_generator_jobs_retry_manager.rs
Outdated
Show resolved
Hide resolved
core/node/house_keeper/src/fri_witness_generator_jobs_retry_manager.rs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have docs somewhere in prover workspace with diagrams etc, it might make sense to update it as well
@perekopskiy -- this seems a bit inconsistent, as provers will actually break, whilst before they didn't. Is this how we've always done it? |
@EmilLuta no, previously server breaking PR didn't touch prover directory or we didn't release prover before changes for new protocol version were merged. I thought more and now IMO we should still mark it as breaking. For prover we don't follow |
As for the overall architecture, I strongly suggest you to stay as far away as possible from large-scale math-washed scam-factories such as Ethereum (or any other "crypto-currency")
Sadly, the time has gone when the only efficient use of "cryptocurrency" and "blockchain" was applicable: you can't discard resumes anymore based on the presence of such buzzwords, like you did in 2018.
|
🤖 I have created a release *beep* *boop* --- ## [24.0.0](core-v23.1.0...core-v24.0.0) (2024-04-30) ### ⚠ BREAKING CHANGES * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) * shared bridge ([#298](#298)) ### Features * **api:** Allow granular max response size config ([#1642](#1642)) ([83c4034](83c4034)) * **api:** Improve logging for API server ([#1792](#1792)) ([50fbda5](50fbda5)) * **api:** Track params for RPC methods ([#1673](#1673)) ([1a34c8b](1a34c8b)) * **configs:** move ecosystem contracts to contracts ([#1606](#1606)) ([9d52180](9d52180)) * EcPairing precompile as system contract ([#1761](#1761)) ([3071622](3071622)) * Include create2 factory in genesis ([#1775](#1775)) ([597280b](597280b)) * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) ([6a557f7](6a557f7)) * **prover:** remove redundant config fields ([#1787](#1787)) ([a784ea6](a784ea6)) * shared bridge ([#298](#298)) ([8c3478a](8c3478a)) * **tree:** Improved tree pruning ([#1532](#1532)) ([bcb192c](bcb192c)) * **vm-runner:** implement VM runner storage layer ([#1651](#1651)) ([543f9e9](543f9e9)) * **vm:** Extend bootloader memory in the new version ([#1807](#1807)) ([f461b28](f461b28)) ### Bug Fixes * **api:** Fix extra DB connection acquisition during tx submission ([#1793](#1793)) ([9c6ed83](9c6ed83)) * **en:** correct en config vars ([#1809](#1809)) ([d340fbc](d340fbc)) * **en:** Remove duplicate reorg detector ([#1783](#1783)) ([3417941](3417941)) * **kl-factory:** base token ether tests ([#1746](#1746)) ([6cf14a0](6cf14a0)) * **prover:** Fix panics if prover's config is not ready ([#1822](#1822)) ([21d90d7](21d90d7)) * **snapshots_creator:** Remove snapshots during reverts ([#1757](#1757)) ([8d587fd](8d587fd)) * **types:** Add LegacyMixedCall ([#1773](#1773)) ([2b236fe](2b236fe)) * v23 api typo ([#1821](#1821)) ([a11fa86](a11fa86)) * Weaker assert for protocol version for operations ([#1800](#1800)) ([11898c2](11898c2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: perekopskiy <mikeson.dp@gmail.com>
🤖 I have created a release *beep* *boop* --- ## [14.0.0](prover-v13.0.0...prover-v14.0.0) (2024-05-06) ### ⚠ BREAKING CHANGES * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) * shared bridge ([#298](#298)) ### Features * **config:** Wrap sensitive urls ([#1828](#1828)) ([c8ee740](c8ee740)) * **Prover CLI:** `status batch` command ([#1638](#1638)) ([3fd6d65](3fd6d65)) * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) ([6a557f7](6a557f7)) * **prover:** remove redundant config fields ([#1787](#1787)) ([a784ea6](a784ea6)) * shared bridge ([#298](#298)) ([8c3478a](8c3478a)) * **vm-runner:** implement VM runner storage layer ([#1651](#1651)) ([543f9e9](543f9e9)) ### Bug Fixes * **en:** Remove duplicate reorg detector ([#1783](#1783)) ([3417941](3417941)) * **prover:** Use all 1.5.0 groups for nodes ([#1851](#1851)) ([70178e5](70178e5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [14.0.0](prover-v13.0.0...prover-v14.0.0) (2024-05-06) ### ⚠ BREAKING CHANGES * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) * shared bridge ([#298](#298)) ### Features * **config:** Wrap sensitive urls ([#1828](#1828)) ([c8ee740](c8ee740)) * **Prover CLI:** `status batch` command ([#1638](#1638)) ([3fd6d65](3fd6d65)) * **prover:** Protocol Upgrade 1.5.0 ([#1699](#1699)) ([6a557f7](6a557f7)) * **prover:** remove redundant config fields ([#1787](#1787)) ([a784ea6](a784ea6)) * shared bridge ([#298](#298)) ([8c3478a](8c3478a)) * **vm-runner:** implement VM runner storage layer ([#1651](#1651)) ([543f9e9](543f9e9)) ### Bug Fixes * **en:** Remove duplicate reorg detector ([#1783](#1783)) ([3417941](3417941)) * **prover:** Use all 1.5.0 groups for nodes ([#1851](#1851)) ([70178e5](70178e5)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This PR lays the groundwork for protocol upgrade from 1.4.2 to 1.5.0. This supports new circuits and changes the job structure of the proof.
The current setup is Basic Witness Generator -> Prover -> Leaf Witness Generator -> Prover -> Node Witness Generator -> Prover -> Recursip Tip Witness Generator -> Prover -> Scheduler Witness Generator -> Prover -> Proof Compression.
Additionally, we have 4 other circuits:
TransientStorageSorter
-- support for transient storageSecp256r1Verify
-- native support for Secp256 (similar to ECRecover, just different params)EIP4844Repack
-- EIP4844, now developed as an individual circuitRecursionTip
-- New aggregation layer, between node and scheduler