Gnosis Chain
The community run chain. Gnosis Chain is one of the first Ethereum sidechains and has stayed true to its values.
// File: about/README
Introducing Gnosis Chain
Gnosis Chain is a community-owned EVM-based network operated by a diverse set of validators around the world. It is one of Ethereum’s first sidechains focused on resilience and credible neutrality as its core values. Currently, there are over 200,000 validators who secure the network.
Gnosis Chain uses DAO governance mechanism to ensure anyone can participate in the decision-making processes regarding the development and future of the network. Creating dApps and integrating with Gnosis Chain products is similar to any other EVM-based blockchain. You can find more details in the protocol specification.
Fees
Each transaction on the Gnosis Chain (sending tokens, interacting with smart contracts, etc.) is associated with the fee in xDai stablecoin.
- It is one of the main differences from other EVM chains where users pay in a native token of that network.
- This approach reduces the volatility risks and simplifies the development experience.
Also, transaction fees are not split among pool participants of the validation process. They are received only by the validator who sealed the block. Note, this is subject to change. As the network grows, the fees may be redirected to support additional aspects of the protocol.
// File: about/third-parties
On-ramps
// File: about/uRamp
import ReactPlayer from 'react-player'
What is uRamp ?
uRamp offers seamless on and off ramp to users by allowing them to on ramp to ERC20 tokens across EVM chains by sending EUR to their Monerium IBAN. Similarly, it allows users to off ramp from ERC20 tokens from EVM chains to EUR in their bank account.
The existing user experience in Web3 for on and off ramping between fiat and on chain assets is very clunky and requires users to go through many steps and incur heavy fees with no certainty of when they will receive their fiat in bank account and vice versa. uRamp is been built to provide an easy to use product allowing people to on and offramp between their IBANs and wallets seamlessly by integrating both Monerium and Li.Fi and leveraging their powers of collateralised stablecoin offering, native IBANs, low fees model and cross chain bridging and swapping.
uRamp is supposed to be a simple representation of possibilities of Gnosis Chain when combined with Monerium and Li.Fi .
How to use uRamp ?
To use uRamp a user needs to have a wallet and a Monerium account (IBAN linked to Gnosis Chain). uRamp takes the user through a Monerium onboarding flow in case the user does not have an existing Monerium account.
Once connected with both the services the user can choose between Bank to Crypto (On Ramp) or Crypto to Bank (Off Ramp).
Go to https://uramp.gnosis.io/login and follow the steps mentioned or you can follow the video tutorial.
Crypto to Bank:
- Selects a token from the drop down box listing the available tokens in the wallet
- Specify the amount of token to be off ramped into EUR
- Specify the bank details including Name, IBAN, BIC and Note (optional)
- Verify the quote and sign a transaction to execute the transfer
- Example: ETH on mainnet to EUR
- ETH is swapped for USDC on mainnet by Li.Fi
- USDC on mainnet is bridged to USDC on Gnosis Chain by Li.Fi
- USDC on Gnosis Chain is swapped to EURe on Gnosis Chain by Li.Fi
- EURe on Gnosis Chain is burnt by Monerium
- EUR is deposited in specified IBAN by Monerium
Bank to Crypto:
- Select the ERC20 token the user wishes to on ramp to
- Specify the amount of EUR to be exchanged or ERC20 token required
- Verify the quote and EUR required for the whole process to function
- Start the process
- Send EUR to Monerium IBAN
- Execute the on chain transaction
- Example: EUR to ETH on mainnet
- Send EUR to Monerium IBAN
- Monerium mints EURe to the user wallet on Gnosis Chain
- uRamp prompts user to sign Li.Fi transaction (if quote is still valid and balance has increased)
- EURe on Gnosis Chain is swapped to USDC on Gnosis Chain by Li.Fi
- USDC on Gnosis Chain is bridged to USDC on mainnet by Li.Fi
- USDC is swapped for ETH on mainnet by Li.Fi
// File: about/communication
News
Community
Support
- Discord
- Validator Resources & Feedback Form
- General Inquiries: community@gnosis.io
Events and Press
Careers
// File: about/networks/README
Networks
Networks summary
| Network Name | Gnosis (mainnet) | Chiado (testnet) |
|---|---|---|
| Native (fee) token | xDAI | Chiado xDAI |
| Chain ID | 100 | 10200 |
| EL RPC | https://rpc.gnosischain.com | https://rpc.chiadochain.net |
| EL Explorer | https://gnosisscan.io | https://blockscout.com/gnosis/chiado |
| CL Explorer | https://beaconchain.gnosischain.com/ | https://beacon.chiadochain.net |
| Fork monitor | https://forkmon.gnosischain.com | https://forkmon.chiadochain.net |
| EthStats | https://ethstats.gnosischain.com | https://ethstats.chiadochain.net |
| Faucet | https://faucet.gnosischain.com/ | https://faucet.chiadochain.net/ |
// File: about/networks/chiado
Chiado (Testnet)
Image: Trams in Lisbon (credit: Lisa Fotios)
Overview
Purpose
- Chiado is a Gnosis testnet that was launched in October 2022
- Chiado's primary purpose is to be a long-lived testnet with tooling for developers
- Chiado's secondary purpose was to test "The Merge", Gnosis' transition from Proof-of-Authority to the Beacon Chain.
- Chiado is named after the Chiado metro station in Lisbon, Portugal.
Validators
- Chiado is optimized for testnet stability for developers, and has a semi-permissioned validator set similar to Ethereum's Sepolia testnet
- Chiado is not intended for broad public validator participation, as frequent cycling of validators affect Testnet stability and make it unreliable for developers (e.g. Ethereum's Prater testnet)
- Chiado validators are run by core contributor teams at Nethermind, Gateway and Gnosis (and possibly more in the future)
- 6,000 validator keys were defined in the genesis of Chiado Beacon Chain for Gateway, Nethermind and Gnosis to run as validators
Public Participation
- Community members can still run a full node and go through the Chiado merge as it happens
- 1,000 Testnet GNO on Chiado may be available in the future for community public validator participation
- Community participation will be limited to 14% of the Chiado Network to ensure network stability
- 1 Testnet GNO is required to run a validator, similar to Gnosis mainnet
- Requests for Chiado participation keys can be made in the #chiado-testnet channel in Discord
How to Participate
- Running a Chiado node with Nethermind Sedge
- (Here by Dragons): If you can get your hands on Testnet GNO on Chiado, you will need to interact with the deposit contract programmatically, or deploy your own Deposit UI with the updated config files
Summary
Key Infra
| Network Name | Chiado |
|---|---|
| Native (fee) token | Testnet xDai on Chiado |
| Staking token | Testnet GNO on Chiado |
| Chain ID | 10200 |
| Execution Layer RPC (archive) | https://rpc.chiado.gnosis.gateway.fm |
| Execution Layer RPC | https://rpc.chiadochain.net |
| Execution Layer RPC (WS) | wss://rpc.chiadochain.net/wss |
| Execution Layer Explorer | https://gnosis-chiado.blockscout.com/ |
| Consensus Layer Explorer | https://beacon.chiadochain.net |
| Beacon Checkpoint Sync | https://checkpoint.chiadochain.net |
| Fork monitor | https://forkmon.chiadochain.net |
| EthStats | https://ethstats.chiadochain.net |
| Faucet | https://faucet.chiadochain.net/ |
Key Parameters
| Param | Value |
|---|---|
| Slot Time | 5s |
| Epoch | 16 slots |
| Finalization Time | 2.7 min |
| Staking Deposit | 1 Testnet GNO on Chiado |
Native Tokens
Fee Token
- Name: Testnet xDai on Chiado
- Type: Native Asset
You can find a list of contract addresses for Chiado tokens in the Useful Addresses page.
Network Config
Config Repo
Gnosis maintains a Configs Repo that is the canonical source for Gnosis Chain networks.
Consensus Layer
Execution Layer
DApps
| DApp | |
|---|---|
| Uniswap | TBD |
| Chainlink | TBD |
Previous Iterations
Chiado 0.2
Chiado was previously launched with network ID 100100. Soon after launch, the network entered a forked state. The root causes were identified and fixed as part of the Chiado relaunch.
Appendix
[1]: See Github Issue on Testnet GNO on Chiado Staking Contracts
[2]: See Github Issue on Goerli-Chiado Bridge Deployment
// File: about/networks/mainnet
Gnosis (Mainnet)
Summary
| Network Name | Gnosis |
|---|---|
| Native (fee) token | xDai |
| Staking token | GNO |
| Chain ID | 100 |
Key Infra
Execution Layer
| Execution Layer | |
|---|---|
| Execution Layer RPC | https://rpc.gnosis.gateway.fm |
| Execution Layer RPC | https://rpc.gnosischain.com |
| More RPC endpoints | RPC Providers |
| Execution Layer Explorer | https://gnosisscan.io |
| Execution Layer Explorer | https://gnosis.blockscout.com/ |
| Fork monitor | https://forkmon.gnosischain.com |
| EthStats | https://ethstats.gnosischain.com |
| Forked Blocks | https://gnosis.blockscout.com/reorgs |
| Faucet | https://gnosisfaucet.com |
Consensus Layer
| Consensus Layer | |
|---|---|
| Consensus Layer RPC | https://rpc-gbc.gnosischain.com |
| Beacon Explorer | https://beaconchain.gnosischain.com/ |
| Beacon Explorer Backup 1 | https://beacon-v1.gnosischain.com |
| Beacon Explorer Backup 2 | https://beacon-v2.gnosischain.com |
| Beacon Checkpoint Sync | https://checkpoint.gnosischain.com |
| Beacon Checkpoint Sync | https://checkpoint-sync-gnosis.dappnode.io/ |
Other Tools
| Other Tools | |
|---|---|
| GnosisPools.info | https://gnosispools.info |
| D14N Info | https://d14n.info/ |
| Bordel | https://bordel.wtf/ |
| More tools | Tools |
Key Parameters
| Param | Value |
|---|---|
| Slot Time | 5s |
| Epoch | 16 slots |
| Finalization Time | 2.7 min |
| Staking Deposit | 1 GNO |
Native Tokens
You can find a list of contract addresses for Gnosis Mainnet tokens in the Useful Addresses page.
Network Config
Config Repo
Gnosis maintains a Configs Repo that is the canonical source for Gnosis Chain networks.
- config.yaml
- genesis.json
- GnosisDAO's Recommended CL Bootnodes
- GnosisDAO's Recommended EL Bootnodes
- Nethermind's Recommended CL Bootnodes
- Nethermind's Recommended EL Bootnodes
Key Contracts
// File: about/networks/optimism
Optimism on Gnosis
:::danger DEPRECATED Optimism on Gnosis was deprecated on March 2023. We keep this page for reference. Do NOT deposit funds, they will not be withdrawable. :::
An Optimism implementation is deployed on Gnosis. Gnosis functions as the L1 (akin to Ethereum) and Optimism on Gnosis as the L2.
Deployment processes are similar to using Optimism with Ethereum with updated configs to match the Gnosis chain setup.
| Parameter | Value |
|---|---|
| Network Name | Optimism on Gnosis |
| Chain ID | 300 |
Make a Deposit
:::danger DEPRECATED NETWORK! Do NOT deposit funds, they will not be withdrawable. :::
Deposits are initiated through the Proxy__OVM_L1StandardBridge contract on the Gnosis Chain with the depositETH method and the following inputs:
- _l2Gas:
200000 - data:
0x - value:
Deposit value in xDai (ie. 0.1 = 0.1 xDai)
:::info
Some smart contract wallets are blocked from calling the depositETH (and depositERC20) methods. If you want to deposit using a smart contract wallet you can use the depositETHTo function instead.
:::
-
Go to https://gnosis.blockscout.com/address/0x184a119d4C1D08A459FCfBFe7ECc051c163B4c80/write-proxy
-
Connect a web3 wallet like MetaMask that contains some xDai for funding and gas fees.

- Scroll down to the
depositETHmethod and enter the following:
- _l2Gas:
200000 - _data:
0x - value:
Deposit value in xDai - Click Write and complete the transaction with your wallet.

:::info It may take several minutes for the deposit to be processed and the balance to update on the Optimism on GC Chain. :::
L1 Contract Addresses
Additional Info related to specific contracts is available here.
| Contract | Address |
|---|---|
| BondManager | 0x730fE4431a00286Ff8dc7E9B03c661E63Ef05121 |
| CanonicalTransactionChain | 0x636434F59e52D50423bD8272FEB3B2bff5dF586b |
| ChainStorageContainer-CTC-batches | 0xEc64fee4f95E48A3BAd799A5912F183d222086A8 |
| ChainStorageContainer-SCC-batches | 0x26EbaD990cC56ef36166d1C4114CEF25F024b75D |
| ChugSplashDictator | 0x77fAf5Aa4EB7874a676F773fc308e0FD8e9400f7 |
| ERC1820Registry | x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24 |
| L1StandardBridge | 0x3804bA4ecC886AAe91A6D57dE880616E17C8269C |
| OVM_L1CrossDomainMessenger | 0x6A52b1dbE0293F1ba1bc136b0f8C8f0395F940b9 |
| OVM_Proposer | 0xE57cfefE4B7EddE88af28d4ffB3BD63b272f578A |
| OVM_Sequencer | 0xFDCa025dB7368A84deeCc0d82598eB90638D52DF |
| Proxy__OVM_L1CrossDomainMessenger | 0x4324fdD26161457f4BCc1ABDA87709d3Be8Fd10E |
| Proxy__OVM_L1StandardBridge | 0x184a119d4C1D08A459FCfBFe7ECc051c163B4c80 |
| StateCommitmentChain | 0xbAE5EA90F4A1dFBC1b0D145453f371E06287a6D8 |
L2 Contract Addresses
- Optimism L2 contracts can be explored at https://blockscout.com/xdai/optimism
- Additional Info related to specific contracts is available here.
- Summaries for relevant predeploys here.
| Contract | Address |
|---|---|
| OVM_L2ToL1MessagePasser | 0x4200000000000000000000000000000000000000 |
| OVM_L1MessageSender | 0x4200000000000000000000000000000000000001 |
| OVM_DeployerWhitelist | 0x4200000000000000000000000000000000000002 |
| OVM_ECDSAContractAccount | 0x4200000000000000000000000000000000000003 |
| OVM_SequencerEntrypoint | 0x4200000000000000000000000000000000000005 |
| OVM_ETH | 0x4200000000000000000000000000000000000006 |
| OVM_L2CrossDomainMessenger | 0x4200000000000000000000000000000000000007 |
| Lib_AddressManager | 0x4200000000000000000000000000000000000008 |
| OVM_ProxyEOA | 0x4200000000000000000000000000000000000009 |
| OVM_L2StandardBridge | 0x4200000000000000000000000000000000000010 |
| OVM_SequencerFeeVault | 0x4200000000000000000000000000000000000011 |
| OVM_ExecutionManagerWrapper | 0x420000000000000000000000000000000000000B |
| OVM_GasPriceOracle | 0x420000000000000000000000000000000000000F |
Graph Protocol
When starting the graph-node the network key is: optimism
// File: about/specs/README
Gnosis Specifications
General Information
| Property | |
|---|---|
| Block Size | 30M gas units |
| Block Speed | 5 seconds |
| Gas price | check gas price oracle |
| Patchset | Cancun |
| Fee Token | xDai |
| Consensus Token | GNO |
| Chain ID (Gnosis) | 100 (hexa 0x64) |
| Chain ID (Chiado Testnet) | 10200 (hexa 0x27D8) |
- Chain spec files: https://github.com/gnosischain/configs/blob/main/mainnet/config.yaml
- Bootnodes: https://github.com/gnosischain/configs/blob/main/mainnet/bootnodes.yaml
// File: about/specs/bug-bounty
Bug Bounty
Immunefi Bug Bounty
Bounties are an important tool for testing and enhancing application and contract security. We appreciate the skilled hackers and programmers within the community and believe in rewarding those working to protect and strengthen the ecosystem. Working in partnership with Immunefi, we will be releasing additional bounties in the near future, and invite the community to help identify any possible exploits we may have missed.
Security is the #1 priority of the Gnosis team. This bounty program is not being enacted in response to any known exploits, we are proactively implementing to ensure safety and soundness of our applications and protect users and their funds.
There is one ongoing bug bounty program: Bridges bug bounty.
Each bug bounty program requires different assets in scope and both offer rewards determined by thread level.
Bridge(Omnibridge, xDAI Bridge) Bounty
Asset in scope
All smart contract bug from Gnosis Chain Bridges includes ETH-xDAI Omnibridge, xDAI bridge.
| Type | Target |
|---|---|
| Smart Contract - DAI-xDAI TokenBridge contract on the Ethereum Mainnet | https://etherscan.io/address/0x4aa42145Aa6Ebf72e164C9bBC74fbD3788045016 |
| Smart Contract - DAI-xDAI OmniBridge contract on the Gnosis chain | https://gnosis.blockscout.com/address/0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6 |
| Smart Contract - ETH-xDAI OmniBridge contract on the Ethereum Mainnet | https://etherscan.io/address/0x88ad09518695c6c3712AC10a214bE5109a655671 |
| Smart Contract - ETH-xDAI OmniBridge contract on the Gnosis chain | https://gnosis.blockscout.com/address/0xf6A78083ca3e2a662D6dd1703c939c8aCE2e268d |
Reward by Thread level
The quantity of rewards awarded are based on the Immunefi Vulnerability Severity Classification System V2.2.
All smart contract bug reports must come with a PoC with an end-effect impacting an asset-in-scope in order to be considered for a reward.
Only the following smart contract impacts are accepted within this bug bounty program:
| Smart Contract Impact | Reward |
|---|---|
| Critical* | Up to USD 2,000,000 |
| High | USD $10,000 |
| Medium | USD $1,000 |
*All Critical smart contract vulnerabilities are further capped at 10% of economic damage, primarily taking into consideration the funds at risk. However, there is a minimum reward of USD 50 000.
Payouts are handled by the Gnosis Chain team directly and are denominated in USD. However, payouts are done in USDT for payments up to USD 100 000. All remaining rewards are paid in USDC or xDAI.
Out of scope & Rules
The following vulnerabilities are excluded from the rewards for this bug bounty program:
- Attacks that the reporter has already exploited themselves, leading to damage
- Attacks requiring access to leaked keys/credentials
- Attacks requiring access to privileged addresses (governance, strategist)
- Incorrect data supplied by third party oracles
- Not to exclude oracle manipulation/flash loan attacks
- Basic economic governance attacks (e.g. 51% attack)
- Lack of liquidity
- Best practice critiques
- Sybil attacks
The following activities are prohibited by bug bounty program:
- Any testing with mainnet or public testnet contracts; all testing should be done on private testnets
- Any testing with pricing oracles or third party smart contracts
- Attempting phishing or other social engineering attacks against our employees and/or customers
- Any testing with third party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
- Any denial of service attacks
- Automated testing of services that generates significant amounts of traffic
- Public disclosure of an unpatched vulnerability in an embargoed bounty
Please visit Immunefi bounty page for more details.
More info -> https://medium.com/immunefi/xdai-stake-hosts-2-000-000-bug-bounty-on-immunefi-3760e0687616
What’s next?
- Submit a bug
- Any questions about the program? Reach out to us in our Discord channel!
FAQ
- Is the bug bounty program time limited?
No. - How to submit a bug on Immunefi?
https://medium.com/immunefi/a-hackers-guide-to-submitting-bugs-on-immunefi-1e6b7ada71a9
// File: about/specs/consensus/README
The Merge
Gnosis, as a closely-related fork of Ethereum, underwent a “Merge” hardfork similar to that of Ethereum. The hardfork replaced Gnosis’ former “proof-of-authority” consensus with the “proof-of-stake” system as it merged with the Gnosis Beacon Chain.
This hardfork is a critical one for Gnosis in its move towards parity with Ethereum, crucial for Gnosis’ future roadmap as an experimental playground for Ethereum features.
This change is also significant as Gnosis now is similar to Ethereum in being fully permissionless now, with the deprecation of previous “proof-of-authority” features.
You can read more on the Ethereum merge here: https://ethereum.org/en/upgrades/merge/.
**How will this affect me? **
Users
You do not need to do anything. Your funds remain as-is during the transition. There were NOT any new token issued before, during or after the Merge. The $GNO token continues to be used for staking, while the $xDai token is used as the native gas token.
:::danger scammer alert
Please be vigilant of scammers who may use this occasion to launch scam tokens, or phish for seed phrases.
:::
Developers
Gnosis' “Merge” is near 1:1 to the Ethereum Merge in its impact on developers.
For a full understanding of the changes, please read “How The Merge Impacts Ethereum’s Application Layer”.
At a high level, the Merge resulted in the following changes:
BLOCKHASHopcode is mostly deprecatedDIFFICULTYopcode returns output of randomness beacon- Block structure contains more proof-of-stake fields, zeros out proof-of-work fields
- Block time is reduced to ~5s from ~6s
- Block finalization is tracked via
safe headandfinalizedblocks.
Deprecation of AuRa RANDAO
The Merge result in the deprecation of the legacy AuRa RANDAO random number generator, as part of the larger deprecation of AuRa consensus.
In its place, developers are advised to move to the Beacon Chain’s Randomness, which implements EIP-4399. Please note that this randomness is still biasable, and take precautions.
EIP-4399 explains the process for developers to switch over to the new Beacon Chain Randomness, which can be accessed via the DIFFICULTY opcode.
Additionally, changes proposed by this EIP allow for smart contracts to determine whether the upgrade to the PoS has already happened. This can be done by analyzing the return value of the DIFFICULTY opcode. A value greater than 2**64 indicates that the transaction is being executed in the PoS block.
Node runners
You must run a consensus client alongside your existing execution client. Not doing so will cause your node to fork and not follow the right chain. Node operators can also check out the Merge Readiness Checklist on the Staking Launchpad for more information, as many of the details apply to all node operators.
Stakers
You must run an execution client alongside your existing consensus client. Not doing so will cause your node to fork and not follow the right chain. You must set a fee recipient address to receive your earned transaction fee tips/MEV. Stakers are encouraged to follow the Merge Readiness Checklist from the Staking Launchpad to ensure readiness for The Merge.
More info
Pre-merge consensus articles
// File: about/specs/consensus/aura
AuRa with POSDAO Consensus
:::caution The merge Gnosis transitioned to PoS using the GNO Token, this page defines the pre-merge consensus model. Learn more about The Merge. :::
Consensus refers to the agreement process between nodes in a network. The nodes must agree on which transactions to include in the next block on the chain before these transactions are committed.
There are 2 aspects to the process - the actual consensus mechanism to add transactions to blocks, and sybil protection, which prevents malicious actors.
Gnosis currently uses Parity's AuRa (Authority Round) proof-of-authority consensus model to append blocks to Gnosis. In this model, selected validators (selected through the POSDAO dPOS process) take turns signing blocks. A signed block is broadcast to all validators, and if the majority agree it is valid, it is added to the chain. A new block is added every 5 seconds, regardless of whether any transactions occurred during that time. Note: POSDAO offers a pluggable consensus feature, so different or additional consensus processes may be added in the future.
Gnosis uses delegated Proof of Stake to provide sybil protection. Validators and delegators must add GNO to the protocol. If the nodes participate as expected, they receive additional GNO rewards. If they engage in malicious behavior (like not revealing random numbers) the validator is banned and their GNO (and delegators GNO) is frozen. These behavioral rewards act as incentives to promote an honest group of validators participating in consensus.
View current Gnosis validator pools in the BlockScout Staking Application.
:::info
Finality delay
A minimum of n_v/2 + 1 validations being required, with n_v the number of validators. At least 2(n_v/2 + 1) = n_v + 2 message round trips are therefore necessary before a block is finalized by all validators. In the worst case, after exactly n_v validations, the delay will instead be of 2n_v + 2. For Gnosis running with 19 validators, this is the equivalent of 40 blocks.
:::
:::success Additional Information on AuRa :::
// File: about/specs/consensus/posdao
POSDAO
:::caution The merge Gnosis transitioned to PoS using the GNO Token, this page defines the pre-merge consensus model. Learn more about The Merge. :::
Proof of Stake Decentralized Autonomous Organization
POSDAO describes the pre-merge validator selection method for the Gnosis Chain. Validators provide consensus for Gnosis Chain transactions. This method was deprecated immediately following the merge when the Gnosis Beacon Chain became the consensus layer engine.
Validators are selected based on the amount of GNO they place into the protocol along with an on-chain RNG. The validator set is capped at 19, and validator candidates need to place minimums of 2K GNO (current minimum) and setup a valid node to be eligible for participation. In addition, public delegators can place GNO on candidates, increasing their chances of becoming validators in the next set. The validator set can change weekly based on the number of eligible validators and their staking amounts.
:::success POSDAO Contract Implementation Addresses :::
:::info Prior to Public POSDAO, Permissioned POSDAO was used nominated validators to sign blocks. Gnosis transitioned to public POSDAO in December, 2020. :::
Whitepaper
Barinov, I., Arasev, V., Fackler, A., Komendantskiy, V., Gross, A., Kolotov, A. and Isakova, D. POSDAO: Proof of Stake Decentralized Autonomous Organization (April 29, 2019). Available at SSRN: https://ssrn.com/abstract=3368483 or http://dx.doi.org/10.2139/ssrn.3368483
:::success Summary and PDF version of the latest whitepaper version :::
// File: about/specs/consensus/proof-of-stake
Proof of Stake (PoS)
Proof of Stake (PoS) is a consensus mechanism utilized in blockchain networks to establish network consensus and authenticate transactions. In PoS, participants are chosen to create new blocks and validate transactions based on the number of coins they hold or "stake." The more coins one possesses, the greater their likelihood of selection. PoS depends on participants having a financial stake in the network, rather than energy-intensive computations.
Proof of Stake is necessary due to its numerous advantages over other consensus mechanisms. Firstly, it is more energy-efficient than methods like Proof of Work, which demand substantial computational power, thus reducing the environmental impact of blockchain networks. Secondly, PoS fosters decentralization by allowing anyone with a stake in the network to partake in block validation, preventing power concentration among a few participants.
The benefits of Proof of Stake encompass enhanced energy efficiency, scalability, and security. PoS consumes less energy than PoW, rendering it more sustainable. It also provides improved scalability, as it is not constrained by increasing computational power. PoS bolsters security by offering economic incentives for participants to act honestly. Validators face the risk of losing their staked coins if they engage in malicious activities, deterring fraud and ensuring the network's integrity.
Gasper:
Gasper is a hybrid consensus mechanism that merges the best features of Proof of Stake (PoS) and Proof of Work (PoW) to establish a secure and efficient consensus protocol for blockchain networks. In Gasper, participants not only stake their coins but also solve cryptographic puzzles to authenticate transactions and generate new blocks.
By addressing the limitations of individual consensus mechanisms, Gasper achieves a balance between security and efficiency. It mitigates the risk of attacks by necessitating the solving of cryptographic puzzles, making it harder for malicious actors to exploit the network. Furthermore, Gasper employs staking to ensure that even participants with smaller stakes have an opportunity to validate transactions, fostering decentralization.
Gasper provides several advantages over traditional consensus mechanisms. First, it heightens security by obligating participants to solve puzzles in addition to staking their coins, making it more difficult for attackers to breach the network. Second, Gasper is more energy-efficient than PoW, as it doesn't rely solely on computational power, thus reducing the environmental impact associated with mining. Lastly, Gasper ensures fair and democratic participation by enabling participants with various stake sizes to contribute to the consensus process.
Weak Subjectivity:
Weak subjectivity is a concept in blockchain networks that enables participants with a minimal stake to partake in block validation and consensus processes. This ensures that consensus decisions are not exclusively controlled by participants with substantial stakes.
Maintaining decentralization in blockchain networks is vital, and weak subjectivity plays a crucial role in achieving this. If only participants with large stakes were involved in consensus, it would result in a more centralized system and potential power imbalances. Weak subjectivity promotes inclusivity, allowing a diverse range of participants to contribute to the network's decision-making process.
By fostering decentralization, weak subjectivity allows participants with smaller stakes to validate transactions and engage in consensus processes. This democratic approach ensures that decisions are not dictated by a select few with significant stakes. Encouraging broader participation, weak subjectivity enhances the network's resilience and cultivates a more diverse and robust ecosystem.
// File: about/specs/deposit-contracts
Deposit Contracts
The Deposit contracts allow to deposit ERC20 tokens to Gnosis Chain and withdraw them back to Ethereum mainnet.
The Deposit contracts on mainnet and Gnosis Chain are almost identical. However, Gnosis Chain users need to manually call the claimWithdrawal(address) or claimWithdrawals(addresses) method to withdraw the tokens/rewards back, whereas on Ethereum mainnet that's done automatically.
The main issue is that GNO is an ERC20 token and it must emit Transfer events as per EIP-20, which Gnosis Chain cannot do with system transactions at the moment. That's why it's required to call a normal transaction to claim GNO tokens. The alternative would be very complex and diverge from Ethereum on the EL side.
The main withdrawal methods look as follows:
/**
* @dev Claim withdrawal amount for an address
* @param _address Address to transfer withdrawable tokens
*/
function claimWithdrawal(address _address) public {
uint256 amount = withdrawableAmount[_address];
if (amount > 0) {
withdrawableAmount[_address] = 0;
stake_token.safeTransfer(_address, amount);
}
}
/**
* @dev Claim withdrawal amounts for an array of addresses
* @param _addresses Addresses to transfer withdrawable tokens
*/
function claimWithdrawals(address[] calldata _addresses) external {
for (uint256 i = 0; i < _addresses.length; ++i) {
claimWithdrawal(_addresses[i]);
}
}
You can find a full list of contract differences on Github:
// File: about/specs/gbc/README
Contracts, Addresses, Parameters
Contracts & Token Addresses
:::caution DO NOT send funds directly to the GBC Deposit Contract. To stake on GBC, follow the Validator instructions starting with Validator Requirements and Responsibilities. :::
| Contract | Address |
|---|---|
| GBC Deposit Contract | 0x0B98057eA310F4d31F2a452B414647007d1645d9 |
| GNO-> mGNO contract | 0x647507A70Ff598F386CB96ae5046486389368C66 |
| GNO token on Gnosis | 0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb |
Initial Parameters (subject to change)
| Variable | Value |
|---|---|
| Staking amount | 32 mGNO (equivalent to 1 GNO) |
| Block time | 5 seconds |
| Validator slots per epoch | 16 (with further reduction possible, N > 1 honest proposer/epoch as per V. Buterin) |
| Validators per slot | 128 (see more on minimum committee size) |
| Epoch time | 80 seconds |
| Slashing | Reductions to 16 mGNO, then removal |
| Clients | Prysm, Lighthouse |
| Custom Deposit Contract | mGNO deposit (ERC20 enabled)UpgradeableClaiming on accidental locksCustom network keys generation (deposit-cli) |
| Explorer | Modified beaconchain explorer🔍 beacon.gnosischain.com |
| RPC | https://rpc-gbc.gnosischain.com |
| Launch MVP | 4096 validators131,072 mGNO 83% APY |
| Security Goal Prior to Merge | 50K+ validators1.6M+ mGNO23% APY |
// File: about/specs/gbc/upgradeability
Upgradeability
One differentiator for the Gnosis Beacon Chain relative to the Ethereum Beacon chain is the ability to upgrade contracts. A proxy pattern allows for this functionality, which can be extremely useful if an update is required (a bug is found, new functionality added etc).
However, this also introduces issues of administrative responsibility. No one entity should solely control contract updates.
A multi-sig Gnosis Safe is used to expand admin responsibilities to a larger entity. The controlling assembly is a Governance Board consisting of known and active projects who have contributed to the Gnosis and Ethereum community for some time.
A proposed upgrade is presented to this board and a minimum of 7 signatures are required to enact any proposal. c Governance Board Members
Contracts managed by the Governance Board
- Deposit Contract: 0x0B98057eA310F4d31F2a452B414647007d1645d9
// File: about/specs/hard-forks/1604400
#1604400 - 2019-01-11
:::caution Archived page Check the latest hard fork and update your node :::
Info
- Network: xDai (now Gnosis)
- Date: 2019-01-11
- Block number: 1604400
Description
This update introduces Constantinople fork at block 1604400 in xDai network.
Solution
- Update Parity node to
2.2.5-betausing the guide. - Update
poa-chain-spec/spec.json- add Constantinople's transitions toengine.paramssection. See spec.json update. - Organize the HF on block
1604400.
Verify
grep -n -A2 1604400 spec.json
You should see:
34: "eip145Transition": 1604400,
35: "eip1014Transition": 1604400,
36: "eip1052Transition": 1604400,
37: "eip1283Transition": 1604400,
38- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2"
39- },
// File: about/specs/hard-forks/16101500
#16101500 - 2021-05-17
:::caution Archived page Check the latest hard fork and update your node :::
- Network: xDai (now Gnosis)
- Date: 2021-05-17
- Block number:
16101500
Client Updates
OpenEthereum
Please update to v3.2.5 which contains Berlin hard fork transition and the new enodes: https://github.com/openethereum/openethereum/releases/tag/v3.2.5
Perform a DB migration if your run OE version < v3.2.0
If your node works on an old version of Parity, you need to convert node's DB to the format compatible with OpenEthereum v3.2.x. You can use this tool https://github.com/openethereum/3.1-db-upgrade-tool
Nethermind
Please update to v1.10.67 which contains Berlin hard fork transition. More on Nethermind.
Description: Berlin HF
- EIP-2565 (ModExp Gas Cost) Allows RSA signature verification.
- EIP-2929 (Gas cost increases for state access opcodes) Algorithm for calculating gas costs. Costs increase for SLOAD, CALL, BALANCE, EXT and SELFDESTRUCT for the first time. Adds resilience for DoS attacks.
- EIP-2718 (Typed Transaction Envelope) Implements a new transaction type that supports multiple transactions.
- EIP-2930 (Optional access lists) Lst of addresses and storage keys a transaction will access, resulting in easier processing and reduced gas usage.
// File: about/specs/hard-forks/19040000
#19040000 - 2021-11-12
:::caution Archived page Check the latest hard fork and update your node :::
- Network: Gnosis
- ~Date: 2021-11-12
- Block number:
19,040,000
Client Updates
OpenEthereum
Please update to v3.3.0 RC 15 which contains the London hard fork transition.
:::info Most node operators use the --chain=xdai flag when running a node. In this case, you will only need to update the client. If you use a local spec.json file, you will need to upgrade to this version before restarting your node with the updated OE version. :::
-
Set docker image in
docker-compose.ymltoimage: openethereum/openethereum:v3.3.0-rc.15
-
Restart your node
docker-compose downdocker-compose up -d -
There may be an additional instruction related to a variable update following the HF.
Nethermind
Upgrade to version v1.11.7. This is the latest Nethermind release.
-
Set docker image as image: nethermind/nethermind:latest
-
docker pull nethermind/nethermind:latestdocker-compose downdocker-compose up -d
Description: London HF
Applicable updates
- EIP-1559 – reconfigures fees to include BASEFEE. Block size increase to 34M. See 1559 on Gnosis for more info
- EIP-3198 – returns the
BASEFEEfrom a block - EIP-3529 - reduces gas refunds for EVM operations
- EIP-3541 - prevents deploying contracts starting with
0xEF
// File: about/specs/hard-forks/21735000
#21735000 - 2022-04-20
In response to the community sentiment overwhelming favoring GIP-31 a hardfork has been proposed for Gnosis. Node operators can now update their OpenEthereum or Nethermind nodes in preparation.
- Network: Gnosis
- Block number:
21,735,000 - Completed: 20 April 2022
Client Update Instructions
:::info Instructions below are for standard node updates. For archive nodes running Nethermind, please see note below. :::
OpenEthereum
Please update to v3.3.5 which contains the hard fork transition.
-
Set docker image in
docker-compose.ymltoimage: openethereum/openethereum:v3.3.5
-
Restart your node
docker-compose downdocker-compose up -d
Nethermind
Upgrade to version v1.12.7.
-
Set docker image as image: nethermind/nethermind:1.12.7
-
docker pull nethermind/nethermind:1.12.7docker-compose downdocker-compose up -d
Archive nodes running Nethermind
:::danger
Nethermind v1.12.5+ turns on memory pruning by default. You will need to disable pruning in the config file when running an archive node.
Set the following variable NETHERMIND_PRUNINGCONFIG_MODE: "None"
:::
Code Updates: Token Contract Bytecode
- OpenEthereum: Support new hardfork (#619, #633)
- Nethermind: [Gnosis/POSDAO] Support new hardfork (#3889, #3930)
This HF replaces the bytecode in the permitable token contract. Tokens bridged using the previous implementation were susceptible to re-entrancy when combined with protocols that did not guard against these types of attacks. The HF will increase bridged token security for protocols on Gnosis. More information is available in the Gnosis Forum GIP-31 post.
Previous permitable token contract bytecode
0x6080604052600436106101b65763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146101bb57806306fdde03146101e4578063095ea7b31461026e5780630b26cf661461029257806318160ddd146102b557806323b872dd146102dc57806330adf81f14610306578063313ce5671461031b5780633644e51514610346578063395093511461035b5780634000aea01461037f57806340c10f19146103b057806342966c68146103d457806354fd4d50146103ec578063661884631461040157806369ffa08a1461042557806370a082311461044c578063715018a61461046d578063726600ce146104825780637d64bcb4146104a35780637ecebe00146104b8578063859ba28c146104d95780638da5cb5b1461051a5780638fcbaf0c1461054b57806395d89b4114610589578063a457c2d71461059e578063a9059cbb146105c2578063b753a98c146105e6578063bb35783b1461060a578063cd59658314610634578063d73dd62314610649578063dd62ed3e1461066d578063f2d5d56b14610694578063f2fde38b146106b8578063ff9e884d146106d9575b600080fd5b3480156101c757600080fd5b506101d0610700565b604080519115158252519081900360200190f35b3480156101f057600080fd5b506101f9610721565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023357818101518382015260200161021b565b50505050905090810190601f1680156102605780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027a57600080fd5b506101d0600160a060020a03600435166024356107af565b34801561029e57600080fd5b506102b3600160a060020a0360043516610803565b005b3480156102c157600080fd5b506102ca61085d565b60408051918252519081900360200190f35b3480156102e857600080fd5b506101d0600160a060020a0360043581169060243516604435610863565b34801561031257600080fd5b506102ca610a32565b34801561032757600080fd5b50610330610a56565b6040805160ff9092168252519081900360200190f35b34801561035257600080fd5b506102ca610a5f565b34801561036757600080fd5b506101d0600160a060020a0360043516602435610a65565b34801561038b57600080fd5b506101d060048035600160a060020a0316906024803591604435918201910135610a78565b3480156103bc57600080fd5b506101d0600160a060020a0360043516602435610b89565b3480156103e057600080fd5b506102b3600435610c94565b3480156103f857600080fd5b506101f9610ca1565b34801561040d57600080fd5b506101d0600160a060020a0360043516602435610cd8565b34801561043157600080fd5b506102b3600160a060020a0360043581169060243516610db5565b34801561045857600080fd5b506102ca600160a060020a0360043516610df1565b34801561047957600080fd5b506102b3610e0c565b34801561048e57600080fd5b506101d0600160a060020a0360043516610e23565b3480156104af57600080fd5b506101d0610e37565b3480156104c457600080fd5b506102ca600160a060020a0360043516610e3e565b3480156104e557600080fd5b506104ee610e50565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052657600080fd5b5061052f610e5b565b60408051600160a060020a039092168252519081900360200190f35b34801561055757600080fd5b506102b3600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e6a565b34801561059557600080fd5b506101f9611171565b3480156105aa57600080fd5b506101d0600160a060020a03600435166024356111cb565b3480156105ce57600080fd5b506101d0600160a060020a03600435166024356111d7565b3480156105f257600080fd5b506102b3600160a060020a0360043516602435611202565b34801561061657600080fd5b506102b3600160a060020a036004358116906024351660443561120d565b34801561064057600080fd5b5061052f61121e565b34801561065557600080fd5b506101d0600160a060020a036004351660243561122d565b34801561067957600080fd5b506102ca600160a060020a03600435811690602435166112b4565b3480156106a057600080fd5b506102b3600160a060020a03600435166024356112df565b3480156106c457600080fd5b506102b3600160a060020a03600435166112ea565b3480156106e557600080fd5b506102ca600160a060020a036004358116906024351661130a565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b820191906000526020600020905b81548152906001019060200180831161078a57829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a03871680855290835281842086905581518681529151939490939092600080516020611a13833981519152928290030190a350600192915050565b600654600160a060020a0316331461081a57600080fd5b61082381611327565b151561082e57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561087b57600080fd5b600160a060020a038416151561089057600080fd5b600160a060020a0385166000908152600360205260409020546108b9908463ffffffff61132f16565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108ee908463ffffffff61134116565b600160a060020a0380861660008181526003602090815260409182902094909455805187815290519193928916926000805160206119f383398151915292918290030190a3600160a060020a0385163314610a1c5761094d85336112b4565b905060001981146109b757610968818463ffffffff61132f16565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a3610a1c565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a1157506109ea611354565b600160a060020a0386166000908152600a6020908152604080832033845290915290205410155b1515610a1c57600080fd5b610a27858585611358565b506001949350505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b60025460ff1681565b60085481565b6000610a71838361122d565b9392505050565b600084600160a060020a03811615801590610a9c5750600160a060020a0381163014155b1515610aa757600080fd5b610ab186866113ef565b1515610abc57600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b3186611327565b15610b7d57610b7233878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437506113fb945050505050565b1515610b7d57600080fd5b50600195945050505050565b600654600090600160a060020a03163314610ba357600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bcb57600080fd5b600454610bde908363ffffffff61134116565b600455600160a060020a038316600090815260036020526040902054610c0a908363ffffffff61134116565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000916000805160206119f38339815191529181900360200190a350600192915050565b610c9e3382611591565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d2c57336000908152600560209081526040808320600160a060020a0388168452909152812055610d61565b610d3c818463ffffffff61132f16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611a13833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610dcc57600080fd5b80600160a060020a0381161515610de257600080fd5b610dec8383611680565b505050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b657600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260036000909192565b600654600160a060020a031681565b600080600160a060020a038a161515610e8257600080fd5b600160a060020a0389161515610e9757600080fd5b861580610eab575086610ea8611354565b11155b1515610eb657600080fd5b600854604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb602080830191909152600160a060020a03808f16838501528d166060830152608082018c905260a082018b905289151560c0808401919091528351808403909101815260e090920192839052815191929182918401908083835b60208310610f575780518252601f199092019160209182019101610f38565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b60208310610ff75780518252601f199092019160209182019101610fd8565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600080845283830180875282905260ff8d1684870152606084018c9052608084018b905294519098506001965060a080840196509194601f19820194509281900390910191865af1158015611077573d6000803e3d6000fd5b50505060206040510351600160a060020a03168a600160a060020a03161415156110a057600080fd5b600160a060020a038a16600090815260096020526040902080546001810190915588146110cc57600080fd5b856110d85760006110dc565b6000195b600160a060020a03808c166000908152600560209081526040808320938e16835292905220819055905085611112576000611114565b865b600160a060020a03808c166000818152600a60209081526040808320948f1680845294825291829020949094558051858152905192939192600080516020611a13833981519152929181900390910190a350505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a75780601f1061077c576101008083540402835291602001916107a7565b6000610a718383610cd8565b60006111e383836113ef565b15156111ee57600080fd5b6111f9338484611358565b50600192915050565b610dec338383610863565b611218838383610863565b50505050565b600754600160a060020a031690565b336000908152600560209081526040808320600160a060020a0386168452909152812054611261908363ffffffff61134116565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611a13833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b610dec823383610863565b600654600160a060020a0316331461130157600080fd5b610c9e816116ac565b600a60209081526000928352604080842090915290825290205481565b6000903b1190565b60008282111561133b57fe5b50900390565b8181018281101561134e57fe5b92915050565b4290565b61136182611327565b80156113885750604080516000815260208101909152611386908490849084906113fb565b155b15610dec5761139682610e23565b156113a057600080fd5b60408051600160a060020a0380861682528416602082015280820183905290517f11249f0fc79fc134a15a10d1da8291b79515bf987e036ced05b9ec119614070b9181900360600190a1505050565b6000610a71838361172a565b600083600160a060020a031663a4c0ed367c0100000000000000000000000000000000000000000000000000000000028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561148c578181015183820152602001611474565b50505050905090810190601f1680156114b95780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561154757818101518382015260200161152f565b50505050905090810190601f1680156115745780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156115b657600080fd5b600160a060020a0382166000908152600360205260409020546115df908263ffffffff61132f16565b600160a060020a03831660009081526003602052604090205560045461160b908263ffffffff61132f16565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516916000805160206119f38339815191529181900360200190a35050565b600160a060020a038216151561169e57611699816117f9565b6116a8565b6116a88282611805565b5050565b600160a060020a03811615156116c157600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526003602052604081205482111561174657600080fd5b600160a060020a038316151561175b57600080fd5b3360009081526003602052604090205461177b908363ffffffff61132f16565b3360009081526003602052604080822092909255600160a060020a038516815220546117ad908363ffffffff61134116565b600160a060020a0384166000818152600360209081526040918290209390935580518581529051919233926000805160206119f38339815191529281900390910190a350600192915050565b30316116a882826118a3565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b5051905061121884848361190b565b604051600160a060020a0383169082156108fc029083906000818181858888f1935050505015156116a85780826118d86119c2565b600160a060020a039091168152604051908190036020019082f080158015611904573d6000803e3d6000fd5b5050505050565b60408051600160a060020a03841660248201526044808201849052825180830390910181526064909101909152602081810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781528251606093600093909290918491828a5af160005193508392508080156101b65750506000835111156119ba578115156119ba57600080fd5b505050505050565b6040516021806119d2833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820da715ff88e0288dbae664bb8af2f148726bdc8c499fecf88153280d022031e780029
New permitable token contract bytecode
0x6080604052600436106101b35763ffffffff60e060020a60003504166305d2035b81146101b857806306fdde03146101e1578063095ea7b31461026b5780630b26cf661461028f57806318160ddd146102b257806323b872dd146102d957806330adf81f14610303578063313ce567146103185780633644e5151461034357806339509351146103585780634000aea01461037c57806340c10f19146103ad57806342966c68146103d157806354fd4d50146103e957806366188463146103fe57806369ffa08a1461042257806370a0823114610449578063715018a61461046a578063726600ce1461047f5780637d64bcb4146104a05780637ecebe00146104b5578063859ba28c146104d65780638da5cb5b146105175780638fcbaf0c1461054857806395d89b4114610586578063a457c2d71461059b578063a9059cbb146105bf578063b753a98c146105e3578063bb35783b14610607578063c6a1dedf14610631578063cd59658314610646578063d505accf1461065b578063d73dd62314610694578063dd62ed3e146106b8578063f2d5d56b146106df578063f2fde38b14610703578063ff9e884d14610724575b600080fd5b3480156101c457600080fd5b506101cd61074b565b604080519115158252519081900360200190f35b3480156101ed57600080fd5b506101f661076c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610230578181015183820152602001610218565b50505050905090810190601f16801561025d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027757600080fd5b506101cd600160a060020a03600435166024356107fa565b34801561029b57600080fd5b506102b0600160a060020a0360043516610810565b005b3480156102be57600080fd5b506102c761086a565b60408051918252519081900360200190f35b3480156102e557600080fd5b506101cd600160a060020a0360043581169060243516604435610870565b34801561030f57600080fd5b506102c7610a38565b34801561032457600080fd5b5061032d610a5c565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506102c7610a65565b34801561036457600080fd5b506101cd600160a060020a0360043516602435610a6b565b34801561038857600080fd5b506101cd60048035600160a060020a0316906024803591604435918201910135610aac565b3480156103b957600080fd5b506101cd600160a060020a0360043516602435610bbd565b3480156103dd57600080fd5b506102b0600435610cc8565b3480156103f557600080fd5b506101f6610cd5565b34801561040a57600080fd5b506101cd600160a060020a0360043516602435610d0c565b34801561042e57600080fd5b506102b0600160a060020a0360043581169060243516610de9565b34801561045557600080fd5b506102c7600160a060020a0360043516610e0e565b34801561047657600080fd5b506102b0610e29565b34801561048b57600080fd5b506101cd600160a060020a0360043516610e40565b3480156104ac57600080fd5b506101cd610e54565b3480156104c157600080fd5b506102c7600160a060020a0360043516610e5b565b3480156104e257600080fd5b506104eb610e6d565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561052357600080fd5b5061052c610e78565b60408051600160a060020a039092168252519081900360200190f35b34801561055457600080fd5b506102b0600160a060020a0360043581169060243516604435606435608435151560ff60a4351660c43560e435610e87565b34801561059257600080fd5b506101f6610fc5565b3480156105a757600080fd5b506101cd600160a060020a036004351660243561101f565b3480156105cb57600080fd5b506101cd600160a060020a0360043516602435611032565b3480156105ef57600080fd5b506102b0600160a060020a0360043516602435611054565b34801561061357600080fd5b506102b0600160a060020a0360043581169060243516604435611064565b34801561063d57600080fd5b506102c7611075565b34801561065257600080fd5b5061052c611099565b34801561066757600080fd5b506102b0600160a060020a036004358116906024351660443560643560ff6084351660a43560c4356110a8565b3480156106a057600080fd5b506101cd600160a060020a0360043516602435611184565b3480156106c457600080fd5b506102c7600160a060020a036004358116906024351661120b565b3480156106eb57600080fd5b506102b0600160a060020a0360043516602435611236565b34801561070f57600080fd5b506102b0600160a060020a0360043516611241565b34801561073057600080fd5b506102c7600160a060020a0360043581169060243516611261565b60065474010000000000000000000000000000000000000000900460ff1681565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b820191906000526020600020905b8154815290600101906020018083116107d557829003601f168201915b505050505081565b600061080733848461127e565b50600192915050565b600654600160a060020a0316331461082757600080fd5b610830816112c0565b151561083b57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045490565b600080600160a060020a038516151561088857600080fd5b600160a060020a038416151561089d57600080fd5b600160a060020a0385166000908152600360205260409020546108c6908463ffffffff6112c816565b600160a060020a0380871660009081526003602052604080822093909355908616815220546108fb908463ffffffff6112da16565b600160a060020a038086166000818152600360209081526040918290209490945580518781529051919392891692600080516020611d7283398151915292918290030190a3600160a060020a0385163314610a225761095a853361120b565b905060001981146109c457610975818463ffffffff6112c816565b600160a060020a038616600081815260056020908152604080832033808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a3610a22565b600160a060020a0385166000908152600a602090815260408083203384529091529020541580610a175750600160a060020a0385166000908152600a602090815260408083203384529091529020544211155b1515610a2257600080fd5b610a2d8585856112ed565b506001949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60025460ff1681565b60085481565b336000818152600560209081526040808320600160a060020a03871684529091528120549091610807918590610aa7908663ffffffff6112da16565b61127e565b600084600160a060020a03811615801590610ad05750600160a060020a0381163014155b1515610adb57600080fd5b610ae58686611324565b1515610af057600080fd5b85600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16878787604051808481526020018060200182810382528484828181526020019250808284376040519201829003965090945050505050a3610b65866112c0565b15610bb157610ba633878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843750611330945050505050565b1515610bb157600080fd5b50600195945050505050565b600654600090600160a060020a03163314610bd757600080fd5b60065474010000000000000000000000000000000000000000900460ff1615610bff57600080fd5b600454610c12908363ffffffff6112da16565b600455600160a060020a038316600090815260036020526040902054610c3e908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a03851691600091600080516020611d728339815191529181900360200190a350600192915050565b610cd233826114ad565b50565b60408051808201909152600181527f3100000000000000000000000000000000000000000000000000000000000000602082015281565b336000908152600560209081526040808320600160a060020a0386168452909152812054808310610d6057336000908152600560209081526040808320600160a060020a0388168452909152812055610d95565b610d70818463ffffffff6112c816565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a038916808552908352928190205481519081529051929392600080516020611d92833981519152929181900390910190a35060019392505050565b600654600160a060020a03163314610e0057600080fd5b610e0a828261159c565b5050565b600160a060020a031660009081526003602052604090205490565b600654600160a060020a031633146101b357600080fd5b600754600160a060020a0390811691161490565b6000806000fd5b60096020526000908152604090205481565b600260056000909192565b600654600160a060020a031681565b600080861580610e975750864211155b1515610ea257600080fd5b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb6020820152600160a060020a03808d16828401528b166060820152608081018a905260a0810189905287151560c0808301919091528251808303909101815260e0909101909152610f17906115da565b9150610f25828686866116e1565b600160a060020a038b8116911614610f3c57600080fd5b600160a060020a038a1660009081526009602052604090208054600181019091558814610f6857600080fd5b85610f74576000610f78565b6000195b905085610f86576000610f88565b865b600160a060020a03808c166000908152600a60209081526040808320938e1683529290522055610fb98a8a836118e3565b50505050505050505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107f25780601f106107c7576101008083540402835291602001916107f2565b600061102b8383610d0c565b9392505050565b600061103e8383611324565b151561104957600080fd5b6108073384846112ed565b61105f338383610870565b505050565b61106f838383610870565b50505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b600754600160a060020a031690565b600080428610156110b857600080fd5b600160a060020a03808a1660008181526009602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019290925281830193909352928b166060840152608083018a905260a0830182905260c08084018a90528151808503909101815260e090930190529250611149906115da565b9050611157818686866116e1565b600160a060020a038a811691161461116e57600080fd5b61117989898961127e565b505050505050505050565b336000908152600560209081526040808320600160a060020a03861684529091528120546111b8908363ffffffff6112da16565b336000818152600560209081526040808320600160a060020a038916808552908352928190208590558051948552519193600080516020611d92833981519152929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b61105f823383610870565b600654600160a060020a0316331461125857600080fd5b610cd281611a3e565b600a60209081526000928352604080842090915290825290205481565b6112898383836118e3565b60001981141561105f57600160a060020a038084166000908152600a60209081526040808320938616835292905290812055505050565b6000903b1190565b6000828211156112d457fe5b50900390565b818101828110156112e757fe5b92915050565b6112f682610e40565b1561105f5760408051600081526020810190915261131990849084908490611330565b151561105f57600080fd5b600061102b8383611abc565b600083600160a060020a031663a4c0ed3660e060020a028685856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113a8578181015183820152602001611390565b50505050905090810190601f1680156113d55780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909916989098178852518151919790965086955093509150819050838360005b8381101561146357818101518382015260200161144b565b50505050905090810190601f1680156114905780820380516001836020036101000a031916815260200191505b509150506000604051808303816000865af1979650505050505050565b600160a060020a0382166000908152600360205260409020548111156114d257600080fd5b600160a060020a0382166000908152600360205260409020546114fb908263ffffffff6112c816565b600160a060020a038316600090815260036020526040902055600454611527908263ffffffff6112c816565b600455604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a03851691600080516020611d728339815191529181900360200190a35050565b80600160a060020a03811615156115b257600080fd5b600160a060020a03831615156115d0576115cb82611b8b565b61105f565b61105f8383611b97565b6000600854826040518082805190602001908083835b6020831061160f5780518252601f1990920191602091820191016115f0565b51815160209384036101000a6000190180199092169116179052604080519290940182900382207f190100000000000000000000000000000000000000000000000000000000000083830152602283019790975260428083019790975283518083039097018752606290910192839052855192945084935085019190508083835b602083106116af5780518252601f199092019160209182019101611690565b5181516020939093036101000a6000190180199091169216919091179052604051920182900390912095945050505050565b6000808460ff16601b14806116f957508460ff16601c145b1515611775576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611813576040805160e560020a62461bcd02815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051600080825260208083018085528a905260ff8916838501526060830188905260808301879052925160019360a0808501949193601f19840193928390039091019190865af115801561186d573d6000803e3d6000fd5b5050604051601f190151915050600160a060020a03811615156118da576040805160e560020a62461bcd02815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b600160a060020a0383161515611968576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156119ee576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0380841660008181526005602090815260408083209487168084529482529182902085905581518581529151600080516020611d928339815191529281900390910190a3505050565b600160a060020a0381161515611a5357600080fd5b600654604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b33600090815260036020526040812054821115611ad857600080fd5b600160a060020a0383161515611aed57600080fd5b33600090815260036020526040902054611b0d908363ffffffff6112c816565b3360009081526003602052604080822092909255600160a060020a03851681522054611b3f908363ffffffff6112da16565b600160a060020a038416600081815260036020908152604091829020939093558051858152905191923392600080516020611d728339815191529281900390910190a350600192915050565b3031610e0a8282611c44565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290518391600091600160a060020a038416916370a0823191602480830192602092919082900301818787803b158015611bfc57600080fd5b505af1158015611c10573d6000803e3d6000fd5b505050506040513d6020811015611c2657600080fd5b5051905061106f600160a060020a038516848363ffffffff611cac16565b604051600160a060020a0383169082156108fc029083906000818181858888f193505050501515610e0a578082611c79611d41565b600160a060020a039091168152604051908190036020019082f080158015611ca5573d6000803e3d6000fd5b5050505050565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050503d1561105f5760206000803e600051151561105f57600080fd5b604051602180611d51833901905600608060405260405160208060218339810160405251600160a060020a038116ff00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a165627a7a72305820b96bb0733a3e45fdddafa592f51114d0cf16cad047ad60b9b91ae91eb772c6940029
// File: about/specs/hard-forks/2508800
#2508800 - 2019-03-06
:::caution Archived page Check the latest hard fork and update your node :::
Info
- Network: xDai (now Gnosis)
- Date: 2019-03-06
- Block number: 2508800
Description
This update disables Constantinople EIP-1283 at block 2508800 in xDai network.
Solution
- Update Parity node to
2.3.2-betausing this guide. - Update
poa-chain-spec/spec.json- add eip1283DisableTransition toengine.paramssection. See Update spec.json - Organize the HF on block
2508800.
Verify
grep -n -A2 2508800 spec.json
You should see:
38: "eip1283DisableTransition": 2508800,
39- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2"
40- },
// File: about/specs/hard-forks/7298030
#7298030 - 2019-12-12
:::caution Archived page Check the latest hard fork and update your node :::
- Network: xDai (now Gnosis)
- Date: 2019-12-12
- Block number:
7298030
Description: Istanbul Upgrade
- eip1283ReenableTransition
- eip1344Transition
- eip1706Transition
- eip1884Transition
- eip2028Transition
Perform Updates
- You must update spec.json and Parity node to version 2.6.5 as the spec format was changed. Use this guide to upgrade.
- Organize the HF on block
7298030
Verify
Once your update is complete, verify the HF block number:
grep -n -A2 7298030 spec.json
You should see:
39: "eip1283ReenableTransition": 7298030,
40: "eip1344Transition": 7298030,
41: "eip1706Transition": 7298030,
42: "eip1884Transition": 7298030,
43: "eip2028Transition": 7298030,
44- "registrar": "0x1ec97dc137f5168af053c24460a1200502e1a9d2"
45- },
--
82: "7298030": {
83- "info": "Istanbul HF",
84- "price": {
--
104: "7298030": {
105- "info": "Istanbul HF",
106- "price": {
--
127: "7298030": {
128- "info": "Istanbul HF",
129- "price": {
--
143: "7298030": {
144- "info": "Istanbul HF",
145- "price": {
// File: about/specs/hard-forks/9186425
#9186425 - 2020-04-01
:::caution Archived page Check the latest hard fork and update your node :::
- Network: xDai (now Gnosis)
- Date: 2020-04-01
- Block number:
9186425
Description: POSDAO Activation
- new ValidatorSet contract
- blockRewardContractTransitions
- randomnessContractAddress
- posdaoTransition
- new Registry contract
- transactionPermissionContract
Perform Updates
- You must update spec.json and Parity node to version 2.7.2-posdao-stable. Use this guide to upgrade.
- Organize the HF on block
9186425
Verify
Once your update is complete, verify the HF block number:
grep -n -A2 9186425 spec.json
You should see:
20: "9186425": {
21- "contract": "0xB87BE9f7196F2AE084Ca1DE6af5264292976e013"
22- }
--
28: "9186425": "0x481c034c6d9441db23Ea48De68BCAe812C5d39bA"
29- },
30- "randomnessContractAddress": {
--
31: "9186425": "0x5870b0527DeDB1cFBD9534343Feda1a41Ce47766"
32- },
33: "posdaoTransition": 9186425
34- }
35- }
--
58: "transactionPermissionContractTransition": 9186425
59- },
60- "genesis": {
// File: about/specs/hard-forks/README
Hard Forks
:::danger Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain.
Validators will receive instructions to update their nodes in the event of a hard fork. :::
Information related to a hard fork will be posted. If any assistance is needed, feel free to reach out or ask questions through Discord, the forum or other channels.
// File: about/specs/hard-forks/dencun
What is Dencun hardfork?
Dencun hardfork activates all EIPs also activated on Ethereum mainnet. The table below lists differences if any.
| EIP | Scope | |
|---|---|---|
| EIP-1153: Transient storage opcodes | EL | Not modified |
| EIP-4788: Beacon block root in the EVM | CL, EL | Not modified, same addresses as Ethereum |
| EIP-4844: Shard Blob Transactions | CL, EL | Constants maybe modified from Ethereum (* ) |
| EIP-5656: MCOPY - Memory copying instruction | EL | Not modified |
| EIP-6780: SELFDESTRUCT only in same transaction | EL | Not modified |
| EIP-7044: Perpetually Valid Signed Voluntary Exits | CL | Not modified |
| EIP-7045: Increase max attestation inclusion slot | CL | Not modified |
| EIP-7514: Add Max Epoch Churn Limit | CL | Constants maybe modified from Ethereum (* ) |
| EIP-7516: BLOBBASEFEE opcode | EL | Not modified |
* See Differences with Ethereum mainnet
Note: The trusted setup required for deneb's cryptography is the same as defined in Ethereum's consensus spec release v1.4.0, which can be found here.
Differences with Ethereum mainnet
EIP-4844
Gnosis chain has slots significantly faster than Ethereum. Bigger blocks could have a higher cost to the network than Ethereum so we may price blobs differently. Ethereum mainnet has chosen a target of 3 blobs from real live experiments on mainnet with big blocks. Consequently this parameters may not be adequate.
Gnosis chain has significantly cheaper fees than mainnet, so blob spam is a concern. Ethereum's MIN_BLOB_GASPRICE makes blob space free (1e-18 USD / blob) if usage is under the target for a sustained period of time. The same concern applies to Ethereum, but consensus is that choosing a specific value that may apply to only some market conditions and not others. Given that Gnosis native token is a stable coin, this concerns are mitigated. Given usage under target for regular txs and blob data, setting min blob gas price to 1 GWei reduces the cost per byte by a factor of 16.
| Constant | Value |
|---|---|
| MIN_BLOB_GASPRICE | 1000000000 |
| TARGET_BLOB_GAS_PER_BLOCK | 131072 |
| MAX_BLOB_GAS_PER_BLOCK | 262144 |
| BLOB_GASPRICE_UPDATE_FRACTION | 1112826 |
EIP-7514
Gnosis chain has both a lower CHURN_LIMIT_QUOTIENT and faster epoch times. A MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT value of 2 provides a good trade-off to:
- Limit max state growth in the next year to 1M validators
- Increase the minimum time for a 2/3 malicious take-over to 150 days at current validator set sizes
- Allow validator set growth to prevent long queues unless there's exceptional demand
| Constant | Value |
|---|---|
| MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT | 2 |
Upgrade Schedule
| Network | Timestamp | Date & Time (UTC) | Fork Hash | Beacon Chain Epoch |
|---|---|---|---|---|
| Chiado | 1706724940 | Wed Jan 31 2024 18:15:40 GMT+0000 | 0x5fbc16bc | 516608 |
| Mainnet | 1710181820 | Monday March 11 202418:30:20 +UTC | 0x1384dfc1 | 889856 |
How to Prepare
For Validators
Update your clients:
Execution Layer
Consensus Layer
// File: about/specs/hard-forks/eip-1559
EIP-1559
When EIP-1559
:::success EIP-1559 is live on Gnosis.
- Network: Gnosis
- Date Implemented: November 12, 2021
- Block number:
19,040,000:::
What is EIP-1559
EIP 1559 introduces a BASEFEE for all blockchain transactions. This is a minimum fee charged for each transaction, and it is adjusted depending on network congestion (gas usage per block). When gas usage is high, the fee increases, and when it is low, the fee decreases.
Once collected, base fees are burned by the protocol rather than paid directly to the miners (or validators in the case of xDai). In addition to the base fee, a PRIORITYFEE can be added to a transaction as a tip to incentivize miners (validators) to include it in a block.
How 1559 impacts the Gnosis
When EIP-1559 is implemented, xDai base fees will be burned within the protocol. This will result in a discrepancy between the xDai balance on the network and the DAI balance from Ethereum locked in the xDai bridge. To fix this imbalance, the corresponding amount of DAI on the mainnet will need to be used as well.
The imbalance has not resulted in large discrepancies, and the DAI balance has not been used as of yet.
Information on the burn is available here: https://dune.com/gnosischain_team/EIP-1559-on-xDai
Block size is also increased to 34M with this upgrade.
:::info For more info about EIP-1559 on Ethereum and how it works, see the list of EIP-1559 resources compiled by Tim Beiko. :::
// File: about/specs/hard-forks/merge
:::danger Hard forks are backward-incompatible upgrades used to introduce new functionality or fix security related issues. They are backward-incompatible upgrades, requiring all nodes to upgrade to the latest version to avoid syncing to a pre-fork blockchain. :::
- Network: Gnosis
- Beacon block number:
6,306,357 - Completed: 8 December 2022
- Merged successful announcement
The Merge
In early December 2022, Gnosis underwent the Merge. The Gnosis execution layer (formerly xDai) has been merged with the Gnosis Beacon Chain, in a process similar to the Ethereum merge.
The Merge represents an important shift for Gnosis, replacing the legacy Proof-of-Authority consensus with the open and unpermissioned Beacon Chain Consensus. This allows Gnosis to transition to a fully decentralized and permissionless proof-of-stake network.
The Merge is also another step in Gnosis' journey together with Ethereum. From the early days of xDai at ETHDenver, Gnosis has had a role in Ethereum's journey. With the adoption of Ethereum's consensus mechanism, Gnosis will continue to contribute to Ethereum's growth as an experimental chain, where newcomers, experiments and ideas are welcome.
When did the Merge happen?
:::tip
The week of 5th Dec 2022
:::
On the 9 Nov 2022 Gnosis Core Devs call, it was agreed to target the week of 5th Dec 2022 for the Merge. Due to variances in block time, the Merge will likely happen sometime from 5th to 11th Dec 2022.
TTD
With the 5th Dec 2022 target in mind, the Core Devs have proposed the following TTD value:
8626000000000000000000058750000000000000000000
This number was not chosen randomly: to pay tribute to the Ethereum Merge, Core Devs have proposed to include Ethereum's TTD, 58750000000000000000000, in the Gnosis Merge TTD.
Bellatrix
Similar to Ethereum, the Gnosis Beacon Chain have had a Bellatrix epoch that occurred prior to the Merge.
:::danger
The Bellatrix upgrade is a hard fork. Nodes that aren't upgraded when the upgrade is released risk syncing to a pre-fork blockchain.
:::
Timeline
| Date | Event |
|---|---|
| 15 Nov 2022 (Wed) | Merge Date announced publicly |
| 23 Nov 2022 (Wed) | Release of merge-ready Client Images |
| 23 Nov 2022 (Wed) | Release of revamped Validator Docs |
| 30 Nov 2022 (Wed) | Bellatrix epoch hit for Consensus Layer clients |
| 5-11 Dec 2022 (Mon) | Estimated TTD window for Gnosis Merge |
How to Prepare
For Validators
:::caution
Merge-ready clients releases can be downloaded from the link below. Please check and download the latest version of release for your clients. Latest announcements will be made in the #validators channel in Gnosis Discord and on Twitter.
:::
EL client
| Client | Merge ready release | Status |
|---|---|---|
| Nethermind | v1.14.6 | ✅ https://github.com/NethermindEth/nethermind/releases/tag/1.14.6 |
| Erigon | TBA | ⌛ Coming soon |
CL client
| Client | Merge ready release | Status |
|---|---|---|
| Teku | v22.11.0 | ✅ Available https://github.com/ConsenSys/teku/releases/tag/22.11.0 |
| Lodestar | v1.2.2 | ✅ Available https://github.com/ChainSafe/lodestar/releases/tag/v1.2.2 |
| Lighth |
… [truncated — open the raw llms.txt above for the full file]
Meet the modern standard for public facing documentation. Beautiful out of the box, easy to maintain, and optimized for user engagement.
Search through billions of items for similar matches to any object, in milliseconds. It’s the next generation of search, an API call away.
Build and deploy reliable background jobs with no timeouts and no infrastructure to manage.
Get the simple developer experience of SQLite in production, and scale your multi-tenant backend with unlimited databases.
Upstash is a serverless data platform providing low latency and high scalability for real-time applications.
One-click deployments built for teams, tuned for Laravel, loaded with tools and goodies you're going to love.