Please check the suggestions bellow if you are a student at ITU looking for a thesis project idea. Contact me (beda snabel-a itu punktum dk) if you are interested in one of these projects or if you would like to suggest your own idea for a project related to one of the topics below.
Problem: The majority of current cryptocurrencies and smart contract systems do not offer provable privacy guarantees (e.g. anonymity), allowing any third party to find out who people transfer money to. Most of the very few existing privacy preserving solutions aim at full anonymity, protecting both the identities of users and data about their actions in the system (e.g. the amount of money in anonymous transfers). Such strong privacy guarantees come at a high price in terms of computational/communication complexities and are also incompatible with financial laws and regulations, that dictate that a court of law and competent authorities should be able to compel a citizen to reveal their financial history.
Possible Solutions: In order to address the situation above it is necessary to propose formal security definitions for cryptocurrency and smart contractsystems with fine-grained privacy guarantees, along with matching constructions. It is also important to design auditing mechanisms for such systems in order to make them compliant with standard KYC/AML financial regulations. Apart from investigating solutions based on standard blockchain systems, we are also interested in exploring state channels for more efficient protocols.
Required Experience: All of the suggested projects in this topic involve both theoretical work, that should be suitable for master level students with knowledge of modern cryptgoraphy, and practical implementation work, that should be suitable to students at all levels with reasonable software development experience. We can discuss how to better work on each project according your interests.
Fine-Grained Definitions and Constructions for Privacy Preserving Cryptocurrencies
Designing Mechanisms for Accountability and KYC/AML for Privacy Preserving Cryptocurrencies
Implementing Privacy Preserving Smart Contracts Based on Multiparty Computation
Designing Efficient Specific Purpose Privacy Preserving Smart Contracts for Decentralized Exchanges
Analysing and Designing Efficienct Protocols for Privacy Preserving Microtransactions with State Channels
Integrating State Channels and Privacy Preserving Smart Contracts
Problem: Blockchain consensus protocols are the backbone of modern cryprtocurrency and smart contract systems, being responsible for constructing and updating the blockchain itself while ensuring its immutability. Current protocols suffer from serious efficiency issues, which are specially present in Proof-of-Work based consensus (e.g. Bitcoin's protocol). In practice, the throughput of such systems is limited to only a few tens of transactions per second, meaning that current cryptocurrencies can only process a tiny fraction of the transactions sent to traditional financial systems (around tens of thousands). Such limitations hinders wide scale deployment and adoption of blockchain systems for real world, high throughput applications.
Possible Solutions: As in many cases in computer science, a possible solution to this efficiency problem lies in executing multiple copies of the blockchain protocol in parallel. These so called "blockchain sharding" solutions result in parallel blockchains each being maintained by a separate group of users but still ensuring consistency among each other. A similar solution is to execute particularly heavy smart contracts and application in a "sidechain", a daugther blockchain derived from a mother chain and used to register transactions for an specific application while ensuring consistency with the mother chain. In both cases, writing meaningful security definitions and matching protocols that achieve sharding or sidechains is a significant challenge. Another option is to look for alternatives to Proof-of-Work (e.g. Proof-of-Stake) and traditional blockchain consesus that can achiebe better performance even with a single instance.
Required Experience: The suggested projects in this topic involve mostly theoretical work, which should be suitable for master level students with knowledge of modern cryptgoraphy. We might be able to work on practical evaluation of such protocols together with students who are comfortable with advanced distributed systems programming.
Investigating New Alternatives to Proof-of-Work
Investigating New Sharding Techniques
Investigating New Sidechain Techniques
Better Semi-Synchronous Blockchain Consensus Protocols
Problem: Most blockchain consensus protocols and blockchain based applications have been designed in an ad-hoc way, i.e. without provable security guarantees. In practice, this has lead to many vulnerabilities in these systems due to bad protocol design decisions (apart from regular software bugs). With these systems handling large amounts of funds, these vulnerabilities lead to almost instant financial losses when exploited.
Possible Solutions: In many cases it is not possible to formally prove the security of ad-hoc protocols, but companies and users usually require concrete vulnerabilities to be pointed out in order to consider updating their protocols. As the vast majority of blockchain applications are open source, this provides a good oprtunity to apply practical vulnerability analysis techniques and find such concrete vulnerabilities. Once vulnerabilities are foud, the goal is to propose a protocol level fix and perform responsible disclosure towards the development community.
Required Experience: The projects within this topic can be carried out with students of all levels who have a solid programming background, as it will mostly involve code analysis and testing.
Analysing Anonymity Guarantees in Ad-Hoc Privacy Preserving Cryptocurrencies
Analysing the Security of Ad-Hoc Blockchain Consensus Protocols
Analysing the Security of Blockchain Applications Based on Advanced Cryptographic Protocols
Problem: Multiparty Computation (MPC) allows mutuallty distrustful parties to compute a program over their private data while disclosing nothing about this data but the output of the program. While many MPC protocols have been constructed, it is important to improve the efficiency of existing protocols both for general purpose computation (of boolean and arithmetic circuits) and for specific applications (e.g. machine learning over private data). Efficiency can be improved in terms of network communication (e.g. number of protocol rounds and total communication) and of local computational complexity (e.g. local time spent by each party to compute their messages).
Possible Solutions: Towards constructing more efficient general purpose MPC protocols, it is important to improve round complexity, since round trip times over the internet make it infeasible to run protocols with many rounds. Moreover, it is important to improve the integration of protocols for computing arithmetic circuits with those for boolean circuits, as each type of circuit is better suited for different kinds of algorithms. More generally, it is interesting to explore the power of preprocessing, where the parties run the bulk of the computation before their actual inputs are known. Besides investigating better protocols for the general case, it is also interesting to explore protocols for specific applications (e.g. machine learning) that might be interesting for end-user products and industry solutions.
Required Experience: The projects within this topic involve both theoretical work, that should be suitable for master level students with knowledge of modern cryptgoraphy, and practical implementation work, that should be suitable to students at all levels with reasonable software development experience. We can discuss how to better work on each project according your interests.
Using MPC for Privacy Preserving Machine Learning
Exploring New Applications for MPC in Industry
Circuit Garbling Schemes with Improved Efficiency for Specific Functions
Mixing Boolean Garbled Circuits And Secret Sharing Based Arithmetic Circuits
Constructing Efficient Constant Rounds MPC Protocols in the Preprocessing Model
Constructing MPC with Special Verifiability Guarantees
Exploring Fairness and Covert Security for Efficient MPC Protocols over Blockchains
Problem: One of the main goals of theoretical cryptography is to understand the minimal building blocks needed for constructing more complicated cryptographic protocols, as well as the efficiency that those can achieve. Two of the main building blocks in cryptographic protocols are Commitments and Oblivious Transfer, which are central to constructing protocols for powerful tasks such as Multiparty Computation and Zero-Knowledge Proofs. Hence, it is important to understand under which assumptions protocols for Commitments and Oblivious Transfer can be constructed, as well as the efficiency limits of such constructions.
Possible Solutions: Towards achieving a better understanding of these primitives and their relation to cryptogrtaphic protocols in general, it is interesting to investigate constructions of them under differernt assumptions and the fundamental limits to their efficiency. Towards improving the concrete efficiency of cryptographic protocols, it is interesting to construct more efficiency protocols for Commitments and Oblivious Transfer.
Required Experience: The projects within this topic involve heavy theoretical work, that should be suitable for master level students with knowledge of modern cryptgoraphy.
Investigate More General and/or More Efficient Constructions of Universally Composable Oblivious Transfer
Investigate More General and/or More Efficient Constructions of Universally Composable Oblivious Transfer with Special Properties for Efficient MPC
Investigate More General and/or More Efficient Constructions of Oblivious Transfer Extension
Investigate More General and/or More Efficient Constructions of Universally Composable Commitments in the Preprocessing Model