Hi, I was reading this blog post and was wondering if there are some technical details about how data privacy is preserved within Harmony?
Thanks
Hey @Sepia ! Great question. You can keep data private on a blockchain by keeping a hash pointer to the encrypted data stored off-chain.
However, what I think you mean is more about how can we power privacy-preserving computing on a blockchain. While this is not a direct focus for tHarmony at this moment, this is an extremely promising space in the future. If we don’t implement this ourselves then we would definitely integrate with a project that would facilitate this.
There are a few promising approaches to privacy preserving computation:
- One is federated learning. In this case, the data stays on your local device and the model that is being trained (the program) is passed around. In this way the data never leaves your hands and remains private.
- A second is homomorphic encryption. In this case, data is encrypted in a way that conceals the exact information but preserves the structure of the data. The model can be trained on this obfuscated data. This allows you to keep the information private.
- Another approach is to you a Trusted Execution Environment or TEE. A TEE is a piece of hardware that is specially designed to be secure so that any data that is operated on within it cannot be revealed.
Each of these approaches has different tradeoffs. It is still early on the journey to privacy preserving computation but the potential is huge! This is a crucial piece for building an open data ecosystem and open AI.
If you’re interested to learn more, check out projects like Openmined, Oasis, and Numerai.
Thank you for the explanation Nick!
I too think privacy-preserving computation is a very promising space. And even a necessity for many application to be run on a blockchain! I hope you can integrate such a solution from the very beginning.
I think there is another important project in the space of privacy-preserving computation called Enigma. Are you aware of them? They will use TEE and later also sMPC.
Hi @Sepia,
Yes I have heard good things about Enigma although I personally haven’t looked into the project too deeply. I am glad that there are so many talented teams working on solving this problem. I look forward to collaborating with these kinds of projects in the future to enable privacy preserving functionality on Harmony.
Are there any other topics you are curios about?
Hey Nick,
glad to hear that you care about privacy! I think Enigma is interesting in that regard, because it’s a second layer that can have different consensus layers (e.g. Harmony). Also worth mentioning that they’ll support WASM.
Yes, I’m also curious about possible attack vectors for the network at the beginning (when there are 100 nodes). And how you will protect against them?
Hey Sepia,
Good to know that Enigma will support WASM. That means we will be compatible with them in the future. I think the best part of the open source ecosystem that we’re building is that there will be so much composability between projects. Innovation will happen much quicker as a result of that.
Let’s open another thread to chat about attack vectors especially at the beginning. But just to clarify, we will have much more than just 100 nodes at the outset. There are 100 spaces for people to sign up as foundational node operators but they can each run more than one node and we hope that they will.
Nick