[Python] Reseau social pair-à-pair


#1

J’ai commencer et a mon sens assez avancer sur un projet de réseau social peer-to-peer, pour que d’autres personnes puissent contribuer.

Si l’idée vous bote n’hésiter pas répondre a ce message.


#2

J’ai jeté un oeil rapidement:

  • Je pense qu’a minima il faudrait expliquer l’intérêt de ton programme par rapport à d’autres déjà existants
  • Le README parle d’un dépôt github :slight_smile:
  • Pourquoi faut-il ouvrir firefox et pas autre chose ?
  • Sur quelle techno s’appuie le logiciel pour gérer le “peer-to-peer” ?

Bon courage en tout cas !


#3

Ce projet vise a créer un réseau social pair-a-pair de question-réponse. Un système décentralisé sans serveur principal [0].

Contrairement aux services centralises tel que Quora ou StackOverflow, Qadom n’est pas sous le contrôle d’une (seule) entreprise, ne vous espionne pas et ne vend pas vos données au plus offrant.

Les outils tel que Mastodon ou Pleroma basés sur les recommandations du W3C, entre autre la norme ActivityPub, utilisent encore le paradigme client-serveur pour créer le réseau de fédération, aussi appelé le Fediverse. Cela veux dire que pour participer a ce(s) réseau(x) il faut encore qu’une personne bien intentionnée héberge une instance d’un de ces logiciels. Un centre vers lequel d’autres personnes vont se tourner pour héberger leur(s) identité(s) et rendre possible la conversation.

Qadom est un réseau participatif. Avec Qadom, n’importe qui pourra héberger sur son ordinateur personnel une partie du réseaux comme dans le reseau BitTorrent.

Avec Qadom il deviens moins nécessaire l’existence de ces centres [0], avec l’avantage de toujours garder le contrôle sur son identité.

[0] Il existe (existera) des serveurs “facilitateurs” accessibles publiquement sur Internet qui mettent en contact les différentes pairs.

Contrairement aux services basés sur la norme ActivityPub, vous garder toujours votre identité sur votre ordinateur. Il n’y a pas de notion d’instance tel que dans le Fediverse, il en suit qu’il n’y pas besoin d’avoir de compte de secours et qu’il n’est pas nécessaire de migrer votre profile d’un serveur a un autre car vos données publics sont partagées par vous et par les autres participants. A moins que le réseau soit rompu, pour une raison ou une autre, il y a un seul réseau Qadom.

Qadom un compromis pour avoir de meilleurs performances et utilisabilité par rapport aux réseaux gnunet, Freenet et Tor… Même si la résistance aux attaques contre le réseaux pair-a-pair formés par les participants fait partie des objectifs de Qadom. Qadom privilégie des interactions riches et proche de l’expérience du Fediverse avec l’avantage, comme discuté plus haut, d’avoir un plus grand contrôle sur son identité.

Contrairement a Freenet, gnunet et Tor, pour le moment en tout cas, Qadom va (uniquement) sécuriser les communications pair-a-pair de façon a éviter qu’une entité malveillante puisse surveiller le réseau sans avoir a participer honnêtement au reseau au moins dans une certaines mesure. C’est une mécanique similaire au HTTPS. Une partie tierce ne peux pas savoir ce que vous dites a votre interlocuteur, mais votre interlocuteur est au courant de votre intention. Il existe différente façon de protéger vos intentions a votre interlocuteur tel faire des demandes fantaisistes (déjà utilisé dans Qadom pour envoyer les pairs malveillantes au goulag) ou relayer des demandes d’autres pairs (cela s’appelle “cover traffic” dans gnunet).

Enfin, il faut remarquer que la sécurité de la vie privée dans Qadom n’est pas pire que dans le Fediverse (si vous n’utilisez pas Tor (même si, apparemment, Tor a des failles)).

Je connais peu ou pas IPFS, Secure Scuttlebut (SSB) et DAT. Donc je ne pourrais pas comparer avec ces réseaux. Une différence avec ses outils, c’est que Qadom est écrit en Python et que, a priori, c’est facile a implémenter dans d’autres langages.

Fixed!

J’ai change la commande pour xdg-open qui lance ce qui est configuré par défaut dans le bureau.

C’est basé sur le papier de Kademlia, qui a inspiré la mainline dht (distributed-hash-table) utilisée dans le réseau BitTorrent qui permet la découverte de pairs sans trackers (ie. sans serveur central). C’est un code tout neuf, il n’est pas compatible avec la mainline dht.

:cactus:


#4

@amz3 Hello ! Même si c’est encore une alpha, tu peux l’ajouter à Framalibre.org pour lui donner un peu de visibilité :wink:


#5

Bonne idée, merci!