Comptes reconnus, documents signés, confiance hors blockchain grace à la WoT


#1

Nous disposons d’une WoT avec des identités membres.

Certains personnes morales expriment le souhait de disposer d’un compte officiel, clairement identifié et reconnu par la communauté comme associé à cette personne morale.

Actuellement nous n’avons que le mécanisme de certification réserver à un compte unique par personne physique pour ça, et du bricolage par commentaire de transaction pour le reste… Et des possibilité hors blockchain, qui m’intéresse particulièrement ici.

Il en est déjà question là :

Ce qui me semble utile à cette fin :

  1. un outil simple pour signer un document avec son compte membre, et une sémantique pour désigner le lien de signature véhiculé.

Cela permettrait aussi bien de dire :

  • je reconnais ce compte comme le compte associé à l’entité morale connue sous le nom “enseigne”
  • j’ai reçu du spam en provenance de ce compte
  • ce que signe ce compte vaux comme signé par mon identité membre dans tel réseau hors blockchain (gchange, gannonce).

Combiné à des hard-wallet* pour les comptes membres, cela permettrait d’avoir des brain-wallet* pour des services tiers, mais signé par le compte membre, et ainsi éviter la confusion vu que les compte membre ne reposerais plus sur des brain-wallet*.

  • brain-wallet : compte dont les secret son stocké dans le cerveau du titulaire.
  • hard-wallet ou hardware-wallet : compte dont les secret sont stocker dans un équipement materiel dédié, et n’en sortent jamais (seul les document chiffré/déchiffré/signé en sortent, pas les secrets).

Ce qui me semble utile à cette fin (suite) :

  1. un outil simplissime qui vérifie les signatures pour confirmer le lien auprès des usagers. (cela pourrait être une extension navigateur, une lib à intégrer aux outils qui utilise des comptes dérivés et qui génère des badge…)
  2. un format permettant de stocker dans un fichier une clef publique et toutes les signatures tierses associées à elle.
  3. un service distribué d’association de document signé à des comptes. Que ce soit pour du name-service ou pour de la réputation (anti-spam par exemple)…
  4. peut-être un mécanisme d’unicité ? mais ça, je crois que c’est justement un des rôle clef de la blockchain.
    Exemple, si on veut désigner un compte comme le compte officiel d’une asso, et que quelques personne créent un autre compte et disent : c’est celui-là le bon. Comment : 1- s’en rendre compte, 2- être capable de distinguer le bon ? Par antériorité ? (blockchain), par nombre de signature membre ? (réputation) autre ? et qui dit unicité dit révocation.

J’ai l’impression que c’est un peu four-tout comme post (en mode sauvegarde de brain-storming).
Je vais essayer de revenir d’ici quelques temps avec des choses plus concrètes, comme des lib et outils pour passer des idées à la pratique… mais n’hésitez pas à me dire si ça vous intéresse de voir émerger de tel choses, que je priorise entre mes différents projet autour de la Ǧ1.


#2

Pour info, la fonctionnalité a été ajoutée dans duniterpy 0.50.0.

  • On peut chiffrer un message avec une clef publique Duniter et obtenir un fichier binaire à transmettre par le moyen de son choix.
  • On peut signer un message avec ses identifiants de compte membre et obtenir un fichier binaire à transmettre par le moyen de son choix.
  • On peut déchiffrer un message binaire chiffré avec une clef publique Duniter.
  • On peut vérifier la signature d’un message en fichier binaire signé par un membre et lire le message grâce à la clef publique de ce membre.

Y a plus qu’à implémenter dans Sakia et Silkaj.

Pour Cesium, le chiffrement et la signature des messages Cesium+ est déjà en place, il faudrait juste pouvoir les exporter pour les transmettre à d’autres logiciels.


#3

Yep, c’est clairement une affaire de tooling autour de la blockchain et non directement au coeur… (sauf peutêtre si on veux faire de l’unicité par anteriorité, mais ça peut être une autre blockchain pour ça, et ça impliquerais que l’anteriorité soit le meilleur critère pour choisir la bonne version entre doublons, ce qui selon le contexte n’est pas forcément le cas).


#4

ah… eh, oui, ok, duniterpy, pas duniter tout court :stuck_out_tongue: du coup c’est cool :smiley:


#5

Simple : le protocole DUP propose déjà les transactions multi émetteurs. Il suffit que les co-fondateurs de la personne morale émettent une transaction commune dans laquelle ils donnent chacun une Ğ1 symbolique au compte portefeuille de la personne morale et en commentaire de transaction ils placent le hash d’un document de déclaration.

On pourrait alors avoir une side-chain ou un registre ou tout autre Ğsolution qui stockerai ce document de déclaration. Pour vérifier l’authenticité de ce document de déclaration il suffirait de le hasher et de vérifier s’il existe dans la blockchain une transaction co-signée par les auteurs du document de déclaration et ayant comme commentaire le hash du document de déclaration.

En outre, pour rendre la recherche plus rapide, le document de déclaration pourrait être amandé du hash de la transaction après coup.

Un logiciel d’annuaire style Cesium+ pourrait aller requeter le registre des documents de déclaration pour associer des clés publiques a des personnes morales, et faire la vérification d’authenticité périodiquement.