Gestion des Token Non Fongibles

Salut,
Avez-vous déjà envisagé de gérer des smart contracts sous duniter, dans l’objectif de pouvoir s’échanger librement des titres de propriété (aka “NFT”) ?
Je ne me rends pas compte à quel point c’est monstrueux à implémenter : Faut-il forcément une machine virtuelle façon ethereum pour le faire ?
Est-ce que ça peut s’envisager au niveau client,façon réseau secondaire, et ne faire valider au noyau que quelques metadata ?
Merci de votre intérêt pour ma question :blush:

Bonjour et bienvenue !

On a décidé dès le début de Duniter v2 de se concentrer sur ce qui nous est utile : la toile de confiance, les transactions.

Personnellement je n’ai jamais compris l’intérêt des NFT. Les gens prétendent posséder un fichier et s’en échanger la propriété. Est-ce que c’est utilisé pour autre chose que des collections de GIF, de lucratives dérivations par IA générative d’art libre ? Est-ce que les gens s’échangent effectivement des titres de propriété de vrais bien avec ? Mais pour de tels biens, la loi ne reconnaît pas les NFT, donc à quoi ça sert ?

On pourrait intégrer les smart contracts mais ce serait beaucoup de complexité, et pour l’instant personne n’a proposé de fonctionnalité concrète requérant les smart contracts.

On pourrait sûrement intégrer les NFT sans smart contracts (si c’est juste une transaction signée en blockchain disant “je cède la propriété dont le hash est X à la clé Y” c’est pas dur) mais il faudrait que ça puisse servir concrètement.

1 Like

Salut tuxmain,
Le nft a été tellement médiatisé / dévoyé que le mot est un épouvantail. Je te remercie de m’avoir répondu avec beaucoup de fraternité.

Dans l’usage actuel, je dirais que c’est comme pour l’économie classique : on fait beaucoup de merde avec.
Il y a un réel intérêt dans la plannification décentralisée, c’est-à-dire dans l’échange non monétaire. Pour faire simple, tu peux faire des choses du type "je t’echange une heure de travail (1 NFT) contre ce kg de tomates (1 autre NFT). Ce que tu ne peux évidemment pas faire avec de la monnaie, car une fois que tu m’a donné 10 Ğ1, rien ne m’oblige à t’acheter tes tomates avec. Ça rejoins le principe de la monnaie libre dans le fait que ça permet de passer l’économie du troc à l’échelle.

C’est super intéressant ce que tu dis. Je comprends qu’on a besoin de smart contracts pour générer des jetons de façon transparente, mais pour l’échange proprement dit, l’ajout de metadata à la transaction semble suffisante, et théoriquement réalisable, c’est bien ça ?

Je ne vois pas le lien entre 1 NFT et 1 kg de tomates ! Les tomates ça de mange les NFT non !

Je vois plusieurs problèmes dans le cas d’usage que tu proposes :

  • le troc n’a jamais été pratiqué comme système économique dans l’histoire de l’humanité car c’est le plus inefficace des systèmes d’échanges. (Voir jeu La Corbeille ou le Geconomicus)
  • les produits que tu indexes sur des tokens sont fongibles eux. Ton heure de travail se consomme, et les tomates sont mangées. Que représentent les nft une fois que leur équivalent physique a disparu.
  • Qu’elle est la valeur ajoutée d’une blockchain dans ces échanges ponctuels ? Quelle information est-il indispensable de conserver ? Je ne vois pas.

Pour reprendre mon exemple (qui n’est qu’un exemple, ça n’est pas le seul cas d’usage) tu peux voir ça comme un coupon, un bon d’achat. Il peut valoir 10 G1 (Note : les Junes ne se mangent pas non plus ;-), mais il te permet de conditionner l’achat, dans le cadre d’un échange, d’une promesse d’achat, etc.

Un exemple concret : En tant que maraîcher, je peux m’en servir pour prévoir ma quantité de tomates à semer. Ce qui est quelque chose de tout-à-fait intéressant et important pour moi. Je fais une vente de NFT “1kg de tomates”, qui coûtent 10 G1 chacun. La quantité que j’en vends sera ma quantité à produire. Lorsque ça sera le moment, les tickets me seront remis (les NFT transferés) en échange du kg en question.
Alors évidemment, dans une petite communauté, si tu connais le producteur, c’est un peu ridicule, mais dès que tu augmentes un peu l’échelle, ça permet d’établir de la confiance à distance, et donc de favoriser grandement les échanges.
Bref, tu peux (par exemple) monter une AMAP entièrement portée par la toile de confiance, sans besoin de d’inscriptions dans un fichier, d’un intermédiaire central, etc.

Salut à tous,

Je voulais partager avec vous l’approche développée au sein du G1FabLab avec la SCIC CopyLaRadio. Confrontés à un besoin très concret – comment gérer des actifs uniques et réels (serveurs, noms de domaine, parts sociales) au sein d’une coopérative en utilisant la blockchain Ğ1 ? – nous avons mis en place un système qui, dans les faits, fonctionne comme un gestionnaire de “biens communs tokenisés”.

Notre laboratoire vivant est détaillé dans ce fil sur le forum Monnaie Libre : Le Ẑen, un outil de stabilité sur Ğ1 pour nos projets en commun.

Pour résumer, un NFT n’est pas qu’un simple token. C’est un contrat qui doit répondre à plusieurs questions fondamentales. Voici comment notre système y répond, dès aujourd’hui :

1. Le Problème de l’Identité de l’Actif : “Qu’est-ce que c’est ?”

Un NFT doit représenter un objet unique. Dans notre cas, il peut s’agir :

  • D’une part sociale dans l’infrastructure (“Je possède 1/24 d’un Hub ou d’un Satellite”).
  • D’un actif numérique unique, comme un nom de domaine.

Notre solution : L’actif est un UPassport, une “carte d’identité” numérique qui lie la preuve d’humanité du propriétaire (sa clé G1PRIME certifiée) à un actif standardisé de notre infrastructure.

2. Le Problème de la Propriété : “À qui ça appartient ?”

Notre solution : La propriété est prouvée par une transaction sur la blockchain Ğ1, émise par notre portefeuille de capital social UPLANETNAME.SOCIETY. L’historique des transactions de ce wallet constitue le registre de propriété infalsifiable de tous les actifs de la coopérative.

3. Le Problème de la Valeur (L’Oracle) : “Combien ça vaut ?”

C’est le point le plus difficile, soulevé par @Charmander dans l’autre fil. Comment éviter qu’un apport soit surévalué ?

Notre solution : Une défense multi-couches qui ne repose pas sur la confiance aveugle.

  • Standardisation : On n’apporte pas “un ordinateur”, on apporte une brique standard de l’infra (ex: un RPi5 + 4To), dont la valeur est celle du marché, connue de tous.
  • Incitation Économique (la PAF) : La valeur de l’actif est amortie par les revenus qu’il génère. Un actif surévalué serait trop cher à opérer et ne trouverait pas d’utilisateurs. Le système s’auto-régule.
  • Transparence et Gouvernance : L’apport est public et validé par la communauté des sociétaires.

4. Le Problème de la Finalité : “À quoi ça sert ?”

C’est là que notre approche diverge radicalement de la plupart des discussions sur les NFT. Notre but n’est pas la spéculation, mais la gestion de biens communs productifs.

Un cas concret a émergé dans nos discussions : un membre possédait un nom de domaine pertinent pour un projet.

  • Approche Classique (Web2) : Il aurait pu nous le “louer” en Ğ1. Une simple transaction de service.
  • Notre Approche (Coopérative / NFT) : Nous lui avons proposé de l’apporter à la coopérative. En échange, il ne reçoit pas un “loyer”, mais des parts sociales en Ẑen, faisant de lui un copropriétaire de l’ensemble de l’infrastructure. Le nom de domaine est devenu un bien commun tokenisé, et sa valeur est désormais gérée collectivement.

Synthèse : Ce que nous avons bâti

Problématique NFT :white_check_mark: Notre Solution Opérationnelle avec la Ğ1
Standard du Token Le UPassport, lié à une clé certifiée G1PRIME.
Registre de Propriété L’historique des transactions du wallet UPLANETNAME.SOCIETY sur la blockchain Ğ1.
Gestion de la Valeur Un système économique et social (Standardisation + PAF + Gouvernance).
Cas d’Usage Gestion de biens communs productifs (serveurs, logiciels, domaines, et à terme, des forêts).

Ce que je veux dire par là, c’est que nous avons déjà, de manière fonctionnelle, un système de gestion d’actifs non-fongibles sur la Ğ1. Il n’est peut-être pas formalisé dans un standard technique universel, mais il est testé, robuste et orienté vers une économie réelle et coopérative.

Je vous invite à lire l’autre fil pour comprendre la profondeur du modèle économique sous-jacent. Peut-être que la meilleure façon de définir un standard NFT pour Duniter est de s’inspirer des besoins et des solutions qui émergent déjà du terrain.

1 Like

Je vois plusieurs possibilités :

  • Les NFT peuvent être utiles pour formaliser des titres de propriété (immobilier, œuvre intellectuelle). Dans ce cas on pourrait les implémenter, mais il reste à pouvoir les utiliser. Pour l’immobilier, à moins de fonder une communauté sécessionniste dans le désert aux USA, il faut toujours passer par de l’administration étatique. Pour l’intellectuel, il faudra le rendre très contraignant pour éviter les dérives, et il existe des moyens plus simples de prouver qu’on est l’auteurice d’une œuvre, ensuite les lois du droit d’auteur et des contrats s’appliquent.
  • Un nouveau système monétaire basé sur diverses règles d’échange grâce aux NFT. Ce n’est plus la monnaie libre, donc on ne l’implémentera pas, à moins que la communauté le veuille (parce que ce serait mieux que la ML, ou complémentaire, ou juste pour faire l’expérience).
  • L’exemple de l’AMAP peut être résolu sans NFT, avec un abonnement (paiement mensuel en blockchain) et un système d’information hors blockchain (appli, liste de mails, tableau sur papier). On n’a pas besoin de tout mettre en blockchain. Et pour les besoins plus complexes qui nécessitent le consensus de la blockchain, on peut utiliser les primitives disponibles (atomic swap, multisig) ou en développer de nouvelles qui restent minimales et génériques.
1 Like

Hormis la proposition de Fred avec UPlanet, tu peux aussi lancer une sidechain Substrate dédiée à GTest en intégrant une pallet NFT (pallet-nfts ou pallet-uniques), ce qui est en pratique plus simple que d’implémenter directement les NFT dans Duniter, en scindant les responsabilités, et sans engager tout le projet.

Lancer une sidechain reste un boulot conséquent, mais accessible, et hormis l’usage des NFT, ce serait intéressant pour notre équipe d’apprendre à mettre en place une sidechain à Duniter, de la documenter, la maintenir, en comprendre les tenants et aboutissants, et explorer différentes approches, etc. C’est une chose que nous n’aurons pas le temps de faire de notre côté, du moins pas tout de suite.

Documentation officielle pour lancer une Sidechain (ou parachain) à Duniter 2: Zero To Hero Parachain Tutorial Series | Polkadot Developer Docs

Il me semble que, pour faire les choses proprement, il faudrait simplement ajouter les pallets pallet-bridge-grandpa et pallet-bridge-messages à Duniter v2s, afin de lui permettre de faire un bridge avec d’autres parachains. Mais c’est un sujet vaste, avec plusieurs façons de procéder, que je ne maîtrise pas encore ; il faudra approfondir et tester.

3 Likes

salut poka
Ça semble genial ton truc. Je vais jeter un oeil à la doc.

1 Like

Salut à tous, et merci @tuxmain et @poka pour vos analyses qui cadrent parfaitement le débat. Je suis entièrement d’accord avec le principe directeur : restons minimalistes.

C’est précisément dans cet esprit que nous avons abordé ce problème au sein du G1FabLab. Avant même de parler de NFT, notre besoin était très concret : comment gérer les actifs et les parts d’une coopérative (la SCIC CopyLaRadio) de manière transparente, décentralisée et vérifiable, en utilisant la Ğ1 comme socle ?

Le Point de Départ : Répondre aux Usages

@tuxmain, tu as raison sur plusieurs points :

  1. Pour l’immobilier, l’État reste (pour l’instant) incontournable. Notre but n’est pas de tokeniser des maisons, mais de gérer nos biens communs coopératifs (serveurs, logiciels, noms de domaine). C’est un périmètre où nous sommes souverains.
  2. Ce n’est pas un nouveau système monétaire, mais un système de gestion et de comptabilité sur la Monnaie Libre. L’économie Ẑen est notre “logiciel comptable” qui utilise la Ğ1 comme son registre infalsifiable.

La Sidechain : Puissante mais Complexe ?

@poka, ta proposition d’une sidechain Substrate est techniquement très séduisante. Mais comme tu le soulignes, c’est un travail conséquent, qui introduit une complexité non négligeable. Cela soulève aussi la question de la gestion des clés : comment s’assurer que les clés dérivées sur une sidechain conservent le lien de confiance fondamental avec le compte membre Ğ1 originel ?

Et si la “sidechain” était déjà sous nos yeux, cachée dans les fonctionnalités existantes de la Ğ1 ?

La Proposition : Le Protocole de la “Primo Transaction” comme Pont de Confiance

Notre approche repose sur un principe simple mais puissant :

La primo transaction sur la clef jumelle de n’importe quelle clef crypto, effectuée depuis un compte membre de la WoT, permet de transférer les propriétés de confiance de la clef maître à cette nouvelle clé.

C’est notre “pont” minimaliste. Pas besoin de pallet-bridge-grandpa. Une simple transaction de 1 Ğ1 depuis un compte certifié suffit à “adouber” n’importe quelle clé publique et à l’intégrer dans notre écosystème de confiance.

Le Commentaire Ğ1 + IPFS : Notre “Para/Sidechain” Légère

Une fois qu’une clé est “reconnue”, comment y attacher des données complexes (les métadonnées du NFT) ?

Ici encore, nous utilisons une primitive existante : le champ commentaire de la transaction. En y inscrivant un hash CID IPFS ou IPNS, nous pouvons lier la transaction à une quantité quasi illimitée de données : une image, un PDF, des statuts, un modèle 3D, un programme…

Un exemple de protocole simple : Protocole de Primo Transaction pour Duniter, permet de créer une “para/sidechain” de données, compatible avec n’importe quelle architecture à clé publique, sans toucher au code de Duniter.

Un Cas d’Usage Concret : Tokeniser un Bien Commun

Imaginons que nous voulions tokeniser une imprimante 3D dans un FabLab :

  1. Métadonnées : On rassemble sa photo, son mode d’emploi, son journal de maintenance dans un dossier. On publie ce dossier sur IPFS et on obtient son hash CID.
  2. Clé de l’Objet : On utilise ce hash CID comme “graine” pour générer une clé seed unique pour l’imprimante. C’est la “clé du NFT”.
  3. “Minting” : Un sociétaire du FabLab (membre WoT) envoie 1 Ğ1 à la clé publique de l’imprimante, en mettant le hash CID dans le commentaire. L’acte de naissance du “NFT” est créé. Il est horodaté, vérifiable et lié à la WoT.
  4. Transfert de Propriété : L’ancien propriétaire envoie ce 1 Ğ1 au nouveau, qui lui peut renvoyer 1 Ğ1 pour accuser réception. L’historique des transactions sur la clé de l’imprimante devient le registre des transferts de propriété.

Chez CopyLaRadio, nous expérimentons déjà ces principes. Le UPassport qui sont des “NFT” qui reçoivent des parts sociales. Le wallet UPLANETNAME.SOCIETY est notre “minter”. La complexité de la propriété est simplifiée par notre modèle coopératif où tout le monde est co-propriétaire.

Nous n’avons pas besoin de tout mettre en blockchain, mais nous avons besoin que la blockchain soit le garant de la confiance et de la propriété sur nos biens communs.

Notre approche est un chantier ouvert. Il nous reste à définir ensemble les protocoles de formatage du commentaire pour standardiser ces “NFT Ğ1”. Mais elle prouve qu’il est possible de répondre à des besoins complexes avec des outils simples, en restant fidèles à l’esprit minimaliste et souverain de la Monnaie Libre. C’est une invitation à explorer cette voie avant de nous lancer dans des développements plus lourds.