Tumgik
woldenavro · 6 years
Text
Contractualiser la production d’eau chaude
J’ai travaillé ces dernières semaines sur un POC permettant de piloter un chauffe-eau électrique par bluetooth depuis un smartphone via des protocoles BLE. L’objectif était d’obtenir à la fois les données transmises par le C-A (chauffe-eau) : volume d’eau, température en haut, au milieu ou en bas du ballon, statut et vitesse du ventilateur, nombre de bains/douches disponibles, taux de légionnelles, etc. (plus d’une cinquantaine de mesures disponibles selon les capteurs), de contrôler le bon fonctionnement de chaque composant (par exemple tester le ventilateur) et de pouvoir interagir avec la machine, lui demandant par exemple de porter l’eau à telle ou telle température.
A partir de cet outil de connectique phone->machine, l’idée est d’intégrer le C-A au protocole beAchain pour qu’il détienne un wallet en cryptomonnaie et qu’il soit capable de créer des contrats automatisés. C’est de cette partie dont je vais traiter ici.
Toute machine connectée (IOT) à beAchain est par définition un full-node qui détient des parties plus ou moins importantes de la blockchain globale (sharding), c’est-à-dire un certain nombre de blocks contenant des informations cryptées et horodatées. Chaque machine possède également un ID unique qui, via des protocoles de Proof-of-Identity, garantissent qu’elle est bien qui elle prétend être. Lorsqu’une machine lance une transaction (celle de Alice veut par exemple verser 100 tokens à celle de Bob...), la transaction est envoyée sur le réseau et un protocole beAchain de consensus s’engage entre un certain nombre d’autres machines choisies algorithmiquement (DAG / graph acyclique) en charge de valider ou rejeter la transaction selon un certain nombre de critères spécifiques. Une fois la transaction acceptée, les machines approbatrices écrivent alors le bloc transactionnel qui est renvoyé sur le réseau où il sera récupéré et intégré aux shardings respectifs des autres machines connectées selon d’autres critères algorithmiques, notamment portant sur le fait de savoir si ces autres machines connaissent déjà Alice et Bob ou ne les connaissent pas.
Le problème rencontré est que notre C-A n’est pas à proprement parler un IOT puisqu’il n’est pas connecté ; le smartphone qui le pilote, lui, en revanche, l’est. Il est donc un node. Il a donc la capacité d’interagir à la fois avec les autres machines beAchain via le réseau et avec le C-A en BLE... Il va donc être utilisé comme “transmetteur”, comme interface, entre les approbatrices DAG et le C-A.
Le C-A stocke ses datas dans des blocs mémoire interrogeables et actualisables (voir EEPROM). Quelques blocs inutilisés par le système vont être réservés à créer les datas beAchain dont on a besoin : une ID unique, un wallet et son contenu, quelques clones de sharding contenant principalement des datas concernant les phones susceptibles d’interagir avec lui (multi-Users), le tout crypté selon les normes internes à beAchain. L’ID unique du C-A existe déjà, elle n’est que réécrite cryptographiquement dans un bloc. La faible capacité mémorielle de chaque bloc empêchant de stocker un contenu de wallet supérieur à quelques octets, plusieurs blocs-mémoire sont nécessaires pour décrire le nombre de tokens détenus. Idem pour les shards de blocks datas beAchain. Dans l’état actuel du POC, le volume de tokens détenus dans le wallet ne peut excéder 16 777 215, ce qui est largement suffisant. Cette valeur correspond une fois cryptée à 3 blocs eeprom de valeur 0 -> 255.
Lorsque le phone User se connecte au C-A, ce dernier procède nativement à deux protocoles distincts (d’identification et d’autorisation) via la comparaison checksum de résultats algorithmiques. Une fois l’autorisation validée et le niveau d’autorisation déterminé, le dialogue peut commencer. L’intérêt est évidemment que lorsque le “phone-as-transmetteur” enverra des demandes de transaction au nom du C-A, il suffira de vérifier que la Proof-of-Identity du phone est acquise pour que celle du C-A le soit par héritage. Le C-A n’a donc pas à prouver qu’il est qui il dit être : en passant son ID au réseau en même temps que le phone passe la sienne, les machines DAG en charge du consensus ont la certitude absolue que cette ID est véridique.
Lorsque le process de validation/approbation par consensus est achevé et qu’il est positif, l’information est alors transmise au phone qui la reroute contractuellement (auto-exécution) au C-A : son wallet est débité de 100 tokens et celui de Bob crédité d’autant, les blocks concernés sont générés à la fois sur le C-A, sur le phone User, sur les machines DAG et sur toutes les autres machines qui ont à être actualisées.
Mais à quoi ça peut bien servir ?
Etudions maintenant un usecase pratique : acheter smart-contractuellement des kWh à un producteur photovoltaïque du voisinage pour chauffer de l’eau.
Quelques données initiales :
- il faut 1 Kcal / 1,16 Wh pour monter un litre d’eau de 1°C, soit 1,16 kWh pour 1 m3 d’eau (1000 litres)
- Si notre ballon fait 150 litres, il lui faudra donc 0,174 kWh pour lui faire prendre 1°C : si l’on veut passer de 35°C (disons température de l’eau actuelle) à 55° (température optimale du C-A... plus chaud on consomme plus d’énergie, moins chaud on risque des développement de légionella) il nous faudra donc 3,48 kWh. De 15°C à 55°C il faudra presque 7 kWh.
- un toit de panneaux photovoltaïques produit en gros 0,6 kWh par m2. En fait ça dépend de très nombreux facteurs tels que la région, la saison, l’heure, la météo, l’inclinaison du toit, les ombres portées, etc. Ce n’est donc qu’une moyenne. 20 m2 de PV produisent donc en France en moyenne 7,6 kWh/jour.
En ignorant le fait qu’à l’heure actuelle il est impossible de revendre son énergie électrique directement à ses voisins en cryptomonnaie mais en admettant qu’un jour ce soit possible, on peut alors paramétrer un certain nombre de choses, notamment le coût du kWh sur un “marché de voisinage ouvert” :
- en moyenne, la production PV quotidienne par m2 est de 0 kWh avant 6h du matin et après 22h, autour de 4000 Wh vers 10h et 17h, et autour de 7500 Wh entre 12h et 14h.
- la production annuelle moyenne pour un toit à 30° orienté plein sud va de 2 kWh/jour en plein hiver à 8 kWh/jour en plein été (mai à juillet).
Il y a donc sur-production à midi en été et sous-production les fins d’après-midis d’hiver. L’énergie ne pouvant se stocker, le producteur doit trouver preneur à mesure qu’elle est produite... vu le prix actuel du kWh, on peut estimer qu’en période de sur-production (plus d’offre que de demande) il se vendra autour de 0,10 euros, et disons le double, 0,20 euros (plus de demande et moins d’offre) en hiver. On peut même modéliser une pondération horaire saisonnière qui amène par ex en plein été le kWh à 0,10 euros entre 12 et 14h, à 0,12 euros en milieu de matinée et d’après-midi et à 0,15 euros vers 7-8h le matin et 20h le soir.
On peut donc construire un tableau qui, reprenant toutes ces données accumulées, montrerait que monter la température de 150 litres d’eau de 35°C  (la passer de 20°C à 55°C)  coûterait 1,03 euros en été tôt le matin, 0,86 euros vers 10h et 17h et 0,96 euros autour de midi. La monter de 15° (passer de 40°C à 55°C) coûterait respectivement 0,52 euros, 0,43 euros et 0,35 euros pour les mêmes plages horaires.
La question à résoudre est donc : quand faut-il chauffer l’eau pour que la production d’eau chaude coûte le moins cher possible ?
Il existe actuellement deux types de C-A : les “programmables” (c’est le cas de celui sur lequel je travaille) où l’installateur peut planifier des plages de chauffage horaires/mensuelles, et les “classiques” qui se mettent à chauffer l’eau dès qu’elle a refroidi : après un bain (150 litres en moyenne) le ballon passe de 55°C à 37°C : la moyenne de température d’eau pour un bain bien chaud est de 35°C... si l’eau du réseau (eau froide rajoutée : robinet bleu) est à 20°C, on utilise la moitié de l’eau chaude disponible à 55°C... le ballon va alors se remplir de 75l d’eau à 20°C = 55+20/2 donne 37,5°C
Le critère suivant est important pour notre simulation, et donc pour la conception du smart-contract qui va piloter le réchauffage de l’eau de notre C-A : toujours en moyenne, les C-A électrique (résistance chauffante) font monter la température de l’eau de 8 à 10°C/heure. Donc une heure après notre bain l’eau du ballon sera autour de 45°C, ce qui permet de reprendre un bain en mettant 62% d’eau chaude (robinet rouge) et le reste en eau froide.
Un dernier facteur est à inclure pour avoir un panorama complet de l’algorithme à construire : dans un ballon déconnecté de son alimentation électrique l’eau refroidit d’environ 1° toutes les 3 ou 4 heures (en moyenne 7 à 8°C par jour).
Maintenant on peut passer au usecase...
Imaginons un couple dont le monsieur ou la madame prenne tous les matins un bain. L’autre, lui, ne prend qu’une douche tous les soirs vers 18h. Quand faut-il chauffer l’eau ?
Si on la réchauffe de suite après le bain, on doit gagner 20°C sur 150 litres. 150l x 20° x 1,16 = 3,48 kWh. Si on est en été, on a vu juste avant que le kWh du voisin est à 1,03 euros. Soit donc une dépense de 3,48 x 1,03 = 3,58 euros. Si on décide d’attendre (l’eau ne sera chaude que pour la douche de 18h), l’eau entre temps sera passée de 40° à 36°C... Pour qu’elle soit à 55°C à 18h on doit gagner 19° : 150l x 19° x 1,16 = 3,3 kWh. Si on smart-contractualise son chauffage entre 12h et 14h on ne paiera l’énergie PV que 1,98 euros et 2,50 euros si on chauffe entre 14 et 16h.
On calcule la même chose en doublant les prix pour la saison hivernale (chauffage immédiat : 7 euros, vers midi : 4 euros et début d’après-midi : 5 euros) pour obtenir une moyenne annuelle : chauffer immédiatement après le bain du matin nous coûtera en gros 5 euros/jour alors qu’attendre midi ne nous coûtera que 3 euros/jour. Soit, annuellement, 2 euros x 365 = 730 euros/an. Un billet d’avion. Ou l’assurance de la voiture plus celle de la maison.
Concrètement ce n’est pas si simple puisque pour commander la mise en route du chauffage de l’eau il faudra être connecté en bluetooth au C-A, puisqu’il n’est pas lui-même connecté comme le serait un IOT paramétrable à distance. Et donc rentrer chez soi en midi et deux. Mais ce n’est qu’un exercice de simulation. L’intérêt en revanche est qu’on peut transférer nos propres tokens/cryptomonnaie dans le wallet du C-A et qu’il se chargera de payer directement le phone (ou les panneaux photovoltaïques) du voisin sans qu’on ait à s’en préoccuper.
L’inconvénient de tout ça est que le jour où votre C-A deviendra plus malin que vous (...IA, où es-tu ?) et qu’il comprendra que son intérêt n’est pas forcément le vôtre, rien ne garantit qu’il ne cherchera pas à vous gruger et à s’enrichir indûment à vos dépens  :-) #WorldOfMachines
Sources
https://selectra.info/energie/guides/conso/regler-ballon-eau-chaude
http://energies-renouvelables.consoneo.com/guide/maison-ecologique/production-solaire-des-panneaux-photovoltaieques/728/
http://www.photovoltaique.info/Estimer-la-production.html
0 notes
woldenavro · 6 years
Text
beAchain News
< ça avance :-) >
0 notes
woldenavro · 7 years
Text
Créer des images-cartes OSM dans canvas
Juste un petit “truc” technique pour générer des cartes OpenStreetMap sans avoir à passer par des API externes (type Leaflet ou autres) et générer une image à placer dans une balise canvas :
Choix de la carto à utiliser
Farfouiller dans les nombreux stocks de modèles dispos :
https://leaflet-extras.github.io/leaflet-providers/preview/ https://mc.bbbike.org/mc/?num=2&mt0=mapnik&mt1=hillshading
Choisir celle qui correspond à votre utilisation.
URL des tiles
Un tile est l’image de base ; une carto est constituée d’un tile central (image de base 256x256) selon coordonnées user qui sera entouré de ses tiles précédents et suivants. Une carto est donc un damier d’images accolées. On y reviendra.
Pour obtenir l’URL d’un tile :
1. soit clic-droit sur une partie de l’image et afficher le tile dans un nouvel onglet, par exemple  http://a.tiles.wmflabs.org/bw-mapnik/18/136716/90463.png 2. soit alors copier-coller direct le lien (fourni dans le 1er lien : leaflet-providers) qui donne l’URL complète de l’image, par exemple http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png Dans tous les cas, l’URL est toujours constituée de la même chose : a. http:// ou https:// b. un sous-domaine (ou pas, des fois il n’y en a pas) : a.nom_de_domaine.com ou {s}.nom_de_domaine.com c. le domaine proprement dit : nom_de_domaine.com/dir1/dir2/ d. le zoom : 18 si indiqué ou valeur {z} e. les coordonnées si elles existent (136716 / 90463) sinon {x}/{y} f. l’extension : .png dans 99.9% des cas (parfois .jpg)
Le damier de tiles
Partons sur un exemple de 9 images accolées (3 en largeur x 3 en hauteur).
Le tile central (n°5) est celui de vos coordonnées. Vous êtes en plein centre de l’image. Son URL sera donc a.tiles.wmflabs.org/bw-mapnik/18/136716/90463.png pour un zoom de 18 et la latitude/longitude correspondante :
Tumblr media
Le tile n°2 juste au-dessus sera votre nord, le n°8 en-dessous votre sud, le n°6 à droite votre est et le n°4 juste à gauche votre ouest. Les 4 tiles restants (n°1, 3, 7 et 9) étant vos NW, NE, SW et SE.
Avec ces 9 tiles de 256x256 pixels on a donc une carte de 768x768 pixels, ce qui est déjà pas mal.
Créer la map
On commence par un DIV de 768px genre :
<div id=“map” style=“width:768px;height:768px”></div>
Dans ce div on va placer nos 9 tiles. Pour cela nous avons besoin de créer un tableau des variables en JS :
var tabtiles = [];
et de notre valeur de zoom + nos coordonnées. Ces dernières s’obtiennent par un script mais c’est pas l’objet de cet article.
var lat = 48.605574; var lon = 7.753365; var zoom = 18; Le “truc” c’est maintenant de transformer nos valeurs de lat+lon (48,605574,7.753365) en valeurs d’URL tile (136716,90463)
On crée la fonction JS :
function doTile(lat,lon,zoom) {    with(Math){        var m=pow(2,zoom);        var lat_rad=lat*PI/180;        return [floor((lon+180)/360*m),                floor((1-Math.log(tan(lat_rad) +                       1/cos(lat_rad))/PI)/2*m)];    } }
Et on récupère les vals en tableau via : 
var tile = doTile(lat,lon,zoom); // retrouve le tile central
ou tile[0] et la valeur de latitude et tile[1] celle de longitude.
le code :
document.getElementById('map').innerHTML = '<img src="http://a.tiles.wmflabs.org/bw-mapnik/'+zoom+’/'+tile[0]+'+’/'+tile[1]+'.png'" />';
placera l’image centrale dans le DIV “map”.
Concernant le sous-domaine (a.) selon les éditeurs de cartes on peut soit s’en passer, soir mettre a. par défaut même si les URL indiquent b. ou c., il semble que ça n’ait pas d’importance. On peut donc switcher entre différents modèles de cartes en tableautant les URL et en appelant celle dont on a besoin :
tabURLmaps = [      “a.tiles.wmflabs.org/bw-mapnik“,      “http://tile3.opencyclemap.org/landscape“,      ““.......” ];
Création des 9 tiles
On a notre tile central (n°5) dans notre map ; reste à trouver les 8 autres...
La règle est simplissime :
soit x la val de latitude (136716) et y celle de longitude (90463) : Ligne 1 (3 tiles) :  x-1/y-1 ->  x/y-1 -> x+1/y-1 Ligne 2 (3 tiles) :  x-1/y -> x/y -> x+1/y Ligne 3 (3 tiles) :  x-1/y+1 -> x/y+1 -> x+1/y+1
Ce qui nous donne : x-1 : 136715 -> x :  136716 -> x+1 :  136717 y-1 : 90462 -> y :  90463 -> y+1 : 90464
Nous avons maintenant nos 9 URLs de tiles.
Ce qui se programme comme ça :
var num = 0; for (var y=0; y<=2; y++) {    var ty = y-1;    var tile_y = tile[1]+ty; // produit de y-1 à y+1    for (var x=0; x<=2; x++) {      var tx = x-1;      var tile_x = tile[0]+tx; // produit de x-1 à x+1    tabtiles[num] = tile_x+'/'+tile_y;    num++; } }
puis, une fois notre table de tiles créée,
for (var i=0; i<9; i++) { document.getElementById('map').innerHTML += '<img src="'+tabURLmaps[0]+'/'+zoom+'/'+tabtiles[i]+'.png" />'; }
Nous avons bien nos 9 images dans notre DIV “map”.
La question des extensions et des keys
Certaines cartos ont des tiles en .jpg comme dit plus haut, donc créer une table d’extensions associée à celle des URL peut être une bonne idée pour éviter des soucis ultérieurs :
tabURLexts = [     “png“,     “jpg“,     ““.......” ];
L’URL tile devient donc :
'<img src="'+tabURLmaps[0]+'/'+zoom+'/'+tabtiles[i]+'.'+tabURLexts[0]+'" />';
D’autres exigent des keys user... pareil, on tableaute :
tabURLkeys = [     ““,     "?apikey=180e6a0f....",     ““.......” ];
et on rajoute à l’URL de chaque tile :
'<img src="'+tabURLmaps[0]+'/'+zoom+'/'+tabtiles[i]+'.'+tabURLexts[0]+tabURLkeys[0]+'" />';
Passer dans canvas
Une fois nos images créées reste à les passer dans canvas si on en a besoin. Le problème est que canvas interdit l’import d’image en provenance d’autres domaines (voir CORS et les questions de CrossDomain).
La solution consiste à déclarer chaque image comme “anonyme” au moment de son import dans canvas : 
var imagemap = new Image();      imagemap.setAttribute('crossOrigin', 'anonymous');      imagemap.onload = function(){        ctx.drawImage(imagemap, left, top, 256, 256); // left et top sont calculés      }       imagemap.src = URL; // URL = ressource de l’image tile
Mais ça ne fonctionne pas toujours, certains éditeurs spécifient des inertdictions de CrossDomain. Testez chaque éditeur avant de mettre en votre map en prod.
L’intérêt de créer la map dans canvas est qu’on peut générer une image globale à la taille finale voulue : notre maillage de 9 tiles fait 756px de côté, or je veux une image de 400 x 400px :
ctx.drawImage(imagemap, left, top, 400, 400);
où imagemap est mon image finale et où left et top sont des marges négatives : 756 - 400 / 2 = -178
Drag-dropper le canvas
Le canvas est placé en position : absolute pour être déplaçable. J’ai construit il y a longtemps un script de DND qui permet de tout déplacer à la souris, au clavier ou à la main sur écrans tactiles. Une fois le canvas relâché on mesure la distance entre les positions top-left du canvas et de la carte, ce qui permet d’ajaxer l’image en base64 sur le serveur par xhr canvas.toDataURL("image/png");
Les curseurs de réglage
Les 3 curseurs envoient leur position à canvas. En récupérant le tableau des pixels et en algorithmant chaque fonction (netteté, n&b, contraste) on les modifie un par un :
function doNB(id,left) {    var pos = parseInt(left/20);  // de 0 à 9    var xr = 0.333333;    var xv = 0.5;    var xb = 0.166667;    var imageData = ctx.getImageData(0, 0, canvas.offsetWidth, canvas.offsetHeight);    var data = imageData.data;    var origin = ctxoriginal;    var pixs = origin.data;    for(var i = 0; i < data.length; i += 4) {        var gray = xr*data[i] + xv*data[i+1] + xb*data[i+2];        data[i] = ( ( pos*gray) + ((10-pos)*pixs[i]) ) /10;        data[i+1] = ( ( pos*gray) + ((10-pos)*pixs[i+1]) ) /10;        data[i+2] = ( ( pos*gray) + ((10-pos)*pixs[i+2]) ) /10;     }   ctx.putImageData(imageData, 0, 0); }
La nouvelle image est générée immédiatement et ajaxée en remplacement de la précédente.
Usages possibles
L’utilisation concernant ce projet en cours est de rendre ensuite le canvas cliquable, de détecter les points cliqués, de tracer les lignes de point à point et de passer l’info dans une iframe de la page où l’image sert de fond (plane horizontale) à une 3D webGL et où les points cliqués-refermés (tous les 4 clics) buildent des bâtiments 3D... Enjoy :-)
Tumblr media
0 notes
woldenavro · 8 years
Text
#VDNchain, une orientation #blockchain-of-things
Le projet VDNchain est né en mai 2014 adossé à #CIVY, un projet de plateforme d’échanges rémunérés en crypto-monnaie interne.
Tumblr media
Dès le départ blockchain s’est imposée dans le projet comme le soubassement technologique idéal, tant pour des transactions de type authentification/identification qu’en gestion de porte-monnaie virtuel et échanges économiques.
Pour rappel : 1995 : le web est informationnel 2005 : le web est relationnel (web 2.0) 2015 : le web est transactionnel (blockchain)
Tumblr media
Blockchain EST le web transactionnel : les objets connectés échangent leurs datas (monnaies, logins, contrats) horizontalement en peer-to-peer.
Vers une Blockchain des Objets
Il existe trois grandes familles génériques de blockchains : les chains privées, les chains publiques et les chains hybrides. Une chain publique (type Bitcoin) est publiquement accessible à tous. Les chains privées (type R3 bancaire) sont privées : ce sont des outils internes auxquels aucune personne non-autorisée ne peut accéder (ressources, méthodes, cryptages, etc.). Une chain hybride est un mix des deux, proposant à la fois un background algorithmique privé et des usages publics modulables et patchables (API).
VDNchain est une BoT (blockchain of things) hybride : ses seuls acteurs sont les machines/objets connectés. Ses utilisateurs (humains...) ne sont globalement que des interrupteurs qui, par leurs interactions, qu’elles soient sociales (entre eux) ou techniques (d’homme à machine), déclenchent des séries d’instructions qui elles-mêmes initient les protocoles d’approbations/mises à jour sans que personne ne puisse interférer dans les échanges.
Tumblr media
Plus qu’une technologie, VDNchain est avant tout une ingénierie. Elle comprend à la fois des méthodes, des protocoles et des outils ; ce sont les outils qui sont technologiques.
Dans sa vision "historique" (Bitcoin), blockchain ne reflète pas l'état actuel des résultats de transactions simultanées mais historicise chaque objet chainé. Plus il y a de transactions, plus elle est longue et lourde à computer. Une autre approche plus dynamique consiste à intégrer la chaine d'approbateurs dans le bloc et à déshistoriciser la chain. La validation ne remonte plus le cours du temps mais explore les parties approbations de chaque bloc concerné (qui a validé ceci) pour truster la transaction en cours. C’est l’approche VDNchain.
Elle se rapproche des fonctionnements de la vie sociale : si 5 personnes vous présentent un ami vous ne vous demandez pas qui les a présenté entre eux ni lors de quelle occasion ; la confiance est incluse dans le simple fait que 5 personnes de confiance (tiers) garantissent la véracité et la loyauté de de l’identité de leur ami. VDNchain fonctionne de la même façon : il suffit qu’une transaction soit validée par 5 machines elles-mêmes validées par d’autres pour que le transaction soit vraie et loyale.
Les bases théoriques et techniques de VDNchain
Contrairement à d’autres plateformes blockchain (Bitcoin, Ethereum, etc.) VDNchain est conçue comme un outil rapide, simple, universel et égalitaire.
- rapide parce que les approbations transactionnelles se font de machine à machine par micro-dialogues cryptés selon un protocole particulier. Moins de 5 secondes sont nécessaires à la prise de décision et à la mise à jour des portions de chains détenues par chaque machine,
- simple parce qu’elle ne nécessite ni téléchargement d’un logiciel externe ni utilisation de programmation complexe. La plupart des opérations sont réalisées en mode client dans le navigateur web.
- universel parce qu’écrite dans les langages courants du web elle est utilisable immédiatement sans aucun paramétrage particulier quel qu’il soit,
- égalitaire parce qu'aucun miner ne détient de clés ni d’accès privilégié à quelque fonction que ce soit ; chaque utilisateur est acteur à 100% de la chain, ce qui permet une mutualisation complète des process de décisions/approbations/validations.
Pour en savoir plus sur ces bases théoriques et techniques, consultez ces articles spécifiques (en particulier 5. Cahier des charges) :
1. http://woldenavro.tumblr.com/post/131219678690/pour-un-web-transactionnel-%C3%A0-base-de-blockchains
2. http://woldenavro.tumblr.com/post/131954517180/pour-une-blockchain-transactionnelle-dynamique
3. http://woldenavro.tumblr.com/post/133141795835/pour-une-blockchain-transactionnelle-dynamique
4. http://woldenavro.tumblr.com/post/135436278335/pour-une-blockchain-transactionnelle-dynamique
5. http://woldenavro.tumblr.com/post/136461032145/blockchain-cahier-des-charges-vdnchain
La technologie VDNchain en détail
VDNchain est construite en gros comme une application web classique, avec des ressources serveur (algorithmes) et des ressources client (machines).
Pour des raisons de sécurité, de rapidité, d’économie de temps et d’énergie, les transactions client-serveur sont réduites au minimum. Vous découvrirez plus bas le type d’échanges réalisés et ce à quoi ils servent.
1. Les chains
Toute blockchain est constituée d’un ensemble de blocs contenant des informations sous forme cryptées mis bout à bout, formant ainsi une chaîne de blocs. Ces chaines de blocs sont réparties entre les machines connectées. Il n’existe donc aucune base de données sur aucun serveur permettant à un hacker de s’en emparer, de la falsifier, de la diffuser ou de la détruire.
Il existe toutefois plusieurs modèles de protocole blockchain, certaines n’octroyant l’accès à la blockchain complète (toutes les informations disponibles au moment T) qu’à certains utilisateurs (Bitcoin par exemple), d’autres partageant l’intégralité des données entre tous les acteurs (Tendermint par exemple). Toutes ont pour particularité de ne délivrer que des chains entières, ce qui nécessite des temps de calculs croissant exponentiellement à mesure que la chain se rallonge de nouveaux blocs.
VDNchain est conçue différemment : elle est constituée de plusieurs chains spécifiques à chaque usage : une chain pour le login/identification, une autre pour les transactions monétaires, une troisième pour les smart contracts, etc. L’avantage est de réduire à la fois le volume de datas et leur temps de traitement (modifications, mises à jour...) par chaque machine qui aura à le faire.
D’autre part, aucune de ces chains n’est intégralement déposée sur chaque machine : seule une partie de la chain concernée est disponible. Ceci pour deux raisons : la première est d’accroître la sécurité générale du système (personne ne peut accéder à l’intégralité des données), la seconde est de réduire encore plus les temps de traitement : si une transaction est en cours entre l’utilisateur A et l’utilisateur B, seules les machines détenant les données nécessaires concernant A et B auront à manipuler les quelques milliers de kilo-octets qui les contiennent... à comparer avec les centaines de méga-octets à traiter de Bitcoin. Ce qui pose évidemment un problème : au démarrage (disons 10 machines) il est impératif que toutes soient connectées simultanément pour garantir le traitement de la transaction ; à partir de 500/1000 machines, chaque acteur de la transaction trouvera tout ce dont il a besoin sans avoir à attendre .
Techniquement parlant, les chains requises sont déposées sur la machine utilisateur sous différentes formes selon les contraintes de chaque groupe d’utilisateurs : dans un storage, dans un cookie, dans une session, etc. Elles peuvent selon le cas être accompagnées d’un fichier texte de sauvegarde grâce auquel on peut reconstituer les chains simplement en le drag-droppant dans une interface spécifique.
Illustration montrant le process d’initiation de la chain sur machine entrante (E) et le protocole de mises à jour des machines approuvantes (A, B, C, D) :
Tumblr media
2. La construction technique des chains
VDNchain produit des chains encryptées complexes. D’une part pour des raisons de sécurité (indécryptables) et de l’autre pour des raisons de poids informatique et temps de traitement, ces chains sont un concentré de réductions, de translations, de hashage-saltages à sur-cryptages successifs : un bloc encrypté selon des méthodes particulières sera ajouté à la chain, et une fois celle-ci complétée elle sera elle-même réencryptée avant d’être redéposée sur la machine concernée. Il y a donc deux niveaux de cryptage : la chain qui possède le sien en propre, et chacun de ses blocs qui une fois la chain décryptée possède le sien selon ce qu’il concerne ou décrit.
Ces encryptages se font selon une méthode dite des “double-clés” (privée/publique) inspirée de PGP http://openpgp.vie-privee.org/intimite.htm : les datas transitant sur le réseau - donc potentiellement interceptables - sont cryptées selon une clé publique placée au coeur de l’algorithme et chaque machine détient sa propre clé privée lui permettant d’accéder aux informations dont elle a besoin. Selon ce qu’elle aura à faire, elle accédera “en clair” (pour elle, pas pour un humain qui tenterait de lire les transactions en cours) aux seules informations utiles :
Tumblr media
Dans l’illustration ci-dessus, tant que C n’a pas transmis au réseau ses datas encodées selon une traduction clé privée -> clé publique, E ne peut pas les comprendre... E ne comprend que les siennes puisqu’elles sont écrites dans sa propre clé.
La chain est donc initialement cryptée en clé publique mais retraduite en clé privée sur chaque machine. Un hacker ayant accès à plusieurs machines en simultané ne peut donc pas les comparer pour détecter programmatiquement les différences et en déduire une méthode d’attaque.
Les chains sont encodées sur plus de 100 caractères. Bitcoin (comme la quasi-totalité des blockchains actuelles qui sont essentiellement américaines, donc écrites dans des langues sans accents) n’est encodé que sur 62 caractères : de A à Z, de a à z et de 0 à 1. Exemple :
Ed6rTu0vsFt65b880nAErXtsyV42JkRLmpGs42m ...
VDNchain comporte de plus des signes accentués et des signes clavier :
ùTzœYM$qéb_N551W}85u1G-R[$kJHfTkØ)x!-? ... (extrait d’une chain réelle)
Utiliser beaucoup plus de signes d’encodage présente un double intérêt : accroître la sécurité générale du système qui devient plus difficile à cracker et obtenir des gammes de réductions en hashage plus importantes - et donc un poids informatique moindre. Exemple : si je veux obtenir l’encryptage d’un nombre entre 000 et 100 - des numéros de téléphones par ex, qui ne sont jamais que des suites de nombres - à système d’encryptage égal une chain type Bitcoin nécessitera 2 signes alors que VDNchain n’en n’utilisera qu’un seul. Sur 10 000 numéros de téléphone utilisateurs, cela représente 40 000 signes en moins à traiter et à réécrire.
Encodage et encryptage ne sont pas à confondre. VDNchain est encodée sur plus d’une centaine de caractères mais encryptée selon des méthodes de cryptages multiples à clés privées/publiques évidemment tenues secrètes. Des algorithmes POB (programmation orientée blockchain) spécifiques - le coeur de VDNchain - garantissent un fonctionnement optimal du système de gestion des clés : pour qu’une machine puisse dialoguer avec une autre elles doivent parfois se transmettre des informations cryptées qu’elles-mêmes ne comprennent pas. Une partie de l’algorithme sert de traducteur universel en renvoyant à chaque machine la version cryptée compréhensible qu’elle attend.
Pour des raisons évidentes de sécurité il n’y a jamais à aucun moment traduction en clair (en langage humain) des échanges et transactions en cours ; l’affichage destiné aux utilisateurs (solde en cours par exemple) ne peut s’effectuer qu’une fois la transaction achevée, les lises à jour effectuées et le dialogue interne machine à machine refermé.
3. Le protocole transactionnel
Le protocole transactionnel est un sujet complexe puisque c’est de sa réussite ou de son échec que dépend toute la fiabilité du système. En l’absence de miners chaque machine connectée au moment T de la transaction entre A et B reçoit une instruction cryptée qu’elle comprend comme une demande d’approbation. La logique égalitariste de VDNchain veut que toutes soient strictement équivalentes, et donc théoriquement toutes aptes à traiter la transaction.
S’opère alors une opération de tri qui décidera quelles machines participeront au process d’approbation. On ne peut effectivement pas imaginer interroger simultanément des milliers de machines : cela prendrait beaucoup de temps, surchargerait inutilement le réseau, consommerait pas mal d’énergie électrique et mobiliserait beaucoup de CPU.
VDNchain est construite selon le schéma dit des “Frères-Cousins” exposé dans les articles précédents. Quand A envoie sur le réseau l’information “je veux me connecter” ou “je veux verser 100 unités à B” on cherche d’abord parmi toutes les machines connectées lesquelles sont les plus à jour - donc en gros dans l'historique de connexion écrit dans leur chain l’occurence de leur précédente approbation de connexion. Lorsque par exemple, si je suis machine C, il y a écrit dans ma chain interne "C s’est connecté il y a 10 minutes approuvé par machines W, X, Y et Z” je suis à la fois fiable (approbation réussie) et à jour (chain mise à jour lors de la dernière connexion).
Chaque machine cherche alors en interne et selon sa clé privée si elle possède dans les morceaux de chain qu’elle détient un bloc parlant de A et un autre parlant de B. Si oui elle devient apte à approuver ; sinon elle quitte le dial.
Sitôt qu’on a atteint un certain nombre de machines (variable paramétrable : moins il en faut moins l’approbation finale risque d’être fiable, plus il en faut plus elle sera longue et complexe à obtenir parce qu’elle impliquera plus de dialogues inter-machines) l’algorithme détermine programmatiquement lesquelles sont les “plus proches” (ses frères - disons 5 pour l’exemple).
On peut s’imaginer l’ensemble des machines connectées comme un ballon de football constitué de panneaux à 5 côtés cousus ensemble : quel que soit le point d’entrée de A, il existe 5 machines “proches” de lui-  voir la question des “graphes acycliques” [ https://fr.wikipedia.org/wiki/Graphe_orient%C3%A9_acyclique ] et celle du “plus court trajet entre deux points” [ https://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra#Sch.C3.A9ma_d.27algorithme ] :
Tumblr media
Quel que soit le point d’entrée sur le réseau il existe 5 “frères” (spots rouges) et 15 “cousins” (spots orangés). Toute machine partage au minimum deux “cousins” avec n’importe quelle autre machine : rond jaune ci-dessus à l’intersection des deux tracés.
A est alors isolé du dial privé qui va s’établir entre ces 5 machines, chacune versant dans le pot commun de la “décision horizontale” ce qu’elle sait de A. Si disons 4 machines sur 5 (voir la question des “Généraux Byzantins” [ https://en.wikipedia.org/wiki/Byzantine_fault_tolerance ] et l’équation qui résoud l’incertitude) sont d’accord pour approuver la transaction, celle-ci est acceptée et reconnue comme valide.
Si en revanche l’on n’obtient pas programmatiquement cet accord collégial (soit que certaines chains comparées proposent des datas contradictoires, soit qu’il y a tentative de fraude) alors on part interroger les cousins. Si il y accord la transaction est reconnue comme valide, sinon elle est abandonnée. A est alors réintégré dans le dial et prévenu du résultat.
4. Les process de mises à jour
Commence alors le process de mises à jour des chains. Une fois la décision approuvée, le bloc est mis à jour (par exemple le solde de A et celui de B) dans la chain réencryptée puis celle-ci est renvoyée aux 5 approbateurs ainsi qu’à A - et éventuellement à B si celui-ci est connecté. On a donc disons 6 machines à jour. 6 machines ce n’est de loin pas suffisant pour garantir que la prochaine validation/approbation sera fiable.
VDNchain contient un double système interne de mises à jour automatisées.
Le premier consiste à lancer à intervalle régulier des dials privés de comparaisons de chains de façon aléatoire entre machines ; ils ne durent que quelques micro-secondes et ne nuisent pas à l’utilisateur qui ne s’en aperçoit même pas s’il ne cherche pas à les repérer.
Dans notre exemple nous avons les datas de A et de B qui ont été modifiées. Elles disent donc, traduites en clair, que A détient désormais x unités, que B en détient maintenant y, et que cette transaction a été validée/approuvées par E, H, P, Y et Z. Si les machines C et D sont connectées à ce moment-là, chaque machine à jour (A, E, H, P, Y, Z au minimum) va chacune envoyer un signal à un un certain nombre de machines présentes sur le réseau simultanément. C et D finiront par recevoir l’information, d’où qu’elle vienne. Chacune d’elle recherchera dans sa chain si elle a des datas concernant A et B, et si oui elle cherchera à les mettre à jour.
Ceci fait elle enverra aux approbateurs précédents (ceux de A et ceux de B) les nouvelles datas ; si ceux-ci sont connectés ils effectueront de leur côté la même opération.
C’est une autre caractéristique de VDNchain : elle est capillaire. C’est par capillarité que se propagent ses mises à jour.
Si une machine est absente lors du cycle de mises à jour (non-connectée à ce moment-là) le second dispositif consiste à mettre ses chains à jour lorsqu’elle se loguera en envoyant sa demande “je suis X et je veux être reconnue”. Une fois sa connexion validée/approuvée elle modifiera sa chain non seulement en intégrant ses nouveaux blocs de connexion (qui l’a approuvé et quand) mais également en mettant à jour ses informations concernant A et/ou B si elle en détient déjà.
Par cette méthode on obtient globalement un niveau satisfaisant de chains/machines fiables. Ce qui n’empêche toutefois pas les conflits possibles.
5. La résolution des conflits
Si lors d’une transaction ni les “frères” ni les “cousins” ne tombent d’accord, celle-ci va être abandonnée. Cela signifie soit que les chains sont discordantes, soit qu’il y a tentative de fraude en envoyant des informations erronées ou volontairement falsifiées (tentative de hack).
N’ayant pas comme dans Bitcoin d’historicisation des transactions ni de PoW (preuve de travail) ni de “branche morte” (une bifurcation secondaire de la chain principale qui finit par devenir minoritaire puis abandonnée), une dernière tentative est alors essayée. Si sur 25 frères-cousins nous avons 10 avis différents c’est que les mises à jour en process aléatoire (capillarité) n’ont, par accident, pas été réalisées correctement lors des étapes précédentes.
On remonte alors programmatiquement les blocs d’approbations (qui et quand) pour déterminer quand a eu lieu la dernière mise à jour fiable, machine par machine. En gros si la machine X a été connectée/approuvée il y a 12 heures par O-P-Q-R, la machine Y il y a deux jours par F-G-H-I, le machine Z par M-N-O-P il y 3 jours etc, on obtient déjà deux approbateurs communs : O et P pour X et Z. On cherche alors dans les chains de O et de P si il y a des datas concernant A et B et si oui quelles sont leurs valeurs. On les compare ensuite avec celles de X et de Z : si elles sont identiques, alors elles sont statistiquement plus vraies que fausses ; ainsi de proche en proche on parvient à déterminer une définition de la “vérité transactionnelle” de A et de B.
Le principe général de VDNchain est de toujours faire confiance aux approbateurs majoritaires. Au fond ça revient au même que créer des “branches mortes” mais sans avoir à stocker des millions d’octets qui ne servent qu’à ça. Contrairement à Bitcoin qui stocke en bloc dans la chain le statut de chaque unité (qui l’a crée, qui l’a détenu, qui l’a échangé à qui...), VDNchain reflète un polaroïd instantané des résultats des transactions réalisée au moment T.
C’est un gros avantage pour gérer la timeline transactionnelle :
6. Les transactions timelinées
Bitcoin (et les autres) disent “à tel moment untel détient tant et tant d’unités”. VDNchain ne dit pas ça... Elle dit “dans l’absolu untel détient tant d’unités”. C’est une autre de ses caractéristiques spécifiques : être temporalisée.
Explication : La gestion des transactions (par exemple échange de crypto-monnaie de A à B) ne dépend pas du crédit/débit de chacun dans son porte-monnaie virtuel en un instant donné, mais de sa balance globale virtuelle : si A détient 150 unités de compte, qu’il en verse 100 à B puis 100 à C, les transactions sont validées/approuvées si D a entre temps garanti d'en verser 50 à A (qui est donc virtuellement créditeur). Les jeux d’approbations horizontales permettent de prédire à tout moment dans la durée d’un temps T le solde créditeur ou débiteur de chacun.
Tumblr media
Schéma du compte virtuel timeliné
Tumblr media Tumblr media
Donc en un moment T, alors que les contrats respectifs entre A, B, C et D ne sont pas encore réalisés, chacun des 4 utilisateurs détient le résultat du contrat une fois qu’il l’aura été.
Pour parler banque, si vous avez 1000 euros sur votre compte et que vous avez besoin d’acheter pour 2000 euros de matériel pour pouvoir réaliser un chantier qui vous en rapportera 5000, vous êtes contraint d’apitoyer votre banquier pour qu’il vous fasse confiance. Il doit vous croire.
Avec VDNchain, à partir du moment où une transaction (smart-contract) est validée/approuvée son exécution est garantie. Le paiement est garanti par un prélèvement/versement de la somme sur compte temporaire (escrow). Donc au moment T vous n’avez pas 1000 unités en solde créditeur mais 4000 : vos 1000 réels moins les 2000 à dépenser plus les 5000 à encaisser.
Ce dispositif interne permet d’adapter VDNchain à de nombreux usages où les besoins de trésorerie sont importants.
7. De la machine à l’homme
Ce n’est jamais l’utilisateur qui est blockchainé mais sa machine. L’un des avantages évident est que si quelqu’un vous vole votre login et votre mot de passe et qu’il rentre chez lui pour essayer de se connecter en votre nom pour vider votre compte, il ne sera jamais approuvé puisque les informations de connexion de sa chain le concernant ne sont pas conformes aux login/mdp qu’il tente de faire passer frauduleusement. Il ne pourra jamais être ni reconnu ni validé.
Cependant il est évident qu’un même utilisateur peut posséder plusieurs machines : un ordinateur fixe, un portable, un phone, une tablette... ou tout simplement qu’il veuille changer de machine pour une nouvelle. Lors de son inscription - comme à tout autre moment - il a accès une fois connecté soit à un QRcode soit directement à une URL temporaire valable quelques minutes qui loadera dans sa nouvelle machine les datas minimales à partir desquelles il pourra être reconnu. C’est une sorte de signature personnelle cryptée intégrée à ses chains comprenant entre autre sa clé privée.
Quand sa nouvelle machine quittera l’URL pour se connecter au service elle sera reconnue comme étant “celle de A” mais sans les chains complètes et à jour. Idem si il se reconnecte depuis son phone après une semaine d’utilisation depuis son ordi. Dans ce cas là le process de validation/approbation/mise à jour se déroulera comme prévu puisque les approbateurs précédents seront d’accord entre eux pour dire que leurs datas respectives sont conformes entre elles : il n’y a donc ni tentative de falsification ni conflit entre approbateurs.
8. Les technologies VDNchain
Moins de 300 Ko de ressources serveur + 100 Ko de ressources client suffisent à faire tourner VDNchain. Ceci est rendu possible par la fragmentation des chains et des ressources … à comparer avec les 4.5 Mo de datas Bitcoin et ses 10 minutes de validation/PoW.
De façon à être la plus universelle possible, VDNchain s’appuie sur les langages informatiques les plus universels possible : PHP pour la partie algo du serveur, Javascript et ses déclinaisons (Json, SSE, DSL, Ajax...) pour la partie client. Seuls les algorithmes de cryptage/décryptage/traitement des datas restent secrets ; tous les événements clients sont publics, toutes les chains contenues dans chaque machine peuvent être consultées. Leur encryptage par clés à lui seul en assure la sécurité.
Côté client, VDNchain est essentiellement constituée de deux types d’événements : les dialogues entre machines et les opérations sur les chains. 
Tumblr media
Côté sécurité, tous les échanges client-machines sont réduits au minimum et n’échangent que des datas cryptées réduites au minimum ; les intercepter ne servirait pas à grand’chose sans en détenir les clés et les algorithmes de traitement. La direction des dialogues (quelle machine parle à laquelle) est elle-même complexe à déterminer puisque les temps de réaction de chaque machine dépendent du matériel, de la connexion, de la charge réseau, des capacités du navigateur, etc.
Côté dialogue la plupart des échanges sont pilotés en SSE (Server Sent Event) pour la raison que tous les serveurs ne sont pas nécessairement paramétrables pour dialoguer en websocket, node, etc. L’universalité de VDNchain implique qu’elle soit utilisable au plus général. Ceci n’exclut évidemment pas d’utiliser d’autres technologies de dials machines dans des configurations particulières nécessitant plus de réactivité.
Côté opérations sur les chains tout est transparent, lisible et accessible, ce qui permettra ultérieurement à tout développeur de produire des utilisations spécifiques à patcher sur VDNchain en version API.
WebRTC n’étant encore ni correctement implanté ni très stable, il ne sera envisageable que d’ici quelques années. En revanche, toute machine ne comprenant ni HTML5 ni UTF8 (encodage de signes clavier, de lettres accentuées) ne peuvent utiliser VDNchain. Elles sont de plus en plus rares et ne doivent plus représenter que quelques % du parc mondial.
8. Les développements potentiels
Cette liste non-exhaustive propose quelques types d’usages possibles :
- communauté/collectivité : marché interne en crypto-monnaie - économie locale : transactions + historiques - formation : validation diplômes - location/prêt de biens : contractualisation temporaire/smart contracts - transports de personnes : validation de titres/confirmation VTC - transport de biens : contractualisation - jeux : position/gain de chaque joueur/pièce mutualisés - invention/création : antériorité des idées/méthodes/process - groupes : partage des missions + évaluations résultats - réseaux : protocoles de connexion/authentification - projets : outil de co-décision - énergie : gestion des stocks/consommations/économies - tâches partagées : historique + process successifs interdépendants - décision : traçabilité des chaines de décisions + approb. horizontales - contrats commerciaux : solvabilité/suivi exécution/bonne fin - droits d'utilisation : contrôle + suivi - localisation : géoloc personnes/ressources/objets/projets - partage de tâches : séquençages actions/temps - messagerie p2p crypto-sécurisée - datas persos : préférences, options, choix, caractéristiques, identités - produits : traçabilité de la production à la livraison - assurances : micro-contrats pour événements ponctuels - vote distant : validation/sécurisation + changement d'avis - IoT (Internet des objets) : smart contracts + paiements au service - etc.
0 notes
woldenavro · 8 years
Text
#blockchain : Cahier des charges VDNchain
L’API #VDNchain est un outil transactionnel peer-to-peer encore expérimental de type blockchain conçu pour être à la fois simple, rapide et fiable. Dès le début (été 2014) un cahier des charges a été établi pour définir à la fois sa philosophie générale et la ligne directrice de son développement. Pour en savoir plus sur les méthodes, les techniques et les objectifs reportez-vous aux articles précédents : http://woldenavro.tumblr.com/archive L'objectif de VDNchain n’est pas de proposer une solution universelle capable de concurrencer tous les outils/APIs blockchain actuellement disponibles mais de fournir une solution adaptée à des besoins clairement identifiés dans un contexte spécifique : - une communauté d’utilisateurs restreinte (moins de 100 000 personnes) - des besoins de transactions et des mises à jour très rapides (quelques secondes) - un cryptage assurant une sécurité de niveau satisfaisant (inviolabilité) - tous les utilisateurs sont strictement égaux entre eux (pas de miners rétribués)
Cet article aborde en détail les 20 points du cahier des charges qui ont présidé à l’élaboration de VDNchain :
1. simple Aucun outil, aucun logiciel particulier n’est à installer, tout se passe dans le navigateur web et tout passe par lui. Seule restriction : posséder des versions récentes comprenant HTML5 et les requêtes de type SSE, DSL, etc.
2. universel Le serveur contenant les algorithmes et les scripts techniques doit être le plus universel possible. PHP est actuellement le langage serveur le plus partagé ; il est offert en service de base chez tous les hébergeurs, contrairement à d’autres technos mieux appropriées mais plus rares type node/websockets. JavaScript est requis sur chaque machine utilisateur.
3. portable Utilisable sur tout appareil connecté : ordinateur, phone, tablette, mais aussi tout objet à venir (Internet des Objets) : montre, voiture, frigo, capteurs de toutes sortes.
4. rapide Toute transaction (login, mise à jour de chain, échange de crypto-monnaie associée, vote en ligne, ...) doit pouvoir être réalisée en moins de 10 secondes.
5. capillaire Aucune machine ne doit détenir l’intégralité des chains qui pourraient dès lors potentiellement être hackées ; seules des extraits cryptés sont disponibles machine par machine. Certaines fonctions de l’algorithme sont chargées de reconstituer momentanément les chains pour réaliser les opérations courantes nécessaires (approbations, transferts, mises à jour, ...) dont le résultat sera diffusé ensuite de machine à machine par capillarité de proche en proche.
6. sécurisé Les fonctions de cryptage (hashage, saltage, encodage et leur mutabilité) sont opérées sur 100 caractères et signes clavier (A->Z, a->z, 0->9, {[@!-_*?$]} ) par un jeu de double clé (publique et privée) inspiré de PGP pour assurer l’inviolabilité des chains. La mutabilité changeant l’encryptage à chaque transaction, la sécurité s’accroît avec le nombre d’utilisateurs. Si il y a à terme une transaction chaque minute, un hacker ne dispose que de ce laps de temps pour prendre le contrôle de toutes les machines connectées, reconstruire les chains complètes, les décrypter, les modifier et contraindre les machines à toutes se mettre à jour avec sa version frauduleuse.
7. paramétrable Un fichier de pilotage de l’API est éditable en mode admin pour gérer les utilisations et les types de contenus blockchainés : logins/identifications, transactions de crypto-monnaie, vote en ligne, etc. (voir usages plus bas).
8. économe Pour économiser de la bande passante, de la ressource serveur et du temps de calcul, les temps de dialogues inter-machines (peer-to-peer) sont réduits au minimum, de l’ordre de quelques dixièmes de secondes. Tout le reste se passe en langage client sur la machine elle-même. Il s’agit souvent autant d’une “synchronisation d’ordres” (le message n’a pas toujours d’importance en soi, c’est parfois le simple fait qu’il arrive qui importe) que de dialogues réels.
9. sobre L’algorithme est découpé en tranches fonctionnelles qui permettent de n’appeler que les fonctions utiles selon les besoins de l’instant, ce qui réduit aussi aussi d’autant les temps de calculs.
10. égalitaire Aucun miner ne détient de clés ni d’accès privilégié à quelque fonction que ce soit ; chaque utilisateur étant acteur à 100% de la chain et strictement de même statut permet une mutualisation complète des process de décisions/approbations/validations.
11. fiable Sans calcul de Preuve de Travail (PoW) la gestion des conflits (chains concurrentes ou contradictoires) doit être solutionné au plus vite (pas de “branche morte”) lors des process de mises à jour à la connexion de chaque machine.
12. fonctionnalisé La production de crypto-monnaie, de résultats de votes, de validation de login ou de tout autre type de données à blockchainer est fonctionnellement découplée de la gestion interne des chains ; l’algorithme ne fait que gérer les chains indépendamment de leurs contenus et de leurs sens d’usage.
13. temporalisé La gestion des transactions (par exemple échange de crypto-monnaie de A à B) ne dépend pas du crédit/débit de chacun dans son porte-monnaie virtuel en un instant donné, mais de sa balance globale virtuelle : si A détient 150 unités de compte, qu’il en verse 100 à B puis 100 à C, les transactions sont validées/approuvées si D a entre temps garanti d'en verser 50 à A (qui est donc virtuellement créditeur). Les jeux d’approbations horizontales permettent de prédire à tout moment dans la durée d’un temps T le solde créditeur ou débiteur de chacun.
14. indépendant Pas d’appels ou utilisation d’API externes : “toutes les ressources du réseau VDNchain sont sur le réseau VDNchain”.
15. vérifiable Les résultats des calculs algorithmiques doivent pouvoir être contrôlés visuellement un par un en un moment T en mode admin via une interface de data-visualisation, machine par machine ou globalement. Ce ne sont que les résultats qui sont consultables (quel calcul a été réalisé, ce qu’il a donné, quelle séquence a été produite), pas les données elles-mêmes puisque les clés de cryptages privées ne peuvent être toutes détenues simultanément par l’admin qui, en tant qu’utilisateur parmi d’autres, ne possède que la sienne.
16. optimisé Moins de 300 Ko de ressources serveur + 100 Ko de ressources client suffisent à faire tourner VDNchain. Ceci est rendu possible par la fragmentation des chains et des ressources ... à comparer avec les 4.5 Mo de datas Bitcoin et ses 10 minutes de validation/PoW.
17. protégé Toutes les chains et tous les scripts “client” consultables en code source sont cryptés et obfusqués.
18. modulable Adaptable rapidement à plusieurs utilisations très différentes (par exemple vote en ligne, coloured coins, titre de propriété, accès à des ressources, etc). Dire combien d’unités sont détenues dans porte-monnaie virtuel ou pour qui l’utilisateur a voté étant encodé/encrypté de la même façon, passer d’une utilisation à une autre n’est qu’une simple définition de contexte.
19. ineffaçable Les données des chains sont écrites sur chaque machine en différents endroits et selon différentes méthodes (cookies, sessions, storage, etc.) ; en supprimer ou en modifier une, c’est la reconstituer instantanément en tâche de fond.
20. réplicable Par un outillage spécifique (QRcode, URL persos) les chains individuelles peuvent être dupliquées à l’identique de l’ordinateur au phone ou à la tablette d’un même utilisateur reconnu et approuvé. Toutefois les mises à jour de chains, non-automatisées, se feront donc selon l’appareil utilisé à chaque connexion. Chaque appareil d’un même utilisateur (navigateurs différents) pourra donc du coup contenir des chains incohérentes entre elles mais ce n’est pas une difficulté puisque la reconnexion de l’appareil à VDNchain le remettra aussitôt à jour.
Exemples d’utilisations de VDNchain
Cette liste non-exhaustive propose quelques types d’usages possibles :
- vote distant : validation/sécurisation + changement d'avis - économie locale : transactions + historiques - formation : validation diplômes - location/prêt de biens : contractualisation temporaire/smart contracts - transports de personnes : validation de titres / confirmation VPC - transport de biens : contractualisation - jeux : position/gain de chaque joueur/pièce mutualisés - invention/création : antériorité des idées/méthodes/process - groupes : partage des missions + évaluations résultats - réseaux : protocoles de connexion/authentification - projets : outil de co-décision - énergie : gestion des stocks/consommations/économies - tâches partagées : historique + process successifs interdépendants - décision : traçabilité des chaines de décisions + approb. horizontales - contrats commerciaux : solvabilité/suivi exécution/bonne fin - droits d'utilisation : contrôle + suivi - localisation : géoloc personnes/ressources/objets/projets - partage de tâches : séquençages actions/temps - messagerie p2p crypto-sécurisée (non-interceptable) - datas persos : préférences, options, choix, caractéristiques, identités - ...
Quelques exemples développés
a. "Vote distant" avec changement d'avis : Une collectivité locale présente un projet pour lequel il faut voter. La sécurisation du vote est assurée par la chain (inviolabilité, impossiblité d'usurper une identité, cryptage, etc.). Un outil de débat/discussion/échanges est couplé à la plateforme de vote. Je vote une fois ma décision prise, mais en lisant les échanges je me rends compte que finalement mon vote ne correspond plus à ma volonté : je revote une seconde fois ou même une troisième, seul le dernier est pris en compte. Ce qui peut permettre des outils de citoyenneté plus riches en débats puisque rien n'est joué tant que l'heure de fin de vote n'a pas sonné.
b. "Localisation"+"Couplage de tâches" : A doit réaliser l'action 1 ; dès qu'elle est réalisée, B doit réaliser l'action 2, puis immédiatement après, C réalise l'action 3. Que A, B et C soient des individus ou des machines connectées ne change rien. Dès que l'action 1 est terminée l'info est mise à jour sur toutes les machines connectées (ordis, phones, outils...). Le B le plus proche (localisé) est immédiatement prévenu qu'il doit réaliser l'action 2. Celle-ci faite, la m-à-j capillarisée demande à la machine-outil C de réaliser l'action 3. En terme de productivité on zappe l'étape centralisée (tiers de confiance) qui reçoit et redistribue les informations entre A, B et C.
c. “Energie” : La détention sur les chains d'infos à la fois individuelles et globales (stats) permettrait à chacun de mesurer par ex son score conso comparé. On peut aussi imaginer des système de coloured coins attribués soit à des actions soit à des consommateurs d'énergie qui permettraient en dataviz de mesurer les évolutions. Ou encore concevoir un dial IoT entre compteur et phone qui capillarise en temps réel les consommations de chacun, ce qui peut permettre une gestion fine des approvisionnements. Et éventuellement le coupler à une transaction débit/crédit dans un sens ou dans un autre : par exemple ceux qui consomment le moins sont crédités au lieu d’être débités.
d. “Economie locale” : Une balance entre acteurs-producteurs locaux permet d’équilibrer les échanges : par exemple un boulanger qui a fourni le pain et récupéré des légumes auprès du jardinier sait que faire réparer sa fuite d’eau par le plombier le laisse créditeur pour aller ce soir à l’Opéra.
0 notes
woldenavro · 8 years
Text
Pour une #blockchain transactionnelle dynamique (part 3) : #VDNchain
Ce texte fait suite à 3 autres articles publiés sur le projet #blockchain que nous développons depuis quelques mois. Cet article va aborder quelques points techniques, mais avant ça retour sur la philosophie particulière de ce projet qui s’intitule désormais #VDNchain pour se distinguer des blockchains classiques type Bitcoin.
Pourquoi une autre approche ?
Ceux qui s’intéressent à blockchain savent à quoi ça sert et comment c’est fait : des machines en réseau échangent des données en peer-to-peer. Que ce soit Bitcoin, Ucoin, Ethereum ou encore Iota, toutes les plateformes blockchain actuelles fonctionnent de façon quasi-identique : parmi toutes les machines connectées un certain nombre d’entre elles ont un statut particulier, les miners. Ces miners ont pour fonction d’approuver un échange entre les machines A et B, que ce soit une transaction en crypto-monnaie, une certification de titre de propriété, un bulletin de vote ou n’importe quoi d’autre. Les miners reçoivent la demande, vérifient que A a le droit d’effectuer l’échange (par exemple qu'il détient effectivement les Bitcoins qu’il veut donner à B) puis, l’échange une fois validé, l’écrivent à la suite dans la grande chaîne de blocks partagée.
L’inconvénient de ce système est triple : 1. il existe encore des tiers de confiance (les miners) et donc potentiellement des opérateurs susceptibles de pervertir la confiance (attaque des 51% par exemple). 2. puisqu’il n’existe qu’une seule blockhain, les opérations de contrôle/validation sont très longues (4.5 Mo octets de datas à traiter et environ 10 minutes de calcul de résolution d’équation). 3. il est nécessaire d’installer des outils logiciels particuliers pour devenir acteur de la blockchain (faire appel à une API externe type Ethereum signifie simplement que c’est elle qui le fait à votre place).
Dès le départ #CIVchain a été conçu comme une alternative parallèle fonctionnant sur un tout autre principe plus dynamique : 1. il n’y a aucun miner ni aucun tiers de confiance : toutes les machines connectées sont strictement équivalentes, toutes font le job. 2. chaque transaction doit pouvoir être opérée en quelques secondes et le nombre de blockchains doit être adapté aux besoins. 3. aucun logiciel spécial n’est requis, tout se passe dans votre navigateur habituel.
Toutes les machines font le job
Dès qu’un navigateur est connecté à #VDNchain il est détecté par les machines déjà présentes sur le réseau. Si la machine contient déjà des chains elles sont évaluées par quelques-unes des autres machines connectées (toutes les mettre au travail serait trop lourd en terme de charge de réseau : si elles ne sont qu’une dizaine ça ne pose pas de problème mais si elles sont deux ou trois mille ça devient problématique). Si elle n’en contient pas encore c’est qu’il s’agit d’un nouvel inscrit et c’est un protocole différent qui se met alors en oeuvre.
Une fois les chains de la machine entrante mises à jour, elle devient immédiatement actrice de la chain et peut remplir à son tour sa fonction d’approbatrice de transaction.
Tout l’intérêt de #VDNchain est que c’est un système blockchain complet qui s’intègre comme API à n’importe quelle application web écrite en langages standards.
Des chains adaptées aux besoins
Il n’ y a pas UNE #VDNchain mais DES #VDNchains. Selon les besoins leur nombre est extensible à l’infini. Par exemple dans le projet #CIVY mené actuellement (échange de biens et de services sur base de transaction économique en crypto-monnaie interne) il y a trois #VDNchains.
La première concerne les logins. Elle contient un certain nombre de datas cryptées décrivant l’identité de chaque utilisateur comme par exemple son pseudo, son login, la date à laquelle il a été approuvé (celle de son inscription et de sa dernière connexion) et par qui. La seconde concerne les transactions elles-mêmes (leur historique). Elle dit quand et combien de CIVs (la crypto-monnaie interne au projet) ont été échangés entre A et B. La troisième concerne le porte-monnaie de chacun. Elle dit que tel jour à telle heure tel utilisateur détenait tant de CIVs suite à approbation de telle et telle autre machine. Ça peut ressembler à ça par exemple :
ryÊGV(qêêNzæEïDÙòêêæêiêêgêXÄy[j88lÛ5WAïzò8x58ûz8c({D8]fééÜqA@apÔòééAéËééÜéhLUrCGGëûëÏï8OòGGëG(GGØG-Y)å
ce qui une fois traduit donnerait :
Cette chain du 17-12-2015 à 17:49:24 confirme que 00004 détient +020 CIVs  approuvé par 00002-00001-00003-00005 le 17-12-2015 à 18:21:35, que 00008 détient +110 CIVs  approuvé par 00100-00001-01002-00922 le 15-12-2015 à 10:40:22, ...
Telle que présentée ci-dessus elle contient actuellement des datas complètes de 4 utilisateurs. Son encryptage est spécifique à chaque machine (clé privée). Cette même chain contenant rigoureusement les mêmes datas sur une autre machine donnerait :
uiKtwWj88lÛ5WAïzÒ21ô8Î8hl8NDp]CGGëûëÏï8OÒGG7GcGGèG4Y)åqêêNzæEïDÙÒêêNêëêêÈêÉÄy[fééÜqA@apÔÒééDélékméÊLUr
En regardant de très près on trouverait un certain nombre de signes communs qui relèvent de la clé publique (partagée par tous) ; les autres sont des signes relevant de la clé privée spécifique à chaque machine.
Réaliser les transactions en quelques secondes
Dès que A demande à verser 100 CIVs à B un dial s’ouvre entre certaines machines du réseau choisies en fonction de critères algorithmiques (voir “Frères-Cousins” dans un article précédent). Elles vont chacune comparer leurs chains de “porte-monnaie” et décider si la transaction est possible ou pas. Toutes appellent un algorithme spécifique présent sur le serveur #CIVY qui leur renvoie une donnée cryptée particulière selon qui fait la demande et selon ce qui est demandé ; là il s’agit de savoir si A et B peuvent réaliser la transaction demandée.
A partir de là tout se réalise très rapidement, en moins de 10 secondes. Chaque machine travaille en interne (hors-échange sur le réseau) et prend une décision. Une fois sa décision prise elle retourne sur le canal de dial ouvert entre elle et les autres approbatrices et énonce sa décision. Toutes les décisions recueillies sont analysées au niveau du serveur par l’algo (voir la question des “Généraux Byzantins” dans un autre article) qui renvoie à chaque machine de nouvelles données cryptées. Si la transaction est acceptée, sa notification est passée à A et à B qui modifient en interne leurs propres chains en changeant les montants de CIVs détenus, la date et les approbatrices selon leurs propres clés privées ; en même temps les machines approbatrices font la même chose pour elles-mêmes.
Les modes de cryptage changeant en fonction de la clé privée de chaque machine concernée, l’encodage général change également machine par machine, ce qui accroît encore le niveau de sécurité global du système : c’est à la fois le contenu de la chain et son mode de cryptage machine par machine qui change à chaque transaction.
Ensuite chaque machine alerte les “anciens approbateurs” (ceux qui avaient validé le dernier porte-monnaie avant cette transaction) qu’elles doivent se remettre à jour. Celles qui sont connectées à ce moment-là le font immédiatement ; les autres (non-connectées) n’étant pas à jour au moment où elles se reconnecteront devront se réactualiser à ce moment-là. On obtient ainsi au final plusieurs dizaines de machines mises-à-jour par capillarité du réseau en à peine quelques secondes.
Des chains équitablement réparties
Tout ceci est très efficace et fonctionne bien quand il n’y a que quelques dizaines ou centaines de machines concernées ; avec cent mille machines, ça devient plus compliqué. C’est la raison pour laquelle #VDNchain n’a nulle part, ni sur aucun serveur ni sur une seule machine, l’intégralité des datas de chains : elles sont réparties entre les machines à parts égales.
L’objectif est double : 1. rendre l’inviolabilité du process quasi-absolue : personne ne peut accéder à l’intégralité des contenus de chains ; parvenir à décrypter puis à modifier une chain sur une machine ne ferait que lui affecter un statut de “pas mise à jour” aux yeux des autres. 2. rendre le calcul algo plus rapide ; évaluer quelques milliers de signes ou plusieurs méga-octets ne représente pas le même temps de travail.
Le prochain article sera dédié à la techno pure : qu’est-ce qui est utilisé comme outil et comment ça marche.
1 note · View note
woldenavro · 9 years
Text
Pour une #blockchain transactionnelle dynamique (part 2)
Ce texte fait suite à http://woldenavro.tumblr.com/post/131954517180/pour-une-blockchain-transactionnelle-dynamique
On va aborder ici une question très technique assez compliquée  : le démarrage du process d’échange de datas entre les premières machines connectées et sa sécurisation.
Un système blockchain spécifique
Le premier point important est que le système sur lequel je travaille depuis quelques mois est très différent du système Bitcoin et assimilés. Si sur leurs principes ils sont similaires (réseau décentralisé, validation/approbation peer-to-peer, datas cryptées partagées, tiers de confiance collectif, etc.) il n’y a pas de miners ni de longs calculs à effectuer : les échanges s’effectuent en quelques secondes. Le pourquoi du comment c’est que l’on n’a pas besoin d’explorer l’intégralité de l’historique des échanges (4.5 Mo de datas chez Bitcoin) pour valider/approuver une transaction, il suffit que quelques machines connectées l’approuvent pour que la transaction se réalise. Lire http://woldenavro.tumblr.com/post/131219678690/pour-un-web-transactionnel-%C3%A0-base-de-blockchains et le protocole “frères-cousins”.
Nous avons donc un certain nombre de machines connectées qui détiennent toutes la même information mais sous des formes différentes (les encryptages sont spécifiques à chaque machine selon le système “clé publique-clé privée”) :
La machine A détient tant de CIVs (crypto-monnaie #CIVY) à telle date suite à l’approbation des machines W, X, Y, Z La machine B détient tant de CIVs (crypto-monnaie #CIVY) à telle date suite à l’approbation des machines N, Z, Y, X etc.
Ce qui ressemble à quelque chose comme : scÖrRÅsEEùùùcEE1EKEE?E?ZRRvRX4ch?RRrR[RRXRej88ô55W?!d?8858Nb227@UDdf??22t2o22U2... sur une machine et à : rDdëdzb227@UDdf?#22@2z2272?sEEùc???]EEkE?EE?EtZRRvRX4ch?MRRvRjRR1R?88ô55W?!d#88... sur une autre.
L’art difficile de la transaction
Lors d’une transaction de machine A à machine B on va aller chercher dans les chains de 5 machines connectées en même temps : - si A et B détiennent bien respectivement et partout le même nombre de CIVs - si la transaction est possible (par exemple assez de crédit pour A)
Les machines “frères” dialoguent entre elles hors de portée de A et de B et décident ou pas d’approuver la transaction ; si elle l’approuvent le versement de xx CIVs de A à B est effectué, les comptes de chacun réévalués et l’information transmise par capillarité aux autres machines comme exposé dans l’article précédent. Après quelques secondes, toutes les machines connectées ont leur chain à jour, y compris A et B évidemment.
L’art encore plus difficile de la capillarité
Lorsqu’un nouveau participant s’inscrira sur #CIVY, la blockchain en cours doit impérativement lui être distribuée ; lui-même devra s’y ajouter en tant que block à ajouter à la suite des autres... Ce qui implique donc qu’il y ait des machines à jour dès le lancement du projet afin que tout nouvel arrivant puisse s’intégrer au process.
Toute la difficulté est de créer ces premières machines. Par analogie elles sont en quelque sorte les miners du système, celles à partir desquelles tout peut se mettre en place.
On est donc techniquement obligé de passer par la création de pseudo-chains qui devront s'actualiser à mesure que de nouvelles machines se connecteront. Ça marche comme ça :
1. la machine 1 se connecte (inscription). Elle est toute seule sur le réseau et elle se crée toute seule une pseudo-chain cryptée (tous les échanges sont cryptés, il n’y a jamais nulle part passage de datas en clair) qui dit : machine 1 possède 0 CIVs à ce jour et à cette heure/min/sec approuvé par machine0+machine0+machine0+machine0 Elle se met alors en mode “écoute”.
2. quand les machines 2 à 4 se connectent/s’inscrivent elles font exactement la même chose, elles se créent des pseudo-chains du même genre mais selon leurs propres cryptages dépendant de leurs clés privées fixées par l’algorithme.
3. quand la machine 5 s'inscrit à son tour ça se passe autrement : - le mode “écoute” est désactivé le temps que l’algo fasse son boulot (il ne faudrait pas qu’une 6e machine apparaissent sinon ça mettrait un bazar pas croyable) - les 5 machines s’échangent leurs données respectives, mettant à jour à la fois leurs approbateurs respectifs (les autres machines présentes) et empilant les blocks créés les uns aux autres jusqu’à obtenir une chain complète similaire sur chaque machine :
machine [n0] détient 0 CIVs en date de [now] validé par [n1,n2,n3,n4]+machine [n1] détient 0 CIVs en date de [now] validé par [n0,n2,n3,n4]+machine [n2] détient 0 CIVs en date de [now] validé par [n1,n0,n3,n4]+machine... etc
... similaire en terme de contenu mais pas en terme de cryptage :  - l’ordre des machines n’est pas le même (les mises à jour/actualisations se font en temps réel du dial entre elles : l’info mach[n] qui arrive en premier se place en premier) - les clés de cryptage sont différentes et donc les datas de la chain également.
Là où c’est un peu compliqué c’est que chaque machine doit ajouter à sa chain des datas provenant d’autres machines encryptées différemment. Il serait ruineux en temps et en énergie (et en même temps dangereux en terme de sécurité) de tout décrypter puis tout réencrypter selon la clé de la machine réceptrice. Les chains étant construites selon plusieurs modes d’encryptage, cela a comme conséquence que chaque machine détient dans sa chain des infos qu’elle-même n’est pas capable de comprendre :-)
Elle ne les comprend pas mais elles sait où elles sont : lorsqu’une transaction aura lieu et qu’on cherchera si les datas de chaque machine sont conformes pour approuver l’échange final de CIVs, chaque machine cherchera dans la chain des autres ce qu’elle peut comprendre : c’est comme ça que chaque machine sait qui a validé quoi et quand.
3615 dial hot
Les dials entre machines sont des sortes de salons privés en SSE (chats) où des canaux de discussions sont temporairement ouverts entre certaines machines (”frères” ou “cousins”) le temps de négocier une approbation collective pour valider ou pas une transaction.  L’échange est très rapide (de 2 à 5 secondes) et le canal aussitôt refermé une fois la décision prise. Tous les échanges se font en mode crypté pour ne pas être facilement piratables.
Hack me, please ha-a-ack me
Conformément au principe général de blockchain toutes les informations sont réparties équitablement sur le réseau et toutes les informations sont disponibles et consultables par tous.
La sécurité n’est donc pas assurée par une muraille plus ou moins épaisse et plus ou moins infranchissable mais par l’ensemble du réseau des machines connectées quand elles se mettent à dialoguer.
Hacker de type de blockchain nécessite donc un certain travail : 1. comprendre comment la chain est cryptée sachant qu’il y a plusieurs types de crypts par chain et que chaque crypt est un dosage de translation, de hashage, de saltage dépendant de clé publiques et de clés privées (voir système PGP) 2. comprendre ensuite quoi modifier pour espérer devenir très très riche en CIVs 3. prendre le contrôle de toutes les machines connectées simultanément, récupérer leurs chains, les comprendre/décrypter en utilisant leurs clés privées respectives 4. les remettre sur chaque machine en étant sûr de remettre la bonne au bon endroit 5. lancer une transaction en espérant qu’entre temps d’autres machines ne viendront par dire que tout ça c’est du pipeau et qu’il y a sur le réseau quelqu’un qui joue au plus malin 6. faire vite parce si une transaction a lieu entre temps les chains auront été modifiées et réencryptées en conséquence.
Contrairement à Bitcoin il n’y a pas d’historique des transactions parce qu’il n’y a rien à historiciser : chaque Bitcoin est numéroté et c’est son “état” qui est traçable (qui l’a crée, qui l’a détenu et quand, etc.). Là on ne contrôle pas l’ “état” de chaque CIV mais celui de la machine qui le détient en un moment T : qui a validé son passage du porte-monnaie virtuel de de A à celui de  B. Le “grand livre de comptes” partagé entre tous ne retrace pas l’histoire de l’échange mais réalise une photographie instantanée de l’état des échanges au moment T. C’est la conformité de chaque image avec toutes les autres qui garantit la sécurité générale du système.
0 notes
woldenavro · 9 years
Text
Pour une blockchain transactionnelle dynamique
Blockchain est un système complexe de validation de transaction horizontale inventé par les auteurs de Bitcoin, une crypto-monnaie. Voir cet article : http://woldenavro.tumblr.com/post/131219678690/pour-un-web-transactionnel-%C3%A0-base-de-blockchains qui expose comment cette technologie peut servir à bien d’autres choses qu’à la création monétaire.
La blockchain version Bitcoin (ou Ucoin ou tous les autres altcoins en cours) est hyper-complexe à gérer parce qu’elle intègre dans le même système la production de la monnaie et la sécurisation de ses transactions. L’idée sur laquelle je travaille depuis pas mal de mois est de concevoir un système blockchain qui découple la production et la transaction. Utilisé par exemple pour garantir/sécuriser un vote à distance (voir le cafouillage monumental du récent “référendum” du PS où un même internaute a pu voter plus de 10 fois) il n’est pas nécessaire d’intégrer la production d’unités (monnaie, électeurs) au système : s’intéresser à la transaction elle-même est suffisant.
Les données d’une transaction
Tout échange entre A et B est une transaction où A s’engage à donner quelque chose à B en échange d’autre chose. Ce qu’on doit contrôler c’est que A et B possèdent bien ce qu’ils vont s’échanger. Sans “tiers de confiance” vertical surplombant la transaction, celle-ci doit pouvoir s’opérer horizontalement dans une “confiance de réseau” : ce sont les machines connectées simultanément qui vont dialoguer et approuver (ou pas) l’échange, garantissant à la fois que A et B existent et que A détient bien ce qu’il a promis de donner à B.
Donc l'équation à résoudre est double : A possède-t-il de quoi tenir sa promesse et les machines (les “approbateurs”) sont-elles au courant de tout ?
Dans la blockchain Bitcoin ce sont des machines particulières (les miners) qui vont réaliser les opérations de contrôle, ce qui implique qu’on a besoin d’un certain nombre de miners connectés. Dans le système sur lequel je travaille, toutes les machines sont acteurs du contrôle ce qui implique une complexité supplémentaire : qu’est-ce que chaque machine sait ou ne sait pas ?
Ce que sait une machine
Chaque transaction doit être approuvée par 5 machines connectées au moment T (j’aurais pu en mettre 10 ou 100  mais ça ralentirait d’autant de temps de travail). Quand A dit à B “je vais te donner 100 CIVs" (la monnaie virtuelle servant à rémunérer les échanges) on doit en premier lieu contrôler qu’il les possède pour de vrai. N’ayant aucun livre de compte centralisé extérieur (base de données sur un serveur par exemple) on doit donc trouver 5 machines qui savent ce que détient A dans son porte-monnaie virtuel. Mais il y a deux choses qu’on ne peut pas savoir d’avance : (1) est-ce que les machines qui savent ce que A détient comme CIVs (c’est écrit en codes cryptés dans les blockchains) seront connectées au moment T de la transaction? (2) est-ce que le montant qu’elles associent à A est réellement le montant actuel de CIVs qu’il détient ?
On peut facilement interroger toutes les machines connectées au moment T quand il n’y en a que quelques dizaines, mais s’il y en a des dizaines de milliers ce n’est plus possible : non seulement ça prendrait trop de temps et ça boufferait énormément d’énergie, mais en plus rien ne dit qu’à l’autre bout de la chaine il n’y a pas une autre transaction en cours qui modifierait les blockchains (et donc les “savoirs”) des machines en train de travailler à cette transaction. On leur demanderait donc des informations qui seraient complètement obsolètes quelques secondes plus tard.
Une blockchain de CIVs (celles pour s’identifier, pour voter ou pour garantir la validité d’un titre de transport sont conçues un peu autrement) comporte sur chaque machine 2 informations distinctes : la date de dernière mise à jour de la chaine et les données de chacun : montant en CIVs, date et approbations :  V,W,X,Y et Z confirment que A détient bien 250 CIVs le 26 octobre 2015 à 10h12’30’’, L,M,N,O et P confirment que B détient bien -100 CIVs le 22 octobre 2015 à 12h30’22’’, etc…
Au moment T où A déclare qu’il versera ses 100 CIVs à B on cherche alors dans le pseudo-volume 3D formé par les machines connectées les 5 machines les plus proches, celles-ci n’étant pas forcément les plus à jour. Elles engagent alors un dialogue entre elles pour savoir qui sait quoi sur A. Selon la date de la partie de chain concernant A, elles sont capables de décider laquelle est la plus à jour. Si le pourcentage est inférieur à 66% on part interroger d’autres machines jusqu’à ce qu’on obtienne un rapport à 70% ou plus (voir le système Frères-Cousins).
Une fois les 5 futurs approbateurs déterminés on entre alors dans une danse un peu particulière : le cycle des mises à jour.
Des chains à jour
On ne peut pas raisonnablement espérer mettre toutes les chaines à jour sur toutes les machines ne serait-ce que parce certaines à l’autre bout sont déjà en train de le faire et qu’on entrerait alors dans des process contradictoires. Bitcoin n’a pas ce problème parce que le temps de résolution de l’algorithme est tel (10 minutes) que ça ne peut pas arriver. Là on est dans l’ordre de la demi-seconde pour réaliser l’opération.
Le graphique ci-dessous explique la méthode. Chaque U (utilisateur) à une date de mise-à-jour de sa chain étagée entre T-1 (la toute dernière m-à-j réalisée avant l’instant T) à T-n qui peut aller de quelques secondes à quelques jours.
uO est A (celui qui initie la transaction)
Tumblr media
Au moment T on met à jour les chains des frères et de A : T devient t-1 puisque c’est bien la dernière m-à-j réalisée
Tumblr media
Imaginons que la chain de A ait pour approbateurs  u2, u3, u7, u11 et u15. Deux ne sont pas connectées (u11 et u15) mais les trois autres sont là (u2, u3 et u7). On les met aussi à jour :
Tumblr media
On a donc 8 machines réactualisées :
Tumblr media
Ensuite on fait la même chose avec B (u10) qui lui aussi a ses propres approbateurs et qui n’en trouverait qu’un seul :
Tumblr media
Grâce à ce process de “capillarité” (mise-à-jour de proche en proche) chaque transaction réactualise des “paquets de machines” en réactualisant leurs blockchains respectives. On maintient ainsi toujours un nombre minimal et suffisant de machines à jour permettant d’assurer dynamiquement la sécurité transactionnelle nécessaire. En effet, imaginons que la transaction suivante implique par exemple  u5, u16 et u19, on obtient alors :
Tumblr media
...où 90% des blockchains machines sont réactualisées (entre  T-1 et T-2) en 3 transactions. Sur un total de 100 machines connectées, chaque transaction en actualisera entre 10 et 18 comme on vient de le voir : - les 4 anciens approbateurs de A, - A lui-même - plus ses 4 nouveaux approbateurs si ils sont différents Plus la même chose pour B.
Statistiquement parlant moins de 10 transactions permettent donc de maintenir à jour plus de 90% des blockchains totales en cours, que ce soit sous la forme T-1 ou T-2.
La question des “trous temporels”
Blockchain permet  de savoir au moment T que  A détient 100 CIVs qu’il pourra donner à B une fois que B aura terminé sa prestation (offre de service rendu ou de savoir partagé). Il existe toutefois un “trou temporel” entre le moment où A fait la demande de prestation à B (disons T1) et celui où A paye B (T2) qui pose problème.
Au moment T1 on s’assure que A peut payer B et donc que ce dernier peut avoir confiance (c’est la base de blockchain, contrairement à la banque qui quoique “tiers de confiance” peut rejeter le paiement de A pour insuffisance de provision) ...mais qui saura si au moment de payer B (T2) A n’aura pas entre temps dépensé ses CIVs et donc que B ne pourra pas encaisser les siens ?
Un double dispositif est intégré à l’outil :
Au moment T1 les chaînes d’approbation garantissent que A est provisionné du montant requis. Le problème est que si A ouvre un autre contrat avec C les chaines diront en toute bonne foi que A possède toujours de quoi honorer ce second contrat... en oubliant que le premier ne peut plus l’être :
Tumblr media
Le premier dispositif consiste à créer un compte fictif (banque virtuelle) placé comme premier utilisateur (u0) dans les blockchains qui sera réactualisé comme les autres à chaque moment T1 puis T2 :
Tumblr media
Le second consiste à “intentionner” A : si par exemple D demande en même temps à A un savoir ou un service pour 300 CIVs on obtient :
Tumblr media
... ce qui permet en cas de contrats assez longs avec plusieurs semaines entre début et fin (genre cours de dessin alors que pour un déménagement un week-end suffit) de ne pas bloquer artificiellement les échanges tout en préservant la sécurité des transactions/approbations. On passe de façon temporaire par la création d’une pseudo-chaine qui stocke les “états virtuels” du compte de A bien qu’aucune transaction n’ait encore été réalisée :
Tumblr media
A a donc 3 “états”  de compte : (1) son compte “réel” tel qu’il l’aura affiché à l’écran : combien de CIVs sont détenus pour de vrai (2) son compte “théorique” qui peut être différent mais n’est jamais accessible ni consultable (3) son compte “virtuel” qui prend en compte les autres transactions en cours pour définir son solde une fois toutes les transactions achevées.
Ça c’est le principe théorique ; en pratique c’est encore en cours de développement mais pour le moment ça marche plutôt pas trop mal. La suite quand il y aura du nouveau... :-)
0 notes
woldenavro · 9 years
Text
Pour un “web transactionnel” à base de blockchains
Pour rappel “blockchain” est un terme inventé par les créateurs de Bitcoin, une crypto-monnaie dont vous avez certainement entendu parler si vous n’avez pas passé ces 5 dernières années dans une grotte de l’Himalaya. Le principe est simple, le déploiement plus complexe. En gros il s’agit de concevoir un système de données 100% décentralisées, à la fois pour des raisons de sécurité (question importante quand il s’agit de transfert d’argent d’un compte à un autre) et pour des raisons de modernité. Jusqu’à une époque récente, l’intégralité des services web était organisée autour d’une architecture simple : vous aviez d’un côté un serveur qui détient des données (des photos, des textes, mais aussi par exemple des mots de passe... que ces données soient écrites en clair ou en crypté sur le serveur ou dans une base de données ne change rien) et de l’autre des “clients” (votre navigateur web) qui demande à les consulter dans un flux top-down : du haut vers le bas. Le modèle OSI au coeur de l’Internet organise l’intégralité de l’échange de données en 7 couches (http://sdz.tdct.org/sdz/apprenez-le-fonctionnement-des-reseaux-tcp-ip.html) ; ces couches forment un protocole (plus ou moins bien) sécurisé permettant d’assurer que la machine (l’ordinateur, le téléphone, la tablette) qui demande à consulter ces données est bien celle qu’elle prétend être, que celui qui reçoit la demande (le serveur par exemple) est bien celui qui le détient et enfin que les données distribuées seront bien celles demandées et qu’elles arriveront effectivement en bon état à bon port. Pour s’assurer que tout cela fonctionne, chaque couche opère un certain nombre contrôles et utilise un certain nombre de protocoles et d’identifiants (MAC, IP, TCP, UDP, RTC, HTTP...) qui font qu’au final quand je tape www.google.fr dans mon navigateur c’est bien google qui s’ouvre.
La question du “tiers de confiance”
Que ce soit sur le web ou ailleurs, toute transaction passe par un “tiers de confiance”, une tierce partie qui garantit que l’échange sera réalisé de façon juste et honnête : quand j’achète ma baguette de pain et que je donne 1 euro à la boulangère, il y a un tiers de confiance (le système bancaire) qui lui garantit que mon argent est valide... ce qui n’exclut pas l’existence de fausse monnaie. De même quand j’entre mon login et mon mot de passe pour m’identifier sur un site - disons Facebook - OSI via ses protocoles fait office de tiers de confiance en me garantissant que c’est bien FB qui s’ouvrira mais ne peut pas garantir que le login et le mot de passe que je donne sont effectivement à moi. C’est alors FB lui-même qui joue ce rôle de tiers de confiance en essayant de sécuriser du mieux qu’il peut les identifiants de connexion de ses membres... ce qui n’exclut pas qu’un hacker puisse me voler mes identifiants et se faire passer pour moi. Si se faire voler ses identifiants sur FB est ennuyeux ça ne mène pas très loin ; en revanche se les faire voler sur le site de sa banque avec en plus son numéro de carte bleue est plus problématique. Idem pour un état civil ou encore un acte notarié : j’imagine un type qui sonnerait à ma porte un matin, me montrant à la fois des papiers d’identité à mon nom et un titre de propriété de ma maison en bonne et due forme... là ça commence à devenir grave craignos.
Le réseau comme tiers de confiance
Ces inconvénients, ennuis et galères potentiels proviennent d’une gestion verticale et centralisée des données. Prenons deux exemples : je descends de l’avion et passe par le contrôle de police où je montre mon passeport. Le type l’épluche, le scanne sous toutes ses coutures, regarde la photo, me regarde moi, puis encore la photo, puis moi encore une fois, bref, il s’assure que ce document d’identité créé par le tiers de confiance “République française” correspond bien à ce que je prétend être. Il ne me connaît pas, ne m’a jamais vu de sa vie et pourtant il prend une décision : m’accepter tel que le document me décrit comme “vrai”. Il peut le faire parce que il sait qu'une structure centralisée (l’administration française) a verticalement (de elle en haut à moi en bas) reconnu mon identité. Si le passeport est faux mais parfaitement réalisé et que je suis recherché par toutes les polices du monde ce type n’y est pour rien et ça ne changera rien à rien. Second exemple : j’entre dans une pièce où il y a dix personnes. Sur ces dix personnes seules trois me connaissent ; je les salue, elles me saluent et disent aux sept autres : c’est untel. Le tiers de confiance est alors ces trois personnes qui se portent garante de mon identité. Nous ne sommes plus tout dans une approbation verticale centralisée mais horizontale de pair à pair (peer-to-peer : p2p), d’égal à égal. Si personne dans la pièce ne me connaît il va toujours se trouver quelqu’un pour demander soit ouvertement à tout le monde ou alors à voix basse à son voisin “c’est qui ce type qui vient d’entrer ?” ; si personne n’a la réponse on va alors me demander qui je suis et ce que je fous là puisqu’aucun tiers de confiance n’aura validé la transaction. Revenons au web. Quand je dis à FB “coucou je suis Untel et mon mot de passe est Duchnok” FB se contente de vérifier de façon verticale et centralisée dans ses bases de données s’il existe bien un inscrit nommé Untel dont le mot de passe est Duchnok ; si oui il me répondra “salut Untel et bienvenue”... que je sois Untel ou pas. Donc si je réussis à vous voler vos identifiants, que ce soit en regardant par-dessus votre épaule ou en attaquant la base de données qui les contient le résultat est le même : je me fais passer pour vous et personne n’y peut rien. Personne n’y peut rien ? Pas si sûr...
Blockchain au secours
Tel que présenté par Bitcoin, blockchain est un système d’identification-approbation de transaction p2p horizontal : ce que vous détenez comme Bitcoins dans votre porte-monnaie virtuel n’est pas écrit dans un grand livre de comptes - comme dans une banque - mais réparti entre différentes machines du réseau. Quand vous versez 10 Btc à Fred il n’y pas quelque part une énorme base de données centrale qui cherche combien vous avez sur votre compte et qui vous les retire pour les créditer à Fred, mais des machines qui se concertent, qui dialoguent, chacune détenant un morceau crypté des informations nécessaires à la réalisation de la transaction. Dans sa version Bitcoin, blockchain est extrêmement complexe et très long à processer : 35 méga-octets de datas sont à traiter et 10 minutes de calculs sont nécessaires à la résolution d’un algorithme très compliqué à résoudre. C’est le prix de la sécurité de la transaction Btc. D’autres systèmes blockchain sont apparus depuis (Ucoin par exemple) mais tous fonctionnent à peu près de la même façon.
Blockchain c’est quoi ?
Si on s’extrait de ce contexte de transaction financière Bitcoin ultra-sécurisée, blockchain est littéralement une “chaîne de blocs”, c’est-à-dire un ensemble de données mises bout-à-bout pour former une fois cryptées un gros paquet de données agglomérées. Ces données agglomérées sont découpées elles-mêmes en sous-chaînes qui seront déposées sur différentes machines du réseau. Imaginons que je veuille “blockchainer” mon nom et mon pseudo : la chaîne “AlainBrégyWoldenAvro” peut par exemple devenir en intervertissant les lettres deux à deux “AanrgWleArliBéyodnvo” puis en remplaçant chaque lettre par sa suivante dans l’alphabet “BboshXmfBsCfzpemwp”. Maintenant je la découpe en deux et je donne “BboshXmfB” à la machine A et “sCfzpemwp” à la machine B. Si “AlainBrégy” est mon identifiant et “WoldenAvro” mon mot de passe et que je veuille me connecter, l’approbation sera nécessairement horizontale et p2p parce qu’il n’existe nulle part aucune donnée écrite sur aucun serveur disant que cet identifiant et ce mot de passe sont appariés. Pour m’identifier, les deux machines A et B devront dialoguer entre elles à voix basse (sans que je sache ce qu’elles se disent ni que je puisse savoir qui décide quoi) en échangeant entre elles ce qu’elles savent, et au final le résultat sera “OK tu es bien ce que tu dis être”. Mais si j’ai volé ces identifiants ? Si je ne suis pas qui je dis être ? Toute l’astuce de blockchain est d’introduire le demandeur dans la boucle : j'aurai moi aussi sur ma propre machine des morceaux de la blockchain globale qui seront pris en compte dans le dialogue inter-machines (Internet des Objets). A moins que le voleur utilise aussi ma propre machine en plus de mes identifiants (là ça fait beaucoup...), s’il entre mes codes et que sa propre blockchain - et à condition qu’il en ait une... - ne soit pas conforme à ce qui est attendu il ne recevra jamais l’approbation p2p attendue. Blockchain est donc dès le départ conçu comme un système plus et mieux sécurisé que l’architecture web traditionnelle.
Des usages possibles
Mais ça va bien plus loin... Si échanger des crypto-monnaies est la vocation initiale de la blockchain inventée par Bitcoin son rôle à venir ne s’arrête pas là. Blockchain a vocation à gérer le partage et l’échange de toutes les données sensibles. Dès lors qu’une authentification est nécessaire (login, vote en ligne, accréditations, etc.) elle présente toutes les garanties nécessaires. Premier exemple, le vote en ligne. Bien des gouvernants hésitent à ouvrir des consultations publiques avec vote à la clé sur des sujets touchant la citoyenneté, prétextant que les technologies sont peu fiables ; c’est vrai qu’un bureau de vote virtuel avec résultats enregistrés en base de données peut être piraté et les résultats faussés ou même détruit, annulant ainsi l’élection, et c’est vrai aussi que supprimer un cookie est la portée de tout le monde et permet à ce même tout le monde de voter 15 fois de suite pour ou contre le projet. Avec blockchain c’est impossible : les résultats sont cryptés dans chaque parcelle de chain ainsi que le votant et son bulletin. Quelqu’un peut bien s’il le veut voter une seconde fois, il ne fera que remplacer son vote précédent, ce qui disons assez démocratique au fond : après avoir expliqué à mes potes que je viens de voter non ils m’expliquent et me réexpliquent en quoi le oui est préférable, alors du coup je revote une seconde fois - si cette option est permise naturellement, on peut aussi imaginer qu’une fois un votant détecté dans la blockchain il ne puisse plus modifier son premier vote. Second exemple. Hypothèse pour l’an 2020 : je suis devant ma Tesla électrique sans chauffeur (c’est une voiture) avec mon phone en main. Pour pouvoir l’ouvrir et démarrer j’ai besoin d’être identifié. Une voiture ou un phone étant des “objets connectés” ils peuvent dialoguer, envoyer au réseau des autres machines connectées en même temps des process d’approbation et m’ouvrir la voiture sitôt mon login/password + les blockchains du phone et la Tesla approuvés. Comme chaque opération sur les blockchains, l’historique des transactions est traçable.
Questions de traçabilité
Bitcoin a opté pour un système lourd de traçabilité : chaque Bitcoin (21 millions au total) est numéroté et son historique complet disponible à tout moment : qui l’a créé (miners), qui l’a détenu, qui l’a échangé avec qui et quand. Cette traçabilité maximale a ses raisons d’être mais elle alourdit considérablement le temps d’approbation. Plus de 10 minutes sont actuellement nécessaires comme dit plus haut. On peut aussi imaginer une autre logique de blockchain traçable, c’est ce sur quoi je travaille actuellement pour authentifier des logins et des échanges de crypto-monnaie virtuelle. Le principe est que toute transaction quelle qu’elle soit est approuvée par un certain nombre de machines connectées simultanément et qu’une fois la transaction acceptée, la blockchain est mise à jour sur toutes les machines concernées : celle demandant la transaction et celles l’ont approuvée. Par exemple disons qu’un morceau de blockchain contienne les données suivantes : “Les machines numérotées 22010, 00159, 12156, 33878 et 14547 ont approuvé la connexion de “Wolden” avec le mot de passe “Azerty” le 14 octobre 2015 à 12h33′30″. Si Wolden se déconnecte et veut se reconnecter deux jours plus tard il possédera la même information (historique de connexion) sur sa propre machine ; celle-ci enverra alors sur le réseau le message “Hello je suis Wolden, qui ici me connaît ?” aux machines connectées à ce moment-là, certaines répondront (voir plus bas “Reco faible”) et d’autres pas ; celles qui répondront chercheront dans leurs propres blockchains ainsi que dans la mienne si les informations se recoupent (qui m’a validé/approuvé et quand ?) jusqu’à ce qu’un certain nombre répondent “Oui on sait qui tu es” et qu'elles me reconnectent elles-mêmes : ce n’est pas le serveur qui me renvoie l’information “tu es connecté” après avoir consulté les données de connexion me concernant puisqu’il n’en a aucune, mais les autres machines qui les lui envoient en mon nom (approbation horizontale). Je suis alors connecté sans savoir par qui (anomymat d’approbation) puisque la partie de blockchain parlant de ma connexion s’est réactualisée chez moi comme chez mes approbateurs. Là, si vous avez suivi avec attention vous vous posez sûrement une question : les machines qui m’ont approuvé et dont la blockchain vient d’être réactualisée ne sont pas forcément les mêmes que celles qui m’avaient approuvé avant-hier... il y a donc plusieurs informations contradictoires en circulation ?
Le principe de “reco faible” et les généraux byzantins
Interroger toutes les machines connectées n’est pas envisageable en terme d’économie de temps, d’énergie consommée, de charge réseau, de latence de retours, de bande passante, de calculs, de décryptage, etc. On va donc choisir quelles machines interroger et lesquelles ignorer. C’est là qu’on arrive à la question dite du “Problème des généraux byzantins” (https://en.wikipedia.org/wiki/Byzantine_fault_tolerance#Origin) :-) Des généraux de l’armée de Byzance encerclent une cité, chacun occupant avec sa propre armée une portion de pourtour de la ville assiégée. Il y a ceux qui pensent qu’il vaut mieux attaquer et ceux qui pensent qu’il vaut mieux se replier. Comment faire, sachant que ces généraux ne peuvent quitter leurs postes pour en parler ensemble de vive voix, pour être sûr que les informations que chacun reçoit des autres correspondent à un choix collectif ? Qui dit qu’un général félon ne va pas faire croire aux autres que tel autre a dit de se replier alors qu’il lui a demandé d’attaquer ? La question de la fiabilité des approbations se pose encore en terme de “tiers de confiance” :  puisqu’il n’y a pas d’autorité centrale supérieure (état-major) pour donner l’ordre qui partira d’en haut et redescendra jusqu’aux généraux sur le terrain, rôle habituellement dévolu aux serveurs et leurs données internes, comment s’assurer que les dialogues inter-machines ne sont pas faussés par un intrus possible ? C’est là qu’on parle de “reconnaissance faible”. La reconnaissance faible dit qu’il n’est pas nécessaire que tous les généraux de Byzance reçoivent le même ordre mais qu’il suffit qu’un certain nombre d’ordres soient identiques pour qu’ils puissent être suivis, avec un traitre ou pas dans la bande. On peut imaginer toutes les machines connectées simultanément comme un volume 3D en forme de ballon de football constitué de plusieurs panneaux à 5 côtés cousus ensemble, formant donc des lignes (les coutures des panneaux) et des points (3 panneaux quand ils entrent en contact par un de leurs sommets) : chaque point de contact est une machine et chaque couture un canal de dialogue. Quand Wolden cherche à se connecter il “atterrit” quelque part - peu importe où - sur la surface du volume 3D. Il a donc nécessairement autour de lui 5 machines : les 5 coins du panneau sur lequel il arrive. Ces 5 points sont appelés ses “frères”. C’est avec ces 5 machines (points rouges) qu’il va prioritairement dialoguer :
Tumblr media
Si les 5 machines (100%) trouvent Wolden et ses identifiants et approbations dans leurs blockchains respectives elles le connectent et toutes se remettent à jour. Si seules 4 d’entre elles le trouvent mais pas la 5ème on est à 80% de reconnaissance : on approuve quand même et on met tout à jour, y compris la 5ème. Si 3 sur 5 le reconnaissent (60%) on est en-dessous du seuil de 66% requis (2 sur 3 a minima), on interroge alors les “cousins” (points orange). Le recours aux “cousins” est plus chronophage et énergivore alors on va le limiter à 5 machines (sur 15) pour commencer. A partir de là ça devient plus compliqué : si 3 frères et 5 cousins connaissent Wolden on arrive à 3/5 + 5/5 = 8/10 = 80% et on approuve. Si seulement 3 cousins le connaissent ça nous amène à 3/5 + 3/5 = 6/10 = 60%... le seuil n’est pas atteint et on n’approuve pas. Si 2 frères et 4 cousins connaissent Wolden on est à 2/5 + 4/5 = 6/10 = 60% on n’approuve pas mais si 5 cousins le connaissent on obtient 2/5 + 5/5 = 7/10 = 70%. On approuve. Etc. En cas de désapprobation on lâche pas le morceau, on passe à 10 cousins et on recommence. Tant que le seuil de 66% n’est pas atteint on réinterroge. Une fois tous les frères et tous les cousins interrogés et le seuil de 66% toujours pas atteint on décide qu’il y a tentative de fraude et on éteint tout : le faux Wolden ne sera jamais connecté ni ses blockchains jamais remises à jour.
Cryptages, encodages, saltages et hashages
Toute donnée présente sur une machine est accessible à qui sait comment faire, quelle que soit sa forme (cookie par exemple). Il importe donc de rendre le système de blockchain suffisamment opaque pour qu’il ne puisse pas être reproduit et donc trafiqué/piraté. Une seule blockchain telle que je les développe actuellement peut contenir jusqu’à 1000 utilisateurs ; 100 blockchains (de 00 à 99) contiendront 10000 utilisateurs, c’est la limite que je me suis fixé pour le moment. Si on écrivait en clair (lisible par un être humain) les données de connexion de 1000 inscrits sur une seule ligne, ça ferait des centaines de milliers de caractères... nom, mot de passe, date, approbateurs, etc. tout ça prend de la place. Encoder tout ça n’est donc pas qu’une question de sécurité - le rendre illisible - mais également une question de ratio entre temps de lecture et de transport de la donnée et son temps de traitement au décodage. L’algorithme est évidemment secret (sinon on va où, hein ?) mais en gros il réduit le tout en moins de 70 signes par utilisateur, genre comme ça : woqOiØêÒAAKqF-FeaFMU}fj%L]kiRqTEFkWUJ?}?47PhcPHOGk]cmzeJU{ng0A Ceci forme donc un “bloc” de la chaîne qui en comporte 1000. Ce bloc est lui-même divisé en sous-blocs (des groupes de 3 à 15 signes) qui ont des significations différentes mais surtout des encryptages différents : tel groupe sera encrypté selon une certaine clé aléatoire, tel autre sera hashé (intervertir les signes selon une règle particulière), tel autre sera salté (”ajouter des grains de sel”, par exemple “Wolden” deviendra “abcWoldenxyz” avant d’être lui-même hashé puis encrypté), etc. Bref, un hacker qui chercherait à en comprendre le fonctionnement rencontrerait sûrement de grandes difficultés. L’idéal étant que toute blockchain soit incomparable (non-comparable aux autres) on rajoute donc une difficulté supplémentaire : la même blockchain rigoureusement identique sur deux machines différentes ne sera pas codée de la même façon. Exemple tiré de test réalisés hier : woqOiØêÒAAKqF-FeaFMU... dit la même chose que  GKeOiØêÒAAejWqLaaFjT}... et que VYrOiØêÖAAofFsUsaFjUl}m)... Ça c’est fait pour énerver nos amis hackers et les analystes de la NSA #mdr :-) Le dialogue horizontal entre machines consiste donc à échanger des morceaux de chaines cryptés dans un certain ordre, de certaines machines à certaines autres, de les comparer après les avoir décodés et de prendre des décisions machine par machine. Intercepter ces communications est toujours possible mais en comprendre le pourquoi du comment est certainement plus compliqué. La seule solution absolument garantie en terme d’efficacité serait de parvenir à prendre le contrôle de toutes les machines connectées au même moment, d’en trouver toutes les chaines correspondantes, de comprendre ensuite comment tout est codé-crypté-hashé-salté et de reconstituer à la fin les identifiants de chacun. Sachant que chaque approbation modifie les chaines en les remettant à jour, il faut absolument arriver à trouver tout ça avant qu’une nouvelle requête d’approbation n’arrive et ne chamboule tout.... ce qui laisse à peine quelques minutes si il y a des milliers d’inscrits très actifs. Sinon, option numéro deux, il faut se débrouiller pour attaquer le serveur et trouver les algorithmes qui produisent les blockchains. L’étape suivante sera donc d’arriver à faire auto-produire l’algo de façon dynamique par les machines elles-mêmes. Mais ça c’est pour après.
Un peu de techno mais pas trop
Si UDP, RTC et ce genre de choses ne vous disent rien je n’ai pas besoin de développer ce passage ; si ça vous dit quelque chose non plus puisque vous savez déjà de quoi il retourne. Donc je vais faire très court : Microsoft ayant tendance à aborder l’innovation technologique en marche arrière, ce bourrin d’Internet Explorer est encore à peu près incapable de comprendre ce que tout ça signifie, ce qui, concrètement, à partir du moment où on veut monter un système blockchain multi-plateformes, pose des soucis insurmontables. Il faudra attendre encore quelques années et quelques versions d’IE pour pouvoir faire dialoguer toutes les machines dans une couche de l’OSI plus directe du genre webRTC. En attendant ces jours meilleurs on fait avec ce qu’on a. Ce qui nous rappelle les années 90 et le fameux “till user-agent...” des recommandations du W3C, l’instance en charge de la normalisation de l’Internet mondial, ce fameux “jusqu’à ce que les navigateurs soient capables de ...” qui a beaucoup fait rire - ou s’arracher les cheveux - de générations de développeurs web.
Vers un “web transactionnel”
Pour aller vite, mais alors très vite :
1995 : émergence du web informationnel (sites, blogs) 2005 : émergence du web 2.0 relationnel (applis, plateformes, réseaux sociaux) 2015 : émergence du web transactionnel ?
Blockchain est peut-être plus qu’une technologie, c’est peut-être une refonte complète de l’idée même de ce qu’est le web, qui passe en moins de 20 ans de sa version informationnelle (les contenus conçus en top-down - verticalement, de l’émetteur au récepteur - distribués par le serveur arrivent sur ma machine en top-down : j’uploade mes requêtes (transaction montante), on me downloade le contenu en transaction redescendante) à sa version 2.0 relationnelle (les contenus produits horizontalement redescendent du serveur au “client”) pourrait bien devenir transactionnel : les contenus produits horizontalement sont redistribués horizontalement de machines à machines, le serveur - on en a encore un peu besoin - se limitant à connecter tout ce petit monde en un point commun du réseau mondial.
Tumblr media
Toute relation sur Internet est une transaction, que ce soit demander à consulter une page web, dialoguer avec un ami ou payer un achat en ligne. Dès qu’il y a transaction il y a des questions de sécurité et d’identification qui surviennent. Dès que se posent ce genre de questions, blockchain se présente comme une solution possible. Et si l’innovation - vous savez ce machin dont tout le monde parle et qui fait frétiller nos décideurs politiques et économiques -, j’entends par là le futur de nos façons d’être en réseau, n’était pas dans une énième appli de géolocalisation de je-ne-sais-quoi venant de je ne sais quelle énième startup, mais dans la généralisation de la donnée co-élaborée et distribuée via des process p2p de type blockchain ? Certains appellent ça “mettre de l’intelligence dans le réseau”, d’autres “concevoir et distribuer des outils numériques co-élaboratifs”, d’autres encore du “machines as humans”, signifiant par là non pas que nous deviendrons tous des machines mais plutôt que c’est en les faisant fonctionner selon des comportements plus horizontaux, plus égalitaires, plus autonomes, plus individualisés, que nous nous libérerons de l’emprise centralisatrice des outils de contrôles de l’Internet, qu’ils viennent de gouvernements ou de grandes firmes privées d’envergure mondiale. Je ne citerai pas de noms mais vous voyez ce que je veux dire.
0 notes
woldenavro · 9 years
Text
De quoi l’Uberisation est-elle le symptôme ?
Ce titre hyper-branchouille vous énerve dans sa formulation ? Moi aussi. On va pas parler de ça mais d’autre chose. Enfin presque. D’économie à laquelle je ne comprends rien, de jeux politiques qui me sont parfaitement étrangers et de numérique-de-soi dont je ne sais pas ce que ça peut bien vouloir dire. Depuis Gary Becker (apôtre du néolibéralisme et co-auteur des Reaganomics) et sa doctrine du “capital humain” comme forme économique portant en elle ses propres valeurs le travail n’est plus considéré comme un facteur de production, voire comme un rapport social dans la particularité contextuelle de la production, mais comme l’activité d’un individu amené à conduire des stratégies concurrentielles d’accès aux ressources en opérant des choix économiquement rationnels. Une micro-entreprise à lui tout seul. De ce point de vue, le salaire (fruit de l’emploi comme forme possible du travail) n’est plus considéré comme un élément objectif de la valeur entrant dans le calcul des coûts de la production des biens marchands mais comme le revenu individuel d’un capital personnel formé par les compétences acquises ou innées de chacun, une fois bien géré. Mis en concurrence libre et non-faussée sur le marché des offres, l’individu-micro-entreprise gère sa vie comme un portefeuille d’activités à faire fructifier afin d’en maximiser les bénéfices (Garcia). Cette vision centrale du néolibéralisme (Hayek et la liberté individuelle non-entravée qui génère nécessairement un ordre spontané mieux optimisé que n’importe que projet sociétal, “économie de l’offre” censée relancer la croissance par la déréglementation et la diminution des contraintes sur l’individu-entreprise et l’initiative privée, la remise en cause des protections sociales, etc.) forme tout un panel de doctrines visant à démontrer que l’homme s’oppose à la société, la liberté à la règle, l’entreprise à l’état, etc. Concrètement parlant l’homme devient ainsi une sorte de petite machine-capital qui produit des revenus ; s’il est trop gourmand le jeu de la concurrence le contraindra à accepter en homo oeconomicus rationnel à voir ses revenus réduits jusqu’à ce le marché lui montre sa propre valeur en toute justice : si tu ne gagnes rien, c’est que tel que tu es tu ne vaux rien. Et donc, puisqu’en tant que machine-capital il lui faut établir des métriques capables d’auto-mesurer ses performances, son existence sociale se réduit peu à peu à toute une série de petites activités techniques de gestion-de-soi sur un tableau de bord relié directement à l’innovation technologique accessible depuis son écran. D’où l’émergence de toutes ces applications censées mesurer toutes sortes d’activités, de les comparer à des normes et de pousser chacun, par auto-évaluation, à modifier qui son mode de vie, qui son alimentation, qui son corps biologique, qui ses modes de penser, pour faire conformer son être aux attentes du marché concurrentiel, en reformulant sans cesse son offre individuelle. Lesquelles applications définissent en retour une nouvelle économie génératrice de revenus. En résumé, une idéologie particulière parvient à fabriquer son propre contexte, à y imposer ses propres règles et à définir des jeux de normes qui par séries d’injonctions successives poussent l’individu à ressembler à ce qui est attendu de lui. En soi c’est un process sociétal classique : tous les systèmes définissent leurs règles, modèlent les corps et les esprits à l’image de l’idéal qu’ils portent (que ce soit la patrie, le marché, la religion, la tribu), disent ce qui est bien et ce qui est mal, et pour finir produisent des discours de vérité qui à la fois ordonnent le monde, l’orientent et le remettent à l’endroit : c’est une orthodoxie, une ortho-doxa, une « doctrine droite » : une « façon juste » de dire les choses, et pas juste une façon de dire. En conséquence, la souffrance physique ou psychique qui détruit les êtres ainsi contraints dans leurs corps et leurs âmes à n’être que ce qu’ils ne sont pas, les pousse à considérer cette souffrance comme une inaptitude à se conformer au réel. Quand le réel est le marché, l’innovation technologique est toute entière tournée vers les outils qui lui feront intégrer sa souffrance sociale comme variable individuelle de responsabilité : si tu vas mal, c’est que ton toi-offre n’est pas conforme à ses attentes. On se charge alors de fournir tout un dispositif d’outils capables de l’aider à comprendre en quoi son outil interne de production, en tant qu’être-capital, est défaillant. Comme l’élaboration de ces outils a un coût, on crée une astuce conceptuelle qui devient de fait une externalité positive : c’est à la société, via l’impôt devenant subvention, de subvenir à la production de ces outils normatifs, et pas à l’entreprise qui les conçoit et les commercialise puisqu’il s’agit au fond d’un problème social : si la société est incapable de produire des êtres adaptés au marché, c'est à elle de prendre en charge la correction nécessaire pour atteindre cet objectif. D’où la multiplication de dispositifs d’aides à l’innovation (FrenchTech et autres) dont on peut remarquer que les thématiques générales, les registres dans lesquels les projets devront nécessairement s’inscrire, relèvent tous de l’objectivation de l’individu-entreprise : l’être n’y est plus sujet mais toujours objet ; objet de métriques, de statistiques, de courbes et de graphiques, de données accumulables et quantifiables, de valeurs à évaluer, de profils à affiner et de potentiels productifs à optimiser. On est bien là dans une entreprise de construction du réel et de remodelage des êtres comme on en a connu d’autres auparavant (le projet soviétique en était une autre sorte) mais selon un tout autre registre. Mais ce qui semble signer en fait et dans les faits la victoire annoncée du libéralisme économique est peut-être paradoxalement son échec. Son postulat de base (il existe nécessairement une entité économique rationnelle productrice de richesse, que ce soit l’entreprise dans la version néo-classique ou l’individu selon Becker, Hayek et d’autres, qui trouve à réaliser pleinement son objet dans la concurrence de tous contre tous) repose in fine sur l’extraction de cette entité-homme de son contexte (le lieu, le moment, la nature de la société qui le contient, les interactions sociales diverses qui la composent et qui le traversent) pour en faire un objet déterminé par une fin indépendante de ce contexte : le marché est par définition atemporel et atopique ; il est littéralement sans durée ni lieu : il «est», ontologiquement ; il “est” comme “est” Dieu pour le croyant, une immanence nécessaire sans laquelle le monde ne saurait être. Sa main invisible fait Loi. L’effacement, et à terme la disparition de l’Etat-nation qui fait frémir à la fois de peur et d’excitation à peine contenue tous les socio-démocrates, ce contexte-modèle organisationnel spécifique et historique tel que nous l’expérimentons depuis plus de cent cinquante ans, est compris par le libéralisme économique comme sa victoire. Devenant de moins en moins capable d’imposer ses règles mais n’envisageant pas pour autant sa disparition, l’Etat n’a effectivement guère d’autre choix que faire siennes celles du vainqueur. Un type comme Macron en est l’archétype parfait : il n’y a pas un seul domaine relevant des missions séculières de l’Etat dans lequel il n'est pas capable de découvrir comment y glisser un bout de doctrine néolibérale. Donc le postulat néolibéral (son idéologie, sa représentation du monde, sa Weltanschauung : son « intuition du monde » : comment il est organisé, à quoi il sert, ce qui lui donne une raison d’être) est que les règles sociétales de contrôle des échanges (sous quelles formes se réalisent-ils, selon quels registres) et des outils de l’échange (la monnaie comme intermédiation de l’échange), étudiées depuis longtemps par l’anthropologie ou la sociologie (qu’échange-t-on et pourquoi ?), sont vécues comme des freins à l'expression du potentiel économique de chaque acteur, et donc des freins à l’expression du marché ; ce dernier nous est présenté comme le mode organisationnel le plus juste, non-faussé et équitable qui soit. Pourquoi ? Parce qu’il permet à chacun d’adapter ce qu’il est à ce dont nous avons tous collectivement besoin : la demande organise l’offre et l’offre stimule la demande. Donc premier constat : le marché est un objet autonome à finalité. Il a un projet final, une raison d’exister qui est partiellement empêchée par les structurations sociétales, que ce soient, au choix, des charges sociales de solidarité redistribuée, des interdits religieux, des consciences morales, etc. - ces dernières ne devenant acceptables qu’une fois réintroduites dans le jeu de valeurs du marché, le plus souvent sous forme humanitaire où le bien donné l’est comme valeur en soi ; qu’il n’y ait pas d’argent en contrepartie n’a pas d’importance. Second constat : l’effondrement, ou plutôt l’incapacité qu’à la structure politique actuelle à bâtir un projet, à proposer une vision, à redevenir un sujet historique, manifeste donc indubitablement la victoire de la théorie libérale. Sauf que. Sauf que cette construction est idéologique. Comme tous les autres jeux de représentations elle fixe des prédéfinis à partir desquels construire son projet de société. En désocialisant l’individu, en l’extrayant de son contexte d’émergence (où est-il né, comment s’est-il constitué en tant qu’être, dans quel environnement, soumis à quel type de forces sociales et de contraintes, etc) pour le placer au coeur d’un objet atemporel et atopique, elle l’objective dans son rôle de producteur, lui retirant son statut de sujet historique acteur d’une époque donnée. Par exemple l’objet “Jeune de banlieue” qui cristallise à lui seul le double avantage d’être économiquement criminel (il ne produit pas, bouffe des allocs, etc.) et administrativement dangereux (vit de la drogue, délinquant, va à la mosquée, etc). On a donc ainsi tout un panorama bien défini de comportements objectivés, des initialement sujets devenus objets et instrumentalisés comme tels. Ce qui en soi au fond n’est pas faux : le travail au sens large (que produit-on en tant qu’être, comment et pourquoi ?) est bien au coeur de tout projet sociétal, qu’on produise des biens matériels, symboliques, techniques, politiques ou n’importe quoi d’autre... le rôle social de tout individu est de produire quelque chose d’utile aux autres, en retour de quoi il obtiendra en échange, selon des modalités à définir, ce qui lui est utile à lui. Qu’on mette en place les conditions pour empêcher un tel être de s’insérer dans le dispositif de production l’exclut du process (marginalisation forcée) mais ne l’exclut pas du jeu des représentations dans lequel il occupe toute sa place d’objet fonctionnel. Sauf que conceptuellement parlant, pour en revenir au marché il est très difficile d’admettre qu’il puisse exister un objet a-temporel (non-historique), a-topique (sans lieu) et a-social (dégagé des contraintes sociétales et des jeux de règles qui lissent les groupes sociaux). Donc le marché a nécessairement une histoire, un lieu et des règles. Son histoire c’est celle de la valeur : à quel moment et pour quelles raisons la valeur (ce qui définit l’échange en qualité et en quantité) passe de l’acteur de l’échange à l’objet échangé ? Dans les sociétés pré-industrielles, la valeur n’est jamais attribuée à l’objet lui-même mais toujours à qui l’échange (lire Mauss, Bourdieu ou Lévy-Strauss sur les échanges symboliques, les dons et contre-dons, etc.). L’invention de l’objet marchand (il s’agit bien d’une invention) apparaît quand la question de sa valeur ne relève plus de «qui le détient et qui le veut en échange» mais relève du coût lié à sa production. Là on arrive tout droit au XIXe siècle et à l’industrialisation : on arrive à des modes de production qui impliquent nécessairement que dans l’échange la valeur quitte l’acteur pour investir l’objet (lire aussi “Les mots et les choses” de Foucault qui montre comment suite aux travaux de Smith, Ricardo, Hume, etc. entre la fin XVIIIe et le début du XIXe la question de la valeur quitte le champ de l’équivalence consentie entre acteurs pour être portée par la chose elle-même). Son coût n’est plus déterminé par le jeu social des acteurs qui échangent, par leurs statuts, leurs degrés de pouvoirs ou leurs besoins, mais par les conditions techniques et économiques dans lesquelles il a été produit. C’est le début de l’industrie de production de masse et de sa spécificité : l’économique comme vérité du monde. Mais le marché a également un lieu : il est l’agora moderne ; il est le lieu où l’échange des socialités (débats, explicitations, jeux de pouvoirs) devient échange des objets en tant que tels, avec eux-mêmes comme seule finalité. La valeur étant désormais liée à l’objet, acquérir de l’objet marchand est acquérir soi-même et pour soi-même de la valeur. Si en terme d’usage se déplacer nécessite quatre roues, un moteur et un volant (valeur d’usage), en terme de valeur acquise par l’échange d’’objet-marchandise rouler en Twingo ou en Ferrari établit des échelles, des hiérarchies et des règles. Bien sûr la singularisation des élites à travers les objets a de tous temps existé mais c’est la fonction de l’objet qui change au cours du XIXe, il n’est plus signe (une bague, une couronne, un sceptre) mais “chose dotée intrinsèquement de valeur économique”. C’est à partir de là que d’une certaine façon l’objet fait société, ce qui amènera Debord à développer le concept de «société du spectacle» : dans le monde inversé de la marchandise où l’être s’efface derrière l’objet, c’est l’objet qui met l’être en spectacle public ; tout ce qui se vivait directement et sans médiation objectivées (des relations sociales aux activités économiques) disparaît derrière une représentation : le spectacle des choses, une représentation qui, en inversant le sens du monde, fait «être vrai» l’objet qui, à son tour, par capillarité, insuffle une forme de «vérité» à qui le détient. Le marché a donc pour finir une valeur sociale qui découle de son historicité : il est par essence le monde du vrai en ce que lui seul distribue, par l’objet échangé et sa valeur incluse, la vérité de l’échange. Parallèlement à cela s’est développé dans le même temps, au cours du XIXe siècle, une forme particulière et novatrice d’organisation sociétale : l’Etat-nation. Celui-ci en redéfinissant, en assignant et en offrant à chacun des rôles sociaux nouveaux (citoyenneté, droits humains, lois s’appliquant uniformément sur le territoire concerné, monopole de la perception d’impôts et taxes, etc.) s’impose comme structure tendant à l’idéal tel que défini par les Lumières et leur rationalité. On a donc concomitamment ou presque émergence de deux modèles quasi simultanés qui tantôt collaborent tantôt s’affrontent, d’un côté l’Etat politique et de l’autre le marché économique, tous deux auto-porteurs d’un mieux-vivre potentiel pour tous. Ce conflit organisera la quasi-totalité de la vie des sociétés occidentales pendant près de deux siècles (lire Marx qui pose les termes du conflit en terme de classes sociales liées aux outils et conditions de production). Mais au-delà de leurs divergences il est possible de relever les points de convergences entre ces deux projets de société : poussés à leurs extrêmes (projet communiste d’un côté, projet ultra-libéral de l’autre), quoique tous deux opposés en apparence, sont sur le fond mus par le même soubassement intellectuel : l’entièreté de la «réalité du monde» ne peut et ne doit résider que là, dans cette pseudo-opposition produite comme une marchandise, c’est-à-dire un objet autour duquel cristalliser et mettre en scène de façon spectaculaire (à la Debord) les tensions sociétales - qu’elles soient politiques, économiques, culturelles ou autres - et réduire leurs raisons initiales (mal d’être, détresse, inquiétude, misère, sentiment d’agression, etc.) à une simple responsabilité de l’autre camp : pour les uns tout va mal parce qu’il y a trop d’état, pour les autres parce qu’il n’y en a pas assez. Ces deux pôles que tout semble opposer n’en forment finalement qu’un en ce qu’ils sont les produits simultanés de la même époque et du même contexte, formant ce que Foucault appelait un « discours», c’est-à-dire un ensemble de pratiques, d’énoncés, de façons de dire et de faire, d’attitudes destinées à offrir aux mal-être sociétaux la possibilité d’être formulés dans la «vérité» pleine et entière du monde : quelles que soient les raisons de ces mal-être il n’y a pas à chercher de solution (et encore moins de salut) ailleurs que dans l’un de ces deux pôles discursifs de la même disposition ; à eux deux et à eux seuls, ils représentent l’intégralité des possibles et nous n’avons qu’à opter pour l’un ou pour l’autre pour que tout aille mieux. Cette structuration particulière qui a défini deux siècles de notre histoire est elle-même historique (elle n’est ni éternelle ni atemporelle ni atopique, elle est apparue à une époque et sera amenée à disparaître à la suivante) mais c’est toute la force de ce discours bipolaire que de se présenter à nous comme si tel n’était pas le cas : le marché est éternel et l’état est atemporel. D’éternel à atemporel, le concept d’universel (applicable à tous et en tout temps) n’est pas loin. L’universalité ne s’oppose donc pas à cette sorte de bouillie multiculturaliste qui fait trembloter les théoriciens de la déconfiture nationale mais à la temporalité des outils. Elle réduit l’intégralité de l’histoire du monde, des civilisations, des époques et des récits à son jeu bipolaire : c’est en se présentant comme tels (universels) qu’état et marché parviennent à catalyser et à focaliser les détresses sociétales dans leurs seuls projets, puisque l’intégralité des possibles y est incluse par définition. Toute autre description du monde (écologique, énergétiquement sobre, solidaire, restituant l’échange comme porteur de valeur entre ses acteurs, etc) est soit économiquement criminel soit légalement punissable, soit tous les deux en même temps. Ce conflit, qui a pris différentes formes au cours du temps (Est vs. Ouest, état vs. entreprise, économie planifiée vs. économie libérale, gauche vs. droite, etc.) montre que l’effondrement de l’un des pôles signifie en fait, concrètement, l’effondrement et l’obsolescence du système discursif dans son ensemble. En risque d’être privé d’ennemi, le libéralisme doit le réinventer en permanence, le réactiver sans cesse, le faire revivre pour pouvoir continuer à «être en tant que discours». C’est ainsi qu’on peut par exemple comprendre le phénomène Uber ou Airbnb et même bien d’autres : on a d’un côté des poussées sociétales qui tentent de redéfinir des modes d’accès aux ressources, d’expérimenter des façons novatrices d’échanger et de redistribuer, qui cherchent à établir d’autres rapports au monde, et de l’autre le vieux pôle discursif qui les traduit dans sa vieille langue, l’un les capturant pour en faire des objets marchands de marché et l’autre en les interdisant, les taxant ou en limitant les périmètres d’action ; l’un instituant en héros les startuppers capables de réintégrer aux jeux du marché ces poussées sociétales si difficiles à cerner - et parfois si dangereuses - et l’autre qui ressent le besoin de financer par de l’argent public ce qui parviendra à les contrôler pour ne pas perdre pied. C’est tout le sens de la loi numérique en préparation. Ce paradigme sociétal discursif d’un genre particulier (pas en tant que discours bipolaire fondant la réalité - tous les paradigmes sociétaux le sont et le font, tous organisent la bipolarité discursive capable de réduire les énoncés sociétaux en objets validant tel ou tel pôle - mais en ce qu’il l’organise autour de la question économique) n’est donc pas en soi une opposition mais plutôt s’auto-représente et se met en scène comme tel pour monopoliser, formaliser et renormer l’entièreté de l’ «énergie sociétale», et donc du travail d’une société pour produire les conditions dans lesquelles elle souhaite vivre. La question qui nous occupe aujourd’hui est celle du travail (que produit-on et comment ?), de la valeur (sur quoi porte-t-elle ?) et de la monnaie (quel rôle d’intermédiation doit-elle jouer ?) qui sont à redéfinir en dehors des outils des siècles derniers, qu’ils soient néolibéraux ou institutionnels. Ce sont là encore des «questions économiques» parce que c’est sur ce terrain-là que le bipolarisme discursif a déroulé ses méthodes et qu’il a fait-être notre monde. C’est donc ce qu’il nous faut refonder en priorité. Et ce n’est certainement pas du côté de Rifkin et sa troisième révolution industrielle ou de Morozov qui n’a pas encore perçu que la technologie n’est pas que ce que la Silicon Valley en fait qu’il faut aller chercher, ni du côté des Serres ou des Morin et leur charabia humaniste mais du côté des “communs” (ces biens publics n’appartenant ni à l’Etat ni aux entreprises), du côté des crypto-monnaies peer-to-peer ou encore du côté des nouvelles pratiques, numériques ou pas, de partage et d’échange en complète déconnexion des enjeux de marché ou de pouvoir politique. La route est très longue et le chemin noir dans la nuit noire. On ne sait pas où on va, on ne sait pas comment y aller. On ne sait même pas où arriver. Mais ce qu’on sait c’est qu’arrivera un moment où le marché tentera de nous anéantir et l'Etat de nous punir. Si ça n’arrive pas c’est qu’on se sera trompé de route, il sera alors temps de changer de direction.
0 notes
woldenavro · 9 years
Text
Comme un lundi...
qui est un mardi.
L’histoire de l’humanité n’est pas linéaire, elle ne l’a jamais été et ne le sera probablement jamais. Contrairement à ce qu’on pense par facilité ou par confort, elle n’est pas constituée d’une suite d’avancées, de découvertes, d’inventions ou de techniques (concept de « progrès continu ») venant améliorer ou incrémenter les découvertes précédentes mais de ruptures brutales, de passages relativement rapides d’une époque à une autre. Certaines de ces inventions, de ces découvertes ou de ces techniques perdurent, d’autres disparaissent : le feu, inventé il y a quelques centaines de milliers d’années, a perduré, mais la machine à vapeur, qui a pourtant révolutionné le monde il y a deux siècles, a disparu en quelques décennies. Ce qui caractérise une époque donnée, c’est la croyance que ce qui la traverse, ce qui la fonde, ce qui la fait vivre, est éternel. Que cela constitue l’essence même de sa raison d’être. Que cela a toujours été et sera toujours. 
Mais ce que l’on croit éternel et de tout temps n’est peut-être qu’un moment de l’histoire. Des choses apparaissent, d’autres disparaissent. Des façons de voir, des façons de faire, des façons de dire, tout ça se transforme en permanence. Quand on se replonge dans l’étude des penseurs qui ont marqué les époques précédentes, on se rend compte que quelque soit la modernité qu’on traverse, les mêmes questions irrésolues, les mêmes inquiétudes non-solutionnées, se posent et se reposent avec régularité. Que les solutions proposées en un moment donné sont temporaires. Qu’elles viennent momentanément répondre à une question mais qu’elles ne la solutionnent pas. Elles ne la solutionnent jamais. Elles n’empêchent jamais son retour dans le champ des questionnements de l’humanité. Que la question qu’elle pensait définitivement régler revient à un moment ou à un autre, sous une autre forme ou parfois exactement sous la même forme. On peut ainsi prendre toute une série de questions « actuelles » et retrouver leur passage dans l’histoire. L’histoire de l’humanité n’est donc pas l’histoire des questions qu’elle se pose, qui suivrait une courbe linéaire de progression, chaque solution venant enterrer la question pour en faire apparaître une nouvelle, mais plutôt l’histoire des réponses qu’elle se donne selon l’époque.
L’une des grandes questions qui traverse (et traversera encore plus violemment) notre époque est celle de l’homme : quel est son statut ? qu’est-il ? qu’est-ce qui le définit ? l’ « homme augmenté » est-il encore un homme ? A cette question - qui n’est probablement qu’une solution parmi d’autres - on peut commencer par répondre qu’il faut d’abord rechercher d��où elle vient. D’où se la pose-t-on ? de quoi part-on quand on se demande si remplacer chaque organe « naturel » par une technologie plus performante fait encore au final un « être humain » ? En d’autres termes, la « question transhumaniste » en-est-elle une ? 
Il faut d’abord donc se demander de quel « homme » on parle. Comme tous les savoirs humains, l’homme en tant qu’objet de connaissance n’est pas éternel. Comme l’ont montré un certain nombre de penseurs, la « question de l’Homme » apparait dans le champ du savoir en un moment donné. Avant elle n’existait même pas, on ne se la posait pas, en tout cas pas sous cette forme. Pour qu’un objet discursif « Homme » apparaisse dans le champ de la pensée, il faut d’abord réunir un certain nombre de conditions. La première d’entre elles est que cet objet acquière un statut d’autonomie : qu’on puisse le distinguer des autres objets existants. Ça, ça existe depuis très longtemps. La seconde, c’est que cet objet soit auto-déterminant, c’est-à-dire qu’il puisse être responsable de sa destinée et qu’elle ne lui soit pas imposée par quelque chose de plus puissant que lui. Et ça c’est très récent dans l’histoire de la pensée. Il y a encore trois ou quatre siècles, l’homme n’était qu’un objet de la Création divine, un objet parmi d’autres, avec toutefois un statut très particulier (« il fit l’homme à son image »). Jusqu’à une époque relativement récente, l’homme en tant que tel, tel que nous le définissons aujourd’hui, n’existait donc pas. Il y avait bien sûr conscience d’appartenir à une espèce à part, distincte des autres, mais sans que cette distinction nous autorise à nous considérer comme « distincte de tout ». Cette vision qu’on a aujourd’hui, celle d’un homme extrait de son environnement, indépendant de celui-ci, autonome dans ses choix, est une idée qui a fait lentement son chemin depuis la Renaissance jusqu’aux Lumières, pour éclore sous sa forme actuelle au cours du XVIIIe siècle.
Un certain nombre de penseurs ont monté comment, à partir du moment où l’homme émerge au monde sous cette forme qui est la sienne aujourd’hui, a pu se constituer tout un jeu de savoirs, de connaissances, des discours spécifiques à l’homme, dont on ne trouve aucune trace dans l’histoire précédemment. Ce n’est donc pas qu’on a créé l’homme en tant qu’objet biologique, en tant qu’espèce particulière, mais qu’on l’a créé en tant qu’entité, en tant qu’objet de discours et objet d’enjeux, de débats et d’émission d’opinions. Tant qu’il n’était qu’une « chose particulière » dans la Création, il n’y avait aucune raison de le considérer comme autre chose. A partir du moment où il se perçoit comme sujet, et non plus comme objet, alors on peut commencer à le constituer en savoir : c’est donc au cours des XVIIIe et XIXe siècles qu’apparaissent ce qu’on appelle les « sciences de l’homme » : sociologie, anthropologie, psychologie, etc. Quand on parle d’ « augmenter l’homme », c’est de cet homme-là dont on parle. De cet homme qui est apparu sous cette forme il y a quelques siècles. La question qui suit immédiatement est celle du pourquoi. Pourquoi un tel homme, sous cette acceptation et cette définition, est-il apparu ? Et pourquoi pas avant ?
Pour qu’un tel homme apparaisse, il faut qu’autour de lui un « monde où il puisse exister sous cette forme »  existe. Le monde médiéval, essentiellement liturgique, ne permettait pas cette définition de l’homme. Ce n’est pas que c’était interdit, c’est que la question ne se posait même pas. Il était comme était l’univers tout entier : une partie de la Création. Quelque chose l’avait voulu et fabriqué comme ça. Et puis un jour les idées changent, d’autres façons de voir le monde apparaissent, et un type appelé Copernic vient dire que finalement les choses ne sont pas comme on pensait qu’elles étaient. De même qu’on a « inventé » l’univers (on a construit un jeu de représentations qui finit par s’imposer à tous) on a ainsi construit l’homme sous la forme que nous connaissons, qui n’est qu’une forme de représentation parmi d’autres. Elle nous paraît éternelle et constitutive de ce que nous sommes parce que le recul manque au sens commun pour percevoir toute les mécaniques de pensées qui ont été mises en oeuvre pour arriver à ce résultat.
Retour en arrière, au début du XIXe siècle. L’ère industrielle s’annonce. Avec elle apparaît toute une série de nouveautés : l’urbanisation (aujourd’hui près des 2/3 des êtres humains vivent dans des villes, contre à peine 10% il y 2 siècles), le travail salarié (l’emploi), l’économie comme moteur du monde, l’objet produit comme valeur, etc. Tout cet environnement global qui est le nôtre et qui nous paraît semble avoir toujours été, a été inventé et fabriqué parce que cela répondait à une question qui se posait alors. La concertation inédite d’un nombre impressionnant d’individus étrangers les uns aux autres dans un lieu restreint (la ville, l’usine…) pose au XIXe une question nouvelle : qu’est-ce qu’un homme ? Avant elle ne se posait même pas, on était le fils de tel famille que chacun connaissait et qui occupait tel ou tel coin du paysage rural. Tout le monde savait qui était qui. Avec l’industrialisation, l’urbanisation et la concentration humaine, apparaissent de nouvelles questions (on ne sait plus qui est qui, par exemple), alors on invente de toutes pièces de nouvelles méthodes telles que les papiers d’identité. Maintenant on sait qui est qui. Et donc, insidieusement, par la bande, presque clandestinement, apparaît une nouvelle définition de l’homme : il devient celui qui possède une identité définie par quelques critères préétablis. Ce qui nous paraît « naturel » et « éternel » (je suis un nom et un prénom) ne l’est pas plus que le reste. Juste un exemple personnel : j’ai la liste de mes ancêtres jusqu’au XVIIe siècle. Notre nom de famille a changé 6 fois entre les années 1750 et les années 1880. A partir de la fin du XIXe il est fixé définitivement. Mon identité est désormais établie de façon sûre. Cela ne signifie pas qu’auparavant il n’y avait pas de système identificatoire permettant aux uns et aux autres de savoir qui était qui, mais simplement que l’entassement d’inconnus détachés du système précédent a nécessité la création d’un autre référentiel fonctionnel.
Ce qui est vrai pour l’identité l’est pour un tas d’autres choses. Par exemple la vie privée qui à nouveau pose de grandes questions avec l’émergence d’outils numériques modernes : tant que nous vivions la ruralité nous étions en permanence sous le regard de l’autre, chacun savait non seulement qui était qui, mais aussi ce qu’il faisait, où il allait, qui il voyait, etc. L’ère industrielle urbaine fait émerger au cours du XIXe un concept nouveau: la vie privée. L’homme n’est plus cet objet entier qui était perçu par les autres dans l’entièreté de son existence, comme transparente à tous, mais un nouvel objet découpé en deux parties distinctes, sa vie publique (son travail, ses fréquentations, ses activités) et sa vie privée. Ce qui est vrai également pour la vie familiale ou amoureuse : dans la France rurale du XVIIe on se mariait par stratégie foncière, pour préserver un territoire cultivé (condition minimale de survie du groupe familial) ou mieux, l’agrandir. Dans celle du XIXe on choisit son époux/épouse parmi des inconnus qui nous côtoient dans la ville. On peut alors, puisqu’il y a choix, définir d’autres stratégies et d’autres techniques. On peut inventer l’histoire d’amour, le couple, et la petitesse de l’habitat concentré fait le reste, une famille devient alors un père, une mère et leurs enfants, et non plus ce conglomérat multi-générationnel vivant sous le même toit. Pareil pour la santé. L’homme n’est plus cet « être entier » que la médecine hippocratique, ayurvédique ou autre tente de comprendre dans sa globalité (théorie des humeurs) mais un ensemble d’organes biologiques à traiter séparément. Idem pour tout le reste.
Alors qu’est-ce qu’un « homme augmenté » ? De quel homme parle-t-on ? Parle-t-on d’un « homme éternel et atemporel » dont il reste à savoir ce qu’il est, ou parle-t-on d’une définition particulière apparue à un moment donné pour certaines raisons et qui ne suffirait plus à assurer a minima une solution satisfaisante ? Le changement de monde porté - entre autre - par le numérique interroge quelques-unes de nos certitudes. 
Nous avons, individuellement et collectivement, deux attitudes possibles. La première consiste à se dire que ce que nous avons connu et tenu pour certain et acquis ne saurait être changé (version « conservatrice »), et la seconde à se demander ce qui se dessine, ce qui est en train d’apparaître, ce qui se trame derrière tout ça, et à considérer que c’est une toute autre vision du monde et de la vie en société qui est en train d’éclore. 
Dans cinquante ou cent ans, les hommes riront de nos angoisses et de nos inquiétudes, de nos questionnements qu’ils jugeront aussi incompréhensibles que nous nous jugeons ceux des hommes du Xe qui se demandaient si le ciel n’allait pas s’écrouler le jour du passage à l’an mille. L’homme augmenté n’est pas un monstre artificiel mais la fin d’une certaine façon de dire l’homme et de se le représenter. Ça ne sera ni meilleur ni pire, ça sera juste autrement. Cet autrement effraie ou ravit, peu importe en fait. L’homme ne sera plus jamais le même, la façon de vivre au monde non plus, l’activité humaine (le travail) non plus, la société des hommes non plus. Et alors ? La dé-territorialisation (http://fr.slideshare.net/alainbregy/mulhouse-terre-des-nouveaux-possibles) induite par le numérique (les ressources auxquelles j’ai besoin d’accéder pour vivre ne sont plus - ou de moins en moins - liées physiquement au territoire que j’occupe)  implique l’abandon de toutes les structures de territorialisation mises en place au cours du XIXe. L’identité (en tant que référent unique) disparait, l’état-nation a de moins en moins de sens, le système politique de représentation gauche-droite est à bout de souffle, le couple moderne vole en éclat, l’économie ne dirige plus le monde pour très longtemps, l’emploi est en perdition, la vie privée n’est plus qu’un souvenir, et l’homme deviendra ce qu’il voudra être. Lutter contre ça, c’est vouloir ressembler trait pour trait à ceux qui ont condamné Galilée en leur temps. 
Inventons-nous des dizaines de nouvelles identités, donnons-nous des outils pour agir sur le monde et interagir avec les autres, créons de nouvelles façons d’être au monde, imaginons notre avenir, et oublions à jamais toutes ces vieilleries qui nous ont stérilisés depuis trop longtemps. Comme on disait autrefois : cours camarade, le vieux monde est derrière toi.
0 notes
woldenavro · 10 years
Text
Pensée de l’économie numérique ou économie de la pensée numérique ? (version 2)
Quelqu'un m'a fait remarquer que l'article précédent était intéressant mais que le galimatias deleuzofoucaldien l'énervait. Je lui ai répondu que j'utilisais leurs mots parce que je n'étais pas capable d'écrire les choses avec autant de précision et de finesse avec mon vocabulaire à moi. Du coup je vais essayer.
L’idée du jour c’est de s’interroger sur l’ “économie numérique”. D’abord c’est quoi l’économie ? Comme disait l’autre : “c’est une affaire bien trop sérieuse pour être laissée aux économistes”. Et le numérique, c’est quoi ? C’est pas juste une technologie, c’est aussi un ensemble de façons de faire qui nous disent quelque chose. Cette chose que le numérique nous dit, au-delà de ses manifestations les plus directement visibles (applis, usages, technos, etc.) et du blabla habituel qui les accompagne (le discours classique sur le changement et la modernité), c’est qu’un changement d’époque est en cours et que notre travail n’est pas seulement de “produire des outils” mais aussi de produire de la réflexion, c'est-à-dire essayer de comprendre ce que dit cette époque sur elle-même à travers les pratiques et les façons de voir le monde portées par le numérique.
Une "époque", c'est un moment de l'histoire d'une société donnée. Un moment qui peut durer plusieurs siècles, et dans lequel elle établit une façon radicalement nouvelle de se penser, de s'exprimer, de faire les choses. Pour la France (et ses voisins immédiats) on peut par exemple assez facilement décrire les deux dernières grandes époques historiques : nous avons eu la période allant en gros du XVIe au XVIIe siècle puis celle apparue au XIXe et qui est en train de s'achever.
Ce qui caractérise les époques, c'est une certaine façon de dire et de faire. Si on prend par exemple les sciences, on s'aperçoit que toute la période allant du XVIe au XVIIIe est entièrement préoccupée par la question des "formes" et des "similitudes" : tout le travail scientifique est entièrement tourné vers le recensement et le classement des espèces. Cela donne l'Encyclopédie de Diderot-D'Alembert. Une plante ressemblant à une autre dans sa forme, dans son aspect, dans sa nature, fera partie de la même famille. Pareil pour les animaux. Tout ce qui existe au monde est donc classable, regroupable et descriptible selon des jeux de catégories dans lesquelles tout, mais absolument tout, peut être représenté. Puis arrivent Cuvier, Mendel et Darwin. D'un coup, en moins de 50 ans, tout le travail scientifique change radicalement de nature : ce n'est plus la forme ou la similitude qui ordonne le monde - ce qui avait pourtant occupé les plus brillants esprits pendant 2 siècles - mais la structure et la fonction. On découvre alors, simplement en changeant de regard, en changeant de façon de voir les choses, qu'en fait par exemple deux plantes se ressemblant n'ont en réalité ni la même façon de se reproduire, ni la même façon d'avoir traversé le temps, et qu'elles ont en fait chacune des caractéristiques héréditaires et/ou sélectives qui font qu'on ne peut plus du tout dire qu'elles appartiennent au même groupe sans commettre une grosse erreur scientifique. C'est donc tout le jeu des représentations (l'idée qu'on se fait du monde et de son ordre, de son organisation) qui change d'un coup.
Le même changement s'opère dans l'économie, exactement à la même période et pour les mêmes raisons. Jusque vers la fin du XVIIIe siècle tout le discours sur la “valeur” portait essentiellement sur l’équivalence de l’échange : comment la monnaie peut-elle établir un système de signes entre les richesses ? comment accroît-on la valeur des choses dans un jeu d’équivalences dans l’offre et la demande ? en quoi l’échange (et sous quel type) peut-on définir la valeur - et donc le prix - du bien, etc, tout ce genre de questionnements. Puis, entre le XVIIIe et le XIXe, apparaissent Hume, Smith, Marx et quelques autres. La valeur quitte alors l’objet pour s’incarner dans le travail, c’est-à-dire la production : “Le travail est la mesure réelle de la valeur échangeable de toute marchandise" (Smith). Le cheminement est strictement le même : on passe d'un système de comparaisons (deux plantes similaires, la valeur identique de deux objets, donc en gros de l'"aspect extérieur et visible" des choses) à un système de structures et de productions : comment une plante se reproduit-elle et quelle est sa structure moléculaire interne ?, comment un objet est-il produit et quelle valeur acquiert-il de ce fait ?, donc en gros on les considère à partir de là sous leur aspect "intérieur et structurel". D'un point de vue politique et social il en va rigoureusement de même : on passe en moins de 50 ans, entre 1789 et 1830, d'une France du XVIe-XVIIIe essentiellement rurale, paysanne, familiale, royaliste, à une France du XIXe urbaine, industrielle, individualisée (on invente le nom de famille à ce moment-là) et républicaine. Tout ça c'est un peu de la grosse découpe à la hache, mais c'est juste pour montrer comment les époques historiques se constituent sur des façons de voir et de dire les choses qui, à un moment donné, dans un espace très court, changent radicalement et durablement. Au point de créer un monde radicalement nouveau qui n'a (presque) plus rien à voir avec le précédent.
L'idée défendue ici, c'est qu'une nouvelle époque est en train de s'ouvrir. Ce qui signifie deux choses importantes. La première c'est que tout le système de pensée et de perception (ce qui fait la "réalité" du monde dans lequel on est : la façon qu'on a de le décrire, de le définir, de le caractériser) venu de l'époque antérieure (l'ère industrielle moderne) est en voie d'obsolescence (on ne peut plus penser les choses d'aujourd'hui avec nos visions et conceptions d'hier puisqu'un basculement équivalent à celui opéré entre la fin du XVIIe et le début du XIXe est en cours), et la seconde que le travail consiste donc à repérer, dans les pratiques, dans les idées, dans les usages, dans les choses qui se disent et qui se font, ce qui relève encore de l'époque antérieure et ce qui décrit déjà celle à venir.
La question de l'économie numérique est au coeur de la réflexion. Elle porte en effet deux termes qui sont peut-être incompatibles entre eux. C'est ce que je vais essayer de montrer.
L'économie (la valeur des choses et la valeur de leur échange contre d'autres) existe depuis les débuts de l'histoire des hommes. Mais la vision "économiste" du monde (tout est essentiellement économique, tout ce qui existe n'existe que pour sa raison économique) est au coeur de notre pensée d'aujourd'hui. Jusqu'avant le XIXe siècle, elle n'était qu'une caractéristique parmi d'autres : un objet valait pour ce qu'on en faisait (valeur d'usage), pour ce qu'il valait dans le jeu de l'offre et de la demande (valeur d'échange), pour ce que représentait le fait de le détenir ou pas (valeur symbolique), etc. Le changement d'époque réalisé au XIXe, avec l'industrialisation massive, a placé l'économie au centre des systèmes de pensées et des façons de faire. Le sens même des choses, leur raison d'être, est d'être des objets à partir desquels on peut appliquer un raisonnement économique, laissant volontairement de côté tous les aspects d'usages, symboliques, etc. qui prévalaient autrefois.
On en arrive donc à définir une époque comme "une certaine façon de dire ce qui est vrai". En d'autres lieux de la terre ou en un autre temps de l'histoire, dire que toute activité humaine n'a de sens qu'économique n'est pas perçu comme "vrai". Le dire aujourd'hui, en France au début du XXIe siècle l'est. C'est vrai. Dire ça, c'est dire la vérité. C'est absolument vrai parce que tout le système de représentation le dit et le redit depuis deux siècles. C'est vrai parce que l'entièreté de notre monde a été organisée pour que ça le soit. Une époque se caractérise donc par une façon bien à elle qu'elle a de "dire le vrai". Que ce soit dans le domaine scientifique, politique, social, culturel ou économique.
L' "économie numérique" affirme donc, dans son intitulé, que le numérique est (ou est aussi...) économique. C'est-à-dire qu'on peut légitimement aborder la question du numérique sous un registre et une valeur définissables par la "pensée économique" moderne. C'est donc affirmer en fait que le numérique n'est qu'une simple extension de la société précédente (l'ère industrielle) et que les façons de voir et de faire établies au cours de ces deux derniers siècles restent valides et légitimes.Qu'elles continuent à avoir la légitimité de dire le vrai. Enoncer la formulation "économie numérique" c'est reconnaître la vérité du discours économiste et sa capacité intacte à décrire toute la réalité des choses.
Or que constate-t-on ? On voit des outils numériques apparaître, des pratiques sociales s’installer tout autour, des innovations techniques se développer, qui tou(te)s vont dans un tout autre sens : émergence de monnaies alternatives, systèmes non-marchands d’échanges de biens, technologies de micro-production évacuant peu à peu la question coût/rareté, etc. Et donc tout un tas d’outils qui viennent se placer “hors-champ” de ce qui fonde la "réalité économique" du monde depuis des années.
Ce n’est pas que le jeu de l’offre et de la demande, constitutif des échanges sociétaux, ait disparu, c’est qu’il trouve à s’exprimer désormais en dehors des injonctions économistes. Dire “économiques” ces nouveaux outil, c’est en quelque sorte leur nier leur statut de signes disant autre chose. Quand, ces derniers temps, les politiques proposent par exemple de taxer ces nouveaux outils (Bitcoin, Uber, Airbnb, Le Bon Coin, etc.), c'est une tentative de les réintroduire dans leur statut d’ “objets de l’économie”. C'est oublier qu'ils sont avant tout des signes. Ce sont des signes annonçant une nouvelle façon de voir et de dire le monde. Ce sont les signes d'un changement d'époque. Comme au tournant du XIXe siècle, nous assistons en direct à une façon radicalement nouvelle de voir et de dire la "vérité" du monde qui vient.
Ce qui est étonnant - mais pas tant que ça - c'est que cette volonté politique de les réintroduire par la taxation dans le jeu des outils économiques, est violemment critiqué et combattu par ceux-là même qui se considèrent comme les tenants de la "légitimité économique" : les entrepreneurs et les libéraux. Ce n'est étonnant du tout parce que politiques et entrepreneurs passent leur temps à "dire ce qui est vrai" : à savoir que le monde est essentiellement économique. Qu'ils n'en aient pas la même vision ne nous montre qu'une chose : que tous d'accord pour dire qu'hors la description économique du monde ce dernier n'existe pas.
L'inconvénient c'est que réduire ces “pratiques numériques” à leur vision purement économiste retarde d'autant l’émergence d’une compréhension de cette société nouvelle en cours de constitution. Cette révolution en cours n’est pas une “révolution numérique” - ça serait trop facile - mais une révolution qui “trouve à se dire” à travers ses outils numériques, mais pas qu’eux : toutes les pratiques sociales émergentes (partage, échange, coélaboration, etc.) montrent qu'on bascule de façon irréversible d'un monde vers un autre.
Si l’on admet que le XXIe siècle se décrira comme celui où, après la “valeur par l’échange” des XVIe-XVIIIe et après “la valeur comme travail” du XIXe-XXe, a émergé la “valeur comme … ” (restons prudents), alors l’ère de l’économie comme pivot autour duquel le monde s’articule et autour duquel il "décrit le vrai" est achevée. En direct et sous nos yeux, par nos pratiques et nos outils, tout un jeu de signes apparaît, un jeu de signes à reconnaître et à apprivoiser pour les comprendre et les décrypter.
Rares, trop rares hélas, sont les "penseurs" du numérique qui l'abordent sous cet angle de "signes à décrypter". La plupart - pour ne pas dire l'écrasante majorité - le considère comme une simple prolongation d'un système de pensée né au début du XIXe siècle. De posts en conférences et de tables-rondes et interventions, ils distillent avec une régularité de métronome une vision du monde très vieille qui n'a à mon avis plus rien à faire dans "notre époque". Celle que nous sommes tous collectivement en train de construire.
“Penser l’économie numérique” est bien “faire l’économie de penser” en appliquant un système de pensée à quelque chose qui n’en dépend probablement déjà plus.
0 notes
woldenavro · 10 years
Text
Pensée de l'économie numérique ou économie de la pensée numérique ?
Voilà plus d'un an et demi j'avais décidé d'abandonner ce blog de petites idées qui me venaient comme ci comme ça, mais ces derniers jours, alors que j'essayais de débattre de questions économiques et d'entreprise sur un célèbre réseau social, il m'est arrivé quelque chose de suffisamment étrange pour que ça m'ait donné l'envie de le reprendre :-)
L'idée du jour c'est de s'interroger sur l' "économie numérique". D'abord c'est quoi l'économie ? Comme disait l'autre : "c'est une affaire bien trop sérieuse pour être laissée aux économistes". Et le numérique, c'est quoi ? C'est pas juste une technologie, c'est aussi (ou peut-être même uniquement ?) un ensemble de dispositifs qui nous signalent quelque chose. Cette chose que le numérique signale, au-delà de ses manifestations les plus directement visibles (applis, usages, technos, etc.) et de la doxa qui l'accompagne (le discours universellement partagé), c'est qu'un changement d'époque est en cours et que notre travail n'est pas seulement de "produire des outils" mais aussi essayer de comprendre ce que dit cette époque sur elle-même à travers les pratiques, les discours et les façons de voir que porte le numérique.
Partant d'une formulation typiquement deleuzienne que j'ai toujours adorée ("une époque ne préexiste pas aux discours qui la décrivent ni aux dicibilités qui la remplissent") essayons de voir quelle mesure le discours sur l' "économie numérique" porte en fait, à son corps défendant, celui de la fin de l'économie. Et en quoi, derrière ce titre pseudo-hégelien à la con (penser l'économie, c'est économiser la pensée) se profile l'un des changements sociétaux les plus violents qu'on ait pu connaître ces deux derniers siècles. L'économie moderne en tant que domaine autonome du savoir est apparue en même temps que la production industrielle. Pour aller plus que très très vite, jusque vers la fin du XVIIe siècle tout le discours sur la "valeur" portait essentiellement sur l'équivalence de l'échange : comment la monnaie peut-elle établir un système de signes entre les richesses ? comment accroît-on la valeur des choses dans un jeu d'équivalences dans l'offre et la demande ? en quoi l'échange (et sous quel type) peut-on définir la valeur - et donc le prix - du bien, etc, tout ce genre de questionnements. Puis, entre le XVIIIe et le XIXe, apparaissent Hume, Smith, Marx et quelques autres. La valeur quitte alors l'objet pour s'incarner dans le travail, c'est-à-dire la production : "Le travail est la mesure réelle de la valeur échangeable de toute marchandise" (Smith). Que ça soit vrai ou pas n'est pas une question : ça l'est. C'est vrai. Et c'est vrai parce l'époque concernée y trouve à la fois le discours qui la décrit (début de l'industrialisation) et les dicibilités qui la remplissent : tout l'enjeu du dire-vrai, de la "véridiction" toute entière, à partir de Marx, organise toute la société autour du pôle discursif constitué par l'économisation du monde. L'époque qui va ainsi du début du XIXe à la fin du XXe s'organise ainsi en "discours de vérité" se superposant et s'interpénétrant, par exemple entre possédants (industriels) et dépossédés (prolétariat) en terme de discours social, en "droite et gauche" en termes politiques, entre art de cour et art révolutionnaire en termes culturels, bref, pendant deux siècles, l'entièreté du "discours de vérité" (ce dans quoi une société donnée, en un moment donné, trouve à se dire et à "rendre visibles" les tensions qui la traverse) trouve sa focalisation dans la question économique, qui devient dès lors le point nodal autour duquel tout s'organise : L'Est et l'Ouest (remember "les Pays de l'Est" ?) fonde ainsi pendant presque tout le XXe l'ordre discursif qui permet non seulement de "produire de la société" mais aussi de réduire tout ce qui était géographiquement hors-zone (les luttes sociales dans d'autres continents, dans d'autres pays qui n'étaient pourtant pas industrialisés, c'est-à-dire non-inclus dans le dispositif initial du discours) à s'y inféoder, ce qui fit que les tensions en provenance de ces autres régions ne purent acquérir un statut de vérité (avoir tout bêtement un sens) qu'à la condition qu'elles s'inscrivent dans celui qui était le nôtre. Ce qui n'était qu'une forme de colonialisme, une parmi d'autres. Mais c'est pas le sujet.
Inventant symétriquement ses thuriféraires et ses adversaires, le discours économiste a produit, comme tout système discursif, ses propres classements. C'est-à-dire qu'il a défini précisément les caractéristiques que devait revêtir chaque groupe social pour qu'il acquiert, par héritage direct, la vérité qui lui donnerait légitimité à apparaître dans le champ du discours, et ainsi avoir "quelque chose à dire" qui fût audible (ce que Deleuze appelle "les dicibilités qui remplissent l'époque"). Toute action, toute pratique, tout énoncé qui, en, cette époque, ne référait pas directement à l'enjeu économique n'avait tout simplement pas de sens. On pouvait par exemple être "de droite" ou "de gauche" mais pas autre chose, sauf à être parfaitement irresponsable ou à accepter de ne plus exister dans le champ du réel. Ce n'est qu'un exemple.
A chacune de ces caractéristiques correspondait une description précise en terme de vocabulaire, d'habillement, de pratiques sociales, de système de pensée, auquel tout être et tout acteur était enjoint de se plier, sauf à accepter de ne plus être un être ni être un acteur. Sur tout ça lire par exemple Bourdieu et la question de l'habitus : la distinction et ce qui fait les méthodes d'appartenances et qui classe les acteurs sociétaux dans leurs identités. Mais c'est toujours pas le sujet.
Quand en 89 le mur de Berlin s'est effondré, les plus malins y ont lu la fin d'une certaine vision du monde et la victoire sans appel d'une autre vision. Pour moi, quand un système discursif perd l'un de ses pôles, c'est que le second est mort lui aussi. Comme une batterie de voiture : si l'un des pôles (+ ou -) est mort il n'y a plus d'étincelle pour lancer le moteur. Une société unipolaire (ou plus exactement privée de l'un des pôles qui servait à générer l'étincelle qui la fait avancer) est une société morte. Ou plus précisément, parce que les sociétés ne meurent pas de ça (ou plutôt si, mais d'autres conditions doivent être réunies), c'est qu'un autre système discursif en charge de dire à la société ce qu'il en est d'elle-même est en train d'émerger. C'est ça le sujet.
L'économie numérique existe-t-elle ? A priori oui, puisqu'on en parle. Seulement, si elle existait, il faudrait, pour faire sens, qu'existe aussi le pôle inverse, à savoir un pôle d'énoncés et de pratiques apportant, dans le cadre conceptuel de la valeur-travail tel que défini il y a 200 ans, un outillage complet de discours et pratiques critiques complémentaires, venant tous au final se valider et se légitimer les uns les autres. Or que voit-on ? On voit des outils numériques apparaître, des pratiques sociales s'installer, des méthodes techniques se développer, qui tou(te)s vont dans un autre sens : émergence de monnaies alternatives, systèmes non-marchands d'échanges de biens, technologies de production évacuant peu à peu la question coût/rareté, etc. Et donc tout un tas d'outils qui viennent se palcer "hors-champ" de ce qui fonde la réalité du monde depuis 150 ans. Ce n'est pas que le jeu de l'offre et de la demande, constitutif des échanges intra-sociétaux, ait disparu, c'est qu'il trouve à s'exprimer désormais en dehors des injonctions économistes nées entre le XVIIe et le XIXe siècle et qui eurent cours jusqu'au début du XXIe. Les dire "économiques", c'est leur nier leur statut de signaux disant autre chose. Même les politiques l'ont compris puisqu'ils se proposent de les taxer les uns après les autres, ce qui est une tentative de les réintroduire dans leur statut d' "objets de l'économie", et, partant, est censé relégitimer leurs propres actions en tant que politiques. Ça pourrait être drôle un tel désarroi total, mais en fait ça ne l'est pas tellement.
On peut donc se dire qu'à travers ces pratiques et ces outils apparaissent des signaux faibles qui préfigurent l'organisation sociétale à venir. Ils pourraient  constituer ce que Foucault appelait "des énoncés", c'est-à-dire des choses qui se disent, parfois au-delà du phrasé (l'énoncé n'est pas une phrase ni une façon de dire, c'est un signe qui attend de revenir avec suffisamment de régularité pour devenir "discours de vérité" apte à pouvoir décrire le réel du monde) et qui esquissent une nouvelle époque, une époque qui attend encore son discours polaire et ses dicibilités internes : ces signaux faibles en font déjà partie.
Réduire ces signaux de "pratiques numériques" à leur vision purement économiste est non seulement les nier en tant que signaux (ils n'auraient alors de sens que perçus à travers la grille de lecture antérieure.... mais en relèvent-ils encore ? c'est bien toute la question) mais présente aussi le désagrément de retarder l'émergence d'une compréhension de cette société en cours de constitution, et donc de freiner l'émergence d'une "action possible". Cette révolution en cours n'est pas une "révolution numérique" - ça serait trop facile - mais une révolution qui "trouve à se dire" à travers ses outils numériques, mais pas qu'eux bien sûr... je ne sais pas si c'est déjà de la "dicibilité" ou si ce n'est encore que de la "visibilité" (faudrait écorcher ces mots pour aller un peu plus loin dans leurs significations exactes) mais je crois qu'ils sont à lire pour ce qu'ils sont, et non tels qu'on voudrait qu'ils fûssent. Ou du moins tels qu'ils nous rassureraient sur les quelques certitudes qui nous restent.
Il y a depuis quelques années un débat assez soutenu sur le statut de ces outils : certains pensent que la technologie modèle le monde et que le monde, en façonnant ces outils, se modèle lui-même, et donc que la question "est-ce le monde qui fabrique les outils de son changement ou sont-ce ces outils qui fabriquent le monde ?" n'a pas de sens. La réponse, pour eux, serait "les deux mon général". Ce n'est pas comme ça que je le vois. Je crois pour le moment que le monde fabrique des outils et rien que ça. Ou plus exactement qu'il se donne des outils pour réaliser sa mutation (et donc d'une certaine façon la décrire) mais que ceux-ci ne lui renvoient pas encore le système discursif en charge de "faire réalité". Et donc que pour le moment il y a tout un jeu d'aller-retours entre d'un côté un "système de vérité" sorti du XXe siècle complètement épuisé, devenu presqu'insensé (ah là là le désespoir des gens de gauche devant leur gouvernement qui mène une politique de droite), c'est-à-dire devenu inapte à décrire ce qu'il en est des choses, et de l'autre des pratiques et des énoncés qui fonctionnent en signaux faibles mais pour lesquels n'avons pas encore collectivement et communément de boîte à outils conceptuels capable de les appréhender comme tels. J'avais essayé de discuter de ça avec Stiegler quand il était passé à Strasbourg au printemps dernier, mais une grande blonde perchée sur d'immenses talons le pressait agenda en main pour qu'il rejoigne au plus vite la sauterie pique-nique avec les officiels, et donc on n'a pu échanger que quelques minutes là-dessus. Dommage pour moi.
Si l'on admet que le XXIe siècle se décrira comme celui où, après la "valeur par l'échange" des XVIe-XVIIe et après "la valeur comme travail" du XIXe-XXe, a émergé la "valeur comme ... " (restons prudents), alors l'ère de l'économie comme pivot autour duquel le monde s'articule et comme gnomon autour duquel il décrit le vrai et le faux est achevée, et qu'apparaît en direct et sous nos yeux, par nos pratiques et nos énoncés, tout un jeu de signes à reconnaître et à apprivoiser pour les comprendre et les décrypter, alors "penser l'économie numérique" est bien "faire l'économie de penser" en appliquant un dispositif discursif à quelque chose qui n'en dépend probablement déjà plus. C'est un peu répondre à la question comme Kant le fit en son temps : "Qu'est-ce que la vérité ? Non seulement la question est oiseuse et couvre de honte celui qui la fait, mais elle a en outre le désagrément de porter l'auditeur qui n'y prend garde à des réponses absurdes, donnant ainsi l'affligeant spectacle de deux personnes dont l'une trait le bouc tandis que l'autre tient la passoire." Kant est parfois drôle. Pas toujours mais ça arrive.
La recherche de signaux faibles peut s'organiser méthodiquement : il suffit d'aller rechercher non pas aux marges d'un "système de vérité" mais en son coeur même, là où il se dit avec le plus de virulence et s'énonce avec le plus de violence, quels sont les signes qui s'émettent, comment ils se présentent et en quoi ils sont potentiellement constitutifs d'énoncés. Comment ils acquièrent un sens qui décrit une époque en cours et comment ils deviennent des "dicibilités" : ce qu'on peut dire de l'époque. Debord en son temps avait décrit "les sociétés où règnent les conditions modernes de production [...] comme de gigantesques accumulations de spectacles." Selon lui la marchandise (l'objet produit), dans un monde où l'économie détermine la réalité des choses, devient la réalité et place l'homme en simple spectacteur du monde ; la "Société du spectacle" est une société où "tout ce qui était directement vécu s'est éloigné dans une représentation". Eloigner dans une représentation, c'est placer l'objet produit par le travail (donc la "valeur" au moment T) au coeur de l'échange social. L'économie se présente bien comme un dispositif de médiation (en même temps que médiatisation) d'un certain type de rapports sociaux. Rechercher au coeur du dispositif le changement d'époque - et pas à ses marges -, ce pourrait par exemple considérer que l'hyper-consumérisme est lui aussi un signal faible. Il est traditionnellement considéré comme, au choix (les deux options sont "vraies" en ce qu'elles valident toutes deux l'économie comme "moteur du monde") la pire ou la meilleure des choses, et des milliers d'arguments prenant la défense de l'une ou de l'autre option ont tous été aussi vrais les uns que les autres. Et donc tout aussi réels.
Y voir un signal faible, c'est se dire que par exemple l'organisation des légitimités qui a structuré le monde (elles l'ont rendu dicible, on a pu émettre quelque chose à partir d'elles) a longtemps été orientée de l'émetteur (de biens, de services, d'ordres, de lois, etc) vers le récepteur : on l'appellera consommateur, contribuable, électeur, citoyen ou tout ce qu'on voudra. Y voir un signal faible, c'est par exemple constater qu'au coeur même du dispositif (communication politique, marketing produit, etc) le récepteur prend de plus en de place, au point de devenir lui-même, sans le mesurer toujours, à la fois le pivot et le gnomon ; qu'il devient peut-être (c'est juste une idée comme ça) l'acteur qui est en train d'inverser le registre des légitimités, contraignant l'émetteur à être de moins en moins "agissant" mais de plus en plus soumis à une nouvelle forme de légitimité qui vient renverser brutalement toute la perspective, dans un mouvement copernicien assez inédit. Et que toutes les critiques et toutes les postures (depuis celle qui voyait le consumérisme comme la forme absolue et indépassable du bonheur terrestre à celle qui y vit la main d'un diable à peine nommable) n'ont été qu'un événement discursif bipolaire, et qu'en fait c'est peut-être là que se déroule l'un des bouleversements majeurs dessinant un des changements les plus radicaux qu'on ait connu, de la nature de ceux qui font qu'on passe distinctement d'une époque à une autre, d'une diction à une autre, et d'un système de vérité à un autre. En témoignerait l'irruption de tous ces outils horizontaux qui concernent autant le monde politique (outils d'e-citoyenneté et de co-élaboration de politiques publiques) que celui de la vie quotidienne (transport, hébergement, partages de toutes sortes).
Il y a donc probablement toute une réflexion à mener sur nos outils, sur nos pratiques et sur le sens à leur donner, de façon à réaliser à notre tour le travail qu'ont mené en leurs temps ceux qui définirent et fixèrent les règles qui fondèrent l'intégralité des XIXe-XXe siècles. Pour ça il faut de la force et de l'intelligence et c'est mieux d'être à plusieurs. C'est d'ailleurs un autre signal faible : la pensée du monde en construction ne trouve plus sa légitimité dans l'unicité puissante d'un gros fleuve universitaire, mais dans la multiplicité de millions de petites gouttes d'eau numériques. Inversion des légitimités là encore.
Interroger et questionner les fonctions discursives ne se fait pas sans risques. Pour avoir tenté il y a quelques jours de remettre à plat celle de la doxa "entrepreneur sauveur du monde" au beau milieu d'une conversation de prêcheurs convaincus (l'entreprise comme moteur du monde, la classe éclairée lancée à toute vapeur sur la voie du bonheur universel, la locomotive qui tire avec peine ces boulets que sont les qui-vous-savez, le goût immodéré du risque et de l'audace, l'économie comme raison d'être des choses, bref tout le Medef en ordre de marche), à cours d'arguments (ben oui, je suis moi-même "entrepreneur à goût du risque"... ah, mais pourquoi diable n'étais-je pas fonctionnaire ! ....en plus j'ai osé prétendre que les "classes éclairées", qu'elles s'appellent patronat ou prolétariat, n'étaient jamais que des survivances archaïques :-)), après une volée d'injures et d'analyse psycho-pathologique à la petite semaine (je suis un raté frustré, haineux et aigri #mdr) le tenancier m'a littéralement éjecté de son royaume d'amis. C'est venu confirmer en acte ce que je tentais difficilement d'expliquer en mots : le "discours de vérité" s'organise toujours de façon bipolaire, et se présenter comme porteur d'une vision critique est toujours passible d'enfermement, de prison ou de mise au ban. Mais ça Foucault en a démonté tous les mécanismes il y a 50 ans, on va pas revenir là-dessus.
En conclusion, penser le numérique en termes strictement économiques me paraît s'enfermer soi-même dans un système de pensée qui fait passer à côté de tous les signaux faibles qu'il nous offre, et que s'arcbouter sur cette définition exclusive (au sens où, réduisant les autres à sa seule logique, elle les exclut pour ce qu'ils sont et s'auto-condamne à ne pas les voir) risque de nous faire prendre beaucoup de retard dans nos approches pour essayer de penser et d'accompagner le monde tel qu'il se dessine. Penser le numérique en terme économique (comme simple extension de l'ère industrielle, comme le fait Rifkin par exemple), c'est faire l'économie de penser le monde tel qu'il vient.
0 notes
woldenavro · 11 years
Text
Les outils d'e-citoyenneté ont-ils une "teinte" politique ?
Suite à un article précédent ( http://woldenavro.tumblr.com/post/59576655047/strasbourg2028-un-outil-pour-quoi-faire-avec ) et suite à quelques échanges privés avec des acteurs de l'e-citoyenneté dans les jours qui ont suivis, quelques réflexions complémentaires pour continuer le débat. L' e-citoyenneté (ou l'e-democratie, on va pas finasser sur les nuances à cette heure) est un ensemble d'outils numériques permettant à tout citoyen connecté d'intervenir d'une façon ou d'une autre sur son territoire (quartier, commune, département, région, pays…) et d'exercer son droit à participer pleinement à l'aménagement, à la transformation ou à l'évolution de celui-ci. Cette mission d'aménagement qui, pour des raisons historiques, était jusqu'à présent réservée aux élus et aux institutions, est désormais à sa portée si on lui en donne à la fois la possibilité et les outils. Ces outils sont très disparates dans leurs esprits, buts et méthodes, ils ne forment pas une typologie homogène. Il n'y a donc pas "un" modèle d'e-citoyenneté agissant comme un label et qu'il suffirait de mettre en oeuvre pour s'assurer de l'implication des citoyens à la vie de la cité, mais bien toute une gamme d'outils impliquant des pratiques très distinctes les unes des autres. Entre par exemple un outil permettant de poster des idées sur une carte (sa finalité est de recueillir des propositions aussi variées que possible, en nombre quasi infini, mais sans garantie ni qu'elles soient retenues ni qu'elles soient appliquées) et un outil permettant, en partant de modélisations 3D du réel urbain, de produire toutes sortes d'options afin d'évaluer tous les possibles, puis de décider "quel possible" sera retenu en fonction d'un nombre fini de critères, la différence est que l'une commence exactement où l'autre s'arrête. Dans un cas on recueille des opinions (allant de la plus réaliste à la plus créative), dans l'autre on co-élabore collectivement un territoire à partir de données par avance valides. Selon le type d'outils qui sera proposé, les résultats obtenus, en terme d'utilisabilité, seront donc radicalement différents, tant dans leur nature que dans leurs destinations. D'un point de vue strictement politique, opter pour la mise à disposition publique de tel ou tel type d'outils n'est pas neutre. Quel que soit celui proposé, il impliquera une finalité conditionnée par sa nature même. En d'autres termes, selon le type de résultats que l'élu ou le service institutionnel cherchera à obtenir, il proposera à ses citoyens tel type d'outil plutôt que tel autre. C'est cette question du choix (quel outil distribue-t-on ?) qui m'intéresse. S'il suffit d'en distribuer un seul pour s'engager effectivement dans une démarche d'e-citoyenneté, toutes les démarches ne sont pas pour autant équivalentes. Tout dépend de l'outil qu'on va proposer et des buts politiques qu'on se fixe. Une e-citoyenneté "conservatrice" contre une e-citoyenneté "progressiste" ? L'e-citoyenneté, en ce qu'elle concerne un territoire, ses habitants et le devenir des uns et des autres, n'échappe pas à la bipolarisation politique. La pseudo-neutralité des outils numérique n'en est pas une : la question posée, les outils donnés, les possibilités offertes (ou plus exactement celles qui ne sont pas offertes) conditionnent les résultats obtenus et ce qui en sera fait. Indépendamment des "couleurs" politiques (UMP/PS) de l'exécutif local, les politiques d'e-citoyenneté se distinguent par une bipolarisation qui ressemble beaucoup plus à une bipolarisation nord-américaine "conservateur/démocrate" qu'à l'habituelle opposition "gauche/droite", ce qui en soi n'est pas surprenant puisque la plupart des outils numériques d'e-citoyenneté, même s'ils sont produits ici, sont très souvent des copies plus ou moins réussies d'outils produits aux Etats-unis. L'environnement culturel, social, mental, politique, technique, dans lequel ils ont été initialement réalisés est évidemment prégnant, et, de leur interface (que donne-t-on comme fonctionnalités ?) à leur finalités (que produisent-ils comme données ?), tous sont fortement marqués par le contexte qui les a produit. On peut donc voir en France des mairies UMP proposer des outils "démocrates" et des mairies PS proposer des outils "conservateurs", ce qui n'est ni surprenant ni aberrant. Ces outils ne produisent que ce qu'on leur demande de produire. Personnellement, si j'étais maire et si j'étais plutôt "conservateur" (être PS ou UMP n'a aucune importance, je parle d'attitude en général), je proposerais par exemple à mes administrés des outils leur permettant de laisser libre cours à leur fantasmes sécuritaires, ce qui me permettrait de m'appuyer sur les résultats obtenus pour mettre en place plus de contrôle social sur la population. Une carte des zones les plus dangereuses, produite en opendata (tant qu'à faire autant être hype) à partir de sources du ministère de l'Intérieur, permettrait à la population d'apporter des réponses adéquates : des caméras supplémentaires, des contrôles plus fréquents et plus durs, la clôture de zones grises, le signalement d'immeubles squattés par des sans-papiers, et même l'évacuation de camps roms pourquoi pas, bref, toute une panoplie d'outils transformant chaque citoyen en auxiliaire de sécurité bénévole. Passant outre la "représentativité" des idées ainsi collectées (que valent 5 "Je suis pour pour" si sur 1000 internautes, 995 n'ont pas dit qu'ils l'étaient : 0.5% exactement) je pourrais m'appuyer sur le fait que l'idée en question a été valorisée par un "nombre non-négligeable" d'utilisateurs, arguantpour la mettre en oeuvre qu'elle vient de la vox populi, et donc qu'elle relève d'une incontestable démarche d'e-citoyenneté. Avec ce genre d'outil, le pire peut donc côtoyer le meilleur. Si en revanche j'étais plutôt "progressiste" (PS ou UMP, idem), j'essaierais plutôt d'offrir des outils où, sur un problème donné, en un lieu précis, quiconque s'en sent les compétences peut modéliser son point de vue et le proposer à tous ; ces différents points de vue feraient ensuite l'objet d'amendements, de débats, d'échanges, jusqu'à obtenir par exemple deux, trois ou quatre solutions possibles, à la fois validées par les habitants concernés et validées par les services techniques en charge de la réalisation. Une fois acquise la double légitimité de la "volonté du peuple" et de la faisabilité technique et économique, je laisserais ensuite les citoyens, par des aller-retours entre monde numérique et réunions publiques in situ, décider laquelle de ces solutions sera appliquée. Bien sûr je perdrais un peu de mes prérogatives (modeler l'environnement à mon envie) mais je me dirais que finalement ma mission n'était au fond pas celle-là, que ça n'était finalement qu'une conséquence du fait qu'avant on ne pouvait pas faire autrement, et qu'elle est plutôt de garantir à la population une vie sans tensions sociétales exacerbées, et dans un environnement qu'elle a elle-même choisi. Je parierais sur le fait qu'une part non-négligeable des comportements asociaux provient d'un délitement de la relation entre le territoire, son administration et certains types d'habitants, et que leur permettre de se réintroduire ainsi dans les questions concernant leurs vies quotidiennes et leur environnement pourrait ressembler à un début de solution. Ces deux exemples, volontairement caricaturaux à l'excès, montrent toutefois que la responsabilité des élus est engagée dans le choix des outils qu'ils proposent, et qu'elle engage toute la cité par les conséquences des pratiques d'e-citoyenneté que ces outils permettront. Il ne suffit donc pas "d'en faire" pour s'en absoudre et se satisfaire de l'avoir fait, encore faut-il comprendre ce que l'on est en train de faire. On a ainsi pu voir la semaine dernière le maire PS d'une des plus grandes villes de France se réjouir publiquement de l'existence dans ses murs virtuels d'un outil de recueil d'idées et de propositions urbaines qui aurait pu, si la droite (ou l'extrême-droite) locale n'était pas aussi bête, être transformé en moins d'une heure en plateforme politique électorale pour 2014, simplement en envoyant 500 militants poster les 500 idées les plus réactionnaires qui soient. On a quand même de la chance je trouve.
0 notes
woldenavro · 11 years
Text
De la structuration de l'information à celle de la pensée (et réciproquement)
Un petit billet vite fait suite à une discussion de bistrot hier soir... La manière dont l'information est traitée, distribuée et (ré)utilisée dépend étroitement de la façon dont une société se pense. Hier soir on discutait de livres autour d'une table quand le sujet du "numérique" (cet éternel objet d'incompréhension autant qu'inépuisable réservoir à expressions réactionnelles) a été abordé, non pas autour de la question des liseuses et des arguments contre (je préfère le papier, le contact physique à l'objet, la possibilité de feuilleter en rêvassant, etc.) ou des arguments pour (j'ai 1000 livres dans ma poche), mais autour de celle de l'information et du savoir (un livre en contient généralement pas mal), de leur valeur, de l'appareil critique qui les entoure (ou pas) et de la relation qu'on entretient avec eux. En gros, pour résumer, la plupart des gens autour de la table (pour la plupart universitaires, ce n'est pas neutre) entretiennent avec le savoir une relation qui, de mon point de vue, est extrêmement addicto-dépendante à l'imprimé. Leurs arguments contre les outils numériques fusaient en tous sens. Ça allait du "réactionnel de base" (Wikipedia n'est pas fiable) à "sur le web tous les points de vue sont équivalents" (il n'y pas de hiérarchisation puisqu'il n'y a pas d'institution en charge de promouvoir l'expression d'une vérité commune partagée) en passant par "trop d'information tue l'information" (il y a des millions de pages traitant d'un même sujet, comment trouver la bonne ?). On a déjà entendu ça mille fois et on l'entendra encore un bon million de fois avant que les choses ne changent… On a donc un modèle, le livre imprimé, et un contre-modèle, l'outil web, qui ne présente pas du tout les mêmes caractéristiques. La "chose numérique" implique-t-elle une perte, ou une diminution, ou une dilution, ou une dispersion du savoir ? Une chose est certaine, c'est qu'elle entraîne une refondation radicale des conditions dans lesquels le savoir est produit, diffusé et évalué. Le savoir imprimé est par définition fixé, intangible, et donc transmissible "en l'état". Sur la question des variantes numériques (textes modifiés, tronqués, réécrits, remixés, réinterprétés, détournés), leur argument est défendable sur le fond. Sauf que… sauf que rien ne dit que l'auteur, s'il en avait eu la possibilité (ce que techniquement il est presque impossible de faire sauf à attendre une réédition ultérieure), n'aurait pas lui-même supprimé ou modifié ou rajouté des passages entiers. On objectera que l'auteur est responsable de son texte, et que ce qu'il modifie est encore de lui, que c'est encore son oeuvre et que c'est encore sa pensée… Oui mais. Oui mais ces transformations éventuelles ne sont pas nées ex-nihilo, dans le vide sidéral, mais sont bien liées à des rencontres, des idées, des échanges, des compréhensions ultérieures que l'auteur a développé après publication. Il y a donc bien une interpénétration, en la pensée de l'auteur, du monde environnant et de l'oeuvre en cours. Que cette interpénétration ait, pour des raisons historiques, technologiques et/ou économiques, pris la forme en une certaine époque d'un produit (un livre) signé par un auteur (unique ou collectif) ne démontre ni que se soit la seule forme possible, ni même que ce soit la meilleure forme possible. Sur le plan du "pur savoir", l'oeuvre protéiforme ainsi réinterprétée (voire déformée, transformée) n'est pas une dégradation. Que c'en soit une concernant "l'oeuvre d'un seul homme" c'est certain, mais le savoir n'a ni disparu ni ne s'est appauvri ; au contraire, il s'est enrichi en direct à la fois d'un appareil critique immédiat (ce que le livre ne permet pas) et d'extensions que l'auteur n'avait pas imaginées. Qu'elles aillent dans le sens de sa pensée ou pas est une autre histoire… Si on remonte très en arrière à l'époque ou l'imprimé n'existait pas, le savoir était transmis oralement. Le conteur pouvait très bien, selon son auditoire, modifier telle ou telle partie, rajouter des éléments, en supprimer, ou même transformer radicalement d'un jour sur l'autre tel ou tel point de vue. Selon son humeur, selon son public ou selon des échanges eus la veille. On était donc en présence d'un savoir très dynamique, mais aussi très volatile. Telle version était oubliée dès le lendemain.
Ce que le livre est venu faire, c'est fixer, de façon statique pour l'éternité, un savoir en un moment donné. Que cette "fixation" ait eu des conséquences bénéfiques ne fait pas de doute, mais elle a eu également des conséquences négatives. Et entre autres celle d'avoir créé au fil du temps un "corps" de clercs en charge de la maintenance de ce savoir fixé. Les conditions économiques (coût de l'impression) ou technologiques (rareté du papier) font que seuls certains savoirs, promus par ces clercs, a pu être préservé et sauvegardé. Et donc, insidieusement, on est passé d'un savoir commun dynamique et ouvert à la constitution d'une institution en charge de repérer quel savoirs, parmi tous ceux en circulation, pouvaient accéder au privilège d'être édités, et donc diffusés. Apparaît alors le concept d' "auteur" (c'est la même chose pour la musique). Le désarroi de l'institution qui se demande aujourd'hui quelle est sa mission se comprend. Elle qui est en charge de produire la pensée se retrouve progressivement privée de son seul instrument pour mener cette mission : l'écrit unique d'un auteur unique. On n'est donc pas du tout dans la question du "savoir en voie de disparition", mais dans celle de la forme qu'il prend. Or la forme elle-même influe le savoir : on ne conçoit pas du tout de la même façon un système d'idées selon sa destination. Or ce que le numérique propose et surtout permet, c'est précisément la désynchronisation entre savoir et forme. La détestation entendue hier soir y trouve probablement sa raison, au fond. J'ai juste fait remarquer qu'on passait d'un système de rareté (la "valeur" d'une idée, d'un produit, d'un objet est directement connectée à sa rareté) à un système de surabondance et que la valeur des choses n'était plus (ou sera de moins en moins) dépendante de sa rareté, et donc que le statut spécifique de qui détient la "ressource rare" était effectivement directement menacé. Comme sont menacés les process permettant d'accéder à ce statut : faire ses preuves, s'inféoder aux écoles et aux courants, publier, etc. La pensée elle-même étant conditionnée, dans sa production, à la forme finale qui la rend visible et utilisable, penser "livre" ou penser "numérique" n'est pas du tout la même chose. J'en ai des mini-exemples tous les jours quand, sur un site web par exemple, mes clients me livrent des contenus "pensés pour le livre" et pas pour le web : le séquençage des textes est pensé en terme de chapitres/titres "c'est écrit plus gros"/sous-titres/paragraphes mis en page sous word… alors que la question posée par le numérique est précisément de déconnecter le sens de la forme : un titre n'est pas plus gros par définition (même si à l'écran, pour l'instant, il l'est encore…), il est juste une boîte dans laquelle on range des sous-boites (les sous-titres) dans lesquelles etc… Dit comme ça ça change rien, mais en fait si : le jour où des outils sémantiques intelligents chercheront une information ils ouvriront les boites qui leur paraissent les plus aptes à contenir à ce qu'ils recherchent… exactement comme vous dans votre grenier :-)  Et donc le "ce qui fait titre" n'est pas lié au fait d'être plus gros dans la page, mais bien à "ce qui fait sens en terme de contenant-boite". Il y a donc bien une façon spécifique de "penser" un savoir en regard de sa destination finale. La pensée et le savoir tels qu'ils sont encore souvent pratiqués me paraît de moins en moins aptes à représenter le monde là où il va. Or il me semble que penser "le monde tel qu'il est" en utilisant l'outillage d'un monde "tel qu'il n'est plus" n'est plus tellement possible. La fin de la discussion a tourné autour du projet qu'ont plusieurs états nord-américains de supprimer l'apprentissage de l'écriture, partant du constat qu'il faut mieux apprendre à cliquer et à composer au clavier qu'à tenir un stylo. Là j'ai rien dit parce qu'on touche à quelque chose de trop réactionnel et trop émotionnel. Le numérique n'a pas fini de bouleverser nos existences…. c'est tout un monde qui se terminee et tout un autre qui apparaît, en direct, sous nos yeux, jour après jour. Je suis très heureux de vivre cette époque, d'avoir la chance d'être là à ce moment-là et de pouvoir y assister (à défaut d'y participer autant que je voudrais :-) )… Ce sont des moments comme il n'en arrive qu'un ou deux par millénaire, c'est incroyable la chance qu'on a !!! Mais je comprends aussi que ça puisse inquiéter, effrayer, terrifier ou désespérer. C'est le propre de ces grandes mutations que de générer autant d'enthousiasmes que de désarrois. L'avenir ne sera ni meilleur ni pire, il ne sera que ce qu'on en fera tous ensemble.
0 notes
woldenavro · 11 years
Text
strasbourg2028, un outil pour quoi faire avec ?
Alors voilà ça y est, le projet Strasbourg2028 est sur les rails :-) Bon, franchement, il y a trois ou quatre ans j'aurais applaudi des deux mains, des dix doigts, des quatre pieds et des 26 lettres du clavier. Mais entre temps les outils d'e-democratie/crowdsourcing ont bien avancé et on a eu quand même eu pas mal de retours d'expériences similaires, qu'elles aient été menées en France ou ailleurs dans le monde. Ces retours nous ont appris plusieurs choses qui font que je suis devenu plus que méfiant vis-à-vis de ce type d'outil. Ma critique est de deux ordres, méthodologique d'abord, politique ensuite. Le problème méthodologique On sait maintenant que les outils de recueil d'opinions (en gros ça se résume à ça : délivrer son opinion sur un "sujet urbain" en proposant des correctifs ou des aménagements possibles) butent sur deux écueils insolubles. Le premier c'est que demander l'avis de quelqu'un, c'est lui permettre de raconter tout et n'importe quoi, et que donc ces outils de crowdsourcing génèrent eux-mêmes leurs limites : sans outil d'analyse (manuel ou automatisé) par derrière pour évaluer/qualifier les interventions/propositions, on arrive très vite à une collection d'avis sans autre sens, en terme d'utilisabilité, que purement statistique : on saura que tant et tant d'internautes veulent ceci ou cela en comptant les Like qu'il a recueilli. Ce qui n'est pas un problème en groupe physique restreint (en dessous d'un certain seuil critique - avec disons moins de 50 personnes - il existe des dispositifs, conscients ou pas, d'évaluations de chaque intervention par les membres du groupe) en devient un en crowdsourcing puisque, par définition, ces outils s'intéressent à des volumes très au-delà du "seuil critique d'auto-évaluation". Et donc, sans ce mécanisme, on n'arrive généralement à pas grand-chose d'autre qu'à cette limite : collecter des opinions et ne rien pouvoir en faire de plus. Ça se limite donc assez vite à un déversoir à mécontentements (je ne veux pas de ceci chez moi) ou à une machine à fantasme (je veux cela juste devant chez moi), mais beaucoup plus rarement en données réellement utilisables. Et si un tel mécanisme d'évaluation existe, on a alors deux possibilités : soit il est humain et on tombe directement sur des questions de légitimité (qui a légitimité à décider que tel projet est bon/réalisable ou pas ?), soit il est automatisé via des outils d'intelligence artificielle et l'algo à monter pour ce genre de sujet est plutôt coton à réaliser, mais faisable. La solution n'est donc pas, comme on l'a cru un temps, dans la collecte *quantitative* d'idées et d'opinions (comme le fait strasbourg2028), mais dans celle, *qualitative*, des expertises fines "oubliées". Une équipe n'est que la somme des compétences de ses membres, et si une compétence particulière (ou une expertise spécifique, ou un point de vue pertinent) manque à l'appel, le projet (urbanistique ou autre) sera moins riche ou moins complet que ce qu'il pourrait potentiellement être - voire même passer à côté de son objet - faute d'avoir réuni au départ les conditions optimales pour sa réalisation. Le crowdsourcing n'est donc pas un exercice quantitatif, mais bien qualitatif. Cela ne consiste pas à multiplier les opinions individuelles mais à réunir toutes les compétences expertes possibles, sans en oublier aucune. En ce sens, et seulement en ce sens, il y a "intelligence collective". Il n'y a pas et il n'y aura jamais d' "intelligence" dans le recensement de tous les points de vues possibles et imaginables sur une question, quelle qu'elle soit. Il y aura toujours des anti- très excessifs et des pro- trop enthousiastes (tous pour de bonnes ou de mauvaises raisons) qui monopoliseront le lieu de débat, et une masse indistincte de sans-avis ou presque qui pencheront tantôt d'un côté tantôt de l'autre selon des critères indépendants de la question posée ou du thème débattu. L' "intelligence collective" ne jaillit pas par miracle d'un million d'idées allant pour la plupart de moyennes à médiocres au regard de l'enjeu questionné, mais de 10 propositions expertes inattendues et non-sollicitées. A récolter tous les points de vues possibles, on obtiendra donc au mieux qu'un catalogue inutilisable, puisque l'arbitrage final (il faut bien un arbitrage à la fin pour passer à la réalisation des projets proposés…) s'appuiera non pas sur une série limitée de points de vues spécialisés (et donc une gamme de choix tous pertinents et tous porteurs d'enjeux) mais sur une collection hétéroclite d'opinions couvrant la totalité du spectre des possibles, d'une extrémité à l'autre : les pour, les contre, les je-ne-sais-pas, les je-veux-ceci, les je-ne-veux-pas-cela, etc. Donc crowdsourcing ou pas, l'arbitrage se réalisera comme il s'est toujours réalisé, à savoir in fine selon les seuls points de vues des décideurs, faute d'éclairage et d'outils accompagnement à la décision. Le second c'est que demander l'avis de quelqu'un, c'est lui laisser penser que sa voix compte. Certes bien sûr elle compte, mais pas toujours comme on le croit. Pour être opérationnel (servir à quelque chose) l'outil de crowdsourcing doit faire émerger des idées fortes. Des idées qui transcendent la masse indistincte des idées accumulées dans leurs diversités et leurs contradictions potentielles (au même endroit deux personnes peuvent vouloir une chose et son contraire). Et donc fédérer des tendances, faire coïncider des points de vues et réunir des micro-projets en un projet plus large, plus global. Juste un exemple à la con, comme n'importe quel élu en entend 50 par jour : dix habitants d'une rue se réunissent et décident qu'ils veulent un arrêt de bus dans leur rue parce qu'en hiver ou sous la pluie ça les gave de marcher 150m. C'est un projet légitime en soi, cohérent, et porté par des citoyens de plein droit. Alors on fait quoi ? Une chose est sûre, c'est qu'on n'ajoute pas d'arrêt de bus devant chez eux sinon un mois plus tard y'a un arrêt de bus tous les 50m (genre pourquoi eux à côté et pas nous ?) et c'est pas tenable. Alors de deux choses l'une, soit on fait rien (et on crée 10 mécontents supplémentaires) soit on collecte ces opinions, on les mélange avec d'autres, et on repense complètement le système de transport urbain. Donc la question, sur le fond, n'est pas celle posée par 10 riverains trempés les jours d'averse, mais bien celle, plus large, de la gestion de flux publics de transports d'usagers. Pour que ces voix soient entendues elles devront donc accepter d'être "fondues" dans une problématique plus large, or cette problématique plus large elle-même pose question : qui a capacité à l'émettre et à fédérer ce tas de micro-projets en un seul plus général ? Du coup le "bottom-up" échoue à se réaliser dans sa lettre et dans son esprit. Ça a été vérifié ces dernières années. Strasbourg2028 est un cahier de doléances sans aucune autre forme de tri que celui que créent artificiellement les utilisateurs en likant tel ou tel projet. Artificiellement parce que, contrairement à un vote où le nombre de oui est évalué en rapport au nombre de votants, là on est dans l'inconnu : 5 like ne signifie pas que le projet est "populaire" (c'est quand même la plus grosse embrouille conceptuelle inventée par Facebook) mais que les 1000 autres visiteurs ne l'ont pas liké. Son score réel est donc de 0.5%… Est-ce que ça en fait démocratiquement un projet prioritaire  ? Ce qui nous amène tout de suite au problème politique. Les outils de crowdsourcing, généralement anglo-saxons, sont très liés dans leur forme et dans leur esprit à une façon d'être anthropologiquement anglo-saxonne. Dans nos pays plutôt portés sur la centralisation que sur le réseautage, le poids de l'élu est beaucoup plus  important. On pense ce qu'on veut de ses compétences, de ses choix et de ses stratégies (je ne m'en prive pas…) mais il est là et il est encore le fondement de notre vivre-ensemble, par les pratiques sociales qu'il nous impose, par la loi qu'il vote, par la règle qu'il fait appliquer, par l'orientation qu'il donne à son action publique, etc. Proposer un outil engageant le "vivre-ensemble" (transformer un cadre urbain commun par exemple) n'est pas neutre. Si l'outil de crowdsourcing, qui d'une certaine façon dépossède l'élu de ses prérogatives (il a quand même été élu et missionné pour appliquer un programme qui a été majoritairement choisi par la population) se propose de, au choix, pallier à ses manques, ou mettre en oeuvre des décisions qu'il n'a pas voulues, ou réaliser des choses qui n'étaient pas dans son programme initial, ou le contraindre à adopter certaines positions, etc., alors on est confronté à un vrai problème de légitimité : qui a légitimité à "engager le vivre-ensemble" ? Est-ce l'élu (en théorie oui, évidemment) ou est-ce une "vox populi" dont il restera à démontrer la représentativité ? En effet on est jamais loin d'un "populisme" sous-jacent et facilement manipulable (s'emparer artificiellement d'une question et en faire un point de friction autour duquel orienter débats et actions publiques). Qui serait contre les parcs publics plus verdoyants ? Qui serait contre des arrêts de bus dans chaque rue ? Qui serait contre des musées ouverts jour et nuit ? Mon opinion est qu'un tel outil, pour être pleinement légitime, ne peut que provenir de l'institution compétente et concernée, sur une initiative d'élus. Qu'ils ne le fassent pas est un autre problème, j'ai assez râlé là-dessus :-) Les quelques exemples en France "qui marchent" sont tous, sans exception, effectivement portés par les politiques locaux et inscrits dans la démarche numérique globale du territoire dont ils ont la charge. Je pense bien sûr à "Ville sans limite" de Alain Renk mais aussi à quelques autres. Si cet outil avait été initié par la Ville j'aurais trouvé ça extraordinaire. Qu'il soit initié par des individus adossés à une entreprise l'est moins. (C'est pas pour rien que malgré mon intérêt pour ces questions de citoyenneté numérique j'ai jamais voulu créer un tel outil, mais que j'ai plutôt essayé d'inciter certains élus à initier son lancement…). On a déjà vu passer ça, on en est revenus. Faire de la veille sur ce qui se passe dans le monde question outils d'e-citoyenneté numérique est un très gros travail mais le mener est impératif : ces outils sont beaucoup trop récents pour qu'on puisse aujourd'hui dire avec certitude "ceci marche" car nous n'avons pas encore le recul suffisant. Mais on peut déjà dire "cela n'a pas marché". En revanche, suivre quotidiennement ce qui se fait à Sao Paolo, à New York, à Copenhague ou à Berlin, benchmarker ce qui se fait là où des promoteurs d'outils d'e-citoyenneté tentent, essaient, reviennent en arrière et pour finir s'enrichissent mutuellement les uns les autres de leurs expériences respectives, est primordial. On a trop vu passer de fausses "bonnes idées" atteindre l'inverse du but qu'elles s'étaient fixé. Il faut tenir compte de ce (faible) feed-back sous peine de rééditer les mêmes erreurs à l'infini. C'est quoi un outil de co-élaboration de territoires publics ? C'est d'abord un outil où on peut définir une zone géographique sur laquelle co-élaborer un projet. Ce peut être 3 rues, un quartier, un centre-ville, une agglo entière. Déposer un signal sur un point géographique comme le fait strasbourg2008 n'a pas de sens : ce qui a du sens, c'est l'environnement sur lequel le projet va s'exercer. Son périmètre d'action. Ce périmètre d'action doit aussi être temporel : on se fixe une limite de temps pour le  réaliser. Un exemple concret sur lequel j'ai travaillé il y a deux ans. C'était un projet franco-américain de crowdsourcing (PlaceForPeople) de gestion de projets territoriaux destiné à faire émerger des propositions "venues d'en bas" (entre guillemets). On s'est rendu compte assez vite que les propositions devaient être réorganisées et fondues dans des projets plus larges pour dépasser le stade du "jeu" (je poste des propositions parce que c'est rigolo, parce que c'est sympa, parce que j'y fait passer ma vision idéologique, parce que je le fais avec mes potes, …)  et atteindre celui d'outil. On a donc mis en place un système où, pour créer un projet, il fallait d'abord définir sur une carte le territoire qu'il concernait : un quartier, une ville, une région… A ce moment-là apparaissait la liste de tous les projets en cours relevant du même espace géographique et la suggestion, pour devenir plus visible et plus fort, de rejoindre autant que possible un projet existant. On était dans une pure logique anglo-saxonne de lobbying : une fois le projet créé il fallait lui donner une durée de vie et définir quels en sont précisément les objectifs et qui en seraient les acteurs possibles, notamment à travers un système d' "endorsement" et d' "empowerment" typiquement américains, précisément pour réintroduire le projet directement dans le champ du politique. Sans cette donnée à la fois anthropologique, géographique et temporelle, il n'est pas possible de mobiliser des citoyens sur un projet viable. Sinon on reste dans du simple cahier de doléances et ce n'est plus du crowdsourcing ni de l' "intelligence collective" dans leur esprit et dans tout leur intérêt. C'est ensuite un outil qui tient compte des contraintes à la fois techniques et économiques. Tenir compte des contraintes techniques c'est collaborer avec les services techniques de l'institution qui détiennent les méthodes et les savoir-faire. D'où l'obligation d'avoir les élus associés au projet. On a des exemples où des projets initiés par des citoyens ont été repris par les services pour leur conférer la "faisabilité" qui leur manquait au départ. Du coup ces projets ont été modifiés pour s'adapter aux contraintes très lourdes de gestion des flux (humains, transports, énergies), mais ces modifications dénaturaient le projet initial. Une troisième phase de négociation s'est alors engagée pour que chaque partie réécrive le projet pour finir sur un consensus négocié, ce qui est toujours mieux qu'une tension sociétale supplémentaire.
Tenir compte des contraintes économiques, c'est placer le citoyen devant ses responsabilités : il veut que les bibliothèques ouvrent plus tard le soir ? OK, ça coûte (mettons) 35 000 euros par an. Pour trouver ces 35 000 euros je dois les économiser ailleurs, par exemple en supprimant l'entretien d'un parc municipal… Est-ce réellement cela que vous voulez majoritairement (on est dans un exercice démocratique, il ne faut jamais l'oublier…) ? Sans cette dimension économique, l'internaute n'est qu'un enfant capricieux qui demande des jouets à n'en plus finir. L'outil idéal serait donc un outil d'e-citoyenneté où les internautes, en déposant un projet, génèrent le coût associé et où ce coût devrait être retiré à un autre projet... à eux de choisir lequel. Jeu cruel, mais jeu bien réel. Cet outil existe, il a été monté par la mairie de Montréal il y a deux ans. D'où, encore une fois, l'importance de mener une veille serrée sur ces sujets.
Enfin dernier point : débattre et commenter c'est pas la même chose. Débattre c'est modéliser, c'est construire, c'est amender, c'est infléchir, c'est négocier. Commenter c'est encore et toujours donner une opinion. La démocratie dans son essence (et l'e-democratie pareillement) n'est pas un jouet qu'on utilise en disant "j'aime" ou "j'aime pas" mais un exercice délicat de confrontations et de négociations. Il n'y a jamais de démocratie possible sans débat possible. Commenter n'est pas négocier. Une interface, projet par projet, présentant des espaces de débat, des outils d'amendement, des modélisations virtuelles, etc. est impérative, de façon à ce que chacun puisse démocratiquement participer. Participer, c'est pas commenter ni liker, c'est s'engager et s'inscrire dans le projet en donnant ses disponibilités, ses compétences et son énergie. C'est ce que nous avons fait sur PFP. J'ai l'impression que les initiateurs de strasbourg2028 se sont peut-être un peu trop pris au jeu du "dernier outil à la mode" sans trop s'entourer des précautions nécessaires dès qu'il s'agit du monde social. Le monde social n'est pas un ensemble de datas à computer, mais un organisme traversé de subjectivités. Faut être très prudent avec ça, comme avec tout ce qui concerne le corps social. Ne pas trop jouer. Longue vie et bon courage à strasbourg2028 :-)
1 note · View note
woldenavro · 11 years
Text
Serious Games et Unités lexicales sémantiques
Pour un projet client commencé l'an dernier (et pas encore terminé) j'ai été confronté à un problème extrêmement intéressant : traduire le langage naturel (les choses telles qu'on les écrit naturellement au clavier) en codes numériques par un système qui doit à la fois être simple, robuste, portable et fiable, de façon à ce qu'on puisse aussi bien évaluer ce qui a été écrit (est-ce que deux phrases sont identiques ou pas, bien que formulées différemment ?) que le switcher en univers virtuel via un traducteur approprié qui permette à des avatars et des objets d'interagir entre eux en respectant la formulation de l'auteur du texte.
Le contexte
Pour ceux qui ne savent pas ce que c'est, un Serious Game ("jeu sérieux") est un jeu virtuel qui se réalise sur un appareil connecté (navigateur web, smartphone, tablette...) où l'on définit un contexte de départ et d'arrivée (scénario) et où le joueur, en se comportant à chaque étape de la meilleure façon qui soit, montre qu'il a compris le processus menant du point de départ à la fin du jeu. C'est donc un outil d'apprentissage et de validation de connaissances.
Par exemple on peut imaginer un Serious Game où le point de départ, fixé par l'enseignant, serait "vous êtes dans votre voiture garée dans la rue" et le point d'arrivée serait "vous roulez sur la chaussée". Si l'étudiant, dans l'ordre, boucle sa ceinture de sécurité, met son clignotant, jette un coup d'oeil dans le rétroviseur, sort de sa place de parking et s'engage sur la chaussée, alors on estime qu'il valide les connaissances nécessaires pour réaliser cette action.
A la différence d'un simple quizz, un Serious Game peut être très complexe et porter sur des connaissances très pointues. Il peut également être réalisé "en situation" dans un univers virtuel en 3 dimensions, où l'étudiant, ou plus exactement son avatar, se déplace, utilise des objets placés autour de lui, parle avec d'autres avatars, etc. Selon ce qu'il dira, selon ce qu'il fera, et selon l'ordre dans lequel il dira ou fera les choses, on peut facilement, de façon automatisée (sans contrôle direct de l'enseignant qui n'a pas besoin d'être sur place), savoir si l'étudiant valide ou pas ses connaissances. C'est donc un outil très précieux dans les cycles de formations professionnelles.
Une innovation : des scénarios "non-construits"
Presque tous les Serious Games sont actuellement basés sur un "modèle pré-construit" : le développeur du S.G, en association avec l'équipe pédagogique, prévoit d'avance les objets, les dialogues, les séquences que l'étudiant aura à utiliser pendant le déroulement du jeu.
Le projet sur lequel je travaille étant destiné aux universitaires du monde médical, et le domaine médical allant de la chirurgie au vétérinaire en passant par la cardio, le dentaire ou la radiologie, il était impossible de pré-construire un S.G spécifique à chaque discipline, chacune d'entre elles comprenant en outre des niveaux d'études et de complexités tels qu'il aurait probablement fallu des milliers de S.G pour couvrir l'intégralité des savoirs médicaux à évaluer.
Nous sommes donc partis dans l'idée qu'il fallait mettre à disposition des enseignants des outils de scénarios "non-construits", c'est-à-dire que c'est l'équipe pédagogique elle-même qui décidera du contexte, du point de départ, du point d'arrivée et qui définira toutes les étapes intermédiaires. Il s'agit donc plus de concevoir un outil pour fabriquer des Serious Games qu'un S.G proprement dit. C'est cette idée relativement innovante, puisque beaucoup plus intuitive, plus dynamique et plus évolutive, qui a été retenue lors de l'appel d'offre que nous avons remporté. Encore fallait-il ensuite passer à la réalisation de l'outil.
Le principe général
Chaque enseignant, quelle que soit son université ou sa discipline, doit pouvoir évaluer les connaissances de ses étudiants, quels que soient leurs niveaux d'études à travers un S.G. Pour ce faire, il définit un contexte général (discipline, niveau d'étude, niveau de difficulté, ...) et un point de départ qu'il rédige immédiatement, par exemple "un patient se présente au cabinet avec telle série de symptômes, que faites-vous ?"
Se mettant ensuite dans la peau de l'étudiant, il écrit en langage naturel des séquences chronologiques :
- je lui prends sa tension
- je lui fais un électro-cardiogramme
- je lui demande s'il a déjà présenté de tels épisodes
- je lui demande s'il a mal dans la poitrine
- je lui fais une injection de 5cc de tel produit
- je lui prescris tels médicaments
- je lui donne rendez-vous pour la semaine suivante
- etc.
Une fois ces séquences écrites, il suffira de mettre l'étudiant en face de la question posée par le contexte ("un patient se présente...) et de comparer ses réponses aux séquences écrites pour évaluer immédiatement le degré de pertinence de ses réponses. Ceci peut aussi bien se réaliser sur un navigateur web, un smartphone ou en univers virtuel. Cette dernière configuration présente toutefois des problèmes spécifiques que j'aborderai après.
Evaluer les réponses
La difficulté principale est d'évaluer les réponses de l'étudiant. Si, reprenant les séquences ci-dessus, au lieu d'écrire
- "je lui demande s'il a déjà présenté de tels épisodes"
il écrit
- "je lui pose la question : avez-vous déjà eu des symptômes identiques ?"
on valide l'étape en cours. Si en revanche il écrit :
- "je lui demande s'il a vu le dernier épisode de NCIS"
il y a encore du boulot :-)
Il faut donc parvenir à "réduire" la séquence "je lui demande s'il a déjà présenté de tels épisodes" en un schéma d'unités lexicales sémantiques (ULS) du type [SAP]>[PAO] = Soignant-Action-Patient>Patient-Action-Objet, où on aurait comme première action (A) qui vaudrait [DIRE] (parler, demander, etc.) et comme seconde [RESSENTIR] (avoir, éprouver, etc...)
Une fois cette séquence définie, n'importe quelle formulation qui, une fois réduite, équivaut strictement à l'ULS [Soignant-Dire-Patient -> Patient-Ressentir-Pathologie] sera considérée comme validant la séquence :
- je [S] lui demande [A(dire)>P] s'il [P] a déjà présenté [A(ressentir)] de tels épisodes [O(pathologie)]
ou - "je [S] pose la question [A(dire)>P] : avez-vous [P] déjà eu [A(ressentir)] des symptômes identiques ? [O(pathologie)]
ou - "je [S] demande [A(dire)] au type [P] si il [P] déjà eu [A(ressentir)] cette maladie [O(pathologie)]
La séquence est bien validée dans tous les cas.
Tout la difficulté consiste à "réduire" en ULS des formulations parfois complexes.
Le process "actions"
Je suis parti de l'idée que l'action était au centre de chaque séquence et que cette action se présenterait toujours sous forme de verbe. J'ai donc commencé par rechercher sur le web des listes de verbes de la langue française puis à les compiler, parfois manuellement, parfois programmatiquement, en un dictionnaire XML unique sous la forme <verbe>avoir</verbe><conjug>ai,as,a,avons,avez,ont,avais,avait,avions,aviez,avaient,...</conj>. Ce disctionnaire des verbes comprend actuellement environ 5000 entrées.
Pour chaque séquence écrite, et à mesure qu'on l'écrit, une interrogation ajax en tâche de fond explore le dictionnaire des verbes pour retrouver l'infinitif quand on le rencontre conjugué : "je demande" = "demander".
Pour éviter les fautes d'orthographe possibles, une assistance à la rédaction s'appuie sur un autre dictionnaire XML fabriqué lui aussi à partir de nombreuses sources compilées, comprenant pour l'instant un peu plus de 36 000 mots de la langue française. L'orthographe correcte étant à peu près assurée par un outil d'auto-complétion (assistance à la rédaction). Ce dictionnaire ne couvrant pas l'intégralité des termes médicaux parfois très spécifiques (noms d'instruments, de maladies, ...), un autre dictionnaire a été réalisé, comprenant lui environ 20 000 entrées. Je tape donc dans plus ou moins 50 000 mots pour l'étape rédactionnelle.
Un appel à des fonctions Levenshtein permet d'évaluer la "distance" entre un mot entré inconnu et un mot connu (présent dans le dictionnaire). Si la différence est d'une seule lettre il utilisera ce mot : "termomètre" sera reconnu comme "thermomètre".
Le process "acteurs"
On a la chance dans ce projet d'être confronté à un dialogue simple puisqu'il n'y a que deux acteurs : le soignant et le soigné (ou son représentant : un bébé de 3 mois ne parle pas, un éléphant de cirque non plus). En revanche la difficulté est de les reconnaître puisque notre langue permet une combinaison invraisemblable de pronoms en charge de répartir les uns et les autres dans la phrase-séquence :
"je le lui ai dit" et "j'ai dit au type que ceci..." sont sémantiquement identiques, mais sous des formes différentes. L'étape suivante a donc consisté à premièrement réduire toutes les formes verbales composées en formes simples : partant de ma transformation des actions en infinitifs, pour "je le lui ai dit" j'ai actuellement "je le lui[avoir][dire]" dont je dois faire "je le lui[dire]"puisqu'on se fout de savoir si c'est passé ou présent, car ce qui compte, dans la logique de la grammaire cognitive, c'est "QUI FAIT QUOI A QUI"... Là il faut un peu se casser la tête car supprimer simplement les auxiliaires "être" et "avoir" conduit à perdre l'action verbale dans "il [avoir] mal à la tête"... Décider arbitrairement que tout auxiliaire immédiatement suivi d'un autre verbe est à supprimer mène aussi à des problèmes ultérieurs insurmontables puisque  "je ne lui ai pas donné" (S+neg+P+[avoir]+neg+[donner]) devrait être en réalité (S[donner]P+neg) pour fonctionner. De la même façon,  "il[avoir]bien[prendre]ses médicaments" (P[avoir]+adverbe+[prendre:O(ses médicaments)) n'est pas (P[prendre:O(ses médicaments)). Un pattern matching ad hoc permet d'isoler temporairement adverbes et articles pour réduire la séquence à une suite de mots, de verbes et de pronoms.
Les pronoms étant définis en tapant dans une liste assez courte, on peut assez simplement obtenir enfin la séquence ULS recherchée, et récupérer le schéma SAP>PAO ([soignant][dire][patient]>[patient][prendre][médicaments]) à partir de "je lui demande s'il a bien pris ses médicaments", "je lui dis de prendre ses médicaments" ou encore "je lui conseille de toujours prendre ses médicaments"... Les aspects temporels n'ont pas d'importance puisqu'on n'est pas dans l'évaluation d'une séquence abstraite, prise dans l'absolu, mais dans l'évaluation d'un moment du scénario, moment où l'enseignant doit s'assurer que son étudiant pose bien une question au patient concernant sa prise de médicaments.
Une fois les formulations alambiquées du genre "je m'assure qu'il a bien pris tous les médicaments que je lui ai prescris" réduites en [SAS>PAO>SAP] (soignant [assurer] à lui-même > patient [prendre] médicaments > soignant [prescrire] patient), reste à lever les ambiguïtés verbales et nominales : qu'est-ce que assurer ? qu'est-ce que prescrire ? qu'est-ce que médicament ?
Un traducteur ULS
C'est là qu'on besoin d'un outil particulier, le traducteur ULS. Ce traducteur va récupérer les actions verbales et les mots/noms (objets, produits, termes techniques...) de façon à synthétiser le tout en formulations ULS unifiées. Concernant les mots ce n'est pas très compliqué, un autre dictionnaire, constitué de synonymes (environ 37 000 entrées) va récupérer le mot entré par l'étudiant et vérifier simplement qu'il correspond bien à celui entré par l'enseignant (traitement = médicament).
Pour les verbes c'est plus compliqué puisque "prendre le tensiomètre" et "prendre la tension" ne sont pas la même action. Elles peuvent même se suivre dans le scénario séquentiel de l'enseignant, destiné par exemple aux élèves-infirmières de première année. Lorsqu'à la rédaction (à la saisie en langage naturel) le traducteur ULS détecte une action litigieuse ou ambigüe ("faire", "prendre", ...) il propose une liste de synonymes verbaux (dictionnaire de 2000 entrées environ) dans laquelle préciser le champ sémantique couvert par le verbe ("prendre le tensiomètre" => "saisir" vs. "prendre la tension" => "mesurer") qui permet de lever les ambigüités possibles.
L'autre fonction de ce traducteur ULS c'est de "réduire" les verbes/actions à un identifiant unique : par exemple si l'enseignant écrit "je lui demande", le verbe [demander] sera remplacé par [DIRE] qui sera l'identifiant unique pour toute une gamme d'actions similaires : parler, raconter, demander, exprimer, expliquer, suggérer, conseiller, etc.
On a donc au final une structuration en ULS suffisamment robuste et fiable qui permet d'évaluer de façon entièrement automatisée les réponses des étudiants à mesure qu'ils les écrivent à l'écran. Les langages utilisés étant des langages standard du web (javascript, json, ajax, php, xml) l'outil est immédiatement portable sur n'importe quel serveur de n'importe quelle université (francophone ! :-). Les petits outils d'intelligence artificielle que j'ai utilisé/réalisé jusqu'à présent, le plus souvent écrits en aiml (le SoniaBot par exemple), nécessitaient à un moment ou à un autre l'appel à des serveurs spécifiques, paramétrés pour cet usage. Là on est vraiment complètement open.
Et en univers virtuel
Le S.G ainsi produit est également (presque) immédiatement utilisable en immersion 3D dans un univers virtuel type Second Life ou OpenSim. Le langage lsl utilisé par ces univers immersifs 3D est appelé par le traducteur ULS qui "sait" que [DIRE]= function llSay(). Presque, parce qu'il faut que l'équipe pédagogique ou ses prestataires "buildent" les bons objets et les nomment de façon à ce que leur UUID (identifiant unique" soit conforme au traducteur ULS : si on builde une seringue, on récupérera son UUID (genre HGFY5E6V76RBGBI5R856E) qu'on intégrera au chams <uuid> du xml ULS. Donc si une séquence du scénario dit :
- "je prends ensuite la seringue"
et que l'avatar de l'étudiant touche la seringue [llTouch(uuid)], la séquence est alors automatiquement validée.
Une machine "apprenante"
Le système serait incomplet sans des outils d'apprentissage. Quand un mot (un verbe, un objet, une pathologie...) est inconnu des dictionnaires qui forment le coeur du "savoir" du système, celui-ci demande à l'enseignant de lui trouver un synonyme approchant et l'intègre alors à son "savoir". Si aucun synonyme ne correspond de près ou de loin au terme, il crée alors un nouveau champ lexical. L'évolutivité de l'outil est une part importante de la réussite et son utilisabilité en dépend étroitement. En s'approchant ainsi peu à peu des outils d'intelligence artificielle on s'approche d'un outil capable de couvrir tous les besoins des enseignants.
D'autres fonctions sont en cours d'implémentation, comme par exemple la possibilité de se créer des "bibliothèques personnelles" (privées ou rendues publiques) de séquences pré-écrites qu'il n'y a donc plus besoin de réécrire à chaque fois... Elles sont simplement appelées par B[n°] : si l'enseignant écrit B5 dans le champ séquentiel, la bibliothèque n°5 sera automatiquement ajoutée au scénario. Ou encore la possibilité d'établir des statistiques de toutes sortes (taux de réussite de chaque scénario, temps moyen pour le réaliser, etc.) pour permettre aux enseignants d'adapter l'outil aux besoins réels des étudiants, ce que ne permettent pas (ou peu) les S.G "pré-construits".
C'est vraiment un projet tout à fait passionnant :-)
0 notes