Principaux concepts de l'infrastructure V2

Duniter V2 est basé sur le framework Substrate. Plusieurs logiciels satellites sont nécessaires à un usage facile de la blockchain. Cette partie page vise à présenter les concepts-clefs de cette infrastructure :

Concepts de base

Clients

Les logiciels clients servent d'interface pour accéder aux données blockchain. Certains vous servent à consulter l'état de votre compte et à faire des actions. D'autres donnent une vue globale de l'état de la blockchain. Voici une liste non exhaustive :

Gérer son compte et faire des transactions

Les liens pointent vers les dépôts Git des logiciels, qui n'ont pas encore de site dédié.

Usages avancés

Infrastructure

La nouvelle infrastructure prévoit quatre types de serveurs pour gérer les données Blockchain (transactions, certifications, etc.) et les données annexes (historique des transactions, annonces, etc.).

Noeud miroir

Les noeuds miroir sont directement accessibles par les logiciels clients, sur une adresse de type wss://g1.coinduf.eu. Ils ont pour rôle de mettre à disposition les données blockchain aux clients. Par défaut, ces noeuds mettent à disposition des informations sur l'état actuel de la blockchain, mais ils ne conservent que l'historique récent des blocs. Certains noeuds miroir ont un rôle d'archive et conservent l'ensemble des données blockchain depuis le démarrage.

Les noeuds miroir sont installés avec le logiciel Duniter V2. Un tutoriel vous indique comment en mettre un en place.

Noeud forgeron

Les noeuds forgeron ne sont pas directement accessibles par les logiciels clients. Leur rôle est d'inscrire les données dans la blockchain. Ils communiquent avec les autres noeuds (miroir et forgerons) par un protocole pair-à-pair qui n'est pas destiné aux logiciels clients. Ils ne conservent que l'historique récent de la blockchain à des fins de vérification.

Les noeuds forgerons sont installés avec le logiciel Duniter V2.

Oracle de distance

Certains noeuds forgerons ont un rôle d'oracle. À intervalles réguliers, ils calculent le respect de la règle de distance pour les identités qui en ont fait la demande, et publient ce résultat en blockchain.

Les oracles utilisent le même logiciel que les noeuds Duniter, avec une configuration spécifique.

Datapod

Les Datapods servent à stocker des données annexes à la Blockchain. Par exemple, ils peuvent stocker l'avatar d'un compte, des petites annonces, ou des messages. Ils sont synchronisés en pair-à-pair par le protocole IPFS.

Ils sont installés avec le logiciel ipfs-datapod.

Indexeur

Les indexeurs servent à rendre plus facile le traitement des données blockchain par les clients : ils enregistrent ces données pour conserver un historique des évènements. Par ailleurs, ils les ordonnent pour faciliter la récupération de données liées (par exemple, récupérer le pseudonyme de l'identité d'un compte en même temps que son historique de transactions). Les indexeurs s'appuient sur un noeud miroir archive pour 'écouter' la blockchain.

Ils sont installés avec le logiciel Duniter-squid

Gouvernance

Les évolutions des règles Blockchain sont votées par un comité technique. Ces évolutions s'appliquent à tous les forgerons. Ceci évite de générer des forks involontaires.

Au démarrage de la nouvelle infrastructure, ce comité technique est composé des développeurs du coeur. L'intention est de poser des règles formelles pour étendre cette gouvernance à d'autres utilisateurs. Mais ceci devra faire l'objet d'un chantier spécifique.

Trésorerie

Les frais prélevés sur les transactions ne sont pas détruits, ils vont sur un compte spécifique de trésorerie commune. Les règles de dépense de cette trésorerie n'ont pas encore été fixées. Au lancement de la nouvelle infrastructure, il n'est pas prévu que quiconque puisse débloquer ces fonds. Ceci devra faire l'objet d'un chantier spécifique.