I am exploring on System Impact risk assessment and mitigation plan during a block chain (ex –Ethereum) hard fork.

1) What happens to the deployed smart contracts when a hard fork occurs?

2) Does complete state data (along system event log data) also available on the newly forked chain?

3) If yes, do we also get the complete state of each smart contract on Both Chain?

4) If someone decides to continue to with existing chain, Do they / their users require performing any additional steps before continuing with their dapp?

5) If someone decides to continue with New Chain, what is expected from him and his users?

Answer: I believe, Yes their users should connect to new Chain (like we do using Metamask). any other pointers?

6) What are the known risks for Dapps systems running Ethereum as backend infrastructure in any of such hard fork?

6.1) Is there any good guide for mitigation plan on these risks (For production ready app)?

7) During BTC to BCH OR ETH to ETC (or any other famous harkfork), did we observe any such downtime or any other risk?

Regards Dev

1 Answer 1

  1. Nothing happens to a deployed smart contract when a blockchain forks. It will remain a part of both chains as a part of their chain state.
  2. At the point of the hard fork (a particular block), both chains have exactly the same historical data. After the point of the fork, any new data is not shared and will not be the same for the two sides of the fork.
  3. Yes.
  4. It depends on the specifics of the hard fork, but in general, there will be an "existing chain" and a "new chain". No users or services will need to do anything to support the "existing chain", since nothing about that chain has changed.
  5. There may need to be a number of infrastructure upgrades needed to support the "new chain". For example, upgrading local nodes, changing endpoints to access other nodes, etc... Even at the protocol level, Hard forks can pretty much change anything, so depending on the changes, it could require a whole new stack of software to work with the new chain. But it could also be really simple to switch over if not much as changed.
  6. When a chain hard forks, it usually implies that the pool of miners which produce blocks and ultimately secure the network are also divided. Thus it is possible that one or both sides of the fork could be attackable. Things like double spending attacks could be an issue. If you want to think really abstractly, there is nothing to say that a Hard Fork could introduce some larger vulnerability into the smart contract layer or adjust the state of your dapp in some negative way. At that point, it seems like you have bigger problems.

6.1. The amount of miners on a network is pretty public information, so you could calculate/estimate how vulnerable a chain is to attack. You would want to take those calculations into account when determining how many confirmation blocks your DApp needs before you do off-chain operations.

  1. Ethereum Classic just recently got double spend attacked.
  • Hi @Shawn, I agree with your inputs but when I said the risk that time I was mostly referring to the Dapp operations point of view like Is there any risk of downtime on either of Chains .i.e. if some one opt for either of chains? I understand double spending n other risks is completly on core protocol and consensus side which is not a application layer.
    – CaptPython
    Commented Mar 18, 2019 at 4:52
  • 1
    There should be no downtimes. There may be delays. I.e. the block difficulty is recalculated to support a certain ideal block time. This means as more miners come to the platform, the difficulty increases such that the block time stays more or less constant. In the situation of a hard fork, a lot of miners leave, thus it would be reasonable to expect that the block time, and thus performance of a Dapp would suffer, at least for some period of time. Other than that, it would not be normal to compare a dapp to something like a cloud application. The blockchain is a truly distributed technology Commented Mar 18, 2019 at 9:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.