Découpler monnaie et toile de confiance

Duniter et toutes les monnaies qu’il est amener à propulser ont besoin d’une toile de confiance pour fonctionner.
Ceci dit, il me semblerais pertinent d’avoir une couche toile de confiance avec son propre protocole, interfacé avec une couche monétaire et son protocole associé.

Pourquoi il me semble important de créer ce découplage ?

  • pour pouvoir greffer la partie monétaire sur des outils ayant leur propre toile de confiance (réseau sociaux, jeu en ligne, association à liste de membre géré par ailleurs, école ou autre organisme connaissant leur personnel)
  • pour pouvoir s’appuyer sur des toiles de confiances au principes variés, quitte à proposer par défaut celle qui semble la plus pertinente.
  • pour pouvoir réutiliser les outils et mécanisme de toile de confiance comme socle pour d’autres usage que monétaire (vote électronique, revu/audit/confiance dans une version d’un programme open source…)

Qu’en pensez-vous ?

4 Likes

C’est le principe de OpenUDC qui utilisait OpenPGP, principe qui n’a pas été poursuivi par uCoin/Duniter pour des raisons de performance, et d’autres raisons encore que cgeek a déjà explicitées.

On peut aussi penser et déduire qu’à ce rythme, auquel on rajouterait ce type de revirement, l’objectif de génération d’une monnaie libre efficace pour l’année 2048 devra être revu pour 2064 ou 2080, ou plus loin encore. Ce qui ne permettra pas d’éviter les crises monétaires à venir.

1 Like

Oui 1000i100, je pense qu’à terme cela serait une bonne chose. Un DIS (pour Distributed Identification System) est un peu le saint Graal recherché par beaucoup, implémenté par quelques-uns mais surtout adopté par très peu de personnes.

Le problème est certainement qu’il n’existe pas de motivation qui pousse à utiliser ce genre de systèmes, et il me semble que la monnaie est peut-être le système capable d’amener une masse conséquente d’utilisateurs à se donner une identité vérifiable sur Internet.

Quant à Duniter, 2 choses.

D’abord comme le dit Galuel, à court terme il vaut mieux faire un système qui confond la monnaie et le système d’identification si l’on souhaite lancer la monnaie. J’ai choisi de ne pas reprendre les principes d’OpenUDC à savoir réutiliser les clés OpenPGP car c’est un système qui fait trop de choses. Les clés sont énormes et pas très pratiques en comparaison des clés à courbes elliptiques, que l’on peut générer à la volée ou stocker selon notre bon vouloir. Elles sont aussi bien plus courtes, donc légères à stocker ou même à partager (important pour les transferts de monnaie). A long terme, il vaudra peut-être mieux dissocier les deux, et j’imagine que des développeurs souhaiteront cela et produiront un DIS auquel Duniter ou d’autres logiciels pourront venir se brancher.

Maintenant, la 2ème chose, plus délicate, qui concerne le protocole Duniter. Même si je pense qu’un DIS serait une bonne chose, je n’ai pas réfléchi en profondeur pour savoir si cela était vraiment compatible avec Duniter. Car en fait, aujourd’hui, le protocole Duniter est cohérent, consistant diraient certains. Il contient tous les éléments permettant de définir la monnaie et ne dépend pas des données d’un ou plusieurs systèmes extérieurs pour définir qui est individu ou non. Il existe des clés, des identités, des certifications, et les données peuvent uniquement arriver selon des règles très précises qui assurent une certaine forme pour la toile de confiance.

Or, je ne pense pas que nous puissions nous passer de ces règles. Car si Duniter n’applique pas ses propres règles, et accepte des données extérieures, alors on peut y faire absolument n’importe quoi et le système possède alors une brèche monumentale que n’importe qui peut exploiter en quelques minutes en créant des millions d’identités à peu de frais. Mais si l’on définit un lien fort entre le DIS et Duniter, alors on retombe dans le piège où le DIS fait partie de Duniter (ou inversement, c’est le DIS qui ne se découple pas d’un système monétaire).

Il me semble qu’on est en réalité piégés, il existera forcément des règles de toile de confiance dans tout système de monnaie libre P2P.

En revanche, et cela est très intéressant, il est tout à fait possible aux utilisateurs de déléguer leur prise de décision pour certifier un individu à un système tiers d’identification. Exemple : se reposer sur l’identification étatique. Mais cela reste un pur choix arbitraire de l’utilisateur, qui peut tout aussi bien préférer faire confiance à BTCJam ou à autre chose.

Ce qui rejoint ton idée initiale :

Mais en tous les cas, Duniter doit proposer sa propre couche de définitions, avec un minimum de sécurité : c’est ce que nous avons fait. Peut-être les règles peuvent être encore simplifiées, ou élaguées, mais on aura besoin d’un minimum quoi qu’il arrive.

3 Likes

Cohérent est correct. “consistant” en fait “consistent” est un anglicisme pour “cohérent”.

1 Like

Oui, il me semble aussi que le besoin et l’envie d’avoir une monnaie libre est un source d’accélération et de motivation pour participer à une toile de confiance, meme pour des utilisateurs non-geek, voir presque pas formés à l’informatique.

@1000i100 je vois donc la chose dans l’autre sens : la toile de confiance de Duniter sera très utile pour d’autres applications, connexes ou non à la monnaie. Elle est très simple à utiliser (c’est de la crypto à authentification forte, mais sans la complexité des outils de crypto, type PGP), et l’utilisateur doit la tenir à jour (renouveller son adhésion, ses certifications) sinon il perd le DU. …c’est la carotte ! :wink:

En revanche, pour l’exploiter dans d’autres usages, on pourra traduire différemment ce qu’est une certification “valide”, vis à vis de Duniter (sans doute avec plus de souplesse : exemple la considérer valide meme si son expiration a lieu, pour Duniter). Les toiles de confiance Duniter qui se profillent limiteront les liens à ceux exclusivement “utiles”. Typiquement, on se limitera aux 5 à 7 certifications absolument nécessaire, et on évitera d’en faire plus, pour ne pas diminuer inutilement son stock. C’est à dire que toutes les certifications émises par une personne ne peuvent pas etre traduites par “voici toutes les personnes que je connais” (ca c’est les amis Facebook), mais plutot par “voici les personnes qui avaient besoin de certification ET que je connais”. L’utilité de l’exploitation de ces liens n’est donc pas forcément évidente, à moins de s’en limiter à la notion (binaire) de “confiance” (membre = oui, non membre = non).
On ne remplacera donc pas, à mon avis, des toiles ou réseaux qui recherchent d’avantage l’exhaustivité des liens.

Je ne sais pas si je suis très clair… bref.

Le fait d’utiliser un système de toile de confiance tierce n’est pas incompatible avec DUniter!
Hormis les règles de bases de la toile de confiance DUniter, rien n’empêche un groupe donné d’utilisateur de ML de se rajouter des règles pour la validation: exemple: l’utilisateur doit avoir renseigné son num de sécu.
Ce n’est pas du tout incompatible !

Comme discuté dans ce post , il est facile de rajouter des information d’identification tierce à un compte DUniter en effectuant une transaction à soi-même comportant en commentaire ladite information tierce. Les membres certificateur qui auront alors (par exemple) pour règle de vérifier que le num de sécu est présent avant de certifier pourront le faire …

Et concernant un DIS tièrce, le json-ld signé me parait le plus simple à mettre en place si besoin! :wink:
http://opencreds.org/

1 Like