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

Make it possible to recover SCP messages when replaying from history #3512

Open
MonsieurNicolas opened this issue Aug 22, 2022 · 0 comments · May be fixed by #4156
Open

Make it possible to recover SCP messages when replaying from history #3512

MonsieurNicolas opened this issue Aug 22, 2022 · 0 comments · May be fixed by #4156
Assignees

Comments

@MonsieurNicolas
Copy link
Contributor

This came up while writing up the more general "stellar-archivist" issue stellar/go#4549

Basically: when replaying from history nodes are not aware of SCP messages.

For validators:
this creates situations where what the node is going to publish to history does not contain SCP data at all or has gaps.

For watcher nodes:
by not using SCP messages, the meta will not contain SCP data at all. This may create problems in downstream systems (like bridges) that need to consume SCP messages for all ledgers (as "walking back" the ledger chain from a trusted ledger is a lot more expensive).

A few things to consider:
it would be nice if we can recover SCP messages from other archives in some way during catchup
we can't assume that a given archive is complete, so we have to potentially download from multiple archives
quorum set configuration changes over time, so it may be hard to tell if we have all SCP messages, or if what we have is a superset of what we're supposed to publish (special consideration will have to be taken when dealing with archives that can't be fully trusted, maybe having a way to tell in config which archives can be used for that purpose would make sense?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants