celestiaorg / celestia-core

Celestia node software based on Tendermint.
https://celestia.org/
Apache License 2.0
476 stars 253 forks source link

Backport proposer based timestamps #1255

Open evan-forbes opened 4 months ago

evan-forbes commented 4 months ago

PBTS have been a long awaited feature. This block validity rule would stop indiviual validators from proposing a block faster than expected https://github.com/celestiaorg/celestia-core/issues/1038, and it would stop a malicious 1/3 from accelerating the recorded block time (time listed in the header, not the actual time between blocks!).

PBTS was originally proposed and implemented years ago, so it might actually be easier to backport that instead of the one recentily added to CometBFT.

It has been speculated that using proposer based timestamps would also fix the issues encountered the last time we tried to make the timeout commit dynamic https://github.com/celestiaorg/celestia-core/pull/965

rootulp commented 4 months ago

Can you please include links to the two distinct implementations you're referring to?

evan-forbes commented 4 months ago

yeah sure, the first is the one from two years ago https://github.com/cometbft/cometbft/tree/wb/proposal-timestamp-difference

the second will be included in the v1 version of CometBFT, which I couldn't find if it exists. After that version is released, depending on what version our branched is based on we might want to use it instead

rootulp commented 4 months ago

Thanks. It's kinda difficult to view the diff on that branch so this PR may also help: https://github.com/tendermint/tendermint/pull/7605