Twister, un microblog opensource P2P

Posté par (page perso) . Édité par ZeroHeure, Xavier Teyssier, fredix et Xavier Claude. Modéré par Xavier Claude. Licence CC by-sa
34
9
jan.
2014
Communauté

À l'heure des nombreuses révélations de Snowden, il s'avère de plus en plus nécessaire que les développeurs reprennent en main Internet en proposant des solutions réellement décentralisées et chiffrées. Twister fait parti de ces actions, dans le domaine des microblogs.

Twister

Twister offre principalement trois fonctionnalités fortes :

  • résistance à la censure des posts publics, un compte ne pouvant pas être bloqué ;
  • les messages privés sont chiffrés de bout en bout, contenu et méta-données ;
  • les adresses IP ne peuvent pas être pistées ;
  • en outre, évidemment, ce qu'on attend d'un microblog, cad posts, hashtags, mentions et messages privés.

NdM : merci à fredix pour son journal.

Contrairement à des Diaspora et autres weberies, Twister a l'intérêt d'utiliser des protocoles robustes, comme les clefs asymétriques (blockchain concept) de Bitcoin ou la DHT (Kademlia) et le swarm du [protocole BitTorrent] :

  • Bitcoin sert simplement à enregistrer son pseudo de manière unique sur le réseau et à s'authentifier ;
  • la DHT sert à stocker les ressources des utilisateurs.

Twister nécessite de lancer un daemon sur son poste client ou son serveur. En attendant un paquetage on le compilera à partir du dépôt twister-core. Il faut ensuite cloner le contenu du dépôt de l'interface web twister-html dans le répertoire ~∕.twister/html. Il suffit enfin de lancer le daemon puis lancer son navigateur sur http://127.0.0.1:28332/index.html, enregistrer son pseudo et voilà!

Il existe également une interface Android. L'interface et le moteur étant séparés, il devrait être possible de développer d'autres interfaces natives en utilisant l'API JSON.

On peut critiquer l'absence de mécanismes de prévention de name squatting et d'effacement de compte, mais cela sera sans doute au moins discuté, car le projet n'en est qu'à un état alpha.

  • # Explications techniques

    Posté par . Évalué à 9.

    Je recommande la lecture des explications techniques faites par rakoo dans un commentaire du journal original:

    https://linuxfr.org/nodes/100862/comments/1510972

    Ça pourrait presque être ajouté à la dépêche :)

    • [^] # Re: Explications techniques

      Posté par . Évalué à 2.

      Très intéressante en effet. Du coup, de loin, ça me semble moins "confidentiel" que bitmessage.org mais plus simple. (quelqu'un pour comparer) ?

  • # Fork de Bitcoin. Pourquoi pas Namecoin?

    Posté par (page perso) . Évalué à 4.

    Donc, si on regarde le code source, on s'apperçois que c'est un fork de bitcoin.
    Si je comprends bien, toutes les fonction monnaitaires ont été enlevées et le fait d'enregistrer des noms d'utilisateur à été rajouter. Mais il s'agit d'une blockchain séparée.
    Pour fonctionner correctement, il faut que il y ait des mineurs qui dépensent du CPU. Les mineurs sont récompensé par la possibilité d'envoyer du spam.

    Il existe déjà un système P2P d'attributions de noms basé sur le principe de bitcoin: Namecoin. Pourquoi ne pas avoir réutiliser Namecoins plutot que de diviser les efforts?

    Sinon dans le même genre, il y a OKTutrle (Apparemment il n'y a pas encore d'implémentation mais leur papier est assez intéressant )

    • [^] # Re: Fork de Bitcoin. Pourquoi pas Namecoin?

      Posté par (page perso) . Évalué à 1. Dernière modification le 09/01/14 à 17:38.

      Il existe déjà un système P2P d'attributions de noms basé sur le principe de bitcoin: Namecoin. Pourquoi ne pas avoir réutiliser Namecoins plutot que de diviser les efforts?

      Un indice de réponse : la présence de développeurs Bitcoin dans les premiers contributeurs de Twister. Ils sont parti du code qu'il connaissent et qu'il maîtrisent, je pense, simplement.

      Cela ne doit pas empêcher de repartir de Namecoin, si la POC s'avère être une réussite. Après pour tout savoir, il faudrait demander directement aux développeurs :)

      • [^] # Re: Fork de Bitcoin. Pourquoi pas Namecoin?

        Posté par (page perso) . Évalué à 2.

        Un indice de réponse : la présence de développeurs Bitcoin dans les premiers contributeurs de Twister

        Namecoin est aussi un fork de bitcoin de je vois pas le problème.

        • [^] # Re: Fork de Bitcoin. Pourquoi pas Namecoin?

          Posté par (page perso) . Évalué à 1.

          Il y a pas de problème, je dis juste qu'il faut peut être être développeur de ce code là pour comprendre le choix du fork (le diable étant dans le détail et donc hors de portée des non-développeurs Bitcoin/Namecoin).

  • # Namesquatting ? SPAM ?

    Posté par (page perso) . Évalué à 2.

    Voilà qui a l'air fort intéressant :) J'ai toutefois deux questions.

    Quelqu'un peut-il m'expliquer le problème du namesquatting ?
    Du peu que je connais du protocole Bitcoin, la chaîne de création des noms devrait être partagée par tous : la création d'un nouveau nom crée une sorte de fork de la chaîne, et un arbitrage est fait automatiquement en fonction des longueurs des forks. Au final, une seule chaîne subsiste toujours. Donc comment quelqu'un pourrait-il usurper le nom de quelqu'un d'autre ? A moins que le namesquatting ne désigne l'enregistrement du nom de quelqu'un d'autre avant que ce dernier ne le fasse (comme si j'enregistrais le nom de domaine LinuxFr.eu (ça alors, quelqu'un l'a fait !)) ?

    Deuxièmement, le fonctionnement du protocole Bitcoin repose sur le minage de nouveaux Bitcoin (ça demande de plus en plus de puissance) et l'intérêt qu'il y a à le faire (récompense). Cela veut-il dire que les premières inscriptions seront faciles mais qu'il deviendra de plus en plus difficile de s'inscrire ? Et quelle récompense gagne-t-on à participer au processus de « minage » (nommage) ; est-ce vraiment le droit de faire du SPAM ? Est-ce plutôt le droit de poster (un peu comme les Karma de LinuxFr) ?

    • [^] # Re: Namesquatting ? SPAM ?

      Posté par (page perso) . Évalué à 2.

      A moins que le namesquatting ne désigne l'enregistrement du nom de quelqu'un d'autre avant que ce dernier ne le fasse

      C'est exactement ça. Rien ne m’empêche aujourd'hui de m'inscrire en tant que @google. L'avantage d'un système centralise dans ce cas de figure est qu'il fait autorité (bonne ou mauvaise est un détail politique; techniquement, c'est possible). A l'inverse, Bitcoin et dérivés ne permettent pas de régler ce genre de conflits.

      Cela veut-il dire que les premières inscriptions seront faciles mais qu'il deviendra de plus en plus difficile de s'inscrire ?

      use the source, luke.

      Il faut voir plus en détail comment marchent les bitcoins. Ce que tu mines, ce sont des blocks virtuels qui contiennent des données arbitraires. Il est de plus en plus difficile de trouver (c'est a dire miner) un bloc, mais il sera toujours aussi trivial de vérifier un bloc. La ou ça nous intéresse pour Twister, c'est que ce qui compte n'est pas de trouver de plus en plus de blocks, mais que tout le monde soit d'accord sur l'ensemble des blocks (puisque c'est cet ensemble qui détermine qui est inscrit ou non). Dans l'utilisation classique des bitcoins et autres en tant que monnaie, c'est trouver un block qui est rémunérateur, d’où la course a l'armement (dans Twister, trouver un block donne droit a un message de spam que les pairs du réseau devraient afficher… c'est la manière de l'auteur a inciter tout le monde a continuer de miner)

      Si la difficulté augmente, c'est que quelqu'un quelque part a une puissance de calcul plus élevée, et que c'est lui qui trouvera les blocs; pas de problème, a partir du moment ou il en trouve et que tout le monde le vérifie ça valide le block.

      Quelles genres de données met-on dans les blocks ? Et bien tout simplement la liste des utilisateurs. Lorsqu'on veut s'inscrire, on envoie a tout le monde son nom avec sa clé publique et tout le monde essaie de miner le prochain block avec ce nouveau nom. Pour eviter que n'importe qui envoie des inscriptions pour flooder le reseau, il y a une deuxieme proof of work qui est censée ne durer que quelques minutes pour l'utilisateur "normal".

  • # Spam

    Posté par (page perso) . Évalué à 2. Dernière modification le 11/01/14 à 18:10.

    Je pensais que quelqu’un ferait la remarque: miner ça donne le droit de poster du spam. Sérieux? J’ai pas envie de me faire polluer mes moyens de communication.

    Et puis quel intérêt pour les particuliers? Quel intérêts pour les entreprises/associations/groupes de communiquer sur un truc qui démarre à peine? (et qui ne sera sûrement utilisé par peu de monde de toute façon…)

    Écrit en Bépo selon l’orthographe de 1990

    • [^] # Re: Spam

      Posté par . Évalué à 1.

      Concernant le spam, je me permet de copier coller la faq :

      Promoted messages? Am I going to be flooded with SPAM?

      No, I hope not. I don’t like promoted message any more than you do, but I believe that a fair balance between the allowed volume of promoted messages will not upset the users while providing a good incentive for people to run the twister infrastructure.
      Currently there is a maximum of one promoted message to be shown every 8 hours for every client, but the exact policy to be used is meant to be decided by the community.
      The mechanism is actually quite democratic. Anyone can start generating blocks to send promoted messages, so this is effectively an advertising mechanism reaching the entire population of twister users. While an entrepreneur may invest in a mining rig to announce his product, a non-profit organization may ask his supporters to use their own personal computers to increase the probability of spreading their message.

      bépo powered

      • [^] # Re: Spam

        Posté par (page perso) . Évalué à 2.

        J'ai déjà lu la FAQ. Je trouve que c'est ennuyant pour les utilisateurs et pas forcément utile pour ceux qui veulent se faire un peu de pub. Après faut voir ce que ça donne sur du long terme.

        Écrit en Bépo selon l’orthographe de 1990

  • # Mon expérience

    Posté par (page perso) . Évalué à 2.

    Bon, qui parmi les lecteurs de LinuxFr est sur Twister, qu'on puisse essayer ensemble ? Moi, c'est "bortzmeyer" sur Twister.

    Mon compte-rendu d'expérience : http://www.bortzmeyer.org/twister.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.