Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spec: Support to the crash-recovery model #578

Open
5 tasks
cason opened this issue Nov 19, 2024 · 0 comments
Open
5 tasks

spec: Support to the crash-recovery model #578

cason opened this issue Nov 19, 2024 · 0 comments
Labels
spec Related to specifications synchronization Nodes' synchronization (different rounds, heights) issues tracking A complex isssue broken down into sub-problems.

Comments

@cason
Copy link
Contributor

cason commented Nov 19, 2024

Tendermint consensus algorithm is designed for the Byzantine model, where we should consider crash-recovery faulty behavior: when a process crashes (abruptly ceases its participation in the protocol) and later recovers (i.e., the crashed process is started again).

It is worth noticing that a process that crashes then recovers is not a Byzantine (faulty) process. In fact, the period of "absence" of the process can be theoretically modeled as a long period of asynchrony, during which the process does not produce any output (e.g., messages). However, as a correct process, once it rejoins the computation (recovers), it should operate consistently , i.e., act accordingly to the protocol, in a way that it is somehow indistinguishable from a process that has not crashed.

To achieve this behavior, a recovering process should re-join the protocol with the same state it had before crashing, which means that the portion of the process state that is relevant for the protocol operation must be persisted.

Definition of Done

@cason cason added spec Related to specifications tracking A complex isssue broken down into sub-problems. labels Nov 19, 2024
@cason cason added the synchronization Nodes' synchronization (different rounds, heights) issues label Nov 22, 2024
@romac romac changed the title spec: support to the crash-recovery model spec: Support to the crash-recovery model Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec Related to specifications synchronization Nodes' synchronization (different rounds, heights) issues tracking A complex isssue broken down into sub-problems.
Projects
None yet
Development

No branches or pull requests

1 participant