Thèse Année : 2024

Distributed computing for blockchains and beyond

Le calcul distribué pour la blockchain et plus encore

Résumé

In this dissertation, we address three major challenges in the design of blockchain systems in particular and large-scale fault-tolerant distributed systems in general. This work aims at improving the performance of such systems directly, as well as providing useful tools for future development of distributed algorithms.First, we explore the limits of what can be done with minimal synchronization by designing CryptoConcurrency—an asset transfer system that, instead of totally ordering all users' requests, processes concurrent requests in parallel as much as possible. Unlike other similar systems, in CryptoConcurrency, we allow the users to have shared accounts and do not make the unrealistic assumption that an honest user's account is never accessed from two devices concurrently. CryptoConcurrency explores novel theoretical grounds by addressing transaction conflicts in a dynamic, non-pairwise manner, allowing the owners of each account to independently choose their preferred mechanism for conflict resolution. Then, we improve the performance of consensus—the synchronization problem at the heart of most practical distributed systems. We build the first consensus protocol that manages to combine two desirable properties: extremely fast termination in favorable conditions and graceful recovery when such conditions are not met. The design involves a novel type of cryptographic proofs, with an efficient practical implementation.Finally, we set out to tackle the problem of designing efficient distributed protocols with weighted participation. To this end, we define several new optimization problems, related to reducing or, in other words, quantizing the weights of the participants in a way that preserves important structural properties. We show how to apply them to make weighted-model variants of a large class of distributed protocols with very little overhead compared to their counterparts in the simpler non-weighted model. For these optimization problems, we prove upper bounds, provide a practical open-source approximate solver that satisfies these upper bounds, and perform an empirical study on the weight distributions from real-world blockchain systems.
Dans cette thèse, nous abordons trois défis majeurs dans la conception des systèmes de blockchain en particulier et des systèmes distribués tolérants aux pannes à grande échelle en général. Ce travail vise à améliorer directement la performance de tels systèmes, ainsi qu'à fournir des outils utiles pour le développement futur d'algorithmes distribués.Premièrement, nous explorons les limites de ce qui peut être réalisé avec une synchronisation minimale en concevant CryptoConcurrency—un système de transfert d'actifs qui, au lieu d'ordonner totalement toutes les requêtes des utilisateurs, traite les requêtes concurrentes en parallèle autant que possible. Contrairement à d'autres systèmes similaires, dans CryptoConcurrency, nous permettons aux utilisateurs d'avoir des comptes partagés et ne faisons pas l'hypothèse irréaliste qu'un compte d'utilisateur honnête n'est jamais accédé simultanément depuis deux dispositifs. CryptoConcurrency explore de nouveaux terrains théoriques en abordant les conflits de transactions de manière dynamique et non par paires, permettant aux propriétaires de chaque compte de choisir indépendamment leur mécanisme préféré de résolution de conflits.Ensuite, nous améliorons la performance du consensus—le problème de synchronisation au cœur de la plupart des systèmes distribués pratiques. Nous construisons le premier protocole de consensus qui parvient à combiner deux propriétés souhaitables : une terminaison extrêmement rapide dans des condi- tions favorables et une récupération élégante lorsque ces conditions ne sont pas remplies. La conception implique un nouveau type de preuves cryptographiques, avec une implémentation pratique et efficace.Enfin, nous nous attaquons au problème de la conception de protocoles distribués efficaces avec une participation pondérée. À cette fin, nous définissons plusieurs nouveaux problèmes d'optimisation, liés à la réduction ou, en d'autres termes, à la quantification des poids des participants d'une manière qui préserve d'importantes propriétés structurelles. Nous montrons comment les appliquer pour créer des variantes pondérées d'un large éventail de protocoles distribués avec très peu de surcharge par rapport à leurs homologues dans le modèle non pondéré plus simple. Pour ces problèmes d'optimisation, nous prouvons des bornes supérieures, fournissons un solveur pratique open-source approximatif qui satisfait ces bornes, et effectuons une étude empirique sur les distributions de poids provenant de systèmes de blockchain réels.
Fichier principal
Vignette du fichier
138107_TONKIKH_2024_archivage.pdf (2.36 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04920408 , version 1 (30-01-2025)

Identifiants

  • HAL Id : tel-04920408 , version 1

Citer

Andrei Tonkikh. Distributed computing for blockchains and beyond. Distributed, Parallel, and Cluster Computing [cs.DC]. Institut Polytechnique de Paris, 2024. English. ⟨NNT : 2024IPPAT041⟩. ⟨tel-04920408⟩
0 Consultations
0 Téléchargements

Partager

More