1. Vacatures
  2. Universiteit Utrecht (UU)
  3. PhD position in Certifying Compilation of Smart Contracts (1.0 FTE)

PhD position in Certifying Compilation of Smart Contracts (1.0 FTE)

Help verify the next generation of smart contract languages.

28 dagen geleden


Domplein, Utrecht, Utrecht
Tijdelijk contract / Tijdelijke opdracht
Uren per week:
40 - 40 uur
€ 2325 - € 2972 per maand


The Software Technology Group at Utrecht University is looking for a motivated PhD candidate in the Certifying Compilation of Smart Contracts. This four-year position includes 80% research time and 20% teaching time. As a PhD candidate you will primarily be conducting research and publishing the results. This research should result in successfully obtaining a PhD degree during the appointment. You will also be involved in supporting the preparation and teaching of Bachelor's and Master's level courses, supervising student theses, managing research infrastructure and participating in public outreach.


This project aims to develop a certifying compiler for Plutus Tx, a subset of the purely functional language Haskell that is used to implement smart contracts for the Cardano blockchain. The Plutus smart contract framework is being developed by IOHK for Cardano and the present project is a joint effort of IOHK and Utrecht University. The Plutus Tx compiler is based on the GHC Haskell compiler and adds a translation step from GHC Core to a minimal lambda calculus. Programmes in this lambda calculus are executed during transaction validation in a sandboxed execution environment in a manner that is crucial to the security of the blockchain. The aim of this project is to formalise the semantics of the languages involved in a proof assistant such as Coq, to reason about the transformation and optimisation steps that the compiler performs, and finally, to generate a proof object certifying the correctness of the generated code together with that code.

You will be involved in teaching activities within the Department of Information and Computing Sciences. These activities may include supporting senior teaching staff, conducting tutorials, and supervising student projects and theses. In doing so, these activities will contribute to the development of your didactic skills.


As a successful candidate you are an ambitious student who holds an undergraduate degree in Computer Science, Artificial Intelligence, or a related field. We welcome participants with past research experience, but this is not a requirement. Excellent English communication skills are necessary. You have a strong interest in research and teaching in Functional Programming, Interactive Proof Assistants, Programming Languages and similar topics.


  • a full-time position for four years;
  • the gross salary starts at €2,325 and increases to €2,972 per month during the appointment (scale P according to the Collective Labour Agreement Dutch Universities).
  • salary is supplemented with a holiday allowance of 8% and an end-of-year bonus of 8.3% per year;
  • a pension scheme, partially paid parental leave, and flexible employment conditions (based on the Collective Labour Agreement Dutch Universities).

We offer an exciting opportunity to contribute to an ambitious and international education programme with highly motivated students and to conduct your own research project at a renowned research university. You will receive appropriate training, personal supervision, and guidance for both your research and teaching tasks, which will provide an excellent start to an academic career.

More information about jobs at the Faculty of Science can be found here.

Additional information

If you have any questions, please contact Wouter Swierstra (Assistant Professor) via w.s.swierstra@uu.nl.

Questions about the application procedure? Send an email to science.recruitment@uu.nl.


Middels onderstaande knop kun je direct solliciteren op deze vacature.

Reageer op deze vacature