Preuve d'espace — Wikipédia

La preuve d'espace (PoS) est un type d'algorithme de consensus obtenu en prouvant son intérêt légitime pour un service (comme par exemple l'envoi d'un e-mail) en allouant une quantité non négligeable de mémoire ou d'espace disque pour résoudre un défi présenté par le fournisseur de services.

Les preuves d'espace sont très similaires aux preuves de travail (PoW), sauf qu'au lieu du calcul, le stockage est utilisé pour gagner de la crypto-monnaie. La preuve d'espace est différente des fonctions gourmandes en mémoire dans la mesure où le goulot d'étranglement ne réside pas dans le nombre d'événements d'accès à la mémoire, mais dans la quantité de mémoire requise.

Après la sortie de Bitcoin, des alternatives à son mécanisme d'extraction PoW sont recherchées et le PoS est étudié. La preuve d'espace est considérée comme une alternative plus juste et plus écologique par les passionnés de blockchain en raison de la nature polyvalente du stockage et du coût énergétique inférieur requis par le stockage.

Le concept est formulé en 2013 par Dziembowski et al.[1],[2] et (avec une formulation différente) par Ateniese et al.[3],[4].

En 2014, Signum (anciennement Burstcoin) devient la première implémentation pratique d'une technologie blockchain en PoS (initialement comme preuve de capacité)[5] et est toujours activement développée. Outre Signum, plusieurs implémentations théoriques et pratiques de PoS ont été publiées et discutées, telles que SpaceMint et Chia.

Certaines sont critiquées pour avoir augmenté la demande et raccourci la durée de vie des périphériques de stockage en raison d'exigences de lecture de disque plus importantes que Signum[6],[7].

La preuve d'espace est un élément de données qu'un « prouveur » envoie à un « vérificateur » pour prouver avoir réservé une certaine quantité d'espace. Pour des raisons pratiques, le processus de vérification doit être efficace, c’est-à-dire consommer peu d’espace et de temps. Pour des raisons de sécurité, il doit être difficile pour le prouveur de réussir la vérification s'il ne réserve pas réellement la quantité d'espace revendiquée.

Une façon de mettre en œuvre le PoS consiste à utiliser des graphiques difficiles à cerner[2],[8]. Le vérificateur demande au prouveur de construire un étiquetage d'un graphe difficile à cerner. Le démonstrateur s'engage à l'étiquetage. Le vérificateur demande ensuite au prouveur d’ouvrir plusieurs emplacements aléatoires dans l’engagement.

Preuve de stockage

[modifier | modifier le code]

Une preuve de stockage (également preuve de récupérabilité ou preuve de possession de données) est liée à une preuve d'espace, mais au lieu de montrer que l'espace est disponible pour résoudre une énigme, le prouveur montre que l'espace est réellement utilisé pour stocker correctement un élément de données au moment de la preuve.[réf. nécessaire]

Preuve de capacité

[modifier | modifier le code]

La preuve de capacité est un système dans lequel les mineurs sont autorisés à pré-calculer (« tracer ») les fonctions PoW et à les stocker sur le disque dur. La première implémentation de la preuve de capacité est Signum (anciennement Burstcoin)[9].

Preuve conditionnelle de capacité

[modifier | modifier le code]

L'algorithme de consensus de Proof of Capacity (PoC) est utilisé dans certaines crypto-monnaies. La preuve conditionnelle de capacité (CPOC)[10] est une version améliorée de la PoC. Elle dispose d'un système de travail, d'enjeu et de capacité qui fonctionne comme les algorithmes PoW, PoS et PoC. Ainsi, en mettant en gage leurs actifs numériques, les utilisateurs reçoivent un revenu plus élevé en guise de récompense.

La CPOC conçoit une nouvelle mesure de récompense pour les meilleurs utilisateurs. Dans cet algorithme, les mineurs ajoutent un composant conditionnel à la preuve en s'assurant que leur fichier de tracé contient des données spécifiques liées au bloc précédent. Cette condition supplémentaire renforce la sécurité et la décentralisation du mécanisme de consensus au-delà des algorithmes traditionnels de preuve de capacité.

Preuve d'espace-temps

[modifier | modifier le code]

La preuve d'espace-temps (PoST) est une preuve qui montre que le démonstrateur a passé un certain temps à maintenir l'espace réservé inchangé. Ses créateurs estiment que le coût du stockage est inextricablement lié non seulement à sa capacité, mais également au temps pendant lequel cette capacité est utilisée. Elle est liée à une preuve de stockage (mais sans nécessairement stocker de données utiles), bien que la construction Moran-Orlov permette également un compromis entre l'espace et le temps[11]. La première implémentation de PoST se fait avec la blockchain Chia.

Utilisations

[modifier | modifier le code]

Les preuves d'espace pourraient être utilisées comme une alternative aux preuves de travail dans les applications de puzzle client traditionnelles, telles que les mesures anti-spam et la prévention des attaques par déni de service. La preuve d'espace a également été utilisée pour la détection de logiciels malveillants, en déterminant si le cache L1 d'un processeur est vide (par exemple, s'il dispose de suffisamment d'espace pour évaluer la routine PoS sans échec de cache) ou s'il contient une routine qui a résisté à l'éviction[12].

Signum (anciennement Burstcoin)

[modifier | modifier le code]

La première blockchain à utiliser la validation de blockchain basée sur le disque dur est créée en 2014. Signum Proof of Capacity consomme de l'espace disque plutôt que des ressources informatiques pour exploiter un bloc. Contrairement au PoW, où les mineurs continuent de modifier l'en-tête et le hachage du bloc pour trouver la solution, la preuve de capacité (telle qu'implémentée par Burstcoin et développée par Signum) génère des solutions aléatoires, également appelées tracés, en utilisant à l'avance l'algorithme cryptographique Shabal et les stocke sur des disques durs. Cette étape est appelée traçage et peut prendre des jours, voire des semaines, selon la capacité de stockage du disque. Dans l'étape suivante, l'exploitation minière, les mineurs font correspondre leurs solutions au puzzle le plus récent et le nœud avec la solution la plus rapide obtient l'exploitation du bloc suivant[13],[14].

En 2015, un article propose une cryptomonnaie appelée SpaceMint. Il tente de résoudre certains des problèmes de conception pratiques associés aux schémas PoS basés sur le pebbling. Lors de l'utilisation de PoS pour la cryptomonnaie décentralisée, le protocole doit être adapté pour fonctionner dans un protocole non interactif puisque chaque individu du réseau doit se comporter comme un vérificateur.

En 2018, Chia, un projet de cryptomonnaie, publie deux articles présentant un nouveau protocole basé sur la preuve d'espace[15] et la preuve de temps[16].

En février 2021, Chia publie un livre blanc décrivant son activité avant de lancer son réseau principal et son coin, le « Chia » (XCH) en utilisant le concept Proof of Space Time. Le modèle spatio-temporel de Chia dépend également du « traçage » (génération de fichiers de preuve d'espace) sur le support de stockage pour résoudre un puzzle[17].

Contrairement à de nombreuses crypto-monnaies de preuve de stockage, les tracés Chia ne stockent aucune donnée utile. De plus, la méthode de preuve de temps de Chia pour le traçage a soulevé des inquiétudes quant à la durée de vie réduite des disques SSD en raison de l'intensité de l'activité d'écriture impliquée dans la génération de tracés (généralement, le traçage se produit sur un SSD, puis les tracés terminés sont transférés sur un disque dur pour un stockage à long terme)[7].

Références

[modifier | modifier le code]
  1. Dziembowski, Stefan; Faust, Sebastian; Kolmogorov, Vladimir; Pietrzak, Krzysztof (2013). "Proofs of Space". Cryptology Eprint Archive https://eprint.iacr.org/2013/796
  2. a et b Stefan Dziembowski et Sebastian Faust « Proofs of Space » ()
    Advances in Cryptology – CRYPTO 2015 - 35th Annual Cryptology Conference
  3. Ateniese, Giuseppe; Bonacina, Ilario; Faonio, Antonio; Galesi, Nicola (2014). "Proofs of Space: When Space is of the Essence". https://eprint.iacr.org/2013/805
  4. (en) Giuseppe Ateniese, Ilario Bonacina, Antonio Faonio et Nicola Galesi « Proofs of Space: When Space is of the Essence » () (DOI 10.1007/978-3-319-10879-7_31, lire en ligne)
    Security and Cryptography for Networks
    .
  5. (en) Christopher Natoli, Jiangshan Yu, Vincent Gramoli et Paulo Esteves-Verissimo, « Deconstructing Blockchains: A Comprehensive Survey on Consensus, Membership and Structure », version 1, ..
  6. « New cryptocurrency Chia blamed for hard drive shortages », TheGuardian.com, (consulté le )
  7. a et b Paul Lilly, « Chia mining can wreck a 512GB SSD in as little as 6 weeks » [archive du ], PC Gamer, (consulté le )
  8. (en) Ling Ren et Devadas Srinivas « Proof of Space from Stacked Expanders » () (DOI 10.1007/978-3-662-53641-4_11, lire en ligne, consulté le )
    Theory of Cryptography Conference
    .
  9. « Proof of capacity (PoC) » [archive du ] (consulté le )
  10. « Sustainable Mining Made Easy: Using CPoC for Eco-Friendly Cryptocurrency Mining » [archive du ], (consulté le )
  11. Tal Moran et Ilan Orlov, « Simple Proofs of Spacetime and Rational Proofs of Storage » [archive du ], (consulté le )
  12. (en) Markus Jakobsson et Guy Stewart, « Mobile Malware: Why the Traditional AV Paradigm is Doomed, and How to Use Physics to Detect Undesirable Routines, BlackHat », BlackHat,‎ (S2CID 16726066, lire en ligne [archive du ]).
  13. Abdul Wahab et Waqas, « Survey of Consensus Protocols », Survey of Consensus Protocols,‎ , p. 6 (Bibcode 2018arXiv181003357W, arXiv 1810.03357)
  14. Mehrdad Salimitari et Mainak Chatterjee, « An Overview of Blockchain and Consensus Protocols for IoT Networks », An Overview of Blockchain and Consensus Protocols for IoT Networks,‎ , p. III-G (arXiv 1809.05613)
  15. (en) Hamza Abusalah, Joël Alwen, Bram Cohen et Danylo Khilko « Beyond Hellman's Time-Memory Trade-Offs with Applications to Proofs of Space » () (lire en ligne)
    Advances in Cryptology – ASIACRYPT 2017
    .
  16. Bram Cohen et Krzysztof Pietrzak, « Simple Proofs of Sequential Work », Simple Proofs of Sequential Work,‎ (lire en ligne [archive du ], consulté le )
  17. Gene Hoffman, « The Chia Business Whitepaper » [archive du ], Chia Network, Chia, (consulté le )