diem / diem/dip

LIP-1 Ability to resync channel state

Open
#73 4 comments 0 reactions 1 assignee Claimed by @kphfb View on GitHub
Dominant language
JavaScript
Stars
43
Forks
47
PR merge metrics
No merged PRs in 30d

Description

What happens if one of the parties loses synchronization?

Scenario 1 - Server out of sync?
The protocol server sends a command to the protocol client and ask to mutate an object.
The command _reads object version 1 in an attempt to write version 2 while the protocol client possess version 5
in such cases what should the client do? fall back to the server version?

Scenario 2 - Client out of sync?
The protocol client sends a command that reads object version 1 and willing to mutate it onto version 2.
The server the last version is already version 5. In that case, since the server is the source of truth how the client is supposed
to fetch the diff and resync it's channel state? (versions 2-5)

Scenario 3 - One of the parties lost channel state completely (disaster recovery)
1. When it is back up, how can it know it even had a channel with another VASP? maybe a channel health check mechanism is required here.
2. If it knows about the channel, how can he ask the other side to help him reconstruct its state?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.