(English version below)

Ce cours comporte deux parties, l’une avec Daniel Augot sur la
cryptographie dans les  blockchains, l’une avec Bernadette Charron-Bost sur
les fondamentaux de l'algorithmique distribuée et du problème du
consensus.

 

Le cours de Daniel Augot présente plusieurs sujets abordés
dans le monde des blockchains: rappels sur les fonctions de hachage et les signatures, les nombreuses utilisations
des fonctions de hachage cryptographique; UTXOs, Merkle trees, Ethereum «smart contracts»;
lightning, zero-knowledge, zk-snarks;

Il est structué en 6 blocs de 4h00: 1h30 de cours et 2h30 de TP.

 

Les TP sont en ligne de commande à faire sur votre ordinateur personnel.  Installations prérequises :   Docker  et docker-compose.


Le cours de Bernadette Charron-Bost posera les fondamentaux du
problème du consensus (pas de travaux pratiques). Dans le problème du
consensus, chaque agent d’un système en réseau a une valeur d’entrée
et décide une valeur de sortie; il est nécessaire que tous les agents
finalement se décident sur la même valeur et que cette valeur commune
soit une (ou une fonction) des valeurs d'entrée. Les problèmes de
consensus se posent dans un certain nombre d'applications, y compris
la cohérence dans les bases de données répliquées, les agents
autonomes ou, plus récemment, dans la technologie de la blockchain.

Le problème du consensus (exact) est un problème fondamental d’accord
où chaque agent est conscient qu'un accord a été conclu, par
opposition au problème de consensus stabilisant où les agents sont
juste tenus de se stabiliser éventuellement sur la même valeur
d'entrée. Le consensus blockchain, également appelé le consensus de
Nakamoto, correspond à un type intermédiaire d'accord.

Le but de ce cours est d’explorer la solvabilité et les complexité de
ces différents problèmes d’accord dans différents contextes, en
fonction du modèle de synchronicité, du modèle de défaillance et
d’autres propriétés telles que le fait que le système soit ouvert ou
fermé, systèmes «sans permissions» ou «avec permissions».




This course has two parts, one with Daniel Augot on cryptography and blockchains, one with Bernadette Charron-Bost on the fundamental consensus problem. Daniel Augot's course is a course about the cryptography used in blockchains. It will give an overview of several themes discussed in the blockchain space, after recalling basic cryptography (encryption, integrity, signature). The following topics will be surveyed: encryption, integrity, signature;   the many uses of cryptographic  hash functions; ethereum, smart contracts;  lightning, zero-knowledge, zk-snarks.

 


The course is strutured in 6 blocks: 1h30 lecture and 2h30 lab.

The labs are done using the unix command-line TP on your personal computer.  You need to preinstall Docker  et docker-compose.

 

 

Bernadette Charron-Bost's course is  as follows (no labs). In agreement problems, each agent of a networked system has an input value and outputs a series of values;  it is required that all the agents eventually output the same value and that this common value is one (or a function) of the input values. Agreement problems arise in a number of applications including consistency in replicated databases, motion of autonomous agents or, more recently, in the blockchain technology. The (exact) consensus problem is a fundamental agreement problem where each agent is aware that agreement has been reached, as opposed to the stabilizing consensus problem where agents are just required to eventually stabilize on the same input value. The blockchain consensus, also called the Nakamoto consensus, corresponds to an intermediate type of agreement. The  goal of this course is to explore the solvability and the complexity of these different agreement problems in various contexts,  depending on the synchrony model, the failure model, and on other features like the fact that the system is open or closed (permissioned vs. permissionless systems).