[Review] Gingerbread Hardfork #378
palango
started this conversation in
CIP Discussions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is the Meta CIP for the technical specifications of the Celo Gingerbread Hardfork.
Simple Summary
Enable the activation of the two parts of the Celo Gingerbread Hardfork specification which focuses on Ethereum alignment.
Abstract
Add support for protocol-impacting changes that increase alignment with Ethereum by removing unused Celo-specific features and protocol differences. This hardfork is named Gingerbread by the community.
This document proposes the following blocks at which to implement these changes in the Celo networks:
18785000
TODO
TODO
TODO
For more information on the opcodes and their respective EIP and CIP implementations, please see the Specification section of this document.
Motivation
To enhance the EVM's capabilities and while pushing forward the Celo blockchain functionality in order to enable economic conditions for prosperity as well as reducing differences with Ethereum which will lead to increased compatibility and ease maintenance.
A second Part of the Gingerbread Hardfork was decided later to reduce even more the differences with Ethereum, and give us some future tools required for Celo's switch to became a Layer 2.
Specification
This Hardfork will be executed as a two steps release in Baklava, and just a release with one activation block for Alfajores and Mainnet.
The Gingerbread Hardfork specification meta document includes the following proposals.
CIPs to be included in the Part 1:
CIPs to be included in the Part 2:
With the above CIPs the block header contains the same data as the Ethereum chain. Therefore, the hash of the header will be changed so that it is compatible with Ethereum.
Deprecation Warning
As part of Celo's switch to became a Layer 2 and the deprecation of the full node incentives (part of this Hard Fork CIP-57) in future Hard Forks:
rlp(nonce, gasPrice, gas, feeCurrency, gatewayFeeRecipient, gatewayFee, to, value, data, signatureV, signatureR, signatureS)
will be changed to the original Ethereum transactionrlp(nonce, gasPrice, gas, to, value, data, signatureV, signatureR, signatureS)
, removing not only the gateway fields, but also thefeeCurrency
.0x7c
) will be completely deprecatedAs the full node incentives are removed these transactions not only consume unnecesary space, but bring unnecessary complexity to our codebase.
For the sake of maintaining the functionality of paying fees in any of our whitelisted currencies the CIP-64 was added to this Hard Fork. Even if the three transactions will work in this Gingerbread Hard Fork, we recommend to start migrating any application that uses the Celo Legacy transaction for fee payments in a different currency, or any transaction of the type
0x7c
(CIP-42) to this new CIP-64.Rationale
Ethereum Compatibility: We include CIPs to increase compatibility with ethereum transactions and opcodes.
Celo Network Maintenance: Several CIPs are included to simplify maintenance of the Celo blockchain code by removing unused features.
Implementation
Adoption of the content of this CIP requires a hardfork as it introduces changes that are not backward compatible. The following clients with Celo support will implement the Celo Gingerbread hardfork specification:
Copyright
This work is licensed under the Apache License, Version 2.0.
Beta Was this translation helpful? Give feedback.
All reactions