-
Notifications
You must be signed in to change notification settings - Fork 780
Labels
enhancementNew feature or requestNew feature or requestpbtstrackingA complex issue broken down into sub-problemsA complex issue broken down into sub-problems
Milestone
Description
In order to ensure backwards compatibility, PBTS should be enabled via consensus params.
In #2018 MedianTime was removed per the original work in tendermint/tendermint#7382. This does not consider that PBTS can be adopted in existing chains, with blocks produced and that need to be verified using the BFT Time algorithm.
Specification
- Addressed by spec(consensus): update description of consensus parameters for PBTS #2415 (depends on 2376 below)
- Specify the transition from BFT Time to PBTS via consensus parameter
- Add it to
spec/consensus/time.md
- Add it to
- Update documentation of
FeatureParams, remove references toABCIParams
- Specify the transition from BFT Time to PBTS via consensus parameter
Documentation
- Addressed by docs(pbts): documentation for PBTS-related consensus parameters #2376
- Update ADR with the adopted solution: docs: ADR-112 Proposer-Based Timestamps #2223
- Update the PBTS documentation accordingly
- Add to the PBTS documentation the workaround for transitioning to PBTS proposed in the ADR (see this comment).
Implementation
- "Rescue" code removed by cherry-picks:
- PBTS: Restore
state.MedianTimeand affected call sites (block creation and validation) #2203 - PBTS: Restore and adapt
voteTime()consensus method accordingly #2204 - refactor!: moved
MedianTimeout ofinternalfolder #2397 - Adapt calls to the construction
types.NewProposalto accept a timestamp (see comment)- This is not needed, as in if we didn't update them yet, compilation errors and test failing would be observed
- PBTS: Restore
- Introduce and implement consensus param to enable PBTS
Testing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpbtstrackingA complex issue broken down into sub-problemsA complex issue broken down into sub-problems