So What Exactly Do We Research?
Our research lies in the area of CS theory known as verifiable computation.
Think of an environment such as the one in cloud computing, where a client needs a server to execute some expensive computation. The client is computationally weak, so it oursources the computation to the server, which is computationally powerful. The server can execute said computation and return the result back to the client, but without any additional information, there is no viable method for the client to verify that the server indeed correctly executed the computation. In the field of verifiable computation, the server not only returns the result of the computation to the client, but also returns a short proof that attains to the correctness of the result. The client can verify such a proof and be mathematically convinced of its validity.
Our Contributions (So Far)
Existing verifiable computation protocols fall short in the fact that the time needed for the generation and verification of such proofs do not scale well for "deep" computation. We propose two novel protocols to solve this issue by breaking apart the computation and proving parts of the computation concurrently with others. Our protocols have a wide applicability for general "deep" computation, and most notably with the area of machine learning, where we can efficiently secure deep neural networks used as predictive models in the cloud.
If this research is up your alley, feel free to browse our open-access and open-source code below.