Research Engineer, Resilient Networks Lab

Remote - Research Development /
Engineering /
Full-time
We seek talented researchers and engineers that have a fiery passion to build foundational infrastructure for the fabric of human knowledge, that wish to work on the bleeding edge of P2P and Networking technologies, and that understand the value of creating a resilient, open, and equal-access Internet.

Resilient Networks Lab

At Protocol Labs, we created a new research lab focused on Resilient Networks (ResNetLab). This lab supports engineering teams by solving "problems-to-be" before they hit the operational systems and networks (such as IPFS, libp2p, and Filecoin).

In 2020 alone, ResNetLab delivered, among many other things:
- A production-ready version of a distributed randomness beacon and the deployment of a consortium of members to offer randomness as a public utility. Read League of Entropy + drand v1.0 launch.
- A state-of-art, first of its kind, P2P PubSub Messaging Layer for permissionless networks with security hardening, already in use by both Filecoin and ETH2, two of the largest blockchain projects. Read launch release and evaluation report + paper.
- A new DHT augmentation service to accelerate content routing queries for the IPFS network, essential for the acceleration and stability of content routing. Learn more at Hydra-Booster.
- A testbed for benchmarking and innovating on IPFS file transfer, producing multiple new constructions on how to leverage network smarts to make IPFS faster. Read Beyond Bitswap.

We define a resilient network (or system) as one that is fundamentally uncompromised by an isolated failure or network split. The system is malleable, adaptable to different conditions, and capable of evolving to meet new requirements over time. Resilience also identifies a characteristic against changing conditions, i.e., the system's core functionality remains independent of its usage or specific surges in demand.

A central part of IPFS is content addressing and a central part of libp2p is peer-to-peer networking. Although both of these topics have been the subject of extensive research in the past, few instances have seen actual deployment in the wild with hundreds of thousands of daily active nodes. This is what makes research at PL exciting: exploiting prior knowledge to solve real-world problems in a future-proof manner.

Research Engineering at Protocol Labs

We are hiring a Research Engineer to pursue our vision in building and expanding the Resilient Networks Lab. The Engineer is expected to support work related to: surveying academic literature, implementing and evaluating (in both simulation environments, and proof-of-concept testbeds) protocol designs nurtured within the lab, and also identifying problems with existing designs in the operational networks.

We value a lot previous implementation and prototyping experience, so please highlight your background when applying and/or point to prototypes that you have built (or have helped build) in the past.

We believe in an Open Source and Open Collaboration approach to creation. We keep our egos checked at the door and work as a team to tackle the many hard research and engineering challenges required to make systems resilient.  

As a Research Engineer at Protocol Labs you will:

    • Study, design and propose improvements to the IPFS, libp2p, Filecoin and other Networking protocols.
    • Validate design proposals through simulation experiments and/or proof-of-concept distributed, large-scale testbed implementations.
    • Work with the development team on turning the research into implementations.
    • Consider security and privacy issues when designing networking protocols.
    • Contribute and possibly lead protocol design and specification.
    • Apply the engineering rigor, craftsmanship and structuredness to research, improving its predictability, clarity on progress and enhanced collaboration.
    • Collaborate with many other research labs and individual researchers on the field.
    • Attend and represent the projects and the research at academic & developer Conferences.
    • Work in a fully asynchronous and remote team.
    • Organize and attend high-intensity research and protocol design workshops.

Minimum Qualifications:

    • MS in Computer Science, Networks Engineering, Electrical Engineering, or a related field, or extensive practical experience.
    • Programming experience and proficiency in one or more of the following: Go, Rust, JavaScript, C, C++, Haskell, OCaml, Python, Clojure.
    • Good systems engineering skills with previous proven experience.
    • Able to be critical against proposed or adopted solutions, but in a constructive way.
    • Adept at lifting new software projects single-handedly, if necessary.
    • Comfortable getting your proposals reviewed and criticized in detail in favor of finding the optimal solution.
    • Able to adapt your mode of operation to fit with the team's guidelines for collaboration.
    • Self-driven and independent, capable of seeking and learning the necessary tools and technologies to complete your tasks.
    • Understand the value of decentralized, content-addressable, p2p networks.

Highly-valued bonus points include:

    • PhD in Computer Science, Networks Engineering, Electrical Engineering, or a related field.
    • Prior knowledge or contributions to the IPFS, libp2p and/or Filecoin projects.
    • Past experience with simulation tools such as ns-2 or ns-3, or experience with building your own event- or packet-based simulators.
    • Published in well-known networking or networked systems venues, or RFC(s) in the IETF/IRTF (standards and/or drafts), or have contributed to the design of a protocol that is live in production.
    • Have worked in P2P networking before and well-aware of concepts such as DHTs, pubsub, and similar technologies.
    • Have prior knowledge of Information- or Content-Centric Networks.
    • Have demonstrable background in security or cryptography. 
    • Proven experience in developing robust, reusable and maintainable code.
    • Proven experience in developing reproducible experiments and simulations.
    • Participate and contribute to Open Source projects.
What’s it like to work at Protocol Labs?
Protocol Labs mission is to improve humanity’s most important technology, the Internet. We build protocols, systems, and tools to improve how it works. Today, we are focused on how we store, locate, and move information. Our projects include IPFS, Filecoin, libp2p, and more.

As a distributed team, we hire anywhere in the world, and at various levels of experience (entry, senior, staff). We look for people with unique perspectives and diverse backgrounds.

We have a great benefits package, including parental leave, contributions to your retirement, competitive pay, and unlimited time off. For U.S.-based employees, we also provide platinum-level health, dental, and vision coverage for you and your family.