Janwillem Swalens
I joined the Data-Driven Software Systems Research group of Bell Labs’ Application Platforms and Software Systems Lab in 2019. Before that, in 2018, I completed a PhD at the Software Languages Lab of the Vrije Universiteit Brussel. My research focuses on programming languages and techniques for parallel, concurrent, and distributed systems. The holy grail is to come up with concepts that are easy to use, but can still exploit the performance of the hardware.
In the DDSSR team, we develop platforms for stream processing systems. These systems ingest many streams (ranging from small sensor samples to high-bandwidth video streams) and process their data to detect interesting events. These systems are massively distributed and massively parallel. This poses interesting research challenges: how do we make these systems efficient? How do we make them easy to program? And can we make these systems easy to program without sacrificing efficiency?
In this context, I am currently investigating how to apply privacy-enhancing technologies (PETs) to stream processing systems. Privacy-enhancing technologies are techniques that allow privacy to be preserved when dealing with data, e.g. by minimizing the amount of data that needs to be shared between multiple parties, preferably without losing functionality.
In particular, we are looking into Zero-Knowledge Proofs (ZKPs), a technique that allows one party to prove to another that a computation was performed correctly, without revealing the input data. This technique may be applied in cases where multiple parties want to exchange insights extracted from data, without revealing the raw data itself, e.g. because it is commercially sensitive or contains personal information.
My interests lie especially in the design of programming languages, frameworks, or techniques that make it easier to develop real applications using privacy-enhancing technologies. Currently, developing with PETs is difficult, because the techniques are (mathematically) complex, tricky to use without accidentally opening up exploits, and limited in their functionality (e.g. only allowing computations on integers, or being very slow on longer computations). We aim to make it easy to use privacy-enhancing technologies, allowing them to be used to their full potential while ensuring that they are used correctly.
Find more about me on my Bell Labs profile.
Posts
-
zkGadgets: fast, re-usable components for common operations in ZKP
In a previous post, we looked at the two major challenges developers encounter when developing Zero-Knowledge Proofs: performance and programmability. In this post, we will tackle this by developing a library of “zkGadgets” for Zokrates: a library of common aggregation operations, implemented efficiently for use in ZKPs. The gadgets are open sourced on GitHub.
-
The Challenges of Developing Zero-Knowledge Proofs
In this post, we’ll look at the challenges developers encounter when developing Zero-Knowledge Proofs: performance and programmability.