Enabling secure multiparty computation: a life journey
by Jesper Buus Nielsen, Chief Cryptographic System Designer
This brief post explains why I believe secure multiparty computation (MPC) is a key technology for creating a better version of the internet and why we founded Partisia Blockchain to unlock its potential.
First, a bit about myself: I am a professor of computer science at Aarhus University in Denmark. For me, MPC and blockchain represent a professional life journey. My PhD thesis in 2003 focused on cryptographic consensus protocols, threshold signature schemes and MPC. Twenty-one years later, these technologies are starting to flourish. Today, they are often known as blockchains, distributed wallets and, well, MPC, and I am still researching them.
If you are reading this post, you probably already know what MPC is. If not, MPC allows multiple servers–each holding private data–to perform computations on the joint dataset without exposing any private data and without revealing anything beyond the computed output. It may sound like magic, but it is just cryptography. For details, see our book here.
I believe MPC has the potential to solve many of the current problems with the internet. The internet was initially envisioned as a space for sharing public information. Instead, it has become a space where we often pour private information into informational black holes, which monetize it in opaque ways, from programmed outrage to influencing voting behavior. You might argue that people should simply stop trading their privacy for trivial rewards. However, when faced with a choice between functionality and privacy, people tend to choose functionality. It is unrealistic to expect this to change, as humans are short-sighted utility optimizers. Fortunately, there is no need to choose between functionality and privacy. MPC demonstrates that you can eat your cake and have it too.
We just need to integrate MPC into everything. Imagine a dream world where using MPC is easy and free. If you wanted to compute on a dataset from several sources, you would simply specify the desired computation in your favorite programming language, indicate where the data is located, compile the code, deploy it, run it. And voilà, the desired result would magically appear where it should, with no leaks. And this process would be as efficient as computing the result on a single computer. Moreover, it would be completely transparent, allowing you to know and control exactly how and when your data was used. Had the internet looked like this from the beginning the way we store and process private data would be completely different, and thousands of new applications would be possible. This does not have to remain a dream world. We can build it, and we should build it!
Two decades ago, I thought researching better MPC protocols would be enough for the world to adopt them. However, implementing and deploying MPC turned out to be more challenging than I anticipated. In 2008, I co-founded Partisia ApS to put MPC into practice. This experience taught me a lot about the real-world challenges of using MPC. For each new use case, we often had to design a new optimized protocol, implement it, and find servers to run it. The hardest part was finding mutually trusted, organizationally separate parties to run the servers and teaching them how to use MPC. While there is still a place for such deployments, it became clear that this approach would not scale if we wanted MPC in everything. If each use case had to bear the cost of developing and implementing a protocol, and if we had to constantly find relevant organizations willing to host the servers, it would not be widely adopted. The solution we came up with was Partisia Blockchain.
Let us look back three decades at how the internet was organized when I was a kid to illustrate why Partisia Blockchain is the way to go. Technologies like FTP, Gopher, Usenet, and Archie technically allowed everything the World Wide Web does today, but there was no dot-com boom. It took Tim Berners-Lee’s 1989 paper, “Information Management: A Proposal”. He rather modestly wanted to improve the way information was shared and managed among researchers at CERN and other institutions. He did not know he had just invented Amazon, eBay, Google, Yahoo, PayPal, Priceline… And of course he had not. He had invented an incredibly potential enabling technology. There might have been a short window where one boomer got the chance to ask “but what is WWW really useful for?” In fact, I know that guy. He was one of my professors the first year at my university. But it quickly turned out that the answer was “Everything!”
In my opinion, one of the most important developments happened in 1995, where the world saw the first version of the open source Apache web server. Now everyone could contribute to developing the WWW and everyone could almost by a single click install a web server and become an “Internet company”. After that no one looked back. There was no reason to ask what WWW was useful for. Everyone started to build what we have today, bottom up. By the early 2000s, Apache had become the dominant web server, powering over 70% of all websites. Apache was very much the enabler and the workhorse of the dot-com boom in the 1990s. Apache’s influence persists today, where 30% of all web servers still run Apache.
So, that was the question: How do we build the “Apache of MPC”? How do we make it possible for everyone to integrate MPC with a “single click”? Instead of having a few MPC companies pursue use cases, we needed to make the technology seamlessly available to everyone to kickstart the building of the MPC internet bottom up. The MPC equivalents of Amazon, eBay, Google, Yahoo, PayPal and Priceline would follow. You will build those! Of course, we needed programming languages and compilers to facilitate this. And we needed tools for integrating MPC with the existing internet technology. That is a lot of work, but it is not fundamentally different from building something like Apache. It is software. However, a major obstacle we were left contemplating was the problem of finding servers to run the protocols. This was an organizational problem, not a software problem. The solution we went for was a blockchain organizing staked and vetted organizations and individuals willing to run the MPCs. Servers hosted by blockchain participants can programmatically be scrambled when needed for an MPC: MPC-as-a-service. You can read more about the Partisia Blockchain architecture here [TBA]. Crucially this converted an organizational problem into a software one. And Partisia Blockchain was born.
There is still a lot of work to be done towards the ultimate dream of making MPC as efficient as computing on a single machine. This is one of the problems I focus on as a university researcher. However, in Partisia Blockchain we are now finally implementing a full-stack, single-click solution to integrate MPC into everything. You should join us in building the workhorse of the MPC internet and start integrating MPC into everything. The rest, I hope, will soon be internet history.
For me, blockchain and MPC represent an ongoing professional life journey. In the future I have two main means of transportation for the journey. From my role as a university researcher, I aim to continually develop better MPC protocols. Through Partisia Blockchain, I hope to help create “the Apache of MPC”. It has been a 21-year journey so far. We came a long way, but we also have a long road in front of us. Let us see where we are in 21 years from now. By 2045, I hope that if anyone asks, “But what is MPC really useful for?” the answer will be a bemused, “Everything!!!”, and that Partisia Blockchain is organizing 30% of the world’s MPC servers.
Until then, let’s get to work!
Stay updated: Website • X • Discord • Telegram • LinkedIn • Facebook • Instagram • GitLab • Medium • YouTube