-
Notifications
You must be signed in to change notification settings - Fork 40
Website: add page for Mesa upgrade #1529
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
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Berkeley upgrade | ||
|
||
The Berkeley upgrade was the first hardfork of the Mina Protocol, deployed in | ||
June 2024. It introduced zkApps (zero-knowledge applications) and programmable | ||
smart contracts to Mina. | ||
|
||
## Overview | ||
|
||
The Berkeley upgrade implemented three Mina Improvement Proposals (MIPs): | ||
|
||
### MIP-1: Remove supercharged rewards | ||
|
||
Removes the supercharged coinbase rewards mechanism from the protocol. | ||
|
||
- **MIP**: | ||
[MIP-1](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0001-remove-supercharged-rewards.md) | ||
|
||
### MIP-3: Kimchi | ||
|
||
Introduces Kimchi, an updated version of the PLONK proof system with improved | ||
performance and capabilities. | ||
|
||
- **MIP**: | ||
[MIP-3](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0003-kimchi.md) | ||
|
||
### MIP-4: zkApps | ||
|
||
Introduces zkApps, enabling programmable smart contracts on Mina with | ||
zero-knowledge proofs. | ||
|
||
- **MIP**: | ||
[MIP-4](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0004-zkapps.md) | ||
|
||
## TODO | ||
|
||
This page needs to be updated with detailed implementation tracking for the | ||
Berkeley features in the Rust node, including: | ||
|
||
- Links to OCaml node implementation patches for each feature | ||
- Links to Rust node implementation PRs | ||
- Implementation status and testing coverage | ||
- Any Berkeley-specific configuration or compatibility notes |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Introduction | ||
|
||
Mina Protocol evolves through hardforks that introduce new features and protocol | ||
improvements. This section tracks the implementation of hardfork features in the | ||
Rust node. | ||
|
||
## Overview | ||
|
||
A hardfork is a protocol upgrade that is not backward-compatible with previous | ||
versions. All nodes on the network must upgrade to continue participating in | ||
consensus. | ||
|
||
The Mina Rust node maintains compatibility with the OCaml node by implementing | ||
the same protocol changes. Each hardfork page in this section documents: | ||
|
||
- The features introduced in the hardfork | ||
- Links to official specifications and blog posts | ||
- Implementation tracking via GitHub issues and pull requests | ||
- OCaml node patches that serve as reference implementations | ||
|
||
## Hardfork history | ||
|
||
### Berkeley (June 2024) | ||
|
||
The first hardfork of the Mina Protocol, deployed in June 2024. Berkeley | ||
introduced zkApps and programmable smart contracts to Mina. | ||
|
||
See the [Berkeley hardfork page](./berkeley.md) for details. | ||
|
||
### Mesa (Upcoming) | ||
|
||
The second hardfork of the Mina Protocol. Mesa enhances zkApp capabilities with | ||
increased limits for account updates, events/actions, and on-chain state. | ||
|
||
See the [Mesa hardfork page](./mesa.md) for implementation tracking. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
sidebar_position: 3 | ||
--- | ||
|
||
# Mesa upgrade | ||
|
||
The Mesa upgrade is the second hardfork of the Mina Protocol that introduces | ||
several enhancements to zkApp capabilities. This page tracks the implementation | ||
of these features in the Rust node. | ||
|
||
## Overview | ||
|
||
The Mesa upgrade consists of four main protocol improvements: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are 5 total There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure keeping this page up to date while the work is still WIP is a good use of our time. |
||
|
||
### MIP-6: Slot reduction to 90 seconds | ||
|
||
Reduces the slot time from 180 seconds to 90 seconds, enabling faster block | ||
production and improved network responsiveness. | ||
|
||
- **MIP**: | ||
[MIP-6](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0006-slot-reduction-90s.md) | ||
- **Blog post**: | ||
[Road to Mesa: Performance Dialed Up for zkApps](https://www.o1labs.org/blog/account-update-limit) | ||
- **Implementation status**: To be tracked | ||
|
||
### MIP-7: Increase state size limit | ||
|
||
Expands zkApp account state from 8 to 32 fields, allowing developers to store | ||
more data directly on-chain and reducing the need for external storage | ||
workarounds. | ||
|
||
- **MIP**: | ||
[MIP-7](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0007-increase-state-size-limit.md) | ||
- **Blog post**: | ||
[Road to Mesa: Expanding zkApp State with Fewer Constraints](https://www.o1labs.org/blog/increasing-zkapp-state) | ||
- **Implementation status**: To be tracked | ||
|
||
### MIP-8: Increase events and actions limit | ||
|
||
Increases the field element limit from 100 to 1024 for both events and actions | ||
per transaction, and removes the per-event/per-action mini-cap of 16 field | ||
elements. This allows zkApps to carry more information and instructions in a | ||
single transaction. | ||
|
||
- **MIP**: | ||
[MIP-8](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0008-increase-events-actions-limit.md) | ||
- **Blog post**: | ||
[Road to Mesa: Preparing for the Next Chapter with More Use Cases](https://www.o1labs.org/blog/mip-8-events-actions) | ||
- **Implementation tracking**: | ||
[#1261](https://github.com/o1-labs/mina-rust/issues/1261) | ||
|
||
### MIP-9: Increase zkApp account update limit | ||
|
||
Increases the number of account updates allowed per transaction from 10 | ||
signature-based and 5 proof-based updates to roughly triple those limits. This | ||
enables more complex zkApp logic to be executed in fewer transactions. | ||
|
||
- **MIP**: | ||
[MIP-9](https://github.com/MinaProtocol/MIPs/blob/main/MIPS/mip-0009-increase-zkapp-account-update-limit.md) | ||
- **Blog post**: | ||
[Road to Mesa: Performance Dialed Up for zkApps](https://www.o1labs.org/blog/account-update-limit) | ||
- **Implementation status**: To be tracked | ||
|
||
## Implementation tracking | ||
|
||
All Mesa upgrade work is tracked in | ||
[#1259](https://github.com/o1-labs/mina-rust/issues/1259). Each feature has its | ||
own sub-issue that includes: | ||
|
||
- Links to relevant MIPs (Mina Improvement Proposals) | ||
- OCaml node patches implementing the feature | ||
- Rust node implementation PRs | ||
- Performance benchmarks and tests |
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.
It's not the only thing it introduces. I suggest you link to the blog post that give better context.
https://www.o1labs.org/blog/mesa-upgrade