Last week during the public Global R&D, @victorshoup gave a presentation on a collaboration with Zama regarding fully homomorphic encryption (FHE) research. During the presentation, he said that somewhere in the grand and glorious future after the research collaboration that we hope to enable arbitrary computation on encrypted data.
You can watch the presentation starting here: Global R&D - April 2023 - YouTube
This is extremely exciting. I would like to ask @victorshoup and others involved to share more details on these plans if they can.
I have a few questions:
- Will FHE ever be able to provide truly arbitrary computation, including branching (if statements) and all other operations necessary for a turing-complete and expressive computational environment like we have with high-level languages such as Rust, Python, JavaScript, etc?
- If yes to question 1, will this require new languages or libraries, or will it be possible for example to feed Wasm or other bytecode/binary into some kind of FHE VM and enable arbitrary computation on encrypted data in that way, similar to a zkVM?
- The presentation mentioned other methods being explored, Iām only really aware of MPC as another means to enable arbitrary computation on encrypted data, are there others?
Like I said, the vision here is extremely exciting and would solve a host of privacy issues with hopefully an extremely simple and familiar developer experience. Iād like to know truly how promising this path is and what it will look like for developers, and how CDK authors (like us with Azle and Kybra) should expect to integrate FHE and the other methods in the future.
Thank you!