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.