elixir-omg icon indicating copy to clipboard operation
elixir-omg copied to clipboard

Detect reorgs changing child chain history in the Watcher

Open pdobacz opened this issue 4 years ago • 0 comments

(I think there used to be an ancient pivotal/Jira ticket for this, but submitting a fresh one is easier ;) )

In #1421 an (unlikely) edge-case failure of the operator, called tentatively "change of mind", is described.

This would happen if a once submitted root chain hash changed for a particular blknum, effectively undoing some child chain block and transaction history. Without this feature, the Watcher is "stuck" with the first child chain history it sees and syncs to. It will only ever report byzantine in case someone decides to spend from the "real" block (invisible to the stuck Watcher) in a possibly distant future.

  1. This should be detected as yet another byzantine condition requiring a mass exit
  2. The Watcher should (somehow, needs investigation, esp. in the context of MoreVP) reconcile the child chain state, so that it can be helpful when doing the mass exit.
  3. In particular, the effect of spending from transaction outputs that got rolled-back by the "change of mind", in the context of MoreVP, must be investigated carefully.
  4. Consider on-chain fraud-proof facilities that could strengthen the security features (chain is kill-swietched off in case someone presents the double-sign transactions from authority)

pdobacz avatar Mar 24 '20 13:03 pdobacz