Aarhus University Seal / Aarhus Universitets segl

Blockchain

Picture of Blockchain

Blockchains are open tamper-proof distributed ledgers. They are used in banking, supply chain management, transport, identity management, etc. The first generation of blockchains (e.g. bitcoin) focused on cryptocurrencies. The second generation (e.g. ethereum) aims to be a "world computer". Although, this technology holds a big promise, there are many issues related to scalability, efficiency, software quality, privacy and identity, regulation, etc. A third generation of blockchains is now trying to address these issues. This includes projects like: ethereum 2.0, tezos, concordium, cardano, Dfinity, etc.

Our research aims to provide the science addressing these issues. This includes research in cryptography, programming languages, formal verification, privacy and identity. For cryptography we use the science developed in the Digit Cyber Security work package.

​Cryptography forms the mathematical basis for blockchains. Moreover, it also provides tools to handle privacy and identity on the blockchain. Due to bugs leading to huge financial losses, there is now a realization that one, moreover, needs a focus on software quality. This includes both the correct implementation of cryptographic protocols, but also the design and implementation of `smart contract' languages. Programming language design and analysis are part of this, as well as formal specification and verification. The latter is the highest standard of software quality. As blockchains carry huge amounts of value, are open and accessible to anyone, a focus on quality is crucial.

In this work package, we collaborate closely with the Concordium Blockchain Research Center.

Collaboration on PhD projects

  • Zero-knowledge proofs are integral for deploying privacy-preserving cryptocurrencies and other blockchain applications, as they represent a fundamental building block for proving statements about confidential data. The most popular framework for such proofs is based on cryptographic pairings defined over elliptic curves, where pairing-based zero-knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs) underlie private transactions. The project is a collaboration between researchers from Engineering (Aranha) and Computer Science (Spitters) within DIGIT and the Concordium Blockchain Research Center to investigate techniques to develop a formally verified efficient cryptographic library in software to support zero-knowledge proofs. The PhD student on this project Benjamin Salling Hvass is partially supported by DIGIT.
  • Computer Mathematics is changing the way mathematics is done. Mathematicians are using computation to "prove" theorems. However, be sure these computations are correct we need to certify these computations. This is done using interactive theorem proving. In this project, we are developing formally verified computer algebra algorithms. This is a joint project between Computer Science (Spitters) and Mathematics (Lauritzen). The PhD student on this project Andreas Aagaard Lynge is partially supported by DIGIT.
  • Smart contracts are small programs which carry huge amounts of money. There have been huge accidents with these programs. We are therefore developing a verification framework for smart contracts with Concordium Blockchain Research Center. The PhD student on this project Jakob Botsch Nielsen is partially supported by DIGIT.
  • Consensus algorithms are at the heart of blockchain technology. In this project, we work on precisely specifying such secure distributed systems from their cryptographic proofs to their verified implementation. This research is done with Concordium Blockchain Research Center. The PhD student on this project Søren Eller Thompson is partially supported by DIGIT.

Contact

Bas Spitters

Associate professor