p2panda / aquadoggo

Node for the p2panda network handling validation, storage, aggregation and replication
GNU Affero General Public License v3.0
70 stars 5 forks source link

Restrictions on `blob_v1` and `blob_piece_v1` accepted operations #497

Open sandreae opened 1 year ago

sandreae commented 1 year ago

Considering the common use cases of blobs, and that they will always be used when related to from a different application document, then the following restrictions might be reasonable:

We could possibly even go so far as to say neither document need be DELETED either, as this is something we can simply infer from the presence (or absence) of a "parent" document. This could be considered separately though as it can also be implemented without other restrictions on blob.

Doing this would exclude any of the "fun" manipulations of blobs we imagined (in place swapping/adding pieces). What it would give us is a simplified pattern for materializing blobs (no longer multiple views for one blob).

An argument against is that actually we, kind of by default, have update capabilities for blobs, it's there in the current implementation. I wonder if we actually need it though, and if there are benefits to removing it :thinking: