We are a team of world class builders and researchers with expertise across several domains: Ethereum Protocol Engineering, Layer-2, Decentralized Finance (DeFi), Miner Extractable Value (MEV), Smart Contract Development, Security Auditing and Formal Verification.
Working to solve some of the most challenging problems in the blockchain space, we frequently collaborate with renowned companies, such as Ethereum Foundation, StarkWare, Gnosis Chain, Aave, Flashbots, xDai, Open Zeppelin, Forta Protocol, Energy Web, POA Network and many more.
We actively contribute to Ethereum core development, EIP's and network upgrades together with the Ethereum Foundation, and other client teams.
Today, there are nearly 200 of us working remotely from over 45+ countries.
Job Short Description
Nethermind’s commitment to our interns
As an intern at Nethermind, you'll be given full autonomy to decide what projects you want to work on, what skills you want to gain or refine, and which teams you want to work with. We will encourage and push you to succeed.
This internship aims to provide you with a valuable learning experience. Our goal is to help you develop new skills, expand your knowledge, and to acquire practical experience in your field of interest. We hope that with a rich learning environment, guidance and support, you will grow and thrive during your time with us. We are committed to providing all interns with opportunities to learn and challenge themselves, and we will do what we can to help you achieve your goals and make the most of the internship here at Nethermind.
How does the Internship work?
Many of these topics are new to me; can I have study time?
We allow the study time you require for anything related to what we do.
What are the working hours?
Our working hours are flexible to suit the needs of the individual. You must be available for a minimum of 20 hours per week to get the best out of the internship program.
Where is it located?
We are a globally distributed team, and we are a remote-first organization. Our entire team works fully remotely.
Is it paid?
Yes, our internship program is paid. You will either be paid your country’s national minimum wage or $6.25 per hour, whichever is greater.
NB: There are certain countries where we have some difficulty paying you directly in fiat currency i.e. dollars or GBP. For these countries, you will be paid in cryptocurrency. Please speak to a member of our team to confirm if this will affect you.
When does it start?
Our internship program is open all year round, and you can apply anytime.
What is the duration of the internship?
The internship duration is flexible and can range from 1-3 months, depending on the availability of the individual. Most of our interns stay in the program for the full three months.
Is it possible to extend the duration of the internship?
The internship program has a set duration and cannot be lengthened or extended beyond the specified time frame.
Do you hold a daily stand-up meeting?
Yes. Each team holds a daily stand-up meeting to discuss what each team member is working on, and it is an opportunity to ask questions.
Will I have a mentor?
Yes. All interns are assigned a mentor with whom they can seek help and guidance.
What tool do you use for communication?
We use Slack daily, and it is our primary medium of communication. All interns are added to our Slack workspace.
What teams can I work with?
Throughout the internship, you can choose to work in one or more of the following groups depending on your skills, knowledge, and preference:
Team Nubia develops tools for StarkNet, a layer 2 scaling solution. The team also works with protocols like Aave to port their codebase to StarkNet. Some of the tools developed by Nubia that you might have heard of are:
Warp - compiler from Solidity to Cairo
Voyager - block explorer for StarkNet
Juno - full-node client for StarkNet.
Skills that you will use and learn at the Nubia team include but are not limited to:
Low-level programming (assembler skills, C / embedded devices programming), CairoLang
Compilers / LLVM / assembly code / runtimes
Ethereum Virtual Machine (EVM)
Abstract algebra
Cryptography
Zero-Knowledge Proofs
Solidity programming
Financial mathematics (Options pricing, Monte Carlo simulations)
Trantor is a group of tech-savvy blockchain & financial professionals that specialize in Technical Due Diligence (TechDD), DeFi Research, and Data Solutions for Institutional Clients entering and expanding in the blockchain & DeFi space.
Skills that you will use and learn in the Trantor team include but are not limited to:
DeFi Research
Academic writing
Business writing
Technical writing
How to perform the research professionally and factually
Discover and detect valuable information from Crypto Twitter, Community Discord, and Protocol Forums
Research tools (Parsec, Nansen)
Technical Due Diligence
How to investigate and evaluate various types of projects based on data and publicly available information
How to see the business value in proposed products & protocols
What are the most common Tokenomics models, and what are their principles
Understand best practices of Risk Management
How to communicate with internal & external stakeholders
Data Solutions
Building data analytics tools while using on-chain and off-chain data (Clouds, SQL, Python, data scrapping, data standardization, data orchestration, various blockchains, DeFi Lama, Elastic)
Data visualization (Kibana, Metabase, Graphana, Dune Dashboards, Nansen Dashboards, Parsec Dashboards, Google Sheets)
Data integration from external sources (REST and non-REST APIs, data feeds, data parsers)
Data Infrastructure set-up (Clouds, VMs, DBs)
Mentoring, leadership, and coaching
1:1 session with more senior Analysts and Researchers
Continuous, open, and transparent feedback based on facts and quantitative factors
Workshops, brainstorming, and design team sessions
Regular team meetings to keep the information flow smooth and stable
Nineveh (Cryptography Research)
The Cryptography Research team at Nethermind leverages both theory and implementations to improve, build or break protocols related to cryptography and blockchain technology. The team's projects include zero-knowledge proofs, Distributed Validator Technology, decentralized identity/verifiable credentials, liquid staking on Ethereum, and non-deterministic programming (specifically, Cairo programming).
Skills that you can use and learn working with the Cryptography Research team include:
Cryptography
Rust/C++/Cairo programming
Understanding of blockchain consensus protocols
Technical due diligence on novel blockchain projects
Communicating research concepts through technical writing
Smart-contract implementations, especially those related to zk-proofs
Theoretical analysis and implementation of both STARKs and SNARKs
Abstract algebra and its applications to cryptography and zero-knowledge
Understanding and designing building blocks in Ethereum, such as Distributed Validator Technology, decentralized identity, and liquid staking, among others
Our team is looking for two kinds of people:
Cryptography enthusiasts who would enjoy analyzing, breaking, and designing cryptographic schemes.
Engineers with some background in cryptography who enjoy making proof of concepts of novel cryptographic protocols, extending cryptographic libraries, and finding vulnerabilities in existing implementations.
A few of the projects Nineveh worked on:
Hybrid proof systems from SNARKs and STARKs. In this project, we combine techniques from SNARKs and STARKs to build hybrid proof systems enjoying the bests of both worlds. SNARKs allow for short (constant-size) proofs and efficient verifiers; on the other hand, they require a trusted setup. zkSTARKs are transparent (don't rely on a trusted setup) and have efficient prover while paying the price of longer proof size (logarithmic to the size of the proven statement) and verifier's complexity. We investigate the use of STARK-related primitives like FRI to give zkSNARKs more efficient provers and reduce security assumptions used. In the near future, we plan to implement our hybrid schemes to reveal the concrete efficiency gains our approach brings.
Secure storage for mnemonic keys. A common problem with using secret keys is that they may be stolen or lost, causing, for example, the loss of access to staked funds. We are building an application that allows users to securely distribute the key into so-called shares. Only a large enough set of shares can be used to reconstruct the secret, and someone who knows too few secret shares learns nothing. We achieve that by using Shamir's secret sharing scheme. Notably, both the secret and the shares are represented by an easy-to-remember mnemonic.
Security analysis of proof systems. In this project, we analyze the security properties of existing zkSNARKs to verify whether they are sufficiently secure for such complex environments as blockchains. To that end, we use provable security methods. Additionally, we analyze existing zkSNARKs and name their security gaps. We show where efficiency-oriented efforts make proof systems unusable due to security vulnerabilities.
Sybil resistant operator onboarding. Liquid staking protocol’s efficiency and security relies on operators who take the stake provided by users and run validators for them. Various staking protocols have various operators onboarding procedures. Some require DAO approval, some require the prospective operator to put a significant bond. It is also important that the set of operators is decentralized, and no operator can be a single point of failure or can harm the protocol. Hence, it is of utter importance to make sure that no operator controls more stake than allowed. In this project, we aim to design a Sybil-resistant permissionless operator onboarding mechanism. Here Sybil resistance means that it is difficult for a dishonest party to create and maintain multiple operators to control more than the allowed amount of the stake.
Towards efficient private state contracts. Currently deployed zk-based private-state smart contracts are limited by the fact that they cannot make state transitions that would involve two more more private states. E.g., it is currently infeasible to make a private exchange protocol, as such protocol would require two parties to compute jointly a transformation of their states. To make this possible, secure multi-party computation (MPC) are used. Unfortunately, combining MPC and ZKP naively, results in a protocols which efficiency is dubious. In this project we aim to find a novel method of combining these two primitives to make the shared state computation as efficient as possible for the widest class of functions.
zkSNARKs for CPUs. Virtually all existing zkSNARKs are defined for relations over finite fields. On the other hand, computers perform operations over rings, more precisely $\mathbb{Z}/2^{64}\mathbb{Z}$. In this project, we aim to propose a new zkSNARK for relations defined over rings to benefit from the possibility of performing operations in a way native to CPUs.
New lookup arguments. Since zkSNARKs are defined over finite fields (bigger than $\mathbb{F}_2$), making arguments about binary relations is relatively inefficient. To improve the efficiency of such operations lookup arguments are used. That is, instead of showing that some binary operation has been performed correctly, the prover shows that the relation’s inputs and outputs are in a precomputed table. Unfortunately, most lookup arguments rely on trusted setup, what make them useless for transparent (i.e. trusted setup-less) zkSNARKs. In this project we aim to provide more efficient transparent and non-transparent lookup arguments.
The Synnax Team deals with security in Blockchain. The activities of the Synnax team are organized into three core groups:
The Gauss workgroup is responsible for Smart Contracts Audits using manual inspection and automated analysis tools.
The Lamport workgroup deals with the Formal Verification of Smart Contracts. Formal Verification is the act of proving or disproving the correctness of intended algorithms underlying a system concerning a certain formal specification or property using traditional mathematics methods.
The Runge workgroup creates tools for monitoring Smart Contracts in real-time.
Below we detail each group.
Gauss Team
The Gauss team focuses on security auditing of Smart Contracts. The team supports clients to achieve higher levels of confidence in their system's security and robustness, relying on manual review and different tools to check for possible vulnerabilities in the code and design.
Skills that you will use and learn in the Gauss team include but are not limited to:
Blockchain and Smart Contract Security
Ability to detect logical bugs
Gas optimization strategies
The ideal candidate for the Gauss team has the following:
Previous programming in writing Smart Contracts (Solidity, Cairo, or Rust)
Blockchain and Ethereum Virtual Machine background
Familiarity with the most common attack vectors for Smart Contracts
Previous experience in CTFs
Experience running static analyzers for Smart Contracts
Written and verbal communication skills in the English language;
Attention to detail and ability to diagnose software bugs
To learn more about the smart contract-security auditing internship program, please apply, and we will get back to you.
Lamport
The Lamport team provides Formal Verification services for Smart Contracts and general software for the industry. We leverage the Lean proof assistant to formally verify smart contracts and compilers, and develop open-source tools for the community.
The ideal candidate for the Lamport team has the following:
Background on Formal Verification
Experience in Writing formal specifications in Lean
The Runge Team is responsible for developing real-time monitoring solutions for Blockchain systems. We build generalized and protocol-specific detection bots on the Forta Network. The bots are developed after research into the latest techniques attackers use to exploit protocols, as well as researching the documentation and codebase of protocol clients.
The ideal candidate for the Runge team has the following:
Experience in writing and testing TypeScript
Experience in reading and writing Solidity
Experience in reading protocol documentation and audit reports
You can apply to this job and others using your online resume. Click the link below to submit your online resume and email your application to this employer.