Chaîne de blocs et les technologies de registre distribué

Chaîne de blocs et les technologies de registre distribué

Les transactions et les contrats sont des éléments fondamentaux de nos systèmes économiques, juridiques et politiques. Pourtant, il s’avère que les systèmes actuels qui les enregistrent et les gèrent ne suivent pas l’évolution de l’économie numérique. En fait, ces systèmes ne répondent plus aux besoins des nouvelles grandes applications de données en termes de disponibilité, d’évolutivité et de traçabilité efficace des enregistrements. La chaîne de blocs se présente en tant que solution à ces problèmes en offrant un registre de données fiable et transparent. La chaîne de blocs permet de réduire le coût de déploiement des nouvelles solutions. En effet, elle remplace les infrastructures de sauvegarde actuelles par un système d’enregistrement basé sur un réseau pair à pair.

Se servant de la technologie sur laquelle se basent Bitcoin, Ethereum et d’autres crypto-monnaies, la chaîne de blocs est un registre distribué de données qui enregistre les transactions répliquées dans un réseau pair à pair décentralisé. Une fois dans le grand livre, les transactions sont permanentes, vérifiables et inviolables .

Bitcoin

Fondée en 2008 par Satoshi Nakamoto, Bitcoin est la plateforme de cryptomonnaie la plus célèbre. C’est un système pair à pair basé sur la chaîne de blocs qui permet un échange de la monnaie d’une façon décentralisée. Contrairement au système bancaire centralisé qui nécessite une institution financière pour effectuer une transaction digitale entre deux parties, Bitcoin assure un transfert direct de la monnaie entre les parties.

Minage
L’ajout des blocs à la chaîne de blocs passe par un processus qui s’appelle le minage (Nakamoto et al., 2008). Pour ce faire, les mineurs (nœuds participants à la chaîne de blocs) reçoivent les transactions diffusées par les clients et les collectent dans des blocs. Ensuite, chaque nœud commence à résoudre la preuve de travail de son bloc. Une fois résolue, le mineur diffuse son bloc aux autres nœuds qui vérifient sa validité. Un bloc est considéré valide s’il a une preuve de travail valide et si toutes transactions contenues ne sont pas déjà consommées dans des blocs antérieurs. Les mineurs expriment leurs acceptations d’un bloc en commençant à travailler sur un nouveau bloc en se basant sur ce dernier.

Preuve de travail
Bitcoin est une plateforme publique, sans permission et sans unité de contrôle. Cela peut engendrer des failles de sécurité, notamment, le problème de double dépenses qui consiste à dépenser le même jeton de monnaie dans deux transactions différentes. Pour y remédier, Bitcoin utilise un mécanisme de consensus qui s’appelle preuve de travail (proof of work). Ce mécanisme repose sur la résolution d’un problème cryptographique qui consomme du temps pour le resoudre (10 minutes pour Bitcoin) mais qui est facile à vérifier. De ce fait, chaque bloc doit passer par la preuve de travail pour qu’il soit ajouté à la chaîne. Comme les nœuds honnêtes ne minent de nouveaux blocs que sur la plus longue chaîne connue, il est impossible pour un nœud malveillant d’ajouter des blocs avec des transactions altérées à moins de détenir 51% du réseau, ce qui est peu probable étant donné l’échelle mondiale du réseau Bitcoin actuel.

Ethereum et les contrats intelligents

Ethereum est conçu en 2014 pour mettre en place un environnement qui permet de créer des applications distribuées dépassant la cryptomonnaie tout en exploitant les avantages de la chaîne de blocs. Ethereum est un système informatique décentralisé qui permet d’exécuter des programmes appelés contrats intelligents. Il se base sur la chaîne de blocs pour synchroniser l’état du système entre tous les nœuds participants ainsi que pour utiliser sa cryptomonnaie appelée ether (Antonopoulos & Wood, 2018). Ethereum fournit une couche d’application décentralisée au-dessus de la chaîne de blocs pour prendre en charge les opérations au-delà de la cryptomonnaie (Cuccuru, 2017). Cela est possible grâce à des contrats intelligents autonomes exécutés par des transactions (Buterin et al., 2013). Étant donné que le bytecode exécutable du contrat intelligent est lui-même stocké sous forme de données en chaîne, la propriété d’immuabilité des chaînes de blocs garantit une exécution fiable du programme de contrat intelligent. De plus, la transparence du bytecode exécutable permet de vérifier son intégrité par rapport au code source compilé. Il existe deux types de comptes dans Ethereum, chaque compte ayant une adresse de 20 octets :

– compte détenu en externe : Ce compte est contrôlé par un utilisateur Ethereum et possède une paire de clés publique/privée;
– compte de contrat : Ce compte appartient à un contrat intelligent et est contrôlé par son code.

Un compte de contrat contient une combinaison de bytecode de contrat intelligent et de données spécifiques au contrat et est déployé par un compte externe sur la chaîne de blocs. Les contrats intelligents sont écrits en code Ethereum Virtual Machine (code EVM) et fournissent une interface binaire d’application (ABI) qui permet aux utilisateurs d’interagir avec elle. Un appel de fonction de contrat inclus dans une transaction est exécuté par le mineur qui a inclus la transaction dans un bloc, et est vérifié par chaque nœud qui obtient une copie du bloc.

Le gaz est l’unité permettant de calculer le coût de chaque opération à Ethereum. Cela comprend l’exécution des codes d’opération (Opcodes) dans une fonction de contrat intelligent et le stockage des données dans l’état du compte. Le prix du gaz est calculé en ether et est librement défini par l’expéditeur de la transaction; cependant, les utilisateurs devraient définir un prix élevé de gaz afin d’encourager les mineurs à ajouter rapidement leurs transactions à un bloc.

Hyperledger

Contrairement à Bitcoin et Ethereum, Hyperledger est une solution open source pour des chaînes de blocs avec permission, à savoir une chaîne de blocs qui demande une autorisation d’une entité de contrôle pour permettre à un nœud d’entrer au réseau. Hyperledger fournit un ensemble de technologies de chaîne de blocs adaptés au contexte d’entreprise telles que les registres distribués, les moteurs de contrats intelligents et les interfaces applicatives. Il existe plusieurs implémentations de Hyperledger telles que Hyperledger Fabric, Hyperledger Indy et Hyperledger Iroha. La majeure différence entre ces implémentations est le mécanisme de consensus utilisé.

Table des matières

INTRODUCTION
CHAPITRE 1 NOTIONS DE BASE
1.1 Chaîne de blocs et les technologies de registre distribué
1.1.1 Bitcoin
1.1.1.1 Minage
1.1.1.2 Preuve de travail
1.1.2 Ethereum et les contrats intelligents
1.1.3 Hyperledger
1.1.4 Comparaison des systèmes et discussion
1.1.4.1 Ethereum et Bitcoin
1.1.4.2 Ethereum et Hyperledger
1.1.4.3 Discussion
1.2 InterPlanetary File System
1.3 Règlement général sur la protection des données
1.3.1 Les acteurs principaux
1.3.2 Les pénalités infligées
1.3.3 Les droits des propriétaires de données
1.4 Normes de tokenisation
1.5 Conclusion
CHAPITRE 2 REVUE DE LITTÉRATURE
2.1 Confidentialité et contrats intelligents
2.2 Collecte et partage de données
2.3 Chaîne de blocs et RGPD
2.4 Conclusion
CHAPITRE 3 SOLUTION ET ARCHITECTURE PROPOSÉES
3.1 Analyse de la norme ERC721
3.2 Modèle de tokenisation des données proposé
3.3 Les interactions du systèmes
3.4 Les composants de l’architecture
3.5 Conclusion
CHAPITRE 4 ANALYSE DE LA CONFORMITÉ AU RGPD
4.1 Prise en charge des droits RGPD
4.2 Étude de cas d’utilisation : formation des modèles de machine learning
4.3 Conclusion
CHAPITRE 5 ÉVALUATION DE LA SOLUTION PROPOSÉE
5.1 Configuration expérimentale
5.2 Effet du taux de création de jetons
5.3 Effet du taux de output par jeton
5.4 Effet du taux de input par jeton
5.5 Effet du volume de données
5.6 Rentabilité de IPFS
5.7 Discussion
CHAPITRE 6 EXPÉRIENCE PERSONNELLE
CONCLUSION

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *