Reserve’s mission
We believe that everyone’s money should be secure. Billions of people around the world don't have a safe place to store their money. Their banks can't be trusted. Their governments inflate their currency to pay off debts, hurting citizens. Our mission at Reserve is to change that. Reserve is a stable, decentralized currency that can’t be abused by a government. It’s globally distributed and outside of anyone’s control, so bad governments can’t shut it down.
Your role
Without formal verification, any nontrivial contract deployed on the blockchain will eventually fail, but the tools for carrying out verification on these contracts are still in their infancy. You will take on the critical challenge of formally verifying that our smart contract is correct and secure. Here are some responsibilities you’ll take on for that goal:
Your day at Reserve
Show up at 10am for our full-team meeting. Chat with the CTO at 11am to discuss next directions for the verification toolchain. Have lunch with the engineering team, where you give an impromptu exhortation on the Right Way™ to think about software specifications. In the afternoon, hack on a symbolic execution engine to add counterexample-guided refinement. Spend a while giving and receiving feedback on a small set of pull requests. Go climbing at 7pm with half of the engineering team.
Requirements
In your application please link to some code that you wrote that reflects your abilities (e.g. github).
Nice to haves