Highly parallelizable public blockchains

Distributed ledgers have recently emerged as a promising technology that can strengthen the trust relationships between its users. These ledgers are conceived as auditable systems that record the actions of the participants to enable accountable behaviors. Blockchains, in particular, are highly replicated distributed ledgers that rely on cryptographic primitives to prevent record tampering. Blockchains are often used in public environments designed specifically not to contain any authority that on one hand can tremendously help with the performance of the system, but on the other hand might compromise the security of the system due to its greater power.

The lack of authority in public blockchains forces its participants to rely on agreement protocols to establish the state of the blockchain. These agreement protocols have prohibitive costs when deployed on large-scale networks and must yet be instanced every time new records are added to the chain. One approach to increase the throughput of such large-scale systems is called sharding: the system is divided into several partially independent sub-systems to limit the scope of coordination happening on the entire system.

The selected student will take part in designing a sharded public blockchain, and performing evaluations to assess its performance. Understanding the inner workings of distributed systems and that of public blockchains in particular (e.g., Bitcoin, Ethereum), including their incentive mechanisms, is a clear advantage.