Internship Program 2023

Job Overview

  • Date Posted
    May 29, 2023
  • Location
  • Offered Salary
    $6.3 / hour
  • Expiration date
    June 30, 2023
  • Qualification
    Bachelor Degree
  • Career Level

Job Description

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.

You can view all our open positions here:

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:


L2 tooling

Join our L2 tooling team and be part of the Starknet revolution! We’re forging tools and products for ZK scaling solutions. We also collaborate with top protocols like Aave and Uniswap. We’re looking for bright minds, creative problem solvers, and the weirdos keeping Starknet strange.

The cutting-edge toolbox we build:

  • Warp: The Solidity-to-Cairo compiler
  • Voyager: The block explorer shedding light on the on-chain goings-on
  • Juno: A Starknet full-node

Beyond tooling, we’re deeply involved in the Starknet ecosystem: from Starklings to ENS integration, Cairo education, and governance mechanism design. As part of the team, you will work with an ecosystem of talented builders inside and outside Nethermind.

Skills you’ll develop with us:

  • Cairo & Solidity: Master the art of smart contracts
  • Compilers, Assembly Code & Runtimes: Dive into the core of coding
  • Ethereum & Starknet Virtual Machines: Explore the engines of Starknet
  • Abstract Algebra: Explore the depths of mathematical structures
  • Cryptography: Unravel the mysteries of secure communication
  • Zero-Knowledge Proofs: Champion privacy in the digital age
  • Financial Mathematics: Master options pricing and Monte Carlo simulations
  • Protocol Design: Build the foundations of decentralized networks
  • P2P networking: Get connected without (and with all of) the middlemen

Further reading:



DeFi research & development

Our DeFi research and development team consists of tech-savvy blockchain and financial professionals who specialize in Technical Due Diligence (TechDD), DeFi Research, Solidity Smart Contract Development, Full-stack Engineering, and Data Solutions. Our team provides these services to institutional clients who are entering or expanding in the blockchain and DeFi space.

Skills that you will use and learn in the DeFi Research & Development team include:

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, Dune)

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

Smart Contract Development

  • Solidity, Cairo, Truffle, Hardhat, Ganache
  • ERC-20, ERC-721, and ERC-1155 Token Design
  • Decentralized Finance (structured products, derivatives)
  • SDLC or Software Development Lifecycle
  • Software engineering best practices
  • Agile methodology
  • Code review techniques




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, with a particular focus on Cairo programming.

Skills that you can use and learn working with the Cryptography Research team include:

  • Cryptography
  • Theoretical analysis and implementation of both STARKs and SNARKs
  • Understanding and designing building blocks in Ethereum, such as Distributed Validator Technology, decentralized identity, and liquid staking, among others
  • Understanding of blockchain consensus protocols
  • Abstract algebra and its applications to cryptography and zero-knowledge
  • Rust/C++/Cairo programming
  • Technical due diligence on novel blockchain projects
  • Communicating research concepts through technical writing
  • Smart-contract implementations, especially those related to zk-proofs

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 worked on by the Cryptography Research team:

  • Hybrid proof systems from SNARKs and STARKs. In this project, we combine techniques from SNARKs and STARKs to build hybrid proof systems enjoying the best 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 the 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 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 or 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) techniques are used. Unfortunately, combining MPC and ZKP naively results in protocols whose 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 a trusted setup, which makes 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.





Our security team specializes in all blockchain security-related topics. The team’s activities are organized into three core groups:

  • Smart contracts audits. We use manual inspection and automated analysis tools when performing security audits on Solidity and Cairo smart contracts.
  • 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.
  • Real-time monitoring of smart contracts as an official Forta bot developer.



Smart Contract Audits

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 include but are not limited to:

  • Blockchain and Smart Contract Security
  • Ability to detect logical bugs
  • Gas optimization strategies

The ideal candidate 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.



Formal Verification

We provide 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 has the following:

  • Background on Formal Verification
  • Experience in Writing formal specifications in Lean
  • Knowledge of formally specifying programming languages. (Solidity, Yul, EVM, Cairo, etc.)
  • Background on creating formal specifications of distributed systems
  • Experience in Cryptography, Zero-Knowledge Proofs, and Abstract Algebra
  • Blockchain and Ethereum Virtual Machine background
  • Publishing and presenting research results both internally and externally




Real-time monitoring

The 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 has the following:

  • Experience in writing and testing TypeScript
  • Experience in reading and writing Solidity
  • Experience in reading protocol documentation and audit reports
  • Ability to provide thorough code reviews
  • Up-to-date knowledge of exploits
  • Knowledge of common DeFi services and products




Blockchain core engineering

Our Blockchain Core Engineering team is where Ethereum and Starknet protocol magic happens, and it’s the longest-standing team here at Nethermind. The execution layer client is a full Ethereum client implementation written in C# .NET. It runs on all major platforms supporting Ethereum mainnet, Clique, and AuRa chains, as well as Gnosis, Energy Web, and private networks. It comes with features like Prometheus/Grafana dashboards, seq enterprise logging, and complete JSON RPC, including two formats of tracing and offers a variety of advanced built-in plugins. On the back off building the popular Ethereum client, the core engineering team also works closely with the L2 tooling team on delivering Juno, a full-node client implementation for Starknet.

Skills that you will use and learn at the Core team include but are not limited to:

Technical perspective

  • .NET 7
  • Distributed networks (P2P)
  • Performance and memory optimizations
  • Blockchain internals EVM/ TransactionPool / JSON RPC
  • Complex data structures Patricia/Merkle/Verkle trees
  • RocksDB

Broader perspective

  • Work on EIP’s with Ethereum Foundation and wider Ethereum community
  • Work on Ethereum extensions
  • Open source development



DevOps & infrastructure

This team is responsible for processes related to product development operations. Building processes, infrastructure, security, cloud, and administration is all within this team’s scope.

Skills that you will use and learn at the DevOps team include but are not limited to:

  • Deploy and maintain the blockchain infrastructure in a multi-cloud environment (DigitalOcean, AWS, Google Cloud, Linode, others)
  • Build and maintain company-wide CI/CD pipelines for different projects (Github Actions)
  • Write scripts, lambda functions, and even full applications with the language of your choice (preferably Bash/Python/Golang) that can help us improve the workflow.
  • Bash scripting. Linux knowledge.
  • Ethereum node management
  • Docker and Docker-Compose
  • Monitor the infrastructure with tools like Grafana, Prometheus, Seq, OpsGenie
  • Automate work – yours and others’ (Terraform, Ansible)
  • Networking skills
  • High scalable systems
  • SecOps and GitOps related practices
  • Orchestration with Kubernetes




What are the requirements and pre-requisite to apply?

We are looking for students and recent graduates with a strong background in software engineering, computer science, mathematics, financial mathematics, or quantitative finance.

Previous knowledge in any of the following is helpful:

  • DeFi
  • AMM (automated market maker)
  • Derivatives pricing (Options, Black Scholes, Futures, Swaps)
  • Stochastic calculus
  • Algorithms
  • Cryptography
  • Ethereum

But above all, we look for passion and hunger to work in the blockchain, Ethereum, and DeFi space.