Les jetons crypto non fongibles, vous connaissez?

Le concept de la chaîne de blocs («blockchain», en anglais) continue de faire des petits. Derniers en lice, les «jetons non fongibles» qui, comme les biens qu’on qualifie de «non fongibles» en droit, sont des jetons numériques reliés à une chose unique, qu’on ne peut échanger contre une autre sans différence. Une pièce de monnaie, par exemple, est généralement fongible, en ce sens qu’une autre aura les mêmes propriétés et la même valeur que la première. Comme un grain de sable dans la dune, peu importe que vous ayez celui-ci ou celui-là, c’est du pareil au même. On peut les échanger l’une pour l’autre… même chose avec une pièce virtuelle de cryptomonnaie, d’ailleurs, puisque ce bitcoin-là a la même valeur que celui-ci.

Par opposition, les jetons crypto non fongibles («non-fungible tokens», ou «NFT») sont des jetons (numériques) reliés à un objet unique qui peut être n’importe quoi, d’une œuvre d’art à un lingot d’or, en passant par des biens virtuels ou des objets de collection, comme des cartes de baseball précises, etc. On utiliserait d’ailleurs de plus en plus ce concept pour tracer des biens virtuels, incluant de tels «biens» issus de jeux d’ordinateur en ligne.

L’avantage? Une fois lié à l’objet, le jeton peut dès lors servir de forme de traçage et de certification de la provenance de l’objet, puisque le registre de la chaîne de blocs peut dès lors suivre le transfert de l’objet tangible en question d’un acheteur à un autre, puis un autre, etc.

Bien que le concept ne soit pas pertinent pour tous les échanges ou les biens, il est bon de savoir que le concept existe, particulièrement pour les biens de collection, etc. C’est un développement intéressant sous la rubrique de l’évolution continue du droit de la propriété des intangibles et des outils numériques reliés à certains biens tangibles. À défaut de registre quant à la propriété des biens (sauf en immobilier) géré par l’État ou le droit, la technologie cherche à combler le vide.

Contrat intelligent trop stupide pour fonctionner? Eh oui, cela arrive

Pour ceux et celles qui s’intéressent au concept des contrats intelligents (ou «smart contracts»), les médias rapportaient récemment une histoire intéressante illustrant les dangers du concept technologique en question avec les déboires de la cryptomonnaie YAM.

Comme on s’en souviendra, le concept du contrat intelligent implique la création (et on parle de technique ici, pas de relation entre deux parties) de règles qu’on associe à un actif intangible, comme une cryptomonnaie. Les applications potentielles sont nombreuses, mais, en pratique, pour l’instant, souvent limitées aux cryptomonnaies. Une fois la règle imbriquée (en quelque sorte) dans un système numérique, l’ordinateur est alors placé aux commandes et ceux qui veulent interagir avec l’actif en question sont alors régis par ces règles fixées au départ.

Dans le cas de YAM, un contrat intelligent avait été créé pour gérer notamment les règles touchant le consensus des usagers (comme des actionnaires de société par actions) dans un but de gouvernance de la cryptomonnaie en question. Le hic avec ce concept, c’est que si on commet une erreur au moment de programmer le contrat intelligent, il peut s’avérer ensuite impossible de corriger l’erreur. C’est ce qui s’est passé avec YAM, moins de 2 jours après son lancement, alors qu’on a découvert l’erreur suivante dans le code:

Smartcontract error

Comme c’est souvent le cas en programmation, une différence qui peut sembler mineure à un néophyte peut pourtant s’avérer catastrophique du point de vue de la fonctionnalité du programme. C’est ce qui s’est passé ici, alors que l’erreur dans le code régissant YAM (impossible à corriger une fois le contrat intelligent coulé dans le béton, pour ainsi dire) entraîne la création de trop d’unités de cette cryptomonnaie, empêchant ainsi l’atteinte du quorum requis pour prendre des décisions de consensus entre les usagers dans certaines circonstances. Bref, l’erreur a rendu YAM non viable, et la cryptomonnaie a donc avorté.

Comme quoi il n’y a pas qu’en droit qu’un mot ou une virgule de trop peut coûter cher!

Il s’agit ici d’une bonne illustration du problème que la création de règles immuables, comme ce qui se passe avec un contrat intelligent, peut avoir comme conséquences graves, même quand toutes les parties s’entendent pour dire que ce qui a été écrit ne représente pas réellement ce qu’on visait comme résultat. Avec un contrat normal (juridique), les parties s’entendent simplement pour apporter un correctif, alors qu’avec un contrat intelligent, c’est l’ordinateur qui décide, s’appuyant sur les instructions immuables du départ.

Avec ce petit problème, en une trentaine de minutes, YAM a vu sa valeur passer de 60M$+ à un beau 0$. Ouch!

On a beau appeler ce genre de dispositif un «contrat intelligent», l’intention des parties n’a que peu à y faire, puisque c’est le code qui ultimement décidera du fonctionnement du système qu’on aura ainsi créé.