Regards sur la science

Ouverture, transparence et confiance dans les logiciels

par Jean-Paul Delahaye - SPS n°318, octobre 2016

Que le logiciel que vous utilisez ait un comportement qui n’est pas précisé et que vous n’ayez aucun moyen de le connaître est assez désagréable. C’est pourtant le cas de très nombreux programmes que tous les jours nous faisons fonctionner innocemment. Quand vous écrivez un texte pour vous-même et que vous ne souhaitez pas le communiquer, il se peut quand même que votre traitement de texte envoie toutes les minutes une copie de ce que vous êtes en train d’écrire à une adresse qui les collecte soigneusement et les ajoute à votre dossier qu’elle garde. De tels dossiers ont une valeur commerciale (Google, Microsoft, Apple, Amazon et Facebook en ont très certainement sur vous), mais on sait grâce à Edward Snowden que des services contrôlés par des puissances (étrangères ou pas) en collectent aussi massivement (la NSA entre autres). Voir par exemple le livre de Marc Dugain et Christophe Labbé, L’homme nu, la dictature invisible du numérique, Éditions Plon, 2016.

Pour tenter d’éviter cela, on a conçu les logiciels « open source ». Ce que fait un logiciel « open source » est public et compréhensible par quiconque dispose des compétences lui permettant d’analyser un programme. S’il y a réellement des gens intéressés par cette transparence et qui se donnent la peine d’analyser les programmes « open source » – c’est le cas le plus souvent – pour en contrôler le comportement annoncé et programmé, on a là une protection contre de nombreux abus des logiciels « propriétaires » dont les sources (le détail du fonctionnement sans masque) sont cachées.

Un moteur de recherche comme celui de Google note les sites Internet du monde entier et rend un classement quand vous l’interrogez. Ce classement (hors les réponses dites « liens commerciaux » ou « annonces » qui sont comme des pages publicitaires pour lesquelles on paie Google) est déterminé selon des critères nombreux que Google choisit. Google annonce qu’il est impossible de payer pour avoir une bonne place dans ces résultats « purement algorithmiques », et c’est probablement vrai. Cette partie « objective » des réponses de Google fournit donc une note qui est une évaluation des sites Internet, comme un professeur qui, à l’aide d’un barème, note les copies rendues. Certains sites commerciaux verront leurs affaires se porter bien ou au contraire très mal selon ces classements « objectifs » de Google ou plus généralement des moteurs de recherche. Il serait logique et souhaitable que les critères utilisés pour noter les sites soient publics, comme le plus souvent l’est le barème qu’utilise le professeur. Ce n’est pas le cas. Les moteurs de recherche ne sont pas « open source » et jugent vos pages sans que vous sachiez vraiment comment. On ne peut jamais avoir d’idées très précises de ce que font les algorithmes des moteurs de recherche (regroupés dans le cas Google sous le nom de Page-rank), qui d’ailleurs varient rapidement et prétendument se perfectionnent sans cesse sans que personne ne puisse savoir précisément en quoi. Google et ses confrères s’abritent derrière le secret industriel pour ne pas rendre publics leurs algorithmes, dont la vie et la mort de nombreuses entreprises dépendent. Ce n’est pas normal, mais c’est ainsi.

À côté de la question « open source ou non ? », il existe un autre problème de transparence et de sécurité pour tous les logiciels fonctionnant non pas sur votre ordinateur mais à distance : « dans le cloud » comme on dit aujourd’hui. C’est le cas du logiciel des moteurs de recherche, mais c’est aussi le cas de nombreux programmes de jeu qui gèrent directement de l’argent. C’est le cas encore de presque tous les logiciels en ligne pour faire des achats, transférer des sommes d’un compte à un autre, interagir avec votre banque. Peut-on être certain que ceux qui les détiennent et les font fonctionner vont continuer à le faire, et vont, par exemple dans le cas des logiciels de jeu en ligne, vous transférer vos gains quand vous aurez gagné ? On sait que non, et les escroqueries en ligne pour le « trading » (pour l’achat et la vente de produits boursiers) sont classiques et coûteuses pour leurs victimes.

Pour les programmes acceptant votre argent, le faisant circuler, le rémunérant ou le taxant, déterminant des gains ou des pertes, il est non seulement important de savoir ce qu’ils font vraiment (il faut donc qu’ils soient « open source ») mais il est important aussi de savoir qu’ils ne pourront pas être interrompus au moment crucial où de l’argent doit revenir vers vous. Dans de tels cas, on a besoin de la certitude que tout se déroulera comme annoncé, que le créateur du programme le souhaite ou pas. La certitude d’un fonctionnement honnête de tels programmes ne repose que sur de la confiance. On l’accorde assez facilement à une banque (mais il faut s’assurer que le site avec lequel vous dialoguez est bien celui de la banque à laquelle vous pensez), mais comment faire pour un site de jeu ? Est-il vraiment indispensable d’avoir « à faire confiance » à un tiers situé à l’autre bout de la connexion ?

Il se trouve que la réponse est non. Il n’est pas nécessaire d’accorder sa confiance à un tiers dans les situations où l’on manipule de l’argent qui pourrait vous être soustrait par le vis-à-vis avec lequel vous échangez sur le réseau. En effet, on a conçu un nouveau type d’ordinateur dont le fonctionnement n’est plus localisé en un point précis et aux mains d’un acteur unique, mais délocalisé et contrôlé par une multitude d’acteurs qui se surveillent les uns les autres. Ils font les mêmes calculs pour assurer que ce qui est programmé (et qui est connu de tous) ne s’interrompt pas et est exécuté conformément au programme qui a été rendu public.

Ces ordinateurs à « blockchain » (la blockchain est leur mémoire, elle est publique et surveillée par tous ceux qui le désirent) sont une nouveauté et le résultat de la généralisation des méthodes utilisées pour faire fonctionner les monnaies cryptographiques comme le bitcoin (né en 2009). Aujourd’hui, le principal outil pour écrire et faire fonctionner ces programmes « doublement open source » impossibles à changer, impossibles à arrêter et agissant sous l’œil d’une collectivité méfiante et attentive, est la plate-forme Ethereum, produit d’un incroyable génie de l’informatique de 22 ans, Vitalic Buterin.

Cette nouvelle informatique des ordinateurs à blockchain, plus sécurisée, et plus transparente, est un outil pour créer de la confiance entre utilisateurs ne se connaissant pas et n’ayant pas de raison de se faire confiance. Elle vient de naître ; Ethereum fonctionne depuis un peu plus d’un an. Elle pourrait se substituer aux banques dans certains cas et c’est sans doute pourquoi les nouveaux ordinateurs délocalisés les intéressent. Elle pourrait être le support de développements nombreux où la garantie de bon fonctionnement ne repose plus sur des tiers de confiance (banques, notaires, huissiers, administrations, etc.) mais sur une ouverture, une transparence et un contrôle collectif des calculs n’autorisant aucune triche ou entourloupe. Cette nouvelle informatique est difficile à mettre au point, elle est gourmande en ressources car le contrôle de tous par tous exige mémoire et calcul, mais ne doutons pas qu’elle va changer beaucoup de choses dans un monde où lorsque c’est possible, on ne souhaite faire confiance à personne et où transparence et sécurité manquent aujourd’hui cruellement et attendent qu’on les rétablisse.

Bibliographie

Yves Caseau, Serge Soudoplatoff, « La blockchain, ou la confiance distribuée », Fondation pour l’innovation politique, juin 2016. Sur le site www.fondapol.org
Alexis Collomb, Klara Sok, « Blockchain et autres registres distribués. Quel avenir pour les marchés financiers ? » Rapport de l’Autorité des marchés financiers (AMF), mai 2016. Sur le site bitcoin.fr
Coindesk, “Understanding Ethereum”, Report, 2016.
Melanie Swan, Blockchain : blueprint for a new economy, O’Reilly, 2016.

Mis en ligne le 14 mars 2017
2736 visites

Explorer par thème


Valid HTML 4.01 Transitional CSS Valide !