Lagrange-Labs / lsc-node

Other
26 stars 12 forks source link

[EPIC]: fix the committee root verification failure #474

Closed cool-develope closed 4 months ago

cool-develope commented 4 months ago

Context

For CHAIN_ID="10" BATCH_NUMBER="4875"

For the above batch, the committee root is not matched with the calculated merkle root based on the operator infos, same resule in range of batch 4874 ~ 4940.

The reason of this mismatching is related to the sequencer logic, the sequencer is getting the operator infos from the block state which update tx is executed. If there is any delegation change tx from Eigenlayer side after the update tx in one block, it will affect the operator voting power, as a result the calculated merkle root will be changed.

Actions

To figure out this issue, we need to refactor the sequencer to get the exact intermediate state which update tx is referred. For it, we need to sync DelegationChange events from Eigenlayer DM contracts and replay them to get the exact operator shares.

To prevent those unexpected issues, we need to setup the cross-verification process to detect the issue early.

Tasks

cool-develope commented 4 months ago

cc: @ChainDev931105 , @kashishshah please create the detailed tasks under tasks field