Hide the network location of blockchain committees (Master Thesis/PhD Semester)
A promising scaling solution for blockchains is based on electing committees that run consensus. A serious drawback however in these solutions is that the committee members’ network position is easily identifiable which can lead to DDoS attacks on them.
In this project we want to look into anonymity networks in order to design and implement a “hidden committee” protocol that hides the network location of the committee members within the larger peer-to-peer gossip network.
Partition Recovery in Locality-Preserving Blockchains (Semester Master / Master Thesis)
In a scenario where you’re paying for your daily coffee with a cryptocurrency, does the merchant really require world-wide consensus to accept your payment? We believe the merchant should be able to choose: If he already knows you, then he probably trusts you and is ready to accept the transaction with a local consensus, for example within Switzerland. The global consensus on payment confirmation will arrive later, with a higher latency, and would still expose any double-spending to the merchant. When selling more expensive goods (e.g., a car), however, the merchant will most probably wait for global consensus.
Our system, called Nyle, has three advantages: it survives WW3 scenarios where the global network is partitioned and cannot reach global consensus, speeds up local transactions and capitalizes on existing trust relationships between the transaction parties.
We build several blockchains, each spanning overlapping regions of different sizes, e.g, Switzerland, Western Europe, World. Within a region, the region’s validators check and reach consensus on the validity of each transaction. Cross-region transactions, e.g., between Switzerland and Spain, require transaction validation in a larger region, for example Western Europe, that covers both source and destination regions.
One risk of our “trust-but-verify” architecture is state divergence of blockchains.
Say the World region is partitioned and Bob double spends in two regions. When the partition recovers , what state does it adopt and how does it “rollback” the malicious transactions? We could think of investigating the concept “credit” and a maximum credit allowance, but perhaps there are better ways.
For a semester project, the goal is to implementation in Go the malicious behavior described above and the partition recovery. The student will build upon our lab’s Cothority framework, written in Go. Experience in Go is a plus, though not necessary.
For a Master thesis, an additional goal is contributing to the design and the security analysis of partition recovery.
Contact: Cristina Basescu
Speeding Up the InterPlanetary File System (Semester Bachelor / Semester Master)
The InterPlanetary File System (IPFS) is the Web, but distributed! It is a protocol running over a peer-to-peer network that enables the storage and distribution of hypermedia. One nice feature of IPFS is its interplanetary network goals. It aims to work even when the Internet backbone is offline: think of natural disasters, slow network in the developing world, intermittent connections.
Can we make IPFS faster by making it location aware? We believe so. Especially when thinking about distribution on such a wide scale, it matters if your web content is replicated on Earth or on Mars.
The goal is to use our locality-aware networking framework as an overlay for IPFS. The project is ideal if you love building systems. Experience in Go is a plus, though not necessary.
Contact: Cristina Basescu