Table of Contents
The BNB Beacon Chain mainnet is expected to have a scheduled hard fork upgrade at block height 328,088,888. Based on the current block generation speed, the hard fork will occur on 19th July 2023. at 6:00 (UTC). The full node runners on mainnet must switch their software version to v0.10.16 by 19th July.
1. Background Story
1.1 Who is ZhangHeng?
Zhang Heng (AD 78–139) was a Chinese polymathic scientist and statesman who lived during the Han dynasty. He succeeded as an astronomer, mathematician, seismologist, hydraulic engineer, inventor, geographer, cartographer, ethnographer, artist, poet, philosopher, politician, and literary scholar.
1.2 What is a Hardfork upgrade?
A Hardfork is an upgrade incompatible with the previous release because some breaking changes are introduced in the latest release. A hard fork in BNB Beacon Chain requires 2⁄3 of validators to upgrade to make blocks successfully. If the existing full nodes in the network do not upgrade, they will not receive and execute further blocks after the hard fork block height.
1.3 What happens during a network upgrade?
New rules and logic changes will occur for this upgrade at block height of 328,088,888. After the upgrade kicks in, the blockchain can handle a series of new business rules and logic.
2. How does this upgrade affect me?
2.1 As a BNB holder, what do I have to do?
If you are using 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), there’s no action required on your side unless your exchange or wallet service notifies you.
2.2 As a full node operator, what do I have to do?
This is a hardfork release, and you need to switch to v0.10.16. Upgrade instructions are as below (you should do all the below before the hardfork block height):
- If your node is already synced with the network, please download the new v0.10.16 binary and replace the previous version, and download the new config file app.toml to replace the previous version or add BEP255Height = 328088888 under the [upgrade] module of app.toml.
- Increase the open file limit to 65535.
- Stop the bnbchaind process and restart it with v0.10.16.
ulimit -n 65535
bnbchaind start –home <home-path>
2.3 What will happen if I forget to upgrade my full node in time?
If you fail to upgrade your software on time, your node will not sync with the upgraded BNB Beacon Chain peer/validator nodes. You will not be able to connect or send transactions.
How to recover?
You can find detailed info at doc-site.
- Download the tool state-recover from release to fix the upgrade issue.
- Backup your home directory
Since the height of the upgrade is set to be 328,088,888, you can run the following command to recover the state to just one block before the upgrade, which is 328,088,887:
./state_recover 328088887 <your_home_path> |
3. Restart with the version v0.10.16 of bnbchaind
bnbchaind start –home <home-path> |
3. Upcoming Changes
3.1 What will change with the blockchain feature?
- New Features
- BEP-255: This BEP proposes implementing on-chain asset reconciliation on BNB Beacon Chain to improve security. User balance changes are tracked in each block and will be reconciled to identify issues. The blockchain will panic and stop producing new blocks when there are reconciliation errors.
- Bug Fix
- A security issue called ‘Rogue Key Attack’ could harm the correctness of the Fast Finality mechanism. Please refer to BLS Multi-Signatures With Public-Key. To fix the bug, all existing vote addresses will be cleared up when the height of hardfork is reached. Validators need to add vote addresses again. Please refer to Edit BSC Validator.
3.2 What will be different for users?
There will be no difference for users of BC.
Thanks for your cooperation, and let’s make BNB Beacon Chain a modern and secure infrastructure for the BNB ecosystem.
BNB Beacon Chain Community:
Forum: Build N Build
Twitter: https://twitter.com/BNBCHAIN
Telegram: https://t.me/BNBchaincommunity
Engineering Discord: https://discord.com/invite/bnbchain