p2panda / handbook

Website with tutorials, specification, info and learn sections of p2panda
https://p2panda.org
Creative Commons Attribution Share Alike 4.0 International
87 stars 8 forks source link

Requirement `OP9` (operation deletion) is not correct #272

Closed sandreae closed 7 months ago

sandreae commented 1 year ago

Requirement OP9 specifies what to do on a node when a document is found to contain a DELETE operation. This is what it says.

Nodes MUST delete all operations of a document once it has been deleted.

The obvious reason this doesn't make sense is that we need to keep the delete operation itself in order to replicate the deletion to other nodes. So this would be nice to at least correct. However there are some edge case issues which need addressing even after making that fix.

If after receiving a DELETE operation then a node will immediately remove all other operations from the related document. This becomes a problem in the following (similar but subtly different) cases:

We don't need to come up with the solution for these problems right now, but in fixing the current specification we could maybe account for them.