The Binance Chain mainnet is expected to have a scheduled hard fork upgrade at block height 109,999,000. Based on the current block generation speed, it is forecasted to be around 2020/08/28 at 6:00 AM (UTC). The full node runners on mainnet are expected to switch their software version to v0.8.0 by 2020/08/28.
1. Background Story
1.1 Who is Charles Darwin?
This upgrade is named after Charles Darwin, in the honor of his key pioneering works of building the theory of evolution and natural selection. In 1859, he published his landmark book, On the Origin of Species. Darwin's work established evolutionary descent with modification as the dominant scientific explanation of diversification in nature.
1.2 What is a hardfork upgrade?
A hardfork is an upgrade that is not compatible with the previous release because some breaking changes are introduced in the latest release. A hardfork in Binance Chain requires +⅔ validators to successfully upgrade to keep making blocks. If the existing full nodes in the network do not upgrade, they will not be able to receive and execute further blocks normally after the hardfork block height.
1.3 What happens during a network upgrade?
Logic changes will occur at block height 109,999,000. for this upgrade. After the activation of the upgrade, the blockchain is able to handle a series of new business logic.
2. How does this upgrade affect me?
2.1 As a BNB holder, what do I have to do?
If you use any exchanges which support BNB (such as Binance.com, BitMax or Gate.io), one of the wallets, or a hardware wallet (such as Ledger, Cool Wallet), you do not need to do anything unless your exchange or wallet service specifies otherwise.
2.2 As a Binance DEX user, what do I have to do?
There are no changes to Binance DEX matching engine logic. You do not need to do anything.
2.3 As a fullnode operator, what do I have to do?
This release is breaking and you must switch to v0.8.0. Upgrade instructions are (all the below should be done before the hardfork block height:):
- If your node is already synced with the network, please download the new v0.8.0 binary and replace the previous version
- Replace the config.toml and app.toml under
homefolder with the latest versions. You can customize those parameters.
- Increase the open file limit to 65535
ulimit -n 65535
- Stop the bnbchaind process and restart it with v0.8.0.
bnbchaind start --home <home-path>
2.4 What will happen if I forget to upgrade my fullnode in time?
If you cannot upgrade your software, you cannot sync with the upgraded Binance Chain peer/validator nodes. You will not be able to connect or send transactions.
How to recover?
Detailed can be found at the doc-site
- Download the tool
state-recoverfrom node-binary repo for fixing the upgrade issue
- Backup your home directory
Since the height of the upgrade is set to be 109,999,000, you can run the following command to recover the state to just one block before the upgrade, which is 109,998,999 :
./state_recover 109998999 <your_home_path>
- Restart with the version v0.8.0 of bnbchaind
bnbchaind start --home <home-path>
2.5 As a Binance Chain wallet provider or service consumer, what do I have to do?
If you are a wallet provider, please pay attention to the introduction of staking and cross-chain related features:
The following SDK has been upgraded to support those new features.
- Go-sdk: https://github.com/binance-chain/go-sdk/releases/tag/v1.2.4
- Java-sdk: https://github.com/binance-chain/java-sdk/releases/tag/v1.1.0
3. Upcoming Changes
3.1 What will be changed with the blockchain feature?
3.1.1 New Features of Binance Chain node:
Introducing BNB Staking: Ever since Binance Smart Chain was introduced, it features support for developing decentralized apps and the use of Proof of Staked Authority consensus, as well as the ability to stake and delegate BNB for election on Binance Smart Chain validators and to bind tokens across two blockchains for seamless transfer of tokens. This can advance not only the utility and potential value of BNB but also the wider reach of Defi technologies in general.
Cross-chain transfer: This new feature comes with efficient native dual chain communication. It’s optimized for scaling high-performance dApps that require fast and smooth user experience.
Introducing on-chain governance procedure for Binance Smart Chain：Proof of Staked Authority brings in decentralization and community participants. As the native token, BNB will serve as both the gas of smart contract execution and tokens for staking. A proposal-vote process based on BNB staking of validators and delegators will decide global parameters of BSC: cross-chain transfer fee, relayer fee, pool fund, etc. New parameter values will be picked up by corresponding system contracts via cross-chain communication when needed.
Binance Chain Fullnode will publish staking and cross-chain transfer-related transaction information through Kafka publisher. You can read about the new data types in the doc
- Reward Distribution
- Fix the bug of Reward Distribution: On 2020/08/19, an issue was reported that may cause v0.7.2-bsc.beta.3 binary to fail to distribute staking rewards. Now a work-around patch for Binance Chain Testnet is available as version v0.7.2-bsc.beta.4. This fix is also included in v0.8.0
3.1.2 New Features of Binance Chain Client:
- Release of Binance Chain Client with BNB Staking Support: You can now use
bnbclito delegate to existing validators or create their own validators. The full User Guide can be found here: https://docs.binance.org/guides/concepts/bc-staking.html
- Release of Binance Chain Client with BNB Cross-chain transfer Support: You can now use
bnbclito send cross-chain transfer transactions. The full User Guide can be found here: https://docs.binance.org/guides/concepts/bc-bridge.html
Thanks for your cooperation and let’s make Binance DEX a modern and secure marketplace for issuing and exchanging digital assets.
Binance DEX Community