SR. Software Engineer – Rust, Proofs and Snarks Engineering
|Published||March 7, 2023|
|Location||San Francisco, CA|
We are solving Web3's toughest data analytics challenges at planetary scale with decentralized, peer-to-peer technology.
As a Sr. Software Engineer you will be joining highly skilled Rust engineers, cryptographers, mathematicians, and tech leads
responsible for developing high-performance in-database mechanisms to verify that the SQL results returned to a client are tamperproof and cryptographically guaranteed. Your team will be architecting and developing a novel Proof of SQL
mechanism (effectively a specialized SNARK) which ensures that results of outsourced SQL jobs can be loaded into smart contracts via a decentralized oracle network, while also minimizing attack surfaces. This is an extremely math/cryptography-heavy leadership role, and thus we expect competency (and a professional or academic background) in applied cryptography or related mathematical fields and preferably experience or familiarity with at least one argument scheme, such as bulletproofs, IOPs, KZG-based schemes, etc. Experience with high-performance distributed computing is a plus. We also expect willingness
to learn and research novel algorithms and techniques
- Writing Rust code (and math-focused algorithms) to build a bigger, better, faster, more optimized SQL Proofing mechanism
- Building strategies, tools, platforms and database integrations to rapidly test and iterate on various cryptographic techniques / commitment schemes / database designs / algorithms for outsourced Proofs of SQL
- Participate in architecture development and research to solve problems scaling up from "laptop scale" to "cluster scale"
- Working with Decentralized Oracle Networks (such as Chainlink) to develop cryptographic commitments for data and consensus-based validations of proofs, as well as working with clustered data warehouses for storing and processing the commitments
- Codifying best practices for future reuse in the form of accessible, reusable patterns, templates, and code bases to facilitate meta data capturing and management
- Working with engineering leadership to define, prioritize, and ensure smooth deployments with other operational components
Skills & Qualifications
- Bachelor's degree in math, computer science, computer engineering, or related technical field. Masters or PhD is a plus.
- 5+ years software engineering experience (or academic research) around applied cryptography and preferably experience or familiarity with at least one argument scheme, such as bulletproofs, IOPs, KZG-based schemes, etc.
- Experience programming with Rust (or at least C++ with willingness to quickly learn Rust)
- Rock solid engineering fundamentals; algorithm development/design, high-performance distributed computing
- Rock solid cryptography fundamentals; hashing, elliptic curves/pairings, field/group theory, etc.
- Nice to have: High-level understanding of distributed computing, database cluster fundamentals (such as Apache Spark, Snowflake, etc)
- Nice to have: Passionate about Web3, blockchain, decentralization, and a base understanding of how SNARKs and arguments play into this.