The “Contributor’s Story” series is intended to provide a face and voice to our major open source ccontributors and community members, an overview of the projects they are working on, and the successes and challenges contributors face when developing.
In this blog post, we will be talking to Scott Moses Sunarto, a CrypTen contributor working on secure protocols through the Major League Hacking (MLH) Fellowship.
"I would love to share the joy of blockchain development and demonstrate how cool the technology can be!"
CrypTen is an open source tensor library for Privacy-Preserving Machine Learning (PPML), led primarily by FAIR, built on top of PyTorch. CrypTen is aimed at accelerating research into encrypted machine learning techniques and deployment. As part of the larger mission around PPML, the library also powers community-developed OSS libraries in the space of PPML and federated learning, such as CrypTen.
Scott’s MLH pod was tasked with adding actively secure protocol implementations using Message Authentication Codes (MACs) to provide support for applications that require active security, thus widening the range of applications that we and the community can explore.
Here are a few of Scott’s thoughts throughout the process of tackling this task.
Tell us a little bit about yourself and your current experience in the MLH Fellowship.
I'm a sophomore student at Diablo Valley College studying Electrical Engineering & Computer Science. In the past, I have primarily been working on projects in the crypto-blockchain space and have participated (and, luckily, won!) several Major League Hacking hackathons.
Subsequently, from my involvement in the hackathon scene, I heard about the MLH Fellowship and went on to apply.
Where did you first learn about open source? How did you get started using/contributing?
I got to open source by participating and winning a global open source software development competition called Google Code-in. After winning Google Code-in, I spent some time mentoring in various open source outreach programs such as Google Code-in and Summer of Code.
Describe the project you are currently working on.
I'm currently working on CrypTen which is a privacy-preserving ML framework. It provides an abstraction layer to make it easier for machine learning researchers to secure privacy-preserving ML without having to rely on a lot of cryptography knowledge.
CrypTen is built on PyTorch, and thus lowers the barrier for machine learning researchers by integrating with PyTorch.
How did you initially go about tackling the issue?
From the task that is assigned, I would first try to chunk up the problem into bite-sized tasks. Then, I would communicate with my partner on how we want to split up the work. If there was any confusion or clarification needed on the task, we would communicate with the maintainer in our weekly sync to sort it out.
What roadblocks or problems have you faced thus far in your contribution?
The main challenge has been navigating the cryptographic concept that is spread throughout the project. However, having an active maintainer that helps us get up to speed on these concepts has been extremely helpful.
What is the current status of development?
We have been going strong in the development process, solving several issues with increasing complexity. In the next few weeks, we will begin wrapping up the projects to make sure they can be integrated into the upstream cleanly.
What have you learned about the project, development, or open source thus far?
I've learned a lot about good coding practices, working in teams, and also a lot of new concepts in cryptography and privacy-preserving ML.
What advice would you give future contributors to the open source project?
Find a mentor who is an active maintainer or an avid contributor to open source in general.
We’d like to thank Scott for their continuous contributions to the Facebook Open Source ecosystem. You can follow Scott’s work through Twitter, GitHub, and LinkedIn.
If you’d like to learn more about Facebook Open Source, follow us on Twitter, Facebook, and YouTube for relevant updates, and check out the CrypTen website and GitHub for how to get started.