Closed ancazamfir closed 4 years ago
Thanks for the review! Temporal properties here are not perfect and still work in progress. As I mentioned before I find this the hardest part of a TLA spec. I played with a few variants to see the results and left the code in a bit of limbo. Will work more on these.
I like the both specs. 👍👍👍
At the meta-level, both fastsync and the the low-level light client spec pay a lot of attention to the error codes. While it is indeed important to the implementation, this error processing obfuscates the main logic of the protocol. It would be really great to decouple the error-checking spec from the happy-logic spec. In the case of fastsync, we could decompose all
handleXYZ
operators into two versions:handleXYZwhenError
andhandleXYZwhenNoError
. This would help us to see the core logic without focusing on errors too much and, at the same time, see more clearly, how the errors propagate through the protocol actions.
I will look into that
Review for the TLA+ specification for the scheduler handler in fastsync version 2.
(just status request/ response and no-advance timer event for now)