warp-contracts / sequencer

4 stars 0 forks source link

Re-downloading the Arweave block in case of a lack of consensus #65

Closed szynwelski closed 11 months ago

szynwelski commented 1 year ago

According to the mechanism implemented in #20, sequencer nodes independently fetch Arweave blocks, which are eventually included in the sequencer blockchain. As part of this task, we want to safeguard against a scenario in which nodes have downloaded blocks with different content and cannot reach consensus. While such a situation is unlikely, we would like to re-download Arweave blocks at the height where inconsistency occurs in such a case.

BlockDownloader needs to have a method added that will cause it to revert to a block at a specified height and hash, and then re-fetch blocks following that height. Next, this method needs to be called when a particular node rejects a block, and the majority of validators do the same.

szynwelski commented 11 months ago

Implemented in #84.