Sweet!
Suppose you have a list of key-value pairs and the hash of this list is well-known. Is it possible to not just fetch the value but also prove that the value comes from the list?
A weaker version of this question, is it possible to scramble the database in such a way that the server can still serve queries but can't delete a row without discarding the whole thing?
The case I'm thinking about is DNS. The "Unstoppable" domains, for example, are very much stoppable as all Polygon queries go through polygon-rpc.com (this is exactly the sort of thing that makes Bitcoiners roll their eyes and claim that Bitcoin isn't crypto). It would be super cool to resolve domains without revealing which domain you're looking for, but the problem of censorship isn't immediately solved by Spiral yet.
This is definitely gets more into the realm of zero-knowledge. Basically, as it stands, it is not easy to prove that the server is not censoring or tampering with the database.
DNS is a great application, especially for various decentralized naming systems, like ENS or Unstoppable. Certainly we can at least mitigate the privacy disaster that is status-quo today (people just using eth.xyz, and broadcasting every .eth domain they resolve to a random third party). Censorship-resistance is, like you said, a whole new can of worms.
reply