Bienvenue à PeerStorage !


Internet est cassé

Le protocole TCP/IP a été conçu afin que chaque périphérique connecté puisse être à la fois client et serveur, mais dans la pratique on a les clients d’un côté, et les serveurs de l’autre. Certains parlent à juste titre de Minitel 2.0.

On est arrivés à une structure en “multi-étoile” : dans le monde, on a des milliards d’internautes, mais seulement quelques milliers de Data Centers. Donc en moyenne, des millions de clients sur chaque Data Center. Cette concentration pose 3 problèmes :

  • Technique : il faut d’énormes tuyaux pour relier les Data Centers aux fournisseurs d’accès (qui concentrent les clients), et ces derniers prétendent que c’est très cher, donc cherchent à faire payer les fournisseurs de services.
  • Ethique : les données personnelles sont aux mains d’une poignée d’acteurs. Les utilisateurs perdent le contrôle sur ce qui en est fait.
  • Politique : la concentration des données facilite grandement la surveillance et la censure.

Les apps : un nouveau paradigme

Le constat est qu’aujourd’hui, nous nous dirigeons vers un monde “d’apps”, que ça soit sur mobile bien sûr, mais également sur le web : les sites modernes font massivement appel au JavaScript qui s’exécute dans les navigateurs.

En fait, les serveurs du “cloud” (terme marketing qui veut dire “architecture client-serveur” des années 70) ne servent quasiment plus qu’à faire du stockage de données (le plus souvent personnelles), mais leur traitement se fait essentiellement côté client.

Le stockage : nœud du problème

Les éditeurs de services sont actuellement ceux qui stockent les données de leurs utilisateurs, les enfermant par là même dans des silos. Leur business model est la monétisation de ces données, avec une éthique souvent contestable (lire les conditions d’utilisation).

RemoteStorage

L’idée est de dissocier fourniture de l’application et stockage des données personnelles. Chaque utilisateur dispose d’un espace de stockage dont il est responsable, et toutes les applications qu’il utilise y accèdent.

  • L’utilisateur est seul responsable de ses données, et il autorise les applications (qui s’exécutent donc sur son client) à y accéder. L’éditeur des applications n’a plus à les stocker, il n’y a même plus accès.
  • L’arrivée de nouveaux entrants est facilitée car ils n’ont plus à se soucier de l’infrastructure nécessaire au stockage des données.
  • Avantage pour l’utilisateur : ses données sont accessibles par toutes les applications qu’il utilise, elles deviennent ainsi de fait interopérables, et interchangeables.

RemoteStorage est une excellente idée, MAIS :

  • Un hébergeur de données ne peut tirer profit de cette activité qu’en les monétisant, ce qui est contraire au but même de RemoteStorage.
  • Peu de personnes sont prêtes à payer pour stocker leurs données, vu qu’elles ont pris l’habitude de les stocker “gratuitement”.
  • L’auto-hébergement sera longtemps une solution réservée à une minorité.
  • Sauf à transformer son ordinateur personnel en serveur, et à en assurer la disponibilité, les serveurs resteront concentrés dans les Data Centers.

PeerStorage

Et si on avait la même API que RemoteStorage, mais sans avoir besoin d’un serveur de stockage ? Une simple DHT (distributed hash table) généralisée suffit : chaque périphérique connecté y participe avec un peu de bande passante et de capacité de stockage.

Trois principes clé :

  • La redondance afin d’assurer la disponibilité des données. Les périphériques n’ont pas à rester connectés en permanence. Les “voisins” prennent soin de conserver suffisamment de redondance afin que les données ne disparaissent jamais.
  • Le chiffrement des communications et du stockage afin de protéger juridiquement les participants :
    • Personne ne sait ce qu’il stocke,
    • ni qui utilise son espace partagé,
    • celui qui accède à des données dans ce système ne sait pas où elles se trouvent.
  • Un système de crédit lié aux ressources, afin d’inciter à participer, et éviter les usages abusifs :
    • On reçoit des crédits quand on met à disposition ses ressources,
    • On donne des crédits quand on utilise les ressources des autres,
    • Ces crédits peuvent être transférables, créant ainsi une forme de crypto-monnaie.

Internet est réparé

PeerStorage reprend les fondements de RemoteStorage, tout en palliant à ses inconvénients :

  • Les fournisseurs d’accès n’auront plus d’un côté leurs clients et de l’autre les serveurs (NetFlix, YouTube…). En rendant le trafic symétrique et chiffré ils perdent le pouvoir de prioriser les paquets, donc ne peuvent plus menacer la neutralité d’Internet.
  • Les éditeurs de services sont actuellement ceux qui stockent les données de leurs utilisateurs, les enfermant par là même dans des silos, tout en étant capables de monétiser ces données (avec une éthique souvent contestable). Avec un stockage décentralisé :
    • L’utilisateur détenteur de “la clé”, est seul responsable de ses données, et il autorise les applications (qui s’exécutent donc sur son client) à y accéder. L’éditeur des applications n’a plus à les stocker, il n’y a même plus accès.
    • L’arrivée de nouveaux entrants est facilitée car ils n’ont plus à se soucier de l’infrastructure nécessaire au stockage des données.
    • Avantage pour l’utilisateur : ses données sont accessibles par toutes les applications qu’il utilise, elles deviennent ainsi de fait interopérables, et interchangeables.
  • Quand le chiffrement devient la norme, qu’ils n’y a plus d’acteur capable de révéler des données, qu’il n’y a plus de serveur à débrancher, et que même le routage des flux est indirect, la surveillance et la censure deviennent extrêmement difficiles (comprendre coûteuses). Ce n’est peut-être pas un pb dans le monde “occidental” (bien que ce point soit discutable), mais ça l’est pour la majorité de la population mondiale.