uCoin, Théorie relative de la monnaie et projets autour des monnaies libres 4


Logo de uCoin

Ce billet fait le tour des projets autour des monnaies libres. Dans un premier temps, le projet uCoin sera présenté, puis son fonctionnement technique et son état d’avancement seront abordés. Ensuite, la monnaie de test Méta_Brouzouf sera passée en revue. Puis, les clients Sakia et les applications mobile seront présentés. Enfin, la traduction en anglais de la Théorie relative de la monnaie, le jeu Ğéconomicus et les rencontres des monnaies libres seront abordés.

Présentation

uCoin est un projet de crypto-monnaie qui a pour but d’implémenter une monnaie libre au sens la Théorie relative de la monnaie, dont les logiciels sont distribués sous licences libres. Elle permettra la mise en place d’un équivalent du revenu de base par création monétaire : le dividende universel ou DU. Le projet uCoin a été lancé en juin 2013 par Cédric Moreau, alias cgeek. Cette monnaie repose sur la Théorie relative de la monnaie, TRM, développée par Stéphane Laborde, alias Ğaluel. uCoin a hérité des principes de fonctionement du projet OpenUDC. Ce projet initié par Jean-Jacques Brucker alias jbar en novembre 2011 n’est pas aussi avancé que le projet uCoin et ne connaît pas le même rythme de développement. OpenUDC est écrit en langage C et est basé sur le serveur web lighttpd.

Architecture du réseau


Architecture du réseau uCoin avec les nœuds au centre et les clients en périphérie.

uCoin hérite son architecture réseau de OpenUDC. À ma connaissance, il s’agit des deux seuls réseaux ayant une architecture sous forme nœuds-clients. Cette architecture est un mixte des deux architectures réseau communément utilisées, à savoir les architectures client-serveur et pair à pair. Le réseau uCoin est donc constitué de nœuds et de clients. Les nœuds s’occupent d’écrire dans la chaîne de blocs (blockchain en anglais) et les clients émettent des transactions et des certifications.

L’architecture de Bitcoin est entièrement pair à pair et uniquement constitué de nœuds. On se retrouve alors, de façon absurde, avec tout l’historique (représentant aujourd’hui plus de 48 Go) sur son mobile ou sur son ordinateur de bureau. La récente création de clients Bitcoin fait tendre l’architecture vers la forme nœuds-clients.

L’architecture de uCoin quant à elle, pemet de conserver l’aspect pair à pair, car tout membre du réseau peut avoir un serveur avec un nœud qui va inscrire des blocs dans la chaîne de blocs et ainsi participer à la décentralisation du réseau et à sa robustesse. Il est également possible de participer à la monnaie sans avoir à administrer un serveur. En résumé, cette architecture distingue bien les différents rôles clients et nœuds.

Nœud uCoin

Le logiciel nœud est implémenté en JavaScript et est basé sur Node.js. uCoin est sortie en version 0.12.0 le 3 décembre 2015 et fonctionne sur Node.js 0.12.x. Il est prévu que le code soit porté vers JavaScript ES 6.0 et d’utiliser Node.js 4.2.x LTS. uCoin est distribué sous licence GNU GPLv3. Il est fonctionnel sous les distributions GNU/Linux basées sur Debian. Il est prévu qu’il soit compatible avec tous les systèmes d’exploitation. Il est fonctionnel sous les principales architectures de processeurs. À savoir le 64 bits, le 32 bits et l’ARM.


Démarrage d’un nœud uCoin

Fonctionnement

Le fonctionnement de uCoin est le suivant. Lorsqu’un client émet une transaction ou une certification, cette information est partagée parmi tous les nœuds puis est mise en attente. Ensuite, pour que ces informations soient inscrite dans la chaîne de blocs, les nœuds doivent d’abord calculer leur preuve de travail (proof of work, PoW en anglais).

Preuve de travail

Chaque nœud a une preuve de travail personnalisée qui diminue au cours du temps, leur permettant d’ajouter un bloc. Dès l’ajout d’un bloc, leur difficulté augmente, les mettant en liste d’attente décentralisée. La chaîne de blocs est l’entité commune à tous les nœuds qui permet la décentralisation et empêche la falsification de transactions et de certifications.

La création des blocs n’est pas comme dans le Bitcoin, dans laquelle c’est la course à la puissance de calcul et in-fine au gaspillage d’énergies et de ressources. L’identification des membres rend possible une difficulté personnalisée. Ainsi, des nœuds disposants de puissances de calcul très différentes auront les mêmes chances d’écrire des blocs.


Partage et génération des blocs d’un nœud uCoin

Transactions

Les transactions sont faites à partir de sources, dans le cas de uCoin il s’agit de la création monétaire via les dividendes universels. Ces DUs, sont co-créés par chaque membre et sont ajoutés à la chaîne de blocs par les nœuds à un intervalle de temps définis par les paramètres de la monnaie.

Toile de confiance

Toiles de confiance de la monnaie de test Méta_Brouzouf en juin et novembre 2015.

La toile de confiance, ou web of trust (web of trust, WoT en anglais), basé sur le principe de décentralisation, a été mise en place pour éviter qu’un individu reçoive plusieurs DUs. Le status de membre permet de créer ses DUs, de certifier des identités et d’écrire des blocs. Les conditions actuelles pour être membre sont d’avoir un nombre minimum de certifications. Les certifications ont une durée de vie limitée. Ceci permet, dans le cas où un membre décède où souhaite quitter la communauté qu’il ne puisse plus créer de DU. Ces paramètres sont configurables au lancement de la monnaie.

Il est prévu d’implémenter une version 0.2 du protocole uCoin UCP. Ce protocole ajoutera une condition supplémentaire à remplir pour être membre. Il faudra être à une distance minimum de tous les membres de la communauté. Une limite de certifications émises sera fixée. Un temps sera nécessaire entre deux certifications pour que la dernière soit validée. Ces paramètres seront testés dans une future monnaie de test.

Il est prévu dans la véritable monnaie libre qui sera lancée, qu’il soit nécessaire pour être membre, d’avoir sept ou huit certifications et d’être à une distance de cinq sauts de certifications de tous les membres de la communauté. Il sera possible d’émettre au maximum 16 certifications. Ces conditions limitent la toile de confiance à 16⁵ ≃ 1 000 000 membres. Des travaux seront nécessaires afin de déterminer des valeurs minimums pour éviter que la toile de confiance ne s’effondre sur elle-même. Bien entendu, uCoin permet de mettre en place plusieures monnaies libres parmi lesquels il sera possible de faire des échanges entre-elles. Les certifications aurons une durée de vie de six mois ou un an. Les certifications provenant d’un même membre serons validées au minimum une fois par semaine.

Consensus émergeant


Chaîne de blocs et ses deux embranchements

Le consensus émergeant également appelé multi-branching, est la dernière fonctionnalité de la version 0.12 de uCoin qui permet à chaque nœud de forker, c’est-à-dire de dévier dans sa version de chaîne de blocs. Les nœuds décident d’adopter la meilleure version de la chaîne de blocs et rejettent les autres blocs.

Cette fonctionnalité a été mise en place pour qu’une seule chaîne soit choisie dans les cas où plusieurs blocs sont créés en même temps ou bien qu’un bloc ne soit pas valide. Cela rend possible l’évolution de la version du logiciel nœud. Dans le cas où certains nœuds, en part minoritaire, sont sur une nouvelle version du logiciel, leurs blocs ne seront pas acceptés. Dans le cas où plus de 50 % des nœuds proposent cette nouvelle version, alors les nœuds choisirons cette version de la chaîne de blocs.

Transactions entre communautés monétaire

Il est prévu d’implémenter les transactions entre chaînes de blocs qui permettrait d’échanger de la monnaie entre deux systèmes monétaires qui seraient basés sur des crypto-monnaies. Ça fonctionne avec un secret stocké dans la chaîne de blocs, qui par la suite permet de faire un échange entre les deux chaînes de blocs.

Monnaies de test et première monnaie libre


Monnaie de test Méta_Brouzouf lancée fin janvier qui fonctionne jusqu’aujourd’hui.
Graphe qui représente l’évolution du nombre de membres et de la masse monétaire relative au DU et au nombre de membres.

La monaie de test Méta_Brouzouf, lancée fin janvier 2014 a eu en moyenne une vingtaine de membres et au maximum trente. Ça fait donc plus de dix mois qu’elle fonctionne, ce qui représente plus de 300 années étant donné que chaque jour représente un an. Sa chaîne de blocs a atteint plus de 44 000 blocs. Cette monnaie de test nous a permit de faire évoluer les logiciels.

Il était prévu que cette monnaie crashe au moment où la valeur de la masse monétaire stockée dans une variable de type int atteigne la valeur maximale possible. La masse monétaire est aujourd’hui, au-delà de 7,4 Péta Méta_Brouzouf

Il est prévu de lancer une autre monnaie de test utilisant la version 0.2 du protocole uCoin. Nous souhaitons pouvoir lancer la première monnaie libre au cours de l’année 2016. Il faut que nous trouvions un nom pour cette monnaie.

Paquet uCoin pour YunoHost

Je développe un paquet qui facilite l’installation d’un nœud uCoin sur YunoHost. YunoHost est une distribution GNU/Linux basée sur Debian orientée auto-hébergement qui se déploie en un clic. De plus, le projet la brique Internet, qui met en place des petits serveurs pré-configurés avec YunoHost, permettrait de déployer beaucoup de nœuds.

 

Sakia, le client de bureau


Sakia 0.11, avec sa nouvelle interface, ouvert sur l’onglet réseau contenant les nœuds.

Présentation

Sakia est un logiciel libre, sous licence GNU GPL v3, client conçu pour ordinateur de bureau. Il est multiplate-forme et multilingue traduit en sept langues. Il fonctionne sous tous les systèmes d’exploitation dont les distributions GNU/Linux, Mac OS, Windows et *BSD. Il est implémenté en Python 3.5 ainsi qu’avec la bibliothèque graphique Qt5. Il s’agit du client uCoin le plus avancé à ce jour.

Historique

Le projet a démarré en janvier 2014 par canercandan, puis a été repris par Gaël alias Inso en décembre 2014. vit a contribué, en particulier à la vue de la toile de confiance. Pour ma part, je teste et signale des bugs. Sakia est parue en version 0.11 le 4 décembre 2015 avec une nouvelle interface graphique et avec un nouvel algorithme de gestion du consensus émergeant et de la décentralisation. À l’occasion de cette nouvelle version le logiciel a changé de nom ; passant de Cutecoin à Sakia, en référence à la roue persane qui sert à remonter l’eau.

Logo de Sakia

Nouvelle interface d’accueil avec les tuiles des communautés.

Fonctionnalités actuelles

Il permet :

  • de gérer plusieurs comptes parmi plusieures communautés.
  • d’effectuer des transactions, d’afficher les transactions ainsi que la création des dividendes universels.
  • d’afficher la quantité de monnaie dans quatre référentiels : l’unité, le dividende universel à l’instant t, la Σ quantitif et la Σ relatif.
  • de certifier des identités, d’afficher la toile de confiance sous forme d’un graphique avec les liens de certifications, les membres, de rejoindre ou de quitter une communauté.
  • d’afficher l’état du réseau composé des nœuds.
  • d’afficher les informations relatives à la monnaie.
  • de gérer sa liste de contacts.

Futurs développements

Pour la version 0.12, il est prévu d’ajouter de nouvelles fonctionnalités. En particulier, l’affichage du montant de la transaction dans le référentiel dividende universel à l’instant de la transaction, également appelé l’oubli.

Autres clients

Applications Android

Logo de uCoinApp.

Menu du compte.

Liste des transactions.

Il existe deux applications Android qui sont sous GNU GPLv3. La première, uCoin-App, a été démarrée en janvier 2015 par Benoît Lavenier, alias kimamila. smoul a commencé à contribuer sur le dépôt. Puis, ils n’ont pas trouvé de compromis pour fusionner leurs travaux. Du coup, smoul a créé son fork, android.wallet, en octobre 2015. Flavian a rejoint la version de kimamila. Dans leur version de développement a été mis en place le code QR afin de faciliter les transactions nomades. Il est prévu que cette version soit peut-être portée sur iOS.

Client web

Un client web a été initié par diogocampos en septembre 2015, distribué sous licence GNU AGPLv3.

Éditions de la Théorie relative de la monnaie

Génération automatisée de la TRM

La génération automatisée de la TRM est une idée originale de Stéphane Klein. Ce projet a été repris par Vincent Texier alias vit. Il permet de générer, avec le générateur de document Sphynx, la TRM aux formats PDF, HTML et EPUB. Ceci a permit d’améliorer l’édition francophone de la TRM ainsi que d’aboutir à une nouvelle édition papier.

Traduction de la TRM en anglais

La traduction de la TRM vers l’anglais a été mise en place par vit sur l’outil propriétaire Transifex. Olm_e, refusant de participer à la traduction sur Transifex, s’est mis à traduire sa version sur un pad. Finalement, ces deux versions ont été fusionnées et migrées sur notre propre outil de traduction Weblate que nous avons mis en place, car il nous permet également de traduire les interfaces des logiciels. La TRM a été traduite par inso, moi, sb, Olm_e, vit, Magali, cgeek et beaucoup d’autres personnes dont j’oublie le nom. Nous sommes arrivés à la fin de notre peine, et nous avons obtenus la Relative theory of money, RTM qui est entièrement traduite. Il s’agit d’une version bêta, traduite par des amateurs qui ne sont pas anglophones maternels. Elle nécessite donc une relecture par des anglophones.

Autres projets

La TRM pour les enfants.

La TRM en couleur.

David Chazalviel alias Cuckooland a publié les sources de ces deux productions sous licence libre GNU GPL v.3. Elles sont traduites en français et en anglais et sont accessible sur son site web :

  • La TRM pour les enfants : présentation illustrée de la TRM.
  • La TRM en couleur : interface web permettant de simuler l’évolution d’un système monétaire en modifiant des paramètres comme le taux de croissance ou le nombre de membres.

Ğéconomicus

Ğéconomicus s’est inspiré du jeu « la corbeille » sous cc-by-sa-nc pour réaliser un jeu libre sous GPL v3 qui intègre la dimension temporelle de renouvellement des générations dont l’objectif est d’éveiller à la différence de résultats qu’apporte sur le long terme l’utilisation d’une monnaie libre par rapport à une monnaie dette, un autre type de monnaie ou l’absence de monnaie.

Rencontres des monnaies libres

Jeu Ğéconomicus lors des RML6.

Conférence d’Inso sur Cutecoin lors des RML6.

La sixième rencontre des monnaies libres (RML ou FMM pour free money meeting) s’est déroulée à Valence du 12 au 15 novembre 2015. Il s’agit de la première rencontre qui ne s’est pas déroulée en Île-de-France. Beaucoup plus de personnes étaient présentes à l’évènement et les conditions matérielles en terme de salles étaient bien meilleures. Nous avons été très bien accueilli.
Les septième et huitième rencontres se déroulerons respectivement du 2 au 5 juin 2016 à Laval et à la mi-novembre 2016 à Toulouse.

Conférence de cgeek : techniques et concepts
sous-jacents des implémentations de monnaies libres.

Conférence de vit : uCoin, logiciel de création de monnaies libres.

Liens externes

Théorie relative de la monnaie

Projet uCoin

 

Source de l’article : https://moul.re/blog/index.php?article3/ucoin


Laissez un commentaire

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

4 commentaires sur “uCoin, Théorie relative de la monnaie et projets autour des monnaies libres