Lección 2

Les bases de la blockchain avec Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Les fondamentaux de la blockchain dans Filecoin

La blockchain Filecoin est une base de données distribuée complexe partagée entre un réseau de nœuds informatiques. Chaque nœud détient une copie de la blockchain, ce qui garantit que chaque transaction et obligation contractuelle dans le réseau est enregistrée et immuable. Il s'agit d'un registre fiable et sécurisé de toutes les activités au sein de l'écosystème Filecoin.

Acteurs : Les chevaux de bataille de la blockchain de Filecoin

Les acteurs de la blockchain de Filecoin sont l'équivalent des contrats intelligents de la machine virtuelle Ethereum. Chaque acteur encapsule un ensemble de variables d'état et de méthodes permettant d'interagir avec le réseau Filecoin. Il s'agit essentiellement des agents qui effectuent des actions sur la blockchain, comme la gestion des accords de stockage ou la facilitation des transactions.

Acteurs du système intégrés

Le réseau de Filecoin est alimenté par plusieurs acteurs système intégrés qui gèrent des fonctions essentielles :

  • Acteur du système : Exécute les opérations générales du réseau.
  • Acteur Init : Responsable de l'initialisation des nouveaux acteurs et de la gestion des conventions de dénomination du réseau.
  • Acteur Cron : Il joue le rôle de planificateur du réseau et déclenche les fonctions essentielles à chaque époque.
  • Acteur de compte : Gère les comptes d'utilisateurs au-delà du champ d'application du modèle unique.
  • Acteur du stockage (Storage Miner Actor) : Coordonne les opérations d'extraction de stockage et valide les preuves de stockage.
  • Acteur du marché du stockage : Il gère les transactions de stockage sur la place de marché du réseau.
  • Acteur Multisig : Gère les opérations impliquant le portefeuille multi-signature de Filecoin.
  • Acteur du canal de paiement : Il gère l'établissement et le règlement des canaux de paiement.
  • Acteur Datacap : Il supervise l'attribution et la gestion des jetons datacap.
  • Acteur du registre vérifié : Il gère les clients vérifiés au sein du réseau.
  • Acteur de compte EVM : Représente les identités Ethereum externes, facilitant l'interopérabilité avec les systèmes basés sur Ethereum.

Acteurs programmables par l'utilisateur

À mesure que la machine virtuelle Filecoin (FVM) mûrit, les développeurs ont la possibilité d'écrire et de déployer leurs propres acteurs, à l'instar des contrats intelligents sur d'autres blockchains. Ces acteurs programmables par l'utilisateur peuvent interagir avec les acteurs intégrés par le biais d'API exportées, ce qui permet de créer une large gamme d'applications et de services sur le réseau Filecoin.

Le hasard distribué dans Filecoin

Filecoin utilise un protocole aléatoire distribué et publiquement vérifiable, connu sous le nom de Drand, comme source d'aléa pour l'élection du leader lors de la production des blocs. Ce caractère aléatoire est essentiel pour garantir que le processus est imprévisible, impartial et vérifiable, ce qui permet de maintenir l'équité et la sécurité du processus d'extraction.

Les nœuds et leurs rôles

Les nœuds du réseau Filecoin sont principalement classés en fonction des services qu'ils fournissent :

  • Nœuds de vérification de la chaîne : Valident la chaîne de blocs et appliquent les règles de consensus.
  • Nœuds clients : Interagissent avec le réseau pour stocker et récupérer des données.
  • Nœuds du fournisseur de stockage : Offrent une capacité de stockage au réseau et prouvent la continuité du stockage.
  • Nœuds du fournisseur de services de recherche : Servent les données stockées de manière rapide et fiable lorsqu'elles sont demandées.
  • De multiples implémentations du protocole Filecoin coexistent pour améliorer la sécurité et la résilience du réseau, garantissant l'absence de point de défaillance unique et promouvant une décentralisation saine.

Adresses : Identifier les acteurs dans Filecoin

Les adresses dans Filecoin sont des chaînes alphanumériques qui identifient de manière unique les acteurs ou les utilisateurs sur le réseau, facilitant les interactions telles que les transactions et les exécutions de contrats intelligents. Ces adresses se présentent sous plusieurs formes, reflétant les différents types d'acteurs qu'elles représentent :

  • Adresses ID (f0) : Identifiants numériques pour les acteurs, fournissant un moyen lisible par l'homme de référencer les participants au réseau.
  • Adresses Secp256k1 (f1) : Dérivées des clés publiques utilisant la norme de cryptage secp256k1, couramment utilisées pour les portefeuilles.
  • Adresses d'acteurs (f2) : Attribuées aux contrats intelligents, elles restent robustes à travers les forks du réseau.
  • Adresses BLS (f3) : Générées à partir des clés publiques BLS et utilisées pour les portefeuilles avec cryptage BLS.
  • Adresses d'acteurs définies par l'utilisateur (f4) : Adresses flexibles pouvant être attribuées par des acteurs de gestion d'adresses définissables par l'utilisateur, permettant des schémas d'adressage personnalisés et extensibles.
  • Chaque type d'adresse a une fonction spécifique dans l'écosystème de Filecoin, de la facilitation des transactions à la gestion des contrats intelligents et des interactions avec les utilisateurs.

Tipsets et Blocks

La blockchain de Filecoin s'écarte de la norme d'une séquence linéaire de blocs. Ici, les blocs sont regroupés en "tipsets", qui peuvent être considérés comme des instantanés de l'état du réseau à chaque époque, ou à un intervalle de temps fixe dans le jargon de la blockchain. Ce modèle permet d'obtenir une blockchain plus souple et plus efficace en permettant la production simultanée de plusieurs blocs valides.

L'anatomie d'un bloc Filecoin

Chaque bloc de Filecoin est un paquet contenant un en-tête et une série de messages qui représentent les actions entreprises par les acteurs, telles que des transactions ou des accords contractuels. L'en-tête du bloc comprend des métadonnées telles que l'adresse du mineur, le ticket (preuve de travail) et les CID des blocs parents. Les messages constituent le cœur de la blockchain, enregistrant les changements d'état tels que les transferts de jetons et les appels de contrat. Les blocs sont liés à au moins un bloc parent, formant une chaîne continue jusqu'au bloc d'origine.

Blocktime : Synchroniser le rythme du réseau

Le temps de blocage dans Filecoin est fixé à une moyenne de 30 secondes. Cet intervalle a été stratégiquement choisi pour trouver un équilibre entre la réactivité du réseau et les aspects pratiques de son fonctionnement. Un temps de blocage plus court pourrait augmenter la vitesse du réseau, mais il imposerait également des exigences plus élevées en matière de matériel et pourrait entraîner des défaillances plus fréquentes du temps de blocage. Le temps de blocage de 30 secondes donne aux fournisseurs de services de stockage suffisamment de temps pour effectuer les opérations nécessaires, telles que le scellement des secteurs et la génération de preuves, sans surcharger leur matériel.

Tipsets : Maximiser l'efficacité et la récompense

Au cours d'une époque donnée, il est possible que plusieurs fournisseurs de stockage parviennent à extraire des blocs. La structure tipset de Filecoin s'en accommode en regroupant tous les blocs valides ayant la même hauteur et le même parent en un seul groupe. Cela signifie que tout travail valide contribue à l'état du réseau et est récompensé, une caractéristique importante qui encourage la participation et la collaboration entre les mineurs. Il garantit également que le réseau peut gérer efficacement les fourches, en parvenant rapidement à un consensus sur la chaîne canonique.

Le système tipset présente plusieurs avantages par rapport aux blockchains traditionnelles :

  • Augmentation du débit du réseau : En utilisant tous les blocs valides pour déterminer l'état du réseau, Filecoin peut traiter plus de données et de transactions à chaque époque.
  • Récompenser le travail valide : Chaque fournisseur de stockage qui produit un bloc valide reçoit une récompense, ce qui incite les mineurs à contribuer au réseau et décourage la centralisation.
  • La collaboration plutôt que la concurrence : Les producteurs potentiels de blocs sont encouragés à collaborer, car la structure des ensembles de conseils décourage la rétention de blocs qui pourraient être bénéfiques à la croissance du réseau.
  • Résistance aux fourches : Grâce à l'architecture tipset, Filecoin parvient à une convergence plus rapide pendant les fourches, ce qui garantit la stabilité du réseau.
  • Le JSON-RPC d'Ethereum et Filecoin

Il convient de noter qu'avec l'intégration du moteur d'exécution Filecoin EVM et l'adoption des normes JSON-RPC d'Ethereum, la notion de "tipset" devient encore plus conviviale. Dans ce contexte, lorsque nous parlons d'un "hash de bloc" dans le JSON-RPC Ethereum, nous nous référons en fait au hash d'un tipset, qui englobe les changements d'état combinés de tous les blocs au sein de ce tipset.

En continuant à explorer la blockchain de Filecoin, nous verrons comment ces composants interagissent pour créer un réseau de stockage décentralisé qui est robuste, efficace et prêt pour une croissance future.

Consensus Filecoin

Le mécanisme de consensus de Filecoin, connu sous le nom de Expected Consensus (EC), représente une pierre angulaire de son réseau de stockage décentralisé. Ce chapitre vise à fournir une introduction à l'EC, en approfondissant ses principes opérationnels, ses spécifications techniques et le rôle qu'il joue dans le maintien de l'intégrité et de la fiabilité du réseau Filecoin.

Filecoin fonctionne selon un mécanisme de consensus unique appelé Expected Consensus (EC). Contrairement aux protocoles de blockchain traditionnels qui reposent souvent sur la preuve de travail (PoW) ou la preuve d'enjeu (PoS), EC mélange des éléments d'aléatoire, de puissance de stockage et de tolérance probabiliste aux pannes byzantines. Au fond, l'EC est conçu pour aligner les incitations sur l'objectif principal de Filecoin : stocker les données de manière efficace et fiable.

L'essence de la CE

  • Décentralisation et fiabilité : L'objectif premier de la CE est de favoriser un environnement décentralisé dans lequel le stockage et l'extraction des données sont à la fois fiables et vérifiables.
  • Approche centrée sur le stockage : Contrairement aux blockchains traditionnelles qui se concentrent sur la puissance de calcul ou la détention de pièces, la CE de Filecoin donne la priorité à la puissance de stockage, c'est-à-dire à la capacité de stocker des données.

Mécanismes fondamentaux du consensus attendu

Le cadre opérationnel de la CE s'articule autour de plusieurs éléments clés, chacun jouant un rôle essentiel dans la fonctionnalité du réseau.

  1. Tolérance probabiliste des défaillances byzantines :
  • La CE intègre des mécanismes byzantins de tolérance aux pannes, ce qui la rend résistante à toute une série de conditions adverses, y compris des nœuds agissant de manière malveillante ou se mettant hors ligne.
  1. Élection du chef de file et production de blocs :
  • Au cœur de la CE se trouve un processus d'élection des dirigeants. Contrairement aux processus déterministes observés dans d'autres blockchains, la CE utilise une méthode probabiliste pour sélectionner les leaders ou les mineurs responsables de la création des blocs.
  1. Anonymat jusqu'à preuve de l'élection :
  • Les mineurs de la CE restent anonymes jusqu'à ce qu'ils puissent prouver leur statut d'élu au moyen d'une "preuve d'élection". Cette preuve est essentielle pour garantir l'équité et l'imprévisibilité de la production de blocs.
  1. Preuve de stockage :
  • Les mineurs doivent soumettre un "WinningPoSt" (Proof of Spacetime), validant leur contribution à la capacité de stockage du réseau.

Spécifications techniques de la CE

C'est au niveau des fondements techniques de la CE que son caractère innovant s'illustre véritablement. Nous examinons ici quelques-unes des spécifications clés qui définissent ce mécanisme de consensus :

Le hasard via DRAND :

  • EC utilise DRAND, une balise aléatoire externe non biaisée, pour faciliter divers aspects du protocole, notamment l'élection du chef.

Fonction aléatoire vérifiable (VRF) :

  • Les mineurs utilisent un VRF, ainsi que des éléments aléatoires obtenus à partir de DRAND, pour générer leur ElectionProof.

ElectionProof et VRF Chain :

  • La preuve d'élection est essentielle pour que les mineurs puissent démontrer qu'ils ont été légitimement élus pour produire un bloc.
  • Une chaîne VRF continue est maintenue, s'étendant avec chaque nouveau bloc produit.

Puissance de stockage et WinCount :

  • La puissance d'un mineur dans le réseau est proportionnelle à sa capacité de stockage.
  • WinCount détermine le nombre de blocs qu'un mineur peut produire, en fonction de sa puissance de stockage et du résultat de son VRF.
  • Sécurité et équité du consensus

La sécurité et l'équité sont primordiales dans la CE, et plusieurs mécanismes ont été mis en place pour préserver ces principes :

Fautes et sanctions consensuelles :

La CE définit des types spécifiques de fautes de consensus (par exemple, l'exploitation minière à double fourchette, l'exploitation minière à décalage temporel) et impose des pénalités pour dissuader les comportements malveillants.

Source des images : Documentation de Filecoin ici : https://spec.filecoin.io/algorithms/expected_consensus/

Pondération et sélection des chaînes :

  • Le protocole utilise un système unique de pondération des chaînes, dans lequel la chaîne la plus lourde, qui représente la plus grande puissance de stockage cumulée, est privilégiée.

Finalité douce :

  • La CE utilise une forme de finalité douce, en rejetant les blocs qui s'écartent de manière significative de la chaîne, renforçant ainsi la stabilité du réseau.

Drand : Le hasard distribué dans Filecoin

Drand (Distributed Randomness) est un composant critique du mécanisme de consensus de Filecoin, fournissant une source d'entropie non biaisée essentielle pour le processus d'élection secrète du leader du réseau. Il s'agit d'un protocole de balise aléatoire vérifiable publiquement, conçu pour générer une série de valeurs aléatoires déterministes et vérifiables.

Comment fonctionne Drand

  • Calculs multipartites (MPC) : Drand exécute une série de MPC pour produire des valeurs aléatoires. Après une phase d'installation de confiance, un groupe de nœuds drands connus signe un message donné à l'aide de signatures BLS à seuil au cours de rondes successives se déroulant à intervalles réguliers.
  • Signatures BLS à seuil : Le processus requiert un nombre minimum de nœuds (t-de-n) pour signer un message. Tout nœud possédant t signatures peut reconstruire la signature BLS complète. Cette signature, une fois hachée, produit une valeur aléatoire collective qui peut être vérifiée par rapport à la clé publique de la phase de configuration.
  • Hypothèses de sécurité : Drand suppose qu'au moins t des n nœuds sont honnêtes et en ligne. Si ce seuil est franchi, l'adversaire peut interrompre la production d'aléa mais ne peut pas biaiser l'aléa.

Sorties aléatoires de Drand

Format de la valeur des drands : Les nœuds Filecoin obtiennent les valeurs des drands dans un format spécifique. Les principaux éléments sont les suivants :

  • Signature : Une signature BLS sur la valeur de la signature précédente et le numéro de la ronde actuelle.
  • Signature précédente : La signature BLS du cycle Drand précédent.
  • Rond : L'indice du caractère aléatoire de la séquence produite par le réseau Drand.

Utiliser le Drand dans Filecoin

  • Élection du leader : Drand est utilisé pour l'élection du leader dans Filecoin, en fournissant une valeur aléatoire à chaque époque. Ce caractère aléatoire est essentiel pour l'algorithme Expected Consensus (EC), car il garantit une sélection équitable et imprévisible du chef de file.
  • Récupération des valeurs Drand : Les nœuds Filecoin récupèrent la dernière valeur aléatoire de Drand à l'aide de points d'extrémité spécifiques. Ces informations sont ensuite intégrées aux données de la chaîne pour soutenir le mécanisme de consensus de Filecoin.

Épreuves : Garantir l'intégrité et la confiance

Les preuves dans Filecoin servent à valider que les fournisseurs de stockage stockent correctement les données conformément aux normes du réseau. Ces preuves sont essentielles pour maintenir l'intégrité et la fiabilité du système de stockage décentralisé.

Types de preuves dans Filecoin

  • Preuve de réplication (PoRep) : Utilisée au moment du stockage initial des données, la preuve de réplication permet de vérifier qu'un fournisseur de stockage a créé et stocke une copie unique des données.
  • Preuve d'espace-temps (PoSt) : Vérifie en permanence que le fournisseur de stockage conserve les données stockées dans le temps. Le PoSt se subdivise en WinningPoSt et WindowPoSt, qui servent à des fins de validation différentes dans le réseau.

Rôle du PoRep et du PoSt

  • PoRep : valide la réplication initiale des données par un fournisseur de stockage, en s'assurant que les données sont codées et scellées de manière unique.
  • PoSt : WinningPoSt est utilisé dans le processus de consensus sur les blocs, tandis que WindowPoSt vérifie en permanence les fournisseurs de stockage, garantissant ainsi le respect des accords de stockage.

Le mécanisme de consensus de Filecoin, avec son mélange unique d'EC, de Drand et de preuves cryptographiques, forme l'épine dorsale d'un réseau de stockage décentralisé robuste et fiable. Ces éléments fonctionnent de concert pour garantir que le réseau reste sûr, efficace et équitable, favorisant un environnement où l'intégrité des données est primordiale. Au fur et à mesure que nous approfondissons les nuances de la blockchain de Filecoin, l'ingéniosité et la sophistication de son modèle de consensus deviennent de plus en plus évidentes, soulignant le potentiel du réseau à révolutionner le paysage du stockage numérique.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.
Catálogo
Lección 2

Les bases de la blockchain avec Filecoin

This lesson dives into Filecoin's blockchain architecture, highlighting its secure, distributed database and the pivotal role of actors, akin to smart contracts. We'll explore the unique aspects of Filecoin, including its consensus mechanism, node roles, and the innovative tipset structure that underpins the network's efficiency and scalability.

Les fondamentaux de la blockchain dans Filecoin

La blockchain Filecoin est une base de données distribuée complexe partagée entre un réseau de nœuds informatiques. Chaque nœud détient une copie de la blockchain, ce qui garantit que chaque transaction et obligation contractuelle dans le réseau est enregistrée et immuable. Il s'agit d'un registre fiable et sécurisé de toutes les activités au sein de l'écosystème Filecoin.

Acteurs : Les chevaux de bataille de la blockchain de Filecoin

Les acteurs de la blockchain de Filecoin sont l'équivalent des contrats intelligents de la machine virtuelle Ethereum. Chaque acteur encapsule un ensemble de variables d'état et de méthodes permettant d'interagir avec le réseau Filecoin. Il s'agit essentiellement des agents qui effectuent des actions sur la blockchain, comme la gestion des accords de stockage ou la facilitation des transactions.

Acteurs du système intégrés

Le réseau de Filecoin est alimenté par plusieurs acteurs système intégrés qui gèrent des fonctions essentielles :

  • Acteur du système : Exécute les opérations générales du réseau.
  • Acteur Init : Responsable de l'initialisation des nouveaux acteurs et de la gestion des conventions de dénomination du réseau.
  • Acteur Cron : Il joue le rôle de planificateur du réseau et déclenche les fonctions essentielles à chaque époque.
  • Acteur de compte : Gère les comptes d'utilisateurs au-delà du champ d'application du modèle unique.
  • Acteur du stockage (Storage Miner Actor) : Coordonne les opérations d'extraction de stockage et valide les preuves de stockage.
  • Acteur du marché du stockage : Il gère les transactions de stockage sur la place de marché du réseau.
  • Acteur Multisig : Gère les opérations impliquant le portefeuille multi-signature de Filecoin.
  • Acteur du canal de paiement : Il gère l'établissement et le règlement des canaux de paiement.
  • Acteur Datacap : Il supervise l'attribution et la gestion des jetons datacap.
  • Acteur du registre vérifié : Il gère les clients vérifiés au sein du réseau.
  • Acteur de compte EVM : Représente les identités Ethereum externes, facilitant l'interopérabilité avec les systèmes basés sur Ethereum.

Acteurs programmables par l'utilisateur

À mesure que la machine virtuelle Filecoin (FVM) mûrit, les développeurs ont la possibilité d'écrire et de déployer leurs propres acteurs, à l'instar des contrats intelligents sur d'autres blockchains. Ces acteurs programmables par l'utilisateur peuvent interagir avec les acteurs intégrés par le biais d'API exportées, ce qui permet de créer une large gamme d'applications et de services sur le réseau Filecoin.

Le hasard distribué dans Filecoin

Filecoin utilise un protocole aléatoire distribué et publiquement vérifiable, connu sous le nom de Drand, comme source d'aléa pour l'élection du leader lors de la production des blocs. Ce caractère aléatoire est essentiel pour garantir que le processus est imprévisible, impartial et vérifiable, ce qui permet de maintenir l'équité et la sécurité du processus d'extraction.

Les nœuds et leurs rôles

Les nœuds du réseau Filecoin sont principalement classés en fonction des services qu'ils fournissent :

  • Nœuds de vérification de la chaîne : Valident la chaîne de blocs et appliquent les règles de consensus.
  • Nœuds clients : Interagissent avec le réseau pour stocker et récupérer des données.
  • Nœuds du fournisseur de stockage : Offrent une capacité de stockage au réseau et prouvent la continuité du stockage.
  • Nœuds du fournisseur de services de recherche : Servent les données stockées de manière rapide et fiable lorsqu'elles sont demandées.
  • De multiples implémentations du protocole Filecoin coexistent pour améliorer la sécurité et la résilience du réseau, garantissant l'absence de point de défaillance unique et promouvant une décentralisation saine.

Adresses : Identifier les acteurs dans Filecoin

Les adresses dans Filecoin sont des chaînes alphanumériques qui identifient de manière unique les acteurs ou les utilisateurs sur le réseau, facilitant les interactions telles que les transactions et les exécutions de contrats intelligents. Ces adresses se présentent sous plusieurs formes, reflétant les différents types d'acteurs qu'elles représentent :

  • Adresses ID (f0) : Identifiants numériques pour les acteurs, fournissant un moyen lisible par l'homme de référencer les participants au réseau.
  • Adresses Secp256k1 (f1) : Dérivées des clés publiques utilisant la norme de cryptage secp256k1, couramment utilisées pour les portefeuilles.
  • Adresses d'acteurs (f2) : Attribuées aux contrats intelligents, elles restent robustes à travers les forks du réseau.
  • Adresses BLS (f3) : Générées à partir des clés publiques BLS et utilisées pour les portefeuilles avec cryptage BLS.
  • Adresses d'acteurs définies par l'utilisateur (f4) : Adresses flexibles pouvant être attribuées par des acteurs de gestion d'adresses définissables par l'utilisateur, permettant des schémas d'adressage personnalisés et extensibles.
  • Chaque type d'adresse a une fonction spécifique dans l'écosystème de Filecoin, de la facilitation des transactions à la gestion des contrats intelligents et des interactions avec les utilisateurs.

Tipsets et Blocks

La blockchain de Filecoin s'écarte de la norme d'une séquence linéaire de blocs. Ici, les blocs sont regroupés en "tipsets", qui peuvent être considérés comme des instantanés de l'état du réseau à chaque époque, ou à un intervalle de temps fixe dans le jargon de la blockchain. Ce modèle permet d'obtenir une blockchain plus souple et plus efficace en permettant la production simultanée de plusieurs blocs valides.

L'anatomie d'un bloc Filecoin

Chaque bloc de Filecoin est un paquet contenant un en-tête et une série de messages qui représentent les actions entreprises par les acteurs, telles que des transactions ou des accords contractuels. L'en-tête du bloc comprend des métadonnées telles que l'adresse du mineur, le ticket (preuve de travail) et les CID des blocs parents. Les messages constituent le cœur de la blockchain, enregistrant les changements d'état tels que les transferts de jetons et les appels de contrat. Les blocs sont liés à au moins un bloc parent, formant une chaîne continue jusqu'au bloc d'origine.

Blocktime : Synchroniser le rythme du réseau

Le temps de blocage dans Filecoin est fixé à une moyenne de 30 secondes. Cet intervalle a été stratégiquement choisi pour trouver un équilibre entre la réactivité du réseau et les aspects pratiques de son fonctionnement. Un temps de blocage plus court pourrait augmenter la vitesse du réseau, mais il imposerait également des exigences plus élevées en matière de matériel et pourrait entraîner des défaillances plus fréquentes du temps de blocage. Le temps de blocage de 30 secondes donne aux fournisseurs de services de stockage suffisamment de temps pour effectuer les opérations nécessaires, telles que le scellement des secteurs et la génération de preuves, sans surcharger leur matériel.

Tipsets : Maximiser l'efficacité et la récompense

Au cours d'une époque donnée, il est possible que plusieurs fournisseurs de stockage parviennent à extraire des blocs. La structure tipset de Filecoin s'en accommode en regroupant tous les blocs valides ayant la même hauteur et le même parent en un seul groupe. Cela signifie que tout travail valide contribue à l'état du réseau et est récompensé, une caractéristique importante qui encourage la participation et la collaboration entre les mineurs. Il garantit également que le réseau peut gérer efficacement les fourches, en parvenant rapidement à un consensus sur la chaîne canonique.

Le système tipset présente plusieurs avantages par rapport aux blockchains traditionnelles :

  • Augmentation du débit du réseau : En utilisant tous les blocs valides pour déterminer l'état du réseau, Filecoin peut traiter plus de données et de transactions à chaque époque.
  • Récompenser le travail valide : Chaque fournisseur de stockage qui produit un bloc valide reçoit une récompense, ce qui incite les mineurs à contribuer au réseau et décourage la centralisation.
  • La collaboration plutôt que la concurrence : Les producteurs potentiels de blocs sont encouragés à collaborer, car la structure des ensembles de conseils décourage la rétention de blocs qui pourraient être bénéfiques à la croissance du réseau.
  • Résistance aux fourches : Grâce à l'architecture tipset, Filecoin parvient à une convergence plus rapide pendant les fourches, ce qui garantit la stabilité du réseau.
  • Le JSON-RPC d'Ethereum et Filecoin

Il convient de noter qu'avec l'intégration du moteur d'exécution Filecoin EVM et l'adoption des normes JSON-RPC d'Ethereum, la notion de "tipset" devient encore plus conviviale. Dans ce contexte, lorsque nous parlons d'un "hash de bloc" dans le JSON-RPC Ethereum, nous nous référons en fait au hash d'un tipset, qui englobe les changements d'état combinés de tous les blocs au sein de ce tipset.

En continuant à explorer la blockchain de Filecoin, nous verrons comment ces composants interagissent pour créer un réseau de stockage décentralisé qui est robuste, efficace et prêt pour une croissance future.

Consensus Filecoin

Le mécanisme de consensus de Filecoin, connu sous le nom de Expected Consensus (EC), représente une pierre angulaire de son réseau de stockage décentralisé. Ce chapitre vise à fournir une introduction à l'EC, en approfondissant ses principes opérationnels, ses spécifications techniques et le rôle qu'il joue dans le maintien de l'intégrité et de la fiabilité du réseau Filecoin.

Filecoin fonctionne selon un mécanisme de consensus unique appelé Expected Consensus (EC). Contrairement aux protocoles de blockchain traditionnels qui reposent souvent sur la preuve de travail (PoW) ou la preuve d'enjeu (PoS), EC mélange des éléments d'aléatoire, de puissance de stockage et de tolérance probabiliste aux pannes byzantines. Au fond, l'EC est conçu pour aligner les incitations sur l'objectif principal de Filecoin : stocker les données de manière efficace et fiable.

L'essence de la CE

  • Décentralisation et fiabilité : L'objectif premier de la CE est de favoriser un environnement décentralisé dans lequel le stockage et l'extraction des données sont à la fois fiables et vérifiables.
  • Approche centrée sur le stockage : Contrairement aux blockchains traditionnelles qui se concentrent sur la puissance de calcul ou la détention de pièces, la CE de Filecoin donne la priorité à la puissance de stockage, c'est-à-dire à la capacité de stocker des données.

Mécanismes fondamentaux du consensus attendu

Le cadre opérationnel de la CE s'articule autour de plusieurs éléments clés, chacun jouant un rôle essentiel dans la fonctionnalité du réseau.

  1. Tolérance probabiliste des défaillances byzantines :
  • La CE intègre des mécanismes byzantins de tolérance aux pannes, ce qui la rend résistante à toute une série de conditions adverses, y compris des nœuds agissant de manière malveillante ou se mettant hors ligne.
  1. Élection du chef de file et production de blocs :
  • Au cœur de la CE se trouve un processus d'élection des dirigeants. Contrairement aux processus déterministes observés dans d'autres blockchains, la CE utilise une méthode probabiliste pour sélectionner les leaders ou les mineurs responsables de la création des blocs.
  1. Anonymat jusqu'à preuve de l'élection :
  • Les mineurs de la CE restent anonymes jusqu'à ce qu'ils puissent prouver leur statut d'élu au moyen d'une "preuve d'élection". Cette preuve est essentielle pour garantir l'équité et l'imprévisibilité de la production de blocs.
  1. Preuve de stockage :
  • Les mineurs doivent soumettre un "WinningPoSt" (Proof of Spacetime), validant leur contribution à la capacité de stockage du réseau.

Spécifications techniques de la CE

C'est au niveau des fondements techniques de la CE que son caractère innovant s'illustre véritablement. Nous examinons ici quelques-unes des spécifications clés qui définissent ce mécanisme de consensus :

Le hasard via DRAND :

  • EC utilise DRAND, une balise aléatoire externe non biaisée, pour faciliter divers aspects du protocole, notamment l'élection du chef.

Fonction aléatoire vérifiable (VRF) :

  • Les mineurs utilisent un VRF, ainsi que des éléments aléatoires obtenus à partir de DRAND, pour générer leur ElectionProof.

ElectionProof et VRF Chain :

  • La preuve d'élection est essentielle pour que les mineurs puissent démontrer qu'ils ont été légitimement élus pour produire un bloc.
  • Une chaîne VRF continue est maintenue, s'étendant avec chaque nouveau bloc produit.

Puissance de stockage et WinCount :

  • La puissance d'un mineur dans le réseau est proportionnelle à sa capacité de stockage.
  • WinCount détermine le nombre de blocs qu'un mineur peut produire, en fonction de sa puissance de stockage et du résultat de son VRF.
  • Sécurité et équité du consensus

La sécurité et l'équité sont primordiales dans la CE, et plusieurs mécanismes ont été mis en place pour préserver ces principes :

Fautes et sanctions consensuelles :

La CE définit des types spécifiques de fautes de consensus (par exemple, l'exploitation minière à double fourchette, l'exploitation minière à décalage temporel) et impose des pénalités pour dissuader les comportements malveillants.

Source des images : Documentation de Filecoin ici : https://spec.filecoin.io/algorithms/expected_consensus/

Pondération et sélection des chaînes :

  • Le protocole utilise un système unique de pondération des chaînes, dans lequel la chaîne la plus lourde, qui représente la plus grande puissance de stockage cumulée, est privilégiée.

Finalité douce :

  • La CE utilise une forme de finalité douce, en rejetant les blocs qui s'écartent de manière significative de la chaîne, renforçant ainsi la stabilité du réseau.

Drand : Le hasard distribué dans Filecoin

Drand (Distributed Randomness) est un composant critique du mécanisme de consensus de Filecoin, fournissant une source d'entropie non biaisée essentielle pour le processus d'élection secrète du leader du réseau. Il s'agit d'un protocole de balise aléatoire vérifiable publiquement, conçu pour générer une série de valeurs aléatoires déterministes et vérifiables.

Comment fonctionne Drand

  • Calculs multipartites (MPC) : Drand exécute une série de MPC pour produire des valeurs aléatoires. Après une phase d'installation de confiance, un groupe de nœuds drands connus signe un message donné à l'aide de signatures BLS à seuil au cours de rondes successives se déroulant à intervalles réguliers.
  • Signatures BLS à seuil : Le processus requiert un nombre minimum de nœuds (t-de-n) pour signer un message. Tout nœud possédant t signatures peut reconstruire la signature BLS complète. Cette signature, une fois hachée, produit une valeur aléatoire collective qui peut être vérifiée par rapport à la clé publique de la phase de configuration.
  • Hypothèses de sécurité : Drand suppose qu'au moins t des n nœuds sont honnêtes et en ligne. Si ce seuil est franchi, l'adversaire peut interrompre la production d'aléa mais ne peut pas biaiser l'aléa.

Sorties aléatoires de Drand

Format de la valeur des drands : Les nœuds Filecoin obtiennent les valeurs des drands dans un format spécifique. Les principaux éléments sont les suivants :

  • Signature : Une signature BLS sur la valeur de la signature précédente et le numéro de la ronde actuelle.
  • Signature précédente : La signature BLS du cycle Drand précédent.
  • Rond : L'indice du caractère aléatoire de la séquence produite par le réseau Drand.

Utiliser le Drand dans Filecoin

  • Élection du leader : Drand est utilisé pour l'élection du leader dans Filecoin, en fournissant une valeur aléatoire à chaque époque. Ce caractère aléatoire est essentiel pour l'algorithme Expected Consensus (EC), car il garantit une sélection équitable et imprévisible du chef de file.
  • Récupération des valeurs Drand : Les nœuds Filecoin récupèrent la dernière valeur aléatoire de Drand à l'aide de points d'extrémité spécifiques. Ces informations sont ensuite intégrées aux données de la chaîne pour soutenir le mécanisme de consensus de Filecoin.

Épreuves : Garantir l'intégrité et la confiance

Les preuves dans Filecoin servent à valider que les fournisseurs de stockage stockent correctement les données conformément aux normes du réseau. Ces preuves sont essentielles pour maintenir l'intégrité et la fiabilité du système de stockage décentralisé.

Types de preuves dans Filecoin

  • Preuve de réplication (PoRep) : Utilisée au moment du stockage initial des données, la preuve de réplication permet de vérifier qu'un fournisseur de stockage a créé et stocke une copie unique des données.
  • Preuve d'espace-temps (PoSt) : Vérifie en permanence que le fournisseur de stockage conserve les données stockées dans le temps. Le PoSt se subdivise en WinningPoSt et WindowPoSt, qui servent à des fins de validation différentes dans le réseau.

Rôle du PoRep et du PoSt

  • PoRep : valide la réplication initiale des données par un fournisseur de stockage, en s'assurant que les données sont codées et scellées de manière unique.
  • PoSt : WinningPoSt est utilisé dans le processus de consensus sur les blocs, tandis que WindowPoSt vérifie en permanence les fournisseurs de stockage, garantissant ainsi le respect des accords de stockage.

Le mécanisme de consensus de Filecoin, avec son mélange unique d'EC, de Drand et de preuves cryptographiques, forme l'épine dorsale d'un réseau de stockage décentralisé robuste et fiable. Ces éléments fonctionnent de concert pour garantir que le réseau reste sûr, efficace et équitable, favorisant un environnement où l'intégrité des données est primordiale. Au fur et à mesure que nous approfondissons les nuances de la blockchain de Filecoin, l'ingéniosité et la sophistication de son modèle de consensus deviennent de plus en plus évidentes, soulignant le potentiel du réseau à révolutionner le paysage du stockage numérique.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.