MPC at RWC 2020

Kelong Cong
The Sugar Beet: Applied MPC
3 min readJan 13, 2020

At Real World Crypto (RWC) 2020 we were blessed with many impressive talks on MPC. Many of them are from the industry and below I will highlight a few that are worth looking into for the readers of this blog.

General Purpose Frameworks for Secure Multiparty Computation

Marcella Hastings presented their survey work on end-to-end MPC frameworks. These are frameworks that implement the whole pipeline from compiling high-level code to executing the secure computation.

The survey considers many criteria such as usability, functionality and performance. They evaluated 9 frameworks: EMP-toolkit, Obliv-C, ObliVM, TinyGarble, SCALE-MAMBA, Wysteria, Sharemind, PICCO, and ABY.

Overall, the frameworks are in good shape but the authors identify the following issues.

(1) They are difficult to build, it takes around 1 to 2 weeks for a new user to build a framework.

(2) There is a lack of good documentation except for SCALE-MAMBA, ABY and Sharemind.

(3) Consequently, many languages have undocumented quirks, such as reserved keywords and strange precedence rules, which hinder usability.

The presenter suggests more collaboration between the MPC community and the compilers community.

A MPC framework is a compiler, a virtual machine and a distributed system at the same time. A nice future direction, in my opinion, is to evaluate the distributed systems’ aspect of it. What are the network assumptions of different MPC frameworks? What happens when we run the framework under suboptimal network conditions, e.g., delayed packets, reordered packets and network partition?

Since they first published their results 18 months ago, 6 more frameworks
appeared. They are EzPC, JIFF, MP-SPDZ, FRESCO, HyCC and ABY3. This is an active time for MPC research but the landscape risks fragmentation. I think standardizing the intermediate language will reduce repeated work. This is akin to the Java world where there are many JVMs and many languages/compilers that all use the same bytecode.

CrypTen: a Machine Learning focused framework for secure computing

CrypTen, from Facebook, is a secure machine learning framework. Its API is designed to be understood by anyone who knows PyTorch, one of the most popular (ML) machine learning frameworks. The domain-specific approach may attract more users from the ML community and may yield better performance when compared to general purpose MPC solutions.

Just like PyTorch, CrypTen uses tensors and operators as some of its building blocks. Unlike PyTorch, the operators are implemented using MPC. The simple operators like multiply are just like secure-multiply using Beaver triples in a LSSS-based MPC framework. The complex operators like relu, max and argmax are harder to implement. At the moment they are implemented using circuits. It is unknown whether this approach is the best and it is an important future work for the CrypTen team.

At the end of the talk, the presenter mentioned that if a competition like
ILSVRC (a large-scale image classification competition), but in the encrypted-domain using MPC exists, then it will help bring the community together and foster even more research. I fully agree with the statement. For FHE, there is iDash which gave us many excellent FHE libraries. Why do we not have a similar one for MPC?

Detecting Money Laundering Activities via Secure Multi-Party Computation for Structural Similarities in Flow Networks

Money laundry is a serious issue, the Laundromat scheme moved 20–80 billion dollars between 2010 and 2014. Detecting money laundry is difficult. Money launders often make use of dozens of banks so it’s difficult for a single bank to identify suspicious transactions. Further, banks do not wish to share data with other banks due to competition or regulatory requirements. Fortunately, MPC happens to be just the right tool for the problem.

Inpher, working with Goldman Sachs and Standard Chartered, presented their solution from FCA Financial Crime TechSprint, a week-long Global Anti-Money Laundering competition. Their solution is based on graphs, where the nodes are accounts and the edges are transactions. Suppose every bank has a small section of the graph but if the banks come together they can create the full graph. As mentioned earlier, banks cannot do it because they do not want to reveal customer data to other banks. Using techniques from MPC, every bank can secret-share their data and send it to all the other banks. This approach effectively creates a completed, secret-shared graph. Then, the problem can be solved using graph algorithms implemented using MPC. Inpher implemented a structural similarities algorithm.

While this approach hides the account information, it is unclear how well it hides the “shape” of the graph. Nevertheless, it is exciting to see industry leaders getting interested in using MPC to solve real-world problems.

--

--