# MP-FHE experiments. Our learnings trying to find the next big tech to focus on.

- Speakers: [CPerezz](https://streameth.org/speakers/cperezz)
- Channel: [Devcon 7 SEA](https://streameth.org/devcon_7_sea)
- Date: 2024-11-12
- Duration: 06:13
- Watch: https://streameth.org/watch/6732fa4080d989c5b7ae853c

## Description

This talk mainly focuses on showcasing the work that some PSE members did while starting to dive into MPC-FHE during Q2 2024. This work is composed by various explorations within the MPC-FHE realm that move towards different directions and goals.

From FHE compilers to FFT Bootstrapping GPU optimization proposals, passing by FHE Game demos and many application level implementations, the talk aims to reach beginner-advanced audience on the research/product paths that we have explored so far.

## About the speakers

### CPerezz

Exploring all kinds of stuff at PSE-EF.

Mostly interested in P2P networking, privacy and cryptography (not necessarily in this order).


## Transcript

Today it's gonna be another version of my like pro crypto style of talks which is we speed run absolutely about a lot of concepts try to get as much as possible hold your seat and put your belt on and let's go together. So the motivation and goals for this talk are mainly see which are the basic common questions that we have about FHE, what is even FHE, which I will get shortly into now, see where we can apply it, where we have been able to apply it, and see what limitations and alternatives and conclusions about those we have been able to apply it, and see what limitations and alternatives and conclusions about those we have so far found. So FHE, why, how, and what? Basically the easiest way to map that in your brain is we are able to compute among other people's private data, and so the results are always encrypted, meaning whatever we get out of the computational result, only us can know the answer to. The why this is useful, I mean, you can sort of see this as like an untrusted TEE somehow. So imagine if instead of TEEs being in hardware, they were just an encrypted thing that we all work and run on the top of math, there's like a lot less security assumptions that then we need to have. And how we do that, well, we are based on lots of different primitives, but I would say the most important one is lattices, for example. But this is likely for other like more advanced or mathematical talks, so I've tried to abstract basically everything that is related to this core math. What can we build? So one of the first really small explorations that we did was, can we actually make Photoshop, which can be a software as a service, but run on an FHC server. So basically, my picture is private, and the server doesn't know anything about my picture, and I will tell the server, I want to do these edits, the server will perform those without knowing anything about the image, and will return me the image encrypted later. So only I can decrypt it. So far, server doesn't learn anything, doesn't know anything at all, but I got my picture edited. And this is basically what we did with Mario here. We can go, like, further. So we created some kind of frog crypto shitty game, I would say. We thought, what if we could do more with our frogs? And so one of the things that we decided is, well, let's make them fight. So now you have an arena which runs on a server that is basically performing all of the FHE stuff. And so you can put your frogs there, they fight, and you just know what was the outcome of the fight. But you don't learn the strategy of the rivals, you don't learn absolutely anything at all, which can be fun, can be useless, I'm not really sure, but up for you to judge. The two most important reasons we learned is that it's a big pain to write these things, like the Photoshop was okay because it was a negative of an image, then we got into the Pokemon kind of thing and it was started to be like, it's taking me time to write this. And the more you want to do, like the much harder it becomes. So writing Boolean circuits by hand was not going to work.
