The Ethereum Constantinople fork, previously scheduled for mid-January and delayed due to a security vulnerability, is now set to take place this week at block 7,280,000, which should be reached on February 28th (see countdown here).
This time, two protocol upgrades — the original Constantinople and the added St. Petersburg — will need to occur at the same block number to address issues on various Ethereum test networks. The good news is that users of exchanges or wallets like MEW still don’t need to do anything to prepare for these updates, but to dispel any lingering confusion, here is a quick MEW guide to understanding blockchain forks!
How does a blockchain “fork”?
The blockchain is (somewhat obviously) a chain of blocks, where the next block is connected to the previous block with a cryptographic hash mechanism. To maintain the immutability of the ledger, only one chain can be “true” at any given time. Accidental small forks can occur occasionally when two miners discover a block at the same time, but as one chain becomes much longer, the smaller chain dies off and the blockchain continues as before. When enough block-creation power diverges from the main chain, the blockchain can permanently split into two chains, each with its own distinct “view” of the ledger’s transaction history.
Imagine a road being built by a single team in a single direction. At some point in the building process, some members of the team may want to change course or change the construction rules. If just one team member starts building in a different direction or in a different way (laying bricks lengthwise rather than crosswise, for example), he or she will only be able to achieve so much progress alone, and the original road will “win”. If a large group of workers is convinced that a new course of action is best, they will move to the new project — leading to a fork in the road!
In Ethereum, how are “official foundation forks” different from other forks?
Constantinople and St. Petersburg are official Ethereum foundation forks. This means that they are authored by the Ethereum research and development organization headed by Vitalik Buterin, and are backed by the majority of the Ethereum community. The main purpose of foundation forks is to upgrade/improve the Ethereum protocol by increasing efficiency and adding functionality to the Ethereum blockchain.
Hard forks initiated by other groups or organizations split off the original blockchain completely. Nodes running the new version are incompatible with the previous version and may even compete with the original chain. These forks are often the result of fundamental disagreements within the community about the security and functionality of the blockchain — or, they can be scams to trick users into losing their funds while trying to move to the new chain.
MEW will support all official Ethereum foundation forks. Other forks may be supported eventually as alternative nodes, given that all goes according to plan in their implementation and they don’t turn out to be an elaborate scam. To view other chains in MEW, you can change network nodes in the upper right corner of the wallet dashboard.
A fork is a fork is a fork?
There is some debate about the way forks are defined. Usually, “hard forks” are those which AREN’T backward-compatible — nodes need to upgrade software if they want to continue interacting with the blockchain, because old nodes will not recognize new blocks as valid.
“Soft forks” indicate blockchain changes that still allow new blocks to be recognized by old software — these forks ARE backward-compatible and usually involve minor updates or accidental splits.
As far as Ethereum forks go, Buterin himself opined, via a Tweet, that perhaps changes like Constantinople should be referred to as “network upgrades” to avoid confusion with permanently diverging blockchain splits. However, not everyone may agree that the change is an improvement to the protocol, so “upgrade” is also problematic. In the media, you may see Constantinople and St. Petersburg referred to as hard forks and upgrades, both. As with many things in the crypto space, the fork naming conventions and best practices are still evolving.
What does it mean to “support” a fork?
When we say that MEW supports the Constantinople and St. Petersburg forks, we mean that our nodes will be updated to reflect the new protocol requirements. The same goes for exchanges, which will update their software to avoid interruption of services to their users. Without updating to the new Ethereum client, exchanges and wallets won’t be able to support the fork because they will be syncing with the old blockchain and won’t be compatible with future transactions.
When a specific group makes changes to the Ethereum protocol that will require a hard fork, it is up to the community to either support those changes or disregard them and stay on the old chain. Depending on the percentage of people who decide to follow the new fork, the new chain may die off or survive, and even flourish. We would say that most of the time, it’s better to follow the chain supported by the community majority.
Why the long delay with Constantinople?
Upgrading the network using a hard fork has its disadvantages. Even though these changes are thoroughly tested, there might be rare edge cases which can result in an unanticipated behavior. Since blockchain is immutable, and there is no going back from a hard fork, it is much better to be safe than sorry.
The reentrancy vulnerability that delayed Constantinople was a theoretical issue, but the blockchain still had to be investigated to check if there were any “live” smart contracts that could be affected. This kind of due diligence takes time and deliberation, but when users’ funds are concerned, Ethereum developers are probably right to put security first.
If you want to learn more about Constantinople and St. Petersburg right from the source, see the Ethereum blog.
Best practices for all seasons
In the end, for most users, the most important safety considerations during blockchain updates and forks are really the same as at any other time.
- Don’t give your private keys to anyone! Don’t type your private key in a browser connected to the internet. Don’t use your private key to access your wallet. Phishers are especially active when there is confusion about legitimate forks.
- Don’t click any links on emails and always check that you are on official sites with SSL certificates.
- Do your research. Read only official news sources, check comments on Reddit and Etherscan, look critically at project web pages. Is there a white paper? Do the social media channels look legitimate? Can you find team member profiles elsewhere on the web?
- Here’s a great general hint: If they want your private key, it’s not legitimate! Nobody needs to have your private key to give you tokens.
Stay safe, don’t panic and contact us at email@example.com if you have any questions!
Always here to demystify crypto,