github.com/badrootd/nibiru-cometbft@v0.37.5-0.20240307173500-2a75559eee9b/docs/architecture/adr-041-proposer-selection-via-abci.md (about)

     1  # ADR 041: Application should be in charge of validator set
     2  
     3  ## Changelog
     4  
     5  
     6  ## Context
     7  
     8  Currently Tendermint is in charge of validator set and proposer selection. Application can only update the validator set changes at EndBlock time.
     9  To support Light Client, application should make sure at least 2/3 of validator are same at each round.
    10  
    11  Application should have full control on validator set changes and proposer selection. In each round Application can provide the list of validators for next rounds in order with their power. The proposer is the first in the list, in case the proposer is offline, the next one can propose the proposal and so on.
    12  
    13  ## Decision
    14  
    15  ## Status
    16  
    17  ## Consequences
    18  
    19  Tendermint is no more in charge of validator set and its changes. The Application should provide the correct information.
    20  However Tendermint can provide psedo-randomness algorithm to help application for selecting proposer in each round.
    21  
    22  ### Positive
    23  
    24  ### Negative
    25  
    26  ### Neutral
    27  
    28  ## References
    29