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: Store for committed values and commit certificates as support for ValueSync #580

Open
Tracked by #578
cason opened this issue Nov 19, 2024 · 2 comments
Open
Tracked by #578
Assignees
Labels
spec Related to specifications synchronization Nodes' synchronization (different rounds, heights) issues

Comments

@cason
Copy link
Contributor

cason commented Nov 19, 2024

In order to support the crash-recovery failure model (#578), the layer that adopt consensus should be able to remember the current state of the blockchain, namely the array of committed blocks and associated commit certificates.

The specific requirements should be detailed.

Definition of done

  • Add requirement to the ValueSync (English) spec. in quint this is modeled via action updateServer(node, chain). Say that the way this is stored in Quint is because we don't really capture the outside of consensus, i.e., the context/application/etc/
@ancazamfir ancazamfir added the spec Related to specifications label Nov 22, 2024
@cason cason added the synchronization Nodes' synchronization (different rounds, heights) issues label Nov 22, 2024
@romac romac changed the title spec: store for committed values and commit certificates spec: Store for committed values and commit certificates Dec 19, 2024
@cason
Copy link
Contributor Author

cason commented Jan 6, 2025

Besides of better documenting the solution, can we consider it solved?

@josef-widder
Copy link
Member

  1. In quint this is modeled in the DriverState.chain, which is a list of ValueStoreEntry, which contains value and commit
  2. In the implementation that should most likely be stored outside of consensus and updated upon decisions
  3. the entry of height h must be persisted (to stable storage) before consensus of height h+1 is started
  4. it must be able to be read by ValueSync (it needs this information to send it to peers so that they can catch up)

@josef-widder josef-widder changed the title spec: Store for committed values and commit certificates spec: ValyeSync requirement: Store for committed values and commit certificates Jan 14, 2025
@josef-widder josef-widder changed the title spec: ValyeSync requirement: Store for committed values and commit certificates spec: ValueSync requirement: Store for committed values and commit certificates Jan 14, 2025
@cason cason changed the title spec: ValueSync requirement: Store for committed values and commit certificates spec: Store for committed values and commit certificates as support for ValueSync Jan 14, 2025
@josef-widder josef-widder self-assigned this Jan 14, 2025
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
Projects
None yet
Development

No branches or pull requests

3 participants