cosmos-sdk icon indicating copy to clipboard operation
cosmos-sdk copied to clipboard

Fold the validator roots into the state tree

Open liamsi opened this issue 4 years ago • 5 comments

ref: https://github.com/lazyledger/lazyledger-core/issues/66

liamsi avatar Jan 04 '21 19:01 liamsi

Essentially the same work (minus removing the additional validator roots in the header), need to happen in optimint. @tzdybal I'd open a separate issue there and link to this and lazyledger/lazyledger-core#66 in there.

liamsi avatar Feb 03 '21 13:02 liamsi

Have we decided we're not doing this anymore?

adlerjohn avatar Aug 31 '21 17:08 adlerjohn

I'm not sure tbh. If we can keep the current mechanism and have the validator sets as part of the sub-trees in the SMT as in the specs, that could be preferable (as we won't change anything in tendermint per se). But this approach should be validated first.

liamsi avatar Sep 10 '21 07:09 liamsi

I think we discussed today (correct me if I'm wrong @liamsi) that we should include the validator set root in both the header and folded into the state. Which would make this issue no longer needed until we eventually remove the validator set root from the header way down the line.

adlerjohn avatar Sep 25 '21 02:09 adlerjohn

Exactly, we would include the validator set root in both the header and folded into the state.

Which would make this issue no longer needed until we eventually remove the validator set root from the header way down the line.

That means no changes are required on the tendermint side but we still need to make sure that the valsets show up in the state-tree. So while this issue is not really needed as a whole, we still need to make sure that a) the valsetes are part of the abci-app state and b) (less relevant for the main chain, but important for sdk-based rollups imo) that all state-transitions touching that state can result in succinct state fraud-proofs.

liamsi avatar Oct 05 '21 13:10 liamsi