7

I know there are difficulty and totalDifficulty like mentioned in geth's json-rpc API.

difficulty: QUANTITY - integer of the difficulty for this block.
totalDifficulty: QUANTITY - integer of the total difficulty of the chain until this block.

...but what is Terminal Total Difficulty (TTD) mentioned in Ropsten Merge article...?

4 Answers 4

4

Literally, it means the timing to fork when the total difficulty over this value.

Please refer to the Ropsten Merge Announcement https://blog.ethereum.org/2022/05/30/ropsten-merge-announcement/

"The Merge is different from previous Ethereum upgrades in two ways. First, node operators need to update both their consensus and execution layer clients in tandem, rather than just one of the two. Second, the upgrade activates in two phases: the first at a slot height on the Beacon Chain and the second upon hitting a Total Difficulty value on the execution layer."

1
  • Hello. Please provide a source link and quote the part that interests us in resolving this question. Commented Jun 9, 2022 at 6:02
7

Terminal Total Difficulty (TTD) specifies the final, terminal Proof of Work block, after which the Proof of Stake consensus (implemented in the Beacon Chain) takes over.

Pictorially:

enter image description here

TTD is the total (cumulative) difficulty threshold required of the final block mined in Ethereum. When TTD is reached or exceeded, the final block will be mined and then Proof of Stake will take over block production.

As an example, in the Ropsten testnet, the TTD was 50000000000000000.

Ropsten block 12350712 reached the TTD and is the terminal PoW block:

enter image description here

The next block 12350713 is the first block produced by PoS:

enter image description here

You can see that block 12350711 did not have a total difficulty that reached TTD:

enter image description here

3

Terminal Total Difficulty is just a specific Total Difficulty value (totalDifficulty). You need to understand the Merge in order to understand what this value is. Let me explain.

As you said, the totalDifficulty is total difficulty of the chain until this block. So it is only used for Proof of Work (PoW) purposes. Ethereum developers needed a trigger on the execution layer (which uses PoW until the Merge) to perform the Merge and move to Proof of Stake (PoS). They decided to use this variable. The specific and arbitrary value to trigger the Merge has been set to 58750000000000000000000. This value, or threshold if you prefer, is the Terminal Total Difficulty (TTD).

Why "Terminal"? Because after the Merge, Ethereum will use a PoS consensus. A difficulty parameter is a nonsense in a PoS consensus, it's useless ; so is the totalDifficulty. Therefore, when totalDifficulty will reach 58750000000000000000000, it will be the end of PoW, it will be in a kind of "terminal state" before it shoudln't be updated/used anymore.

1

TTD is the value of totalDifficulty at which merge will be triggered.

For Eth merge, TTD value is set to 58569738P which means when a particular blocks total difficulty exceed this TTD value, merge will be triggered.

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.