Decentralized computing is a challenge because unlike storage, it's very expensive to encrypt computation. You see something like 10,000x slowdowns.
With storage, we can encrypt and checksum everything client-side in a cryptographically secure manner, and we can have full faith that even though we are giving our data to someone else, they have no way to view the data or tamper with the data.
If techniques like homomorphic encryption gain substantial speedups, I'm sure that we'll start to see decentralized/trustless computing, but for now you really need to be doing your outsourced computing with someone you can trust and someone who is regulated, because it's possible to act maliciously.
1. Now I have to trust two providers, each of which could have problems.
2. Now I have to pay for encryption, then pay for storage, and probably have higher ingress costs, too (I can probably trust AWS/GCP/Azure/Backblaze/whatever; not sure about random-blockchain-guy #67812).
SGX has always seemed like the Netflix DRM problem to me.. eventually, pixels have to show up on a screen somewhere, right? Am I mistaken in this line of thinking?
Homomorphic encryption solves this, but it’s throwing an awful lot of performance out the window.
I think the idea behind SGX based cloud computing would be that you send encrypted data and code to the enclave, which then decrypts the data, does the computation, encrypts the result, and then returns the encrypted result.
The enclave gets to see everything that's going on, but in theory nothing can view or corrupt what's going on inside of the enclave.
I'm personally pretty skeptical that SGX is a secure platform, however if you do decide that SGX works and is trustworthy, it would be possible to outsource your computation in a mostly cost effective way to anyone who has an SGX enclave.
Yes, this is the idea. Enclave technology should improve over time, whether it's SGX or something else. And Golem is working with Intel, Texas A&M and others in creating an environment called Graphene (https://grapheneproject.io/) where applications can easily be run on SGX.
Enclave defeating technology will improve over time as well. Things like scanners and lasers and emi detectors get better and better just as technologies for hiding from them do.
This isn't what SGX is for. SGX is designed to add a layer of security to protect against malicious code on the same machine, encrypting memory at rest such that its contents aren't compromised if a vulnerability allows access to it. It's not intended to support an untrusted computing platform like homomorphic encryption.
With storage, we can encrypt and checksum everything client-side in a cryptographically secure manner, and we can have full faith that even though we are giving our data to someone else, they have no way to view the data or tamper with the data.
If techniques like homomorphic encryption gain substantial speedups, I'm sure that we'll start to see decentralized/trustless computing, but for now you really need to be doing your outsourced computing with someone you can trust and someone who is regulated, because it's possible to act maliciously.