I see the Parity option for "bombDefuseTransition" here, under chain spec:


Two questions:

1 - Why is this needed? (Would I be correct in saying that the difficulty bomb is coded into the software, therefore ANY test/dev net you use will have it, unless you use that flag?)

2 - How would one know what "block number at which the difficulty bomb (epsilon in Yellow Paper Eqs. 39, 44)" should be removed at?

1 Answer 1


Only a partial answer, and it might require someone who knows about Ethereum Classic (i.e. the ETC chain) to confirm...

This option was added during the addition of support for the Expanse network (EXP), under Parity issue #2369. However, I believe it's probably actually related to ECIP-1010, which is Ethereum Classic's (mainnet) delay of the Difficulty Bomb.

For the only relevant block of code - i.e. the code that uses bomb_defuse_transition (i.e. bombDefuseTransition), and handles ECIP-1010 - see ethash.rs.

So really this is a test option that allows Ethereum Classic test networks to simulate the Difficulty Bomb changes in ECIP-1010. (I think.)

Edit (9th May 2017):

As per this answer to a follow-up question, it looks like setting the bombDefuseTransition option in the genesis file will deactivate the Difficulty Bomb, as you suspect. So, while it was added for Expanse support, it's a general option that will work with any private chain.

  • So if operating on a custom (public but non-standard) chain, is there any way to diffuse the difficulty bomb and continue operating as though Ice Age doesn't exist?
    – stone.212
    Commented May 7, 2017 at 10:47

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.