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

Nov 2017 Securify team presents at d10e in Davos, the leading conference on decentralization.
Nov 2017 Securify 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

Taking Smart Contract Security to the Next Level
Blockchain Meetup Liechtenstein, Vaduz, Liechtenstein
Smart Contract Verification
Ethereum DEV NL, Amsterdam, Netherlands
Security Audits of Smart Contracts
D10e, Davos, Switzerland
Securify: Not Your Grandma's Smart Contract Verification
DevCon3, Cancun, Mexico
Automated Formal Verification for Smart Contracts
Blockchain Technologies in Crypto Valley, Zug, Switzerland
Redefining Smart Contract Security Auditing
Finance 2.0 – Crypto'17, Zurich, Switzerland
Securify: Automated Formal Verification of Ethereum Smart Contracts
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