ChainPL: Programming Language Techniques for Blockchain Security

The Software Reliability Lab at ETH Zurich advances research techniques from programming languages, machine learning, and automated security analysis to build practical systems for blockchain and smart contract security.

News

Feb 2018 Three upcoming talks: Crypto Valley Labs (Feb 20th), Blockchain for Coders - Crypto Valley (Feb 21st), and Blockchain Summit Zurich (Mar 8th).
Jan 2018 The chainPL team is giving a talk at the Sofia Crypto Meetup in Sofia, Bulgaria.
Jan 2018 The chainPL team will visit IBM Research to talk about smart contract security.
Dec 2017 The chainPL team gives the main talk at 10th Blockchain Meetup Liechtenstein in Vaduz, Liechtenstein.
Nov 2017 The chainPL team presents at d10e in Davos, the leading conference on decentralization.
Nov 2017 The chainPL team presents at DevCon3, the biggest annual Ethereum conference!
Oct 2017 Founded ChainSecurity, a start-up that will focus on providing innovative security solutions for blockchains and smart contracts.

Projects

Securify: Automated Formal Verification of Smart Contracts.

Securify is the first push-button security auditing tool for Ethereum smart contracts that is fully automated, easily extensible to new security vulnerabilities, and provides strong security guarantees. The core technical idea behind Securify is to soundly extract deep semantic information from the smart contract using automated abstract reasoning. This information is then used to ensure the absence of critical security vulnerabilities, such as reentrant calls, unprivileged storage accesses, and many others. Securify precisely analyzes real-world smart contracts within seconds, and handles any language that compiles to Ethereum bytecode. Visit Securify Try Securify

Startups

ChainSecurity is a startup that brings innovative security solutions for blockchains to the blockchain industry. The ChainSecurity team provides expertise through its professional consulting services and builds intelligent security systems that offer the highest level of security assurance.

Courses and Seminars

Program Analysis for System Security and Reliability, Spring'18

The course introduces program analysis techniques and their interaction with probabilistic methods (e.g., machine learning, probabilistic programming). It shows how these can be applied to build more secure and reliable systems across several application domains and scenarios.

Blockchain Security Seminar, Spring'18

This seminar introduces students to the latest research trends in the field of blockchains. First, we will learn the basics of blockchain technology, including motivation for decentralized currency, establishing trust between multiple parties using consensus algorithms, and smart contracts as a means to establish decentralized computation. We will then study some security issues arising in blockchains and smart contracts. Finally, we will focus on automated techniques for detecting vulnerabilities using programming language techniques.

Talks

Redefining Smart Contract Audits
Mar 8, 2018, Blockchain Summit Zurich, Zurich, Switzerland
Automated Security Analysis of Smart Contracts
Feb 21, 2018, Blockchain for Coders, Zug, Switzerland
Challenges meet Solutions in Decentralised Insurance
Feb 20, 2018, Blockchain Summit Zurich, Zug, Switzerland
Security Audits of Smart Contracts
Jan 2018, Sofia Crypto Meetup, Sofia, Bulgaria
Redifining Smart Contract Audits
Dec 2017, Blockchain Meetup Liechtenstein, Vaduz, Liechtenstein
Smart Contract Verification
Nov 2017, Ethereum DEV NL, Amsterdam, Netherlands
Security Audits of Smart Contracts
Nov 2017, D10e, Davos, Switzerland
Securify: Not Your Grandma's Smart Contract Verification
Nov 2017, DevCon3, Cancun, Mexico
Automated Formal Verification for Smart Contracts
Sep 2017, Blockchain Technologies in Crypto Valley, Zug, Switzerland
Redefining Smart Contract Security Auditing
Sep 2017, Finance 2.0 – Crypto'17, Zurich, Switzerland
Securify: Automated Formal Verification of Ethereum Smart Contracts
Aug 2017, Ethereum Zurich Meetup, ETH Zurich, Switzerland

People

Martin Vechev

Prof. Dr. Martin Vechev

  
Dr. Petar Tsankov

Dr. Petar Tsankov

     
Dr. Dana Drachsler Cohen

Dr. Dana Drachsler-Cohen

  
Andrei Dan

Andrei Dan

  
Hubert Ritzdorf

Hubert Ritzdorf

  
Dimitar Dimitrov

Dimitar Dimitrov

  
Quentin Hibon

Quentin Hibon

  
Anton Permenev

Anton Permenev