Gaia and provable data deletion


#1

I have been researching the platform a bit, reading up on Gaia and was wondering if there is a mechanism to prove that data has been deleted, or if this is a thought for the Blockstack platform. I know that data definitely can be deleted, but if a user chooses to trust a certain Gaia hub, say a 3rd party like Amazon, is there any way for Amazon to prove later on that if the user requests deletion of their data, it is in fact deleted?

Referencing this,

A gaia storage hub will store the written data exactly as given. This means that the storage hub does not provide many different kinds of guarantees about the data. It does not ensure that data is validly formatted, contains valid signatures, or is encrypted. Rather, the design philosophy is that these concerns are client-side concerns. Client libraries (such as blockstack.js) are capable of providing these guarantees, and we use a liberal definition of the end-to-end principle to guide this design decision.

This is a general question about how you might reason about or track the deletion of data, using client-side code interacting with Gaia, or additional tools within the ecosystem. Is this something that is already discussed somewhere?

I would add that ‘provable’ might be too strong of a term here, a solution might rely more on providing the right incentives between users and data custodians to reliably track data deletion.


#2

As far as securely deleting data, anything on the internet is subject to being duplicated, so one should always remember that nothing can ever be truly deleted on here.

As far as proving data was removed, I don’t think it’s possible unless you store a reference to it somewhere else – it is the same way you can prove the data was edited.

Say I create a social media post with text content, and by creating the reply you store not only the address of the post but also a hash. If the post is deleted the address is no longer valid, and if the post is edited the hash is no longer valid.

I know it may be too bit of a specific response/answer, so if you have any other questions feel free to ask.


#3

No that’s a perfect answer, my question started out a bit too broad. Truly proving deletion is indeed pretty much impossible.

I think I might be thinking about this more within the context of a content-addressable space such as IPFS for Ethereum, which is much different than Blockstack in this regard. When Gaia is used, I guess there is always an address denoting the location as distinct from its hash, for instance, as your example alludes to. So fundamentally Gaia storage is not content-addressed?


#4

Gaia is a lot of things, but content-addressed is not one of them (which seems to be quite unique among decentralized storage providers). Here’s a neat comparison if you want more information on how it’s different:


(bottom of the document)


#5

In your question, does “deleted” mean “no one can read it every again”, or “every correct client knows that the data is no longer relevant to the client’s program execution?” Gaia supports the latter – once deleted, a getFile() call on the file will not return its data. However, if someone made a copy of the data, then that someone can read the data after the file was deleted.