Home » App » La Blockchain pour le développement d'applications, une bonne idée ?

La Blockchain pour le développement d’applications, une bonne idée ?

Blockchain est une technologie tendance en ce moment. Elle a été pensée pour les transactions sécurisées, mais en réalité elle a de quoi plaire à tous les secteurs. Cependant, elle n’est qu’à ses débuts. Il faudra du temps avant que cette technologie puisse s’imposer pour de bon dans notre quotidien.  Il existe encore de nombreux cas de projets où les bases de données traditionnelles, telles que MySQL, fonctionnent mieux que la BlockChain.

Alors, comment savoir si la BlockChain est adéquate pour votre projet d’application mobile ? Ce n’est que lorsque l’on comprend les avantages et les inconvénients que présente cette technologie qu’il est possible de répondre à cette question.

Blockchain, de quoi parle-t-on ?

Une blockchain est la structure de données que la crypto-monnaie Bitcoin utilise pour son registre public, où sont enregistrées toutes ses transactions. Curieusement, le terme « blockchain » n’apparaît pas dans la description originale du protocole Bitcoin. On retrouve par contre le terme « chaîne de blocs » dans l’un des commentaires ajoutés à l’intérieur du code.

En raison de son origine floue, il n’y a pas de définition précise de ce qu’est une chaîne de blocs. Bien que personne, ou presque, ne conteste que Bitcoin utilise la BlockChain, les opinions sur d’autres utilisations de cette technologie divergent. Certains affirment même que la seule utilisation appropriée de ce terme est celle en rapport avec le protocole de Bitcoin.

personnes mondialement connectees

En générale, quand on parle de la BlockChain, on pense à une base de données distribuée comprenant des blocs de données. En plus des données qui y sont stockées par les utilisateurs,  chacun de ces blocs contient un timestamp et un lien cryptographique vers un bloc précédent. La base de données BlockChain est lisible pour de nombreuses personnes, peut-être même par tous ses utilisateurs.  On n’oubliera pas non plus de mentionner son architecture peer-to-peer. Cette caractéristique la différencie de la logique client – serveur qui est de nos jours la plus rependue sur internet. En pratique, cela signifie que les utilisateurs peuvent réaliser des transactions sans devoir passer par un tiers.

C’est la technologie sur laquelle repose la monnaie Bitcoin. Si vous voulez créer une application avec un système de paiement électronique pseudonyme, la BlockChain vous sera indispensable, mais cette technologie se prête à beaucoup d’autres utilisations.

Ebook 5 Checklist app

Avantages et inconvénients de la BlockChain

Le fait que la BlockChain est une base de données distribuée la rend particulièrement utile à certains égards. Les applications distribuées s’exécutent sur des ordinateurs en réseau. Elles coordonnent leurs actions en transmettant des messages entre les différentes instances de l’application ou par la mémoire partagée. Cela leur permet d’avoir un niveau de disponibilité plus élevé que les applications « classiques ». En outre, elles se débrouillent mieux face aux pannes qui isolent une partie du réseau de ses autres parties.

Ces avantages ne viennent pas sans quelques inconvénients. Il peut être compliqué de conserver les données dans une base BlockChain. En effet, il n’y a aucune garantie qu’une mise à jour effectuée dans un endroit le sera également sur d’autres parties du réseau. Cela signifie que théoriquement quelqu’un pourrait dépenser le même Bitcoin plus d’une fois. Heureusement, la façon dont la chaîne de blocs Bitcoin enregistre les transactions est conçu pour résoudre ce problème.

Création d’applications avec BlockChain est difficile

Développer et tester des applications distribuées n’est pas facile. L’utilisation d’un logiciel de test et de débogage sur un seul ordinateur est déjà assez éprouvante. L’utilisation d’un logiciel qui doit en même temps interagir avec d’autres logiciels sur le réseau est encore plus difficile. Le fonctionnement instable des ordinateurs est à l’origine du terme « heisenbug ». Ce dernier est défini comme un bug qui change son comportement lorsque vous essayez de le tester. Vous en verrez sûrement quelques-uns lors du développement d’une application avec BlockChain.

deux mains se serrent avec projection processus technologique

Vous pouvez également vous attendre à rencontrer des « mandelbugs ». Dans le cas de ces bugs, la cause est si incertaine et complexe que le comportement observé semble être une bonne illustration de la théorie du chaos. Vous rencontrerez également des « schrödinbugs ». Ce sont des bugs très malins que vous ne remarquerez pas jusqu’à ce que quelqu’un utilise votre application de manière non conventionnelle. Cela provoquera un comportement nouveau et inattendu.

Ces bugs sont difficiles à traiter dans les applications non distribuées, mais ils le sont encore plus dans les applications distribuées. C’est pourquoi le développement d’applications avec BlockChain est plus complexe et plus coûteux qu’on ne le pense.

Le fait que les données apparaissent dans une chaîne de blocs ne signifie pas qu’elles sont exactes. Dans le cas de Bitcoin, il est relativement facile de vérifier si une transaction est valide. Pour le faire, on utilise la cryptographie à clé publique pour certifier l’authenticité des transferts de Bitcoins d’un propriétaire à un autre. L’authenticité d’un Bitcoin est vérifiée avant que ce dernier puisse être ajoutée à la chaîne de blocs. Il n’est cependant pas certain comment les données pourraient être validées dans d’autres applications BlockChain.

La nature distribuée des chaînes de blocs les rend étonnamment difficiles à traiter. Pour résumer, la BlockChain présente deux difficultés majeures pour les développeurs d’applications. Tout d’abord, il faut trouver une façon fiable de valider les données qui seront inscrites à la chaîne de blocs. Ensuite, une fois que c’est fait, vous aurez besoin d’inscrire ces données à la chaîne.

Considérations juridiques

La plupart des transactions nécessitent un cadre juridique bien défini. Quant à la technologie BlockChain, il n’existe pas encore de réglementation la concernant. Tout reste encore à faire, y compris, l’élaboration de la définition légale de la « chaîne de blocs ».

Il a fallu un certain temps aux avocats pour mettre en place un cadre juridique portant sur l’utilisation commerciale de l’infrastructure à clés publiques (ICP). Aux États-Unis, cet aspect est régi par l’American Bar Association’s Digital Signature Guidelines. Dans l’Union européenne, il existe la directive européenne 1999/93/CE, mais elle est à présent obsolète.

Encore trop de zones d’ombre ?

La technologie BlockChain présente un potentiel énorme pour le monde des affaires. Cependant, il est important de garder en tête que cette technologie est récente. Elle a encore besoin de nombreuses améliorations avant que l’on puisse l’utiliser à grande échelle. On attend avec impatience et excitation de voir le progrès sur cette technologie qui pourrait dans un futur proche révolutionner notre société.

Proyecto App

Tags
Publié dans App