Bitcoin, agents ou entreprises distribués autonomes et mobilité

On a beaucoup parlé de Bitcoin et souvent pour de mauvaises raisons : son caractère spéculatif (voir l'évolution du cours ci dessous), les trafics qui peuvent y recourir.


Cours du Bitcoin en $ (source Google)

D'après Google Trends on en parle moins, mais on a peut être tord aussi. En effet, les mécanismes qui sous tendent Bitcoin, en particulier BlockChain ont des vertus dont on est loin d'avoir imaginé toutes les conséquences.

L'objectif général est de sécuriser les transactions numérique. Classiquement, elle fonctionne de la façon suivante :
  • au départ vous disposez d'une valeur, 
  • un acheteur se présente, vous vous mettez d'accord sur un contrat qui, en général, définit que vous transférez la propriété de la valeur une fois reçu un paiement de l'acheteur. 
  • L'acheteur, procède à un paiement électronique via un système dans lequel vous avez confiance. Plus précisément, il obtient que sa banque vous remette un certificat sécurisé attestant que la transaction est faite.
  • En cas de litige ou d'escroquerie, le tiers de confiance peut être saisi et dans certains cas il assumera financièrement une partie des pertes.
Une des innovations principales de BitCoin est le BlockChain. Il s'agit d'un registre sécurisé des transactions qui garantit l'authenticité des transactions sans recourir à un tiers de confiance.
Le registre est au contraire très largement diffusé, accompagné d'une signature. Lorsque vous disposez de la signature et du registre il est facile de vérifier si ils correspondent ou pas grâce à un algorithme rapide.
En revanche, la construction d'une bonne signature si vous disposez d'un registre non signé est très coûteuse en temps de calcul.
Entre deux versions du registre, les nouvelles transactions sont transmises à l'ensemble des dépositaires du registre. Chaque dépositaire vérifie que ces transactions sont légitimes (ie : que le compte de l'acheteur est solvable et  permet bien de réaliser la transaction).
Périodiquement, le calcul de chaque nouvelles signatures pour chaque nouvelle version du registre est assuré par un grand nombre de contributeurs qui offrent de la puissance de calcul.
Au début, la communauté est réduite et les contributeurs sont rémunérés. Plus la communauté grandit moins les contributeurs sont rémunérés. Mais ceux qui disposent de BitCoins, ont de plus en plus intérêt à contribuer à la protection de leur pactole.
En régime de croisière, BitCoin oppose la puissance de calcul de la communauté "légitime" à celle d'un éventuel hacker ou plus probablement à une communauté d'attaquants. La description complète du mécanisme est disponible en anglais ici.
Ces mécanismes permettent de bénéficier des avantage suivants :
  • La confiance dans un tiers n'est pas nécessaire, seule compte la taille de la communauté.Ces systèmes dits "trustless" échappent ainsi aux vulnérabilités inhérentes aux tiers de confiance. Dans un monde où les technologiques, économiques et géopolitiques évoluent rapidement, cette caractéristique a de quoi séduire...
  • Le système est réparti et est à l'abri de la défaillance d'un de ses participants ou d'un attaque locale c'est plus sûr que les espèces ou qu'un compte en banque.
  • Les utilisateurs sont anonymes. Le registre des transactions est publique, mais l'identité des intervenants reste secrète. Le lien entre la transaction et les parties qui la réalisent n'est pas accessible sans l'accord des parties elles mêmes.Dans un mécanisme bancaire classique, les transactions sont aussi secrètes, mais le protection du secret dépend d'un tiers de confiance. 
  • Dans un système qui n'a plus à gérer l'établissement de relation de confiance, les coûts de transaction restent faibles, potentiellement nuls, ce qui n'est ni le cas des espèces, ni celui des monnaies bancarisées,
  • Les transactions sont facilement programmables, ce qui pourrait sans doute être le cas des monnaies bancarisées, mais qui est en quelque sorte "natif" pour Bitcoin. Des contrats sophistiqués peuvent être signés, qui donneront lieu à des transactions conditionnelles. Un exemple est donné par Simulfunding : il permet à des participants à une collecte d'indexer le montant de leur donation sur la donation des autres. Certains imaginent déjà de véritables entreprises "programmées" qui produiraient des services payant, en rémunérant ses sous traitants, sans autre intervention humaine que leur programmation initiale. 
    • Les plateformes de services de mobilité, qui rapprochent la demande et l'offre et qui sous traitent à des conducteurs et vendent à des passagers ou à des chargeurs, sont des candidats pour ces agents autonomes et programmés.
    • Un autre exemple "classique" imagine un futur proche ou lles automobiles les plus pressées proposeraient de micro-payer automatiquement celles qui leur laissent la priorité.
  • Enfin, ces mécanismes sont génériques, ils peuvent s'appliquer à une monnaie, mais ils peuvent aussi être mis en oeuvre pour d'autres schémas qui ne fonctionnent, pour le moment, que via un "tiers de confiance". C'est aujourd'hui le cas de la grande majorité des services numériques. Ils reposent sur des échanges bilatéraux entre un client local et un "serveur central". Cette relation est asymétrique. Le serveur est le seul à voir "toutes les transactions", il est seul garant de la confidentialité et de la sécurité du service. On peut imaginer une nouvelle génération de service dont la sécurité (confidentialité et intégrité des données des utilisateurs, intégrité du service) sont garanties par une vaste communauté activement impliquée dans l'utilisation du service. 
Cette généralisation du blockchain semble être un des objectifs d'Etherum une plateforme qui fera peut être l'objet d'un prochain article, mais dont on parle déjà beaucoup : içi, là en français, ou .
Pour ceux qui doutent encore du sérieux des "crypto monnaies", je suggère la lecture d'un rapport du sénat français

Quelques ressources DataViz pour le transport public et à la mobilité

Voici quelques sites intéressants si vous vous intéressez à la DataViz dans le domaine du transport et de la mobilité :

  • Le site et le blog d'Etinne Come comeetie, des DataViz de Vélib notamment, 
  • Le site Visual Complexity qui propose des centaines d'exemples de DataViz dont une section sur les réseaux de transport.
  • Design et innovation dans les transports : Attoma
  • La veille de Loïc Haÿ avec beaucoup d'exemples sur la ville, les cartes et la mobilité, 
  • ITO World, une société britanique spécialisée : un monde de transport public...
  • Sur les distorsions introduites dans les cartes de transport : metrography de Benedikt Groß
  • Dans un registre humoristique et général et parce qu’il est souvent utile de voir des erreurs pour ne pas trop en faire : WTF DataViz

Une sélection d'articles sur Transid :

Il en existe bien sûr beaucoup d'autres, si vous êtes fan, n'hésitez pas à me les signaler en commentaires de cet article ou sur twitter @transid.

Le lien entre le retard des trains et l'affluence de voyageurs visualisé sur mbtaviz

Les transports publics, pour autant qu'ils aient ouverts leurs données, se prêtent bien à des visualisations innovantes. Mais le travail réalisé par  Michael Barry et Brian Card dans le cadre du cours de Data Visualization de WPI (Matthew Ward) est une vraie réussite.

C'est une data visualisation qui illustre un phénomène important et souvent mal compris : les perturbations dans les systèmes de transports ferroviaires denses. Le phénomène est expliqué en trois temps :

1/ un train en retard retarde les trains le suivent

Dans un système urbain dense, aux heures de pointes, les trains se suivent pour offrir une capacité maximale. La sécurité des circulations impose, néanmoins, une distance minimum entre les trains. Plus on est proche de cette limite plus la capacité théorique du système est élevée, mais moins le système est résistant. En effet, un train en retard va, presque immédiatement, retarder ceux qui le suivent.

Pour illustrer ce phénomène à partir des données réelles de MTBA, la visualisation présente la marche des trains sur un diagramme temps espace bien connu des cheminots (les auteurs mentionnent, élégamment,  Etienne Jules Marey qui s'est passionné pour l'étude des mouvements et du temps).

Sur ce diagramme, chaque couleur représente une ligne du réseau de transport (ici ligne rouge, bleue et jaune). Chaque ligne de couleur représente l'heure  (axe des y) de passage d'un train donné en fonction de sa distance depuis le point de départ (axe des x). Plus les lignes sont horizontales plus les trains sont rapides... Plus elles sont verticales plus ils sont lents.

Sur le site, la visualisation est interactive et facilite la compréhension.

2/ Certaines lignes sont "structurellement perturbées"

La visualisation suivante compare les marches des trains sur une même mission. Les écarts entre les trains les plus lents et les plus rapides créent des faisceaux plus ou moins larges. La ligne rouge est visiblement, en moyenne plus perturbée que la bleue ou la jaune...


3/ Les voyageurs se déplacent presque tous aux mêmes moments

Les données de validation fournies par les tourniquets d'entrée dans les gares permettent de repérer les flux de voyageurs dans l'espace et dans le temps. La visualisation suivante révèle les "heures de pointes" du réseau et met en évidence le fait que ces heures de pointes varient en fonction des jours de la semaine, mais aussi des gares.

4/ Le surplus de voyageurs retient les trains en gare

En effet, plus il y a de voyageurs sur le quai et dans le train plus le train va devoir rester immobilisé en gare pour permettre l'embarquement et le débarquement, et donc plus il va aggraver son retard et, en période de pointe, ceux des trains qui le suivent. De ce point de vue, les systèmes ferroviaires urbains ont tendances à être instables.
Ce constat, assez intuitif, est conforté par la visualisation ci dessous qui permet de vérifier qu'il y a souvent corrélation entre l'affluence en gare et les retards. Inversement, en dehors des heures de pointe, les trains plus espacés et les quais moins chargés permettent au système d'amortir les aléas.


Au total, cette dataviz est exemplaire : elle raconte une histoire intéressante mais complexe, elle permet aux internautes d'expérimenter de façon interactive, elle reste très simple et chaque élements a un sens et joue un rôle dans la démonstration.

C'est un travail rigoureux qui montre qu'il existe souvent une corrélation entre les retards et l'affluence de voyageurs.Pour ceux que cela intéresse, les auteurs ont aussi publié ce document comme un "making of" de leur dataViz qui explique leur démarche et donne des informations techniques pour ceux qui voudraient se lancer ou adapter leur code.