A hardfork is necessary when there are changes that are impossible to make backward-compatible with the old version.
Usually when developers implement new features, they design the data structure - the structure of the transaction or the block - so that both old and new versions of the software can interact with it: new versions of the software take advantage of the new functionality and old versions can interact with the data the regular way. With some releases, though, the data structure has to be changed significantly, so a hardfork is necessary. Here is a description of what will happen and the terminology related to it:
The hardfork is designed to be a smooth process. It begins with the release of the new version of the software. It is designed in such way that it can interact with the blockchain and all other nodes the old way, but can deploy new functionality when necessary.
As more users install the new version, more blocks start being produced with the new block version, informing the network that the node that mined the block is ready for the update.
All nodes naturally examine the blocks during the blockchain sync and, as they do, they make a note of the block version. When the number of blocks with the new block version reaches a certain threshold, for instance, 90% of blocks in a 24-hour timeframe, all nodes decide on a switch height. Switch height is a block height at which nodes with the new version of the software stop accepting blocks with the previous block version.
Since a block is released roughly every 120 seconds, it is not difficult to calculate when a certain switch height should take place. After that, all nodes with the old version would not be able to sync new blocks of the blockchain and will be able to interact only with other nodes with old versions of the software. Hence, they would not be able to display the correct balance and exchange BCN.
A harfork may seem inconvenient sometimes, but it brings with it a lot of innovative features. With the 3.4.0 Amethyst release, Bytecoin users will be able to take advantage of the new HD wallet with addresses in a new format, more compact transactions, improved node connectivity and sync speed, and auditable wallets.
It is worth reminding that all of these features will endure an additional testing period in the Stagenet (the Stagenet hardfork is scheduled for the 12th of Decmeber). The stable release of the Amethyst release is scheduled for the 7th of February.
Another very important thing to keep in mind is that the upcoming hardfork does not look like other hardforks in the crypto world: it is only a software update and the currency stays intact. There will be no burned coins, no added coins, and the total supply would not be changed. In a sense a better name for it would be consensus update.
In addition, you do not have to move your coins anywhere: we inform all our partners prior to the hardfork about the necessity to update.
We are all excited to see the Amethyst release in action. You can try out the beta starting from the 12th of December.
The Bytecoin Team