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