Hi, my impression of Solid so far is that the access to a resource should not additionally be protected by any hash, IFF the party wishing modification of a given record are allowed access by you in this case. The whole idea of Solid is to manage access (using Universal Access API) from one WebId to another. In the scenario where the "other user’ has no WebId, you are supposed to make the data you wish to share public de facto and then protect the contents using another mechanism, among which a hash inversion check. In that case however, Solid Pod tech may not be what you need. But again, that is my impression after building only the simplest of Solid app.
is there any reason you want to implement this with Solid? What would be the advantages over a blockchain / other approach you want to get with Solid in this use case? e.g. with Ethereum you would already have the distributed database and can create a smart contract that only allows modification if the preimage x is provided (though you’d need to prevent front-running attacks).
That said, you maybe could implement a custom identity provider, s.t. a user can login as https://your.id.provider/argon2/{hash} only when they provide the preimage x. Then you could use the Solid access controls to allow https://your.id.provider/argon2/{hash} to modify these records.
For the distributed storage and failure tolerance there are no in-built mechanisms and I’m not aware that someone already published such tools. So you would need to build this yourself (host several pods and keeping them synchronized).