# Ethereum Classic Difficulty Formula

Dec 30, 2018 · 3 min read

The Ethereum Classic (ETC) difficulty is the likely number of hashes a miner will have to calculate to add the next block on the blockchain. Adjustments to the difficulty lead to blocks being added on average about every ten seconds. I will describe how the difficulty is calculated.

# Formula

The difficulty of the first (genesis) block is 131,072. The difficulty of future blocks is found using the following formula:

`max(131072, Dₚ + max(1 - ΔT // 10, -99) · (Dₚ // 2048))`

Dₚ is the difficulty of the previous block (parent), ΔT is the difference in seconds of the creation time from the parent, and, // denotes integer division. Notice the difficulty is never less than that of the genesis block. Notice also there is no change in the difficulty when ΔT is ten seconds. The most the difficulty can ever increase in one block is Dₚ // 2048. The most the difficulty can ever decrease in one block is -99 Dₚ // 2048.

# Code

Here is Python code to calculate the difficulty of future blocks:

`def difficulty(Dp, dT):        """        Calculates the difficulty of blocks.  Dp is the difficulty        of the parents.  dT the difference in seconds of the        creation times from the parents.        """        return max(131072,                    Dp + max(1 - dT // 10, -99) * (Dp // 2048))`

# Example

Here is the difficulty calculation for block 7,190,125. Notice the difficulty is unchanged:

`>>> print(hex(difficulty(0x79f80be54f05, 10)))0x79f80be54f05`

Here is the difficulty calculation for block 7,006,084. Notice the difficulty increases:

`>>> print(hex(difficulty(0x7ed4865d8c48, 1)))0x7ee460ee57f9`

Here is the difficulty calculation for block 7,116,610. Notice the difficulty decreases:

`>>> print(hex(difficulty(0x709d39938c3e, 72)))0x7048c3a85d98`

# Conclusion

The difficulty formula adjusts the mining process so that blocks are added to the ETC blockchain on average about every ten seconds. Hopefully this elaboration filled any missing pieces in your understanding.