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

Resolving branches #426

Open
sandrask opened this issue May 25, 2021 · 3 comments
Open

Resolving branches #426

sandrask opened this issue May 25, 2021 · 3 comments
Assignees

Comments

@sandrask
Copy link
Contributor

With Orb there is a possibility that we may end up with branches in anchor credential graph.

@sandrask
Copy link
Contributor Author

sandrask commented Nov 3, 2021

Currently we have two guards against branching:
-- VDR (client) is sending requests for document updates to anchor origin
-- if operation request is not sent to anchor origin server and the receiving server has VERIFY_LATEST_FROM_ANCHOR_ORIGIN=true then the receiving server will check local document version against anchor origin server before accepting did operations.

Also, VDR can also use servers configured with RESOLVE_FROM_ANCHOR_ORIGIN=true to speed up the processes of resolving did from anchor origin.

With all the above mentioned guards it appears to be impossible to end up in branching situation.

@sandrask
Copy link
Contributor Author

sandrask commented Nov 3, 2021

If the guards above are not used then it is possible to end up in branching situation. For example, client can send two different operation request with same commitment to two different domains that don't follow each other. In this case document resolution from those two domains will be different. We have to address this scenario in two ways:

  1. Client has to decide which (if any) document is correct (one solution could be that longer operation chain wins)
  2. Server that lost has to be able to recover from this situation.

@sandrask
Copy link
Contributor Author

sandrask commented Nov 3, 2021

@bstasyszyn @fqutishat As agreed postponing the implementation of resolving branches due to current safeguards until next milestone (>0.1.8)

@sandrask sandrask self-assigned this Nov 3, 2021
@bstasyszyn bstasyszyn added the rc5 label Jul 26, 2022
@fqutishat fqutishat added rc4 and removed rc5 labels Aug 26, 2022
@fqutishat fqutishat moved this to TODO in TrustBloc Orb Aug 31, 2022
@fqutishat fqutishat removed the rc4 label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: TODO
Development

No branches or pull requests

3 participants