Currently Safenetwork will be able to anonymously store data in a securely encrypted peer-to-peer network. When I write a web application the client should be able to login using his authenticator, authorize it, and allow read and write access to files stored on the network.
For client sided applications this is fine but if we need to have some kind of server to maintain a global state we still have to run a centralized server somewhere which does some processing and manage the app. While this currently not a problem I think in the future we would also want to move away from centralized server computation. So decentralized data storage + decentralized processing on the network or some kind of interactive layer which can be implemented later on.
The golem project is focusing on something similar, but doesn’t offer anything similar in terms of decentralized data what the Safenetwork does. They allow users to render Blender images to their decentralized computation network. I believe every computer that participates has some kind of virtual box running and receives small pieces that can be calculated in parallel by all the machines and are then recollected to make final rendered image.
I was thinking about this idea but applying it in a similar way for any kind of server calculation. This would require write server code in a microservice like manner, similar how AWS Lambda functions work, they run for max amount of time (e.g. 3 seconds) and if they exceed are killed then you pay for all the used run time and memory at the end of the month.
Is it possible to write lambda like code, have it run and maintain the programs state within the decentralized network and for every operation send these simple functions/code to individual peers to calculate and send back to the network. This should obviously be done in a secure way so the result can be compared, cannot be altered or read by any of the peers.
Initially I think something like this because of network latency can be slower than running it on just one server without I/O lagg, so as much code of the webapp as possible should be done on the client side, and only essential operations in such decentralized server application on the network.