microsoft / CCF

Confidential Consortium Framework
https://microsoft.github.io/CCF/
Apache License 2.0
761 stars 205 forks source link

Only log lower and upper bounds of `committable_indices` to correct claim that we only log variables values constant in space. #6157

Closed lemmy closed 1 week ago

lemmy commented 2 weeks ago

@achamayou correctly observes that we claim that trace validation only logs variable values that are constant in space. However, committable_indices, is not constant in space. While it is unlikely for committable_indices to grow prohibitively large outside of pathological behaviors, state.h should only log committable_indices' lower and upper bound.

https://github.com/microsoft/CCF/blob/6f50f186345cabb1b36086c195fc64e937911cc9/src/consensus/aft/impl/state.h#L202

Due to the way how Traceccfraft has been defined, this change should be isolated to state.h, i.e., the implementation, unless the json format changes substantially

https://github.com/microsoft/CCF/blob/6f50f186345cabb1b36086c195fc64e937911cc9/tla/consensus/Traceccfraft.tla#L192