Student Projects

DEDIS Spring 2025 Semester Projects

This page lists some potential projects in the DEDIS lab that may be available next semester.  Please first read the general guidelines for projects in the DEDIS lab , then use ONLY the following form to get in touch with us:

 Google Form Link

Examples of reports, presentations, and code resulting from past projects please see these pages: 2023 2022 2021 2020 2019 2018 2017 2016

List of current available projects

updated Nov 25, 2024

For Master Semester project (CS)

Abstract

D-Voting is EPFL’s e-voting platform based on the DELA blockchain. The project started in 2021 and has been continuously developed by EPFL students and research software engineers. To improve D-Voting’s robustness, the permission management is currently being overhauled. In a first step, it has been moved from a dedicated component to the blockchain itself, requiring adjustments to the underlying logic of the permission handling.

The project’s goal is to verify and integrate the functionality of the newly implemented permission system. This will involve designing and implementing extensive system tests; debugging issues with the blockchain component responsible for handling permissions; and integrating this new API in the front-end interface. A user study to explore emerging use cases to prepare future projects will round off the project.

Required skills: This project requires a basic understanding of blockchain technologies and front-end development. Prior programming experience in Go and/or TypeScript is appreciated but not a prerequisite.

Contact: [email protected]

For Bachelor or Master Semester project (CS, SC, Cybersec)

Abstract

Vaults are tools that enable users to backup their digital secrets. Examples of vaults are Google Drive, Dropbox, iCloud, password managers. If a user loses all her devices, then recovering access to these vaults is an arduous task. Apollo aims to address this issue by backing up the vault’s key with the people trusted by a user (trustees). Apollo segregates people known by a user only into two kinds: trustees, who hold relevant information for recovery, and non-trustees, who hold irrelevant information for providing coercion resistance.

However, segregating people only into trustees and non-trustees might not suffice because our trust is not binary – instead, we have different levels of trust for people in our lives. Therefore, the goal of this project is to backup shares of the vault key that would be representative of a user’s trust. First of all, the project would involve implementing key recovery simulation. With the help of the simulations, we will analyze the change in recovery probability for a user and the impact of this trust-enhanced design on the security of Apollo. Secondly, the project would require implementation of the key recovery protocol and evaluation of the performance with respect to the core Apollo protocol.

Requirements: Some basic knowledge in Go programming.

Contact: [email protected] 

For Master Semester project (CS, SC)

Abstract

Fledger is a decentralised system running in the browser, w/o the need to install a binary on a server. This allows anybody with a good internet connection to participate in the system. Fledger is written as a node containing several modules. The nodes communicate using WebRTC, allowing direct browser-to-browser communication in most cases.

To allow fair sharing of the resources, we want to be able to store data on other nodes but using an incentive system: if a node stores data, it gets a reward, which can be used to store its own data on other nodes. This can be for example data for webpages, or personal data of the participants in the system. DEDIS lab already did a project on incentivised storage sharing, which will be re-used for this project. Your job will be to:

– implement it as a fledger module

– extend it with either a

  1. a) privacy-preserving payment system, which allows a user to store data, pay for it, but stay anonymous. You’ll have to research how to set up the reputation system in a way that the payments stay anonymous.
  2. b) reputation-enhanced storage, where the encrypted data is only stored if the node thinks the owner of the data has a good reputation. The question is how to calculate the goodness of the reputation in the presence of different value systems. 

In the best case this would also work with a privacy-preserving system like:

  1. i) For the extensions, you’ll have to start with a literature review, then choose an appropriate system and implement it.

Required skills: experience in decentralised and distributed systems, cryptography for extension, game theory for extension. If you have programming experience in Rust, this is a plus.

Contact: [email protected]