We are looking for a full-time Senior Engineer and Researcher to develop 3rd generation distributed ledger technologies. The candidate should possess a deep technical understanding of the performance and capacity problems of 2nd generation distributed ledger technologies, and be prepared to develop solutions to these problems though rigorous scientific research and engineering efforts. The candidate will join a team of experienced staff in Zurich to help set technical direction and lead implementation for cryptographic primitives used across a variety of complex components, including consensus, networking, virtualization, and storage.
- Fluent in English with limited working proficiency in German.
- A bachelor of science degree in applied mathematics or a similar technical field of study.
- 2+ years of industry experience developing 3rd generation distributed ledger technologies, such as proof-of-stake consensus mechanisms, secure WebAssembly-based execution environments, or horizontally scalable storage solutions.
- 5+ years of industry experience developing complex software systems in a purely functional programming language, such as Haskell.
- Familiar with pairing-based cryptosystems, especially Fp384BN.
- Familiar with cryptographic network protocols, especially threshold relay.
- Familiar with side channel attacks and countermeasures.
- Expert knowledge of WebAssembly semantics and evaluation techniques demonstrated through the implementation of a secure and production quality compiler or interpreter.
- Expert knowledge of Merkle tree-based data integrity techniques demonstrated through the implementation of a secure and scalable data integrity layer.
- Independent, self-disciplined, self-motivated, and intellectually curious.
- Set the technical direction for and help divide the work among a team of experienced engineers.
- Develop and maintain a proof-of-stake consensus mechanism based on threshold relay.
- Instrument a mechanism to provide cryptographic randomness from threshold relay to aWebAssembly-based virtual machine.
- Provide scalable data integrity solutions to ensure the accuracy and consistency of linear memory in WebAssembly.
- Refactor and optimize Haskell programs for clarity, modularity, scalability, and performance.
- Provide unit tests, property tests, integration tests, and good documentation for your code.