Archive for the ‘transation’ Category

Forçage de la monnaie dans les jetons

Saturday, December 7th, 2019

Jusque là dans le code on essayait de retrouver la monnaie lorsque que l’on instanciait un jeton ou un sac de jeton. Ou plutôt on injectait l’identifiant de la monnaie dans l’instance du jeton pour pouvoir récupérer des valeurs héritées essentielles.

Cette méthode pose problème parce qu’il faut justement préalablement connaître la monnaie dans laquelle le jeton est utilisé. Il est théoriquement possible de retrouver la monnaie d’un jeton que l’on souhaite utiliser en exploitant les liens du jeton qui le lie à une monnaie. Mais comme le jeton non forcé affilié à une monnaie peut être associé à plusieurs monnaies, en l’absence de l’indication de la monnaie celle-ci est déduite d’un traitement social sur les liens avec la monnaie. Et donc qui dit traitement social des liens dit aussi possibilité manipulation, et donc problème de confiance.

Pour réaliser une transaction il faudrait préciser un jeton et une monnaie, soit à peut près le lien de rattachement du jeton à la monnaie. Le but est de ne pas utiliser des liens dans les transactions mais des jetons (objets) ou des fractions de jetons (via des liens de sous-parties d’objets).
Donc l’implémentation actuelle ne convient pas.

Pour résoudre ce problème d’implémentation, la monnaie devient un paramètre obligatoirement inscrit dans l’objet du jeton. Et c’est le cas aussi pour le sac de jetons. Ainsi le champs CID doit apparaître dans l’objet du jeton en ligne 3 de la même façon que le champs AID était devenu obligatoire en ligne 3 des objets des monnaies.

Génération de monnaie fonctionnelle

Thursday, November 14th, 2019

La génération et l’affichage des monnaies, sacs de jetons et jetons sont fonctionnels même si pas encore complètement terminés.

Le travail continue maintenant sur les portefeuilles et les transactions.

Un portefeuille est un dérivé des entités. C’est le portefeuille qui sera l’élément actif des transactions vers d’autres portefeuilles.

Transaction à terme

Saturday, October 12th, 2019

Une transaction peut avoir une date d’activation dans le futur. Le jeton concerné est dit consommé à la date de création de la transaction et non à la date d’activation. Mais pour qu’elle soit réellement appliquée, le jeton doit être non désactivé à la date de création de la transaction mais aussi à la date d’activation. Il en est de même avec la suppression.

Génération de jetons – complément 2

Saturday, October 12th, 2019

Complément à l’article Génération de jetons et complément.

Le contenu des objets des jetons va recevoir plusieurs lignes de type clé:valeur. Chaque ligne débute par trois lettre en majuscules définissant le sens sémantique (clé) de la ligne, suivi d’un deux-points ( : ) et de la valeur associée. La valeur est un texte en minuscule sans caractères spéciaux, l’espace des caractères est limité aux lettres minuscules, aux chiffres, à l’espace (sauf au début et à la fin), au point, à la virgule et à l’égal. La valeur est par défaut limité en taille à 1024 caractères sauf mention contraire pour une propriété. Il ne doit pas y avoir d’espace sur une ligne, ni en début et fin de ligne, ni autour du deux-points. Chaque ligne est terminée par un retour chariot type UNIX.

De nouvelle propriétés sont ajoutées :

  • BID : Le jeton fait parti d’un bloc (blockchain). Optionnel.
  • SVC : Le jeton fait référence à un type de service rendu (service). Taille limitée à 1024 caractères. Optionnel.
  • CLB : Le jeton peut être désactivé (cancelable). Par défaut un jeton n’est pas désactivable. Si cette option est présente, quelque soit son contenu, cela active la capacité de désactivation du jeton par la propriété CLD. Cette propriété n’interfère pas avec DTD. La taille est de un caractère maximum. Optionnel.
  • CLD : Le jeton est désactivé (canceled). Cette propriété n’a d’utilité que si CLB est activé. Si cette option est présente, quelque soit son contenu, cela désactive le jeton. La taille est de un caractère maximum. Optionnel.

La propriété CLB permet d’activer le mécanisme de désactivation à la demande piloté par l’option CLD. Mais elle n’a pas d’action sur la propriété de désactivation programmée DTD. Un jeton peut avoir une date de suppression programmée et être non désactivable avant la date de suppression. Activer la propriété CLD de façon forcée dans le contenu du jeton est faisable mais n’a pas de sens. Des jetons peuvent être générés désactivés et activés à posteriori. Un jeton désactivé ne peut pas faire parti d’une transaction.

Génération de jetons – complément

Thursday, October 10th, 2019

Complément à l’article Génération de jetons.

Certaines valeurs dans les jetons sont limitées en taille :

  • NAM : limité à 256 caractères.
  • UNI: limité à 3 caractères.

De nouvelle propriétés sont ajoutées :

  • DTA : l’identifiant de l’entité autorité de temps pour les limites de temps. Optionnel.
  • DTC : Date de création du jeton. Forme texte libre limitée à 128 caractères. Doit pourvoir être interprété comme une date. Optionnel.
  • DTD : Date de suppression programmée du jeton. Forme texte libre limitée à 128 caractères. Doit pourvoir être interprété comme une date pour être fonctionel. Optionnel.
  • COM : Commentaire texte libre limité à 4096 caractères. Optionnel.
  • CPR : Licence du jeton sous forme d’une texte libre limité à 1024 caractères. Optionnel.
  • IDM : Mode de fonctionnement du mécanisme d’inflation/déflation (mode). Les modes sont creation et transaction. Optionnel.
  • IDR : Taux de variation du mécanisme d’inflation/déflation (rate). Égal à 1, taux constant donc pas de variation. Optionnel.
  • IDP : Périodicité d’application du taux de variation du mécanisme d’inflation/déflation (period). Unité exprimée en minutes. Optionnel.

Chaque propriété d’un jeton que l’on retrouve sous forme clé:valeur va être doublé d’un lien. Cependant les liens pouvant être annulés, les propriétés à figer sont écrites dans le jeton. Ainsi, une clé:valeur inscrite dans le jeton est prioritaire sur un lien équivalent.

L’autorité de temps (DTA) va faire l’objet de travaux particuliers autour de kronos et d’une application dédiée. Elle peut être spécifique pour chaque jeton mais il est plus logique qu’elle soit commune à une monnaie ou dans certains cas à un sac de jetons. La gestion du temps avec une autorité permet de prendre en compte sérieusement les suppression programmées de jeton  (DTC/DTD) ainsi que leur inflation/déflation automatique (IDM/IDR/IDP).

Le mécanisme d’inflation/déflation (IDM/IDR/IDP), si activé, avec un taux de variation inférieur à 1, donc en déflation, permet de forcer les détenteurs de jeton à les utiliser plutôt que de les stocker. Suivant le mode, le mécanisme tient compte du temps passé depuis la dernière transaction ou depuis l’émission du jeton. Les modes sont creation et transaction. Mais une entité peut demander à l’autorité émettrice de la monnaie un échange de jeton ancien contre un jeton plus jeune, si l’autorité émettrice le permet.

Entités administratives des monnaies

Sunday, September 29th, 2019

La gestion d’une monnaie en général et de ses jetons ou balances de comptes sans recourir à une seule entité, qui devient vulnérable, va nécessiter la mise en place de multiples entités spéciales dans des groupes avec des rôles déterminés.

On va retrouver au sommet de la chaîne alimentaire l’administrateur de la monnaie spécifique. Chaque monnaie aura son entité administratrice. Il est peut-être possible de gérer une co-entité ou de la cosignature afin d’assurer la répartition de la confiance en cet administrateur.

L’administrateur de la monnaie va ensuite désigner d’autres entités, ou lui-même, afin de remplir différentes fonctions comme l’émission de jetons de monnaie ou la signature de transactions dans un modèle de monnaie centralisée.

On peut donc dès maintenant prévoir la mise en place de groupes dédiés à la désignation des forgeurs (de jetons) et valideurs (de transactions).

Cosignature et validation de transactions

Thursday, August 22nd, 2019

Duplicata de l’article de même nom sur le blog de nebule.


Un mécanisme de cosignature fonctionnant sur le principe de quota peut être une réponse possible à la validation de transactions dans un groupe fermé d’entités. La difficulté est que chaque entité peut ne pas reconnaître la même composition du groupe du fait du traitement social des liens du groupe. Mais si le groupe est explicitement définit dans l’objet de groupe avec le quota attendu, alors cela devient jouable…

Monnaies, transactions et individus

Sunday, August 11th, 2019

Duplicata de l’article de même nom sur le blog de nebule.


Il existe deux méthodes pour gérer les échanges de valeurs entre deux entités, ou individus.
La première consiste à suivre des objets définis comme de la monnaie et de faire des transactions de réattribution de ces objets entre entités. Le solde pour une entité est l’addition de la valeur tous les objets de monnaie en possession de l’entité.
La seconde consiste à suivre pour chaque entité un indicateur de balance de la valeur dont dispose chaque entité. Le solde est à lecture immédiate et toute transaction consiste en la soustraction d’une valeur sur un compte couplé à l’addition de la même valeur sur un autre compte.

La seconde méthode ne fonctionne pas ou très mal dans le cadre d’une cryptomonnaie sans intermédiaire de confiance, c’est à dire sans une banque pour centraliser le compteur des valeurs des comptes. La transmission de valeur devient complètement impossible sans échange avec l’intermédiaire de confiance.
Mais la première méthode n’est pas forcément mieux loti. Elle permet dans le monde réel un échange de billets sans passer par un intermédiaire de confiance. Mais dans le monde informationnel (dit aussi virtuel ou numérique), la propriété d’unicité spatial et temporel n’existe plus. Et donc il faut sceller à la vue de tous une transaction avec un intermédiaire de confiance. Celui-ci peut être une chaîne de blocs, ça ne fait que décaler l’intermédiaire de confiance vers le code et ses concepteurs.

Continuons sur la réflexion d’une cryptomonnaie.
On voit aujourd’hui plusieurs acteurs étatique ou organisationnels générer de la monnaie virtuelle et/ou revendiquer sa régulation. L’extrême limite de cette pratique serait que tout le monde puisse générer sa propre monnaie… et donc qu’il y ai des taux de change entre les monnaies de tous les individus.

Chaque individu et chaque robot peut justifier d’une certaine quantité de travail par unité de temps, par exemple on peut supposer que l’humain dispose de 16 heures d’activité par jours. Dans ces 16 heures, on va réduire à 8 heures la part allouable à autrui. Mais cette capacité de travail n’a pas de valeur directe, ce n’est pas parce que l’on a une capacité de travail de 8 heures par jour que l’on va travailler 8 heures par jour. Cependant, chaque individu peut générer chaque jours une valeur, comme une monnaie, qui représente la capacité de travail journalier. Appelons la monnaie temporelle.
Il reste encore à donner de la valeur à cette monnaie temporelle.
D’un autre côté nous retrouvons des entreprises, regroupement d’individus, qui utilisent le temps de travail disponible des individus sur un patrimoine constitué d’outils de travail ou de données afin de transformer des objets, et donc d’ajouter de la valeur. Nous pourrions associer la monnaie temporelle des différents employés avec une sorte de monnaie patrimoniale afin de dégager une monnaie véhiculant de la valeur, laquelle monnaie serait rétrocédée en partie aux employés.
Comment seraient représentées ces différentes monnaies dans un système d’information ?

La réflexion n’est pas terminée…

Lien de transaction

Wednesday, August 7th, 2019

Duplicata de l’article de même nom sur le blog de nebule.


La réflexion continue autour d’une implémentation d’une monnaie virtuelle sur la base de nebule, donc une crypto-monnaie.

Dans ce cadre, une transaction peut/doit devenir notamment devenir immuable et définitive. Si il serait possible de mettre en place un tel mécanisme et algorithme avec des liens supprimables, il serait cependant plus judicieux et clair de disposer d’un lien explicitement non supprimable. Cela renforce la confiance dans le mécanisme. Ce serait un lien de transaction, type t ?

Cependant cela demande à modifier des parties critiques des algorithmes de traitement des liens… et les alourdis un peu…

Et comment gère-t-on l’oubli volontaire de ces liens ?