Se connecter avec des identifiants farfelus

Qu’un développeur ou une personne mieux informée corrige si je dis des inepties, mais voilà ce que j’ai compris jusqu’à aujourd’hui :

L’identifiant et le mot de passe (en fait 2 mots de passe) ne servent pas à « créer » un compte mais à calculer une clé publique. Il n’y a pas de création de compte en blockchain, que ce soit un compte membre ou un compte simple portefeuille. Pour ce qui est des comptes membres, un pseudo unique (encore appelé « identité ») est associé à une clé publique (elle aussi unique). Mais en aucun cas l’identifiant et le mot de passe ne sont stockés. Ensuite, le texte de mise en garde qui apparaît éventuellement est celui-ci :
« Le compte connecté semble inactif . Il s’agit probablement d’une erreur de saisie dans vos identifiants de connexion. Veuillez recommencer, en vérifiant que la clé publique est celle de votre compte . »
Il n’est donc pas dit que le compte n’existe pas (ce qui n’aurait aucun sens) mais qu’il semble inactif, à savoir qu’il n’y a eu récemment aucune transaction liée à cette clé publique (information dont Cesium a accès s’il consulte la blockchain).
C’est pourquoi dans la fenêtre « se connecter » il est tout a fait possible, en entrant un identifiant et un mot de passe aléatoires (à noter !), de calculer la clé publique correspondante, et de donner cette clé à qqn pour qu’il y envoie des Ğ1. Une fois les Ğ1 reçues vous pourrez « vider » tout ou partie de ces Ğ1 associées à cette clé pour les « envoyer » vers une autre…

Pour ce qui est des « risques », bein c’est comme partout, faut pas toujours compter sur les autres pour nous empêcher de faire des bêtises…! Et bien suivre les instructions données par les logiciels.

2 « J'aime »

Ce qui dit @KumaNinja est correct…

Je tente mon explication:

La blockchaîne est un livre de compte partagé dans lequel il n’y a QUE des transactions valides. Il n’y a pas d’inscription préalables à faire. N’importe quelle clé publique peut être initiatrice d’une transaction valide. Sauf que voila, pour transférer quelque chose il faut l’avoir au préalable.
Les paires de clés (publique/privée) ne sont pas à déclarer au préalable, c’est une information propre à chaque utilisateur, qui peut garder sur un papier dans un coffre, la blockchaîne et donc les noeud/serveur n’ont pas connaissance de cette information.
A un moment donné cette information est utilisée pour faire une transaction, c’est à ce moment là que les noeud prennent connaissance de cette information pour valider le transfert…
A ce moment là cette clé qui veut transférer quelque chose doit posséder ce quelque chose. Donc une clé random qui n’existait pas avant et qui n’a jamais reçu quoi que ce soit se verra refuser la transaction.
C’est pourquoi il faut dans tout système de blockchaîne un mécanique de création de monnaie/coin/token pour que ce bien, cette information existe au préalable d’une transaction, car évidement si aucune clé ne possède quoi que ce soit il n’y a rien à transférer…

Dans le cas de DUniter, la création préalable se fait automatiquement sur tout compte dit « membre » ce qui nécessite une donnée supplémentaire à enregistrer dans la blockchaîne.
C’est le mécanisme de certification. Il s’apparente à des transaction techniquement mais permet seulement de donner un statut de « membre » afin que le mécanisme automatique de création préalable puisse ce faire.
Cependant ce statut n’est pas nécessaire à la mécanique de transfert de propriété, c.a.d. à l’ajout d’une transaction valide dans ce livre de compte, mais lié car c’est par ce biais qu’il existe quelque chose à transférer…
Une clé qui serait déjà connue dans la blockchaîne pour posséder un bien (coin/token) peut très bien le transférer à une clé inconnue jusque alors (jusqu’à l’or? jusqu’à l’hors?).
Cette nouvelle clé pourrait très bien être random, mais alors il sera impossible par la suite de « re-déplacer » ce bien si personne ne connais la partie privée de la clé. On dis que ce bien est « perdu » ou « détruit » mais en réalité il est toujours là sur un compte (clé) que personne ne peut utiliser.
(Et c’est la grande force du système décentralisé de livre de compte par cryptographie qu’on appelle vulgairement « blockchaîne », à savoir: personne ne peut manipuler les biens des autres, mais l’information est pourtant copiée, répartie et vérifiée par tous)

Voila bon ca c’est très théorique… de façon plus terre à terre:

Ce que fait un noeud DUniter c’est « parler » le protocole DUP avec ses homologues, c’est à dire suivre les mêmes règles de fonctionnement définies dans ce protocole.
(Une crypto-monnaie n’est pas un logiciel, c’est un language, une façon de faire)

Ce que fait Cesium c’est permettre aux humains non informaticiens de pouvoir donner des ordres à un noeud DUniter sans écrire des lignes de commandes.

Que dis le protocole? N’importe quelle paire de clé (publique/privée) peut être éméttrice ou receptrice d’un transaction dans la mesure où les régles sont respectées.

Donc que fait Cesium? Il te demande avec quelle paire de clé tu veux interagir par la suite. C’est en fait pas nécessaire si tu ne veux que lire des informations, par exemple de la toile de confiance ou de la monnaie. Cette paire de clé, je le rappelle: libre et non enregistrée au préalable, t’est demandée juste pour faciliter le fait d’avoir à l’écrire à chaque fois lors de plusieurs transfert/interaction…
Le logiciel Cesium ne se connecte nulpart pour fonctionner, il te facilite l’écriture de message dans le protocole DUP destiné à ce que tu envoi par toi-même à un noeud DUniter.

C’est comme un petit elfe dans ton garage qui te rédigerai les documents que tu lui demande de faire à destination de tel destinataire.
Ce serait comme lui demander: pour cet aprés-midi tu m’écrira des documents avec tel nom en tête. Il s’éxecute sans savoir si tu est en train de donner le nom de ton voisin, le tiens, ton pseudonyme ou le nom d’un personnage fictif.

Par contre, et c’est là où ca se mélange un peu, c’est que Cesium viens accompagné d’un service supplémentaire qui est Cesium+ et qui permet tout ce que ne permet pas la blockchaîne à elle seule, à savoir remplir des informations supplémentaires: un profil, une photo, une localisation, envoyer des messages etc… Informations liées à une clé. Peu importe que cette clé ai déjà servi à transférer des biens dans la blockchaîne ou non.

Pour refaire l’analogie, ce serait le dictionnaire partagé du syndicat des elfes de garage, qui tous se fichent si ces informations sont vraies, utiles, ou justes, ce qui les intéressent c’est juste d’utiliser la même orthographe.

Pour récapituler:

Cesium ne connais rien mais formatte des documents avec une clé que tu lui donne.
DUniter vérifie la véracité des documents reçus.
Cesium+ aident les humains à associer des informations à des clés sans vérifications.

Donc oui, tu peut te connecter à Cesium avec n’importe quel mots de passes (qui sont utilisés pour générer une paire de clé), tu peut envoyer des messages Cesium+ avec, tu peut mettre un point sur la carte Cesium+ et remplir des informations supplémentaires cesium+.

A ce moment là cette clé n’est pas connue de la blockchaîne ni du réseau DUniter.

Tu pourra même recevoir une transaction sur cette clé, et c’est à ce moment là seulement que cette clé apparaîtra pour la 1ere fois en blockchaîne.

Tout ceci n’est cependant pas nécessaire à la demande de certification. Tu pourrait très bien ne pas utiliser Cesium ni Cesium+ pour générer une paire de clés l’écrire sur 5 (ou plus) bout de papier et les donner en personne à 5 (ou plus) membres de la toile de confiance pour qu’ils te certifient…
La certification, c’est attester qu’une clé est bien lié à un être humain, car justement on peut créer autant de paires de clés que l’on veut…


pfiou qué pavé! je m’arrête là, je suis pas sûr que tout soit clair au final !! >_<

1 « J'aime »

Pour rendre cesium plus « user-friendly » et masquer cette notion complexe que « tout les comptes possibles existent », il faudrait demander à l’utilisateur sa clé publique lors de l’authentification, Cesium serait alors en mesure de détecter s’il y a une erreur de saisie ou non.
Et l’utilisateur lambda ne pourrait pas « se connecter » a un compte « inexistant » par erreur de saisie, car il lui faudrait indiquer un couple de pass cohérent avec la clé publique saisie, ce qu’il ne peut pas obtenir par hasard.

Au fond c’est plus logique, tous les sites auquel on se connecte nous demande notre identifiant, ici notre identifiant c’est notre clé publique.

Si j’avais développé un client j’aurais demandé pour se connecter la clé publique + la passphrase.

C’est un autre sujet mais j’ai déjà signalé que pour moi avoir 2 pass est un non-sens, en plus d’être inutilement confusant pour l’utilisateur. la façon de générer le trousseau de clé n’étant pas dans le protocole. Un client peut tout a fait générer un trousseau a partir d’une passphrase unique, comme le font toutes les autres crypto…

1 « J'aime »

Merci pour toutes ces explications. C’était déjà clair avant, et ça l’est encore plus maintenant. :ok_hand:

Je persiste à croire que si Cesium, suite à une erreur au moment d’entrer ses identifiants, affichait systématiquement le message disant que « ce compte semble inactif » ça faciliterait la vie des moins réveillés d’entre nous. Si un dev de Cesium a le temps de me dire pourquoi ce n’est pas systématique, je l’en remercie d’avance.

En attendant, quand je présenterai Cesium, j’insisterai sur la vérification de la clé publique générée à chaque connexion.

2 « J'aime »

Également, si la clé publique doit être validée avant de pouvoir rentrer sa phrase de passe, un client en ligne pourrait ainsi savoir si le portefeuille est un compte membre, et si c’est le cas interdire la connexion :slight_smile:

1 « J'aime »