Tendermint gives absolute power to the proposer for choosing which transactions to be included in the block. This mechanism provides us weakest tx censorship resistance.
Also, the choice of sorting is 100% decided by the proposer alone, which is another significant weak point of Tendermint.
Currently we do not have any application on Tendermint which demands high level of censorship resistance and prevented transaction sorting manipulation. But after time, we will have more applications, either on the Cosmos Hub or on other networks which require strong assumption on censorship and transaction manipulation, just like AMM.
So, I would like to kick off this discussion about brainstorming more decentralized block proposing process in Tendermint.
A naive approach for this is to split concensus process to two steps
- concensus on transaction list and sorting from all validators proposing txs
- concensus on execution result on states
This naive approach will make block time longer, so this might not be what we want as a side effect.
But I think there exists some design space of this where we can reduce block time length impact while achieving the decentralized transaction choosing process.