De la friture sur le Fediverse ?

Temps de lecture 15 min

image_pdfimage_print

Nous vous avons proposé déjà trois articles qui font écho à l’actualité récente autour de Mastodon en voici un 4e, celui d’Aral Balkan, traduit pour vous par Framalang. Le héraut du SmallWeb insiste avec humour sur un point en effet crucial : la taille géante de certaines instances, due à la conception technique même du Fédiverse, risque d’être problématique…

Donc, après :

Voici Is the fediverse about to get Fryed ?

Traduction Framalang :  Claire, Fabrice, goofy, Henri-Paul, jums

Le Fédiverse va-t-il stephenfrire ?

(Ou « Pourquoi chaque pouet est aussi potentiellement une attaque par déni de service »)

par Aral Balkan

bandeau du compte mastodon de Fry, avec sa tête (homme âgé barbu souriant) en médaillon. le compte annonce (au moment de sa capture 5 pouets, 0 abonnements 27 000 abonnés"
Stephen Fry est une célébrité outre-Manche  : écrivain, humoriste, acteur et vedette de la TV (sa page Wikipédia)

 

Stephen est un gros poisson dans une petite mare (oui, j’en ai d’autres en réserve).

Attention : le Fédivers est sur le point de frire. Stephen Fry(re) bien sûr.

À la suite du récent rachat de Twitter par un milliardaire proto-fasciste immature, des gens ont fui1 vers le Fédiverse2. Parmi eux, certains avaient, au moins sur Twitter, des millions de followers, comme Greta Thunberg et, plus récemment, Stephen Fry3

— Eh bien, c’est sûrement une bonne chose, non ? Tout le monde va parler du Fédiverse, de la décentralisation, et peut-être même de ce Small Web dont tu parles tout le temps, Aral, non ?

Eh bien, oui et non… Trop de bonnes choses tue les bonnes choses. Et, dans le Fédiverse actuel, les bonnes choses seraient les « comptes populaires ». En fait, cela pourrait bien être fatal (pour les instances Mastodon). Je vais essayer de détailler dans cet article ce que je veux dire en prenant mon propre compte comme exemple.

Comment tuer un Mastodon(te)

(indice : en étant bavard quand vous êtes populaire)

Inutile de le préciser, je ne suis pas une célébrité.
Et pourtant, dans le Fédiverse, je me retrouve dans une situation un peu unique dans laquelle :

1. J’ai ma propre instance Mastodon, juste pour moi4.
2. Je suis suivi par pas mal de personnes. Plus de 22 000, pour être précis5.
3. Je suis beaucoup de personnes, et j’aime vraiment avoir des conversations avec elles (je pense que c’est ce que les jeunes branchés appellent « l’engagement »).

Malheureusement, la combinaison de ces trois facteurs a créé la tempête parfaite6, ce qui veut dire que désormais, chaque fois que je poste quelque chose qui suscite beaucoup d’engagement, je finis par conduire une attaque par déni de service contre moi-même.

Mastodon : déni de service en tant que service ?

Hier, c’était mon anniversaire.
Et, bien sûr, j’ai posté sur ce sujet depuis mon instance Mastodon.

tête d'Aral qui fait l'andouille sur un pouet de mastodon et demande en anglais : "qui a deux pouces et 46 ans aujourd'hui ?"

J’ai eu pas mal de réponses. Et, pour être poli, j’ai commencé à répondre à tout le monde avec des messages de remerciements. Oh non, mon pauvre naïf ! Qu’est-ce que tu n’avais pas fait ?

Je vais laisser mon ami Hugo Gameiro, qui gère masto.host et héberge mon instance, expliquer ce qui s’est passé ensuite7 :

Vous avez beaucoup d’engagement et cela sollicite beaucoup Sidekiq8.

Prenez, par exemple, votre message d’anniversaire. En plus de demander à des milliers de serveurs de traiter votre demande de réalisation (on appelle ça des « jobs ») pour propager votre message (pour 23 000 abonnés, disons 3 000 serveurs), votre serveur au moment de la création de votre message va créer 3 000 jobs Sidekiq. Et comme votre Sidekiq n’a que 12 threads, traiter 3 000 jobs va prendre du temps puisqu’il ne peut en traiter que 12 à la fois.
Ensuite, pour chaque réponse à ce message, 3 000 jobs sont à nouveau créés, afin que vos abonnés puissent voir votre réponse sans avoir à changer de serveur ou aller sur votre profil. Et puis, si vous répondez à votre réponse, 3 000 jobs supplémentaires sont créés, etc.
Si vous répondez aux 100 réponses que vous avez reçues en 10 minutes (en supposant que l’estimation de mon nombre de serveurs est correcte), vous créez 300 000 jobs Sidekiq. C’est pour cela que ça bouchonne.

Mais qu’est-ce que tout cela veut bien dire, si on omet le jargon technique ?
Eh bien, que je parlais trop en étant trop connu de tous.

tableau de bord de sidekiq avec plusieurs graphiques et des chiffres qui montrent un pic de fréquentation que le logiciel a du mal à traiter
Voilà à quoi ressemble un embouteillage sur Mastodon.

Alors, quelle est la solution ?
Eh bien, il n’y a qu’une chose à faire quand vous vous retrouvez dans ce pétrin : agrandir votre instance Mastodon9. Le problème ? Ça commence à coûter cher.
Avant la dernière migration de Twitter10, je payais environ 280 €/an (un peu plus de 20 €/mois) pour mon instance Mastodon grâce à un partenariat que j’avais avec Hugo depuis le début. Cette semaine, je l’ai agrandie avec un plan à 50 €/mois. Et ce n’est toujours pas assez, comme le montre mon message d’anniversaire, donc Hugo a gentiment suggéré de me proposer un plan sur mesure.
Le problème n’est pas résolu pour autant, il est juste repoussé (sauf si cet article énerve tout le monde, bien sûr).
Heureusement, comme j’ai ma propre instance, la seule personne pénalisée par cette dépense supplémentaire, c’est moi. Mais que se serait-il passé si j’étais sur une instance publique gérée par quelqu’un d’autre ?

Tu déconnes, Elon ?

tweet iroique d'Aral en anglais ; Silicon Vallée : on va rendre les gens dépendants en leur filan des sucreries gratuites pour qu'ils ne se rendent pas compte qu'on les trait comme des vaches à lait / Elon Musk : faisons-les payer 8 dollars par moi pour les sucreries

Si Elon Musk voulait détruire mastodon.social, l’instance phare de Mastodon, il lui suffirait de s’y inscrire11.
Heureusement, Elon n’est pas assez intelligent pour ça.

Je plaisante, bien sûr… Eugen bannirait très probablement son compte dès qu’il le verrait. Mais ça illustre un problème : Elon est facile à bannir. Stephen Fry l’est beaucoup moins. C’est un véritable trésor national pour nous tous. On ne le bannit pas comme ça.
Et pourtant, Stephen peut lui aussi (bien qu’involontairement) coûter très cher aux gens qui gèrent des instances Mastodon, simplement en rejoignant l’une d’elles12..
La solution, pour Stephen tout du moins, est simple : il devrait gérer sa propre instance personnelle.
Ou demander à quelqu’un de le faire à sa place, comme je le fais13.
Gérer sa propre instance apporterait aussi à Stephen un autre bénéfice : il serait automatiquement vérifié. Après tout, si vous parlez à, mettons, @stephen@social.stephenfry.com, vous pouvez être certain que c’est bien lui parce que vous savez qu’il gère son propre domaine.

Des instances personnelles à la rescousse

Mon discours au Parlement européen sur les problèmes avec la Big Tech et les approches différentes que proposent Mastodon, le Fédiverse, et le Small Web.

— Attends, je suis largué… Tu ne viens pas de dire que les instances personnelles étaient une partie du problème ?
— Oui et non : elles le sont et elles ne devraient pas l’être.

Si ActivityPub (le protocole) et Mastodon (un serveur qui adhère à ce protocole) avaient été conçus pour promouvoir la décentralisation, alors avoir plus d’instances sur le réseau ne serait pas un problème. En fait, ça serait même le signe d’un réseau décentralisé sain.
Cependant, ActivityPub et Mastodon ont été conçus de la même manière que la Big Tech / Big Web : pour encourager des services qui hébergent le plus d’utilisateurs14 possible.
Cette architecture est à la fois complexe (ce qui la rend difficile et coûteuse à héberger) et très efficace pour la Big Tech (où les choses sont centralisées et passent à l’échelle verticalement, et où le but est d’avoir / de contrôler / d’exploiter autant d’utilisateurs que possible).
Dans la Big Tech, le coût initial pour passer à l’échelle est subventionné par de nombreuses sociétés de capital-risque (des personnes riches investissant dans de nouveaux business d’extraction et d’exploitation – ce que la Silicon Valley appelle des startups – dans le but de devenir encore plus riches), et ça mène à ces silos géants15 que sont aujourd’hui les Google, Facebook et Twitter.
Toutefois, à la différence de la Big Tech, le but avoué du Fédiverse est de décentraliser les choses, pas de les centraliser. Du coup, comment pourrions-nous atteindre l’opposé des buts de la Big Tech en adoptant leurs architectures de base ?
Lorsque vous adoptez le design de quelque chose, vous héritez aussi des critères de réussite qui ont mené à ce design. Si ces critères de réussite ne correspondent pas à vos objectifs, vous avez un sacré problème.
Pour le dire plus simplement :
N’adoptez pas les critères de réussite de la Big Tech, sinon vous deviendrez la Big Tech.

Ce n’est pas la taille qui compte

Aujourd’hui, il y a une équivalence entre la taille de mastodon.social (l’instance gérée par Eugen) et le succès de Mastodon (le logiciel créé par Eugen). C’est très dangereux. Plus mastodon.social grossit, plus il va ressembler à Twitter.
Je peux presque vous entendre crier : « Mais Aral, c’est fédéré ! Au moins, il n’y a pas de verrous sur mastodon.social ! ».
Et c’est vrai.
Vous savez ce qui est également fédéré ? L’e-mail.
Avez-vous déjà entendu parler de cette petite et vieille instance appelée Gmail ? (Ou peut-être les termes « adopte, étend, étouffe » ?)
Savez-vous ce qui arrive à votre e-mail si Google déclare (à tort ou à raison) que vous êtes un spam ? Personne ne voit votre e-mail.
Vous savez ce qui se passe si mastodon.social bloque votre instance ? Des centaines de milliers de gens (bientôt des millions ?) ne pourront plus décider d’afficher ou non vos messages.
Que se passe-t-il quand votre instance bloque mastodon.social ? Absolument rien.
C’est un réel déséquilibre des puissances.

La décentralisation commence par soi-même

Mastodon est non-lucratif, et je n’ai pas de raison de croire qu’Eugen n’ait pas les meilleures intentions du monde. Et pourtant, la décentralisation commence par se décentraliser soi-même.
C’est dans l’intérêt du Fédiverse que mastodon.social donne le bon exemple en limitant sa taille volontairement.
En fait, ça devrait même être intégré au logiciel. Les instances Mastodon devraient être empêchées de croître au-delà d’une certaine taille. Les instances qui sont déjà trop grosses devraient avoir des moyens d’encourager les gens à migrer vers des plus petites.
En tant que communauté, nous devrions aborder les grandes instances comme des tumeurs : comment pouvons-nous les détruire pour qu’elles ne soient plus un danger pour l’organisme ?
En poussant ce raisonnement, on arrive au concept du Small Web, un internet où nous possédons et maîtrisons notre propre lieu (ou nos propres lieux).

Cliquez sur l’image pour voir une vidéo (sur aperi.tube, une instance PeerTube) : Aral expliquant ce qu’est pour lui le Small Web


Small is beautiful ! (Petit c’est mieux) (octobre 2022) : Qu’est-ce que le Small Web et pourquoi en avons-nous besoin ?

 

Cui-cui ?

Je ne dis pas que les protocoles et applications actuels du Fédiverse peuvent, vont, ou même devraient évoluer vers le Small Web16. Pour l’instant, le Fédiverse est un palliatif inestimable qui fournit un lieu plus sûr que les fosses septiques centralisées de la Silicon Valley.

Le temps que durera le palliatif dépendra de notre capacité à résister à la centralisation. Les designs des serveurs et des protocoles qui incitent au passage à l’échelle vertical ne rendront pas forcément cette tâche plus facile. Et pourtant, il y a des moyens de pression sociaux que nous pouvons utiliser pour contrer leurs effets.

La dernière chose qu’on souhaite, c’est qu’une poignée de Zuckerbergs au petit pied gouvernent le Fédiverse. Ou pire encore, que vous deveniez vous-même un de ces mini-Zuckerbergs.

J’aime le fait que le Fédiverse existe. Et j’ai le plus grand respect pour les efforts gargantuesques qui lui sont dédiés. Mais je suis aussi très préoccupé par les décisions prises en termes d’architecture qui incitent à la centralisation, et non à la décentralisation. Je nous implore de reconnaître cela, pour limiter les risques du mieux que nous le pouvons, pour nous efforcer d’apprendre de nos erreurs, et pour faire encore mieux demain.
Gens d’ActivityPub et de Mastodon :
Considérez-moi comme votre canari dans une mine de charbon
« Cui-cui ! Cui-cui ! Cui-cui ! »

 

*Si vous souhaitez soutenir la Small Technology Foundation, qui est sans but lucratif : https://small-tech.org/fund-us

  1. Après 16 ans sur Twitter, j’ai finalement désactivé mon compte et demandé l’effacement de toutes les données la semaine dernière. C’était facile à faire car je suis dans le Fédiverse depuis plus de 5 ans et j’ai quasiment arrêté d’utiliser le site de l’enfer depuis plus d’un an. Je gardais juste mon compte actif pour ne pas casser des liens valables depuis plus de 15 ans. (Que ceci puisse vous servir de leçon : si vous tenez à ne pas casser des liens / contenus sur Internet, assurez-vous de les héberger vous-même plutôt que de les confier à Jean-Michel Startup).
  2. Si vous vous demandez ce qu’est le Fédiverse, c’est probablement ce que vous appelez Mastodon. Je pourrais écrire un billet de blog entier sur les raisons pour lesquelles Mastodon n’est pas le Fédivers mais, heureusement, d’autres ont déjà parfaitement expliqué les concepts de base.
  3. Greta a rejoint l’instance mastodon.nu et a déjà dépassé les 50 000 followers (elle suit 60 personnes), et Stephen a rejoint mastodonapp.uk et a recueilli lui aussi pas loin de 50 000 followers en une seule journée (il suit une quinzaine de personnes en retour pour le moment).
  4. C’est ce que j’appellerais une « instance personnelle », une « instance pour soi », ou une « instance singleton ». C’est simplement une instance avec un seul compte. Puisque Mastodon est fédéré en utilisant le protocole AtivityPub, vous pouvez communiquer avec n’importe qui sur d’autres instances, mais être sur une instance pour soi est très différent d’être sur une instance pour des centaines de milliers, comme mastodon.social, par exemple.
  5. Sur Twitter, mon compteur de followers était aux environs de 42 000 lorsque j’ai désactivé mon compte. Notez que c’était après 16 ans sur le site. De même, je suis dans le Fédiverse depuis cinq ans, presque depuis le début, et Stephen Fry a récupéré plus de followers en une seule journée. C’est important de s’en souvenir puisque j’utilise mon expérience pour faire des projections sur ce que l’instance qu’il a rejointe – mastondonapp.uk – va commencer (ou a déjà commencé) à vivre.
  6. Étant donné les décisions de conception qui sous-tendent le protocole ActivityPub et le serveur Mastodon
  7. Lorsque j’ai demandé à Hugo si je pouvais le citer dans cet article, il a accepté, sous réserve que j’ajoute l’avertissement ci-dessous, afin que vous n’alliez pas vous plaindre auprès de lui (si vous avez le moindre souci avec cet article, vous pouvez vous plaindre auprès de moi à la place) : « Tu peux citer mon explication, mais comme une illustration car certains aspects ne sont pas clairs à 100 % et d’autres m’échappent. Par exemple, si un message / une réponse inclut une image, est-ce que deux jobs Sidekiq sont créés ou bien un seul ? Et si on inclut plusieurs images ? S’il y a un émoji particulier qui n’est pas encore fédéré dans les messages / réponses, etc. ? Mais l’explication n’est probablement pas loin de la réalité en termes de fonctionnalités générales du protocole. »
  8. un programme open source qui permet de déterminer ce qui doit être réalisé et comment aboutir à cette réalisation
  9. Ou commencer à bloquer des followers, ou dé-suivre des gens, ou rester silencieux. Aucune de ces options n’est viable. (Particulièrement la dernière… Je veux dire, vous commencez à me connaître,hein ?)
  10. Ironiquement, je suis apparemment responsable de l’une des premières migrations hors de Twitter (bien qu’à une bien plus petite échelle que l’actuelle), lorsque Mastodon commençait tout juste. Ça doit être le karma.
  11. Il demanderait ensuite à ses abonnés sur Twitter de rejoindre autant d’instances Mastodon différentes que possible et de le suivre. Enfin, avec son armée d’incels en place, il n’aurait plus qu’à bavarder avec eux et regarder l’instance d’Eugen brûler sous le poids de tout cela.
  12. Sur un système géré par des dons, par exemple, cela signifierait que ces dons iraient subventionner son compte bien plus que les autres comptes du système. Autrement dit, s’ils ont même réussi à en couvrir le coût pour commencer. Dans la Big Tech, comme Twitter, la charge imposée au système par les célébrités et autres comptes extrêmement populaires (journalistes, etc.) ne représente qu’un coût de fonctionnement. Le coût est supporté par l’entreprise elle-même car ces comptes sont l’appât qui attire le véritable capital de l’entreprise : vous. Dans la Big Tech, vous êtes le bétail que l’on exploite. Ils doivent juste vous distraire assez avec suffisamment avec des trucs qui brillent pour que vous ne réalisiez pas que vous êtes exploité. De plus, il existe des économies d’échelle dans les systèmes centralisés de la Big Tech qui n’existent tout simplement pas (et ne devraient pas) exister dans les systèmes décentralisés.
  13. Contrairement à moi, je ne pense pas que Stephen doive s’inquiéter du coût du serveur, même s’il sera bien plus élevé que les 8 $ / mois, largement compensés, qu’Elon lui aurait facturés
  14. Le terme « utilisateur » est mauvais. Dans la Small Tech, nous disons « des personnes »
  15. Certains (moi,  par exemple) diraient des « tumeurs »
  16. Au contraire, les décisions de conception concernant des serveurs comme Mastodon montrent que nous avons besoin d’approches radicalement différentes et d’une conception des principes de base optimisée pour les serveurs à locataire unique et les connexions peer-to-peer si nous voulons encourager le développement du Small Web.
Suivre Framalang:

Framalang est le groupe de traduction bénévole et communautaire de Framasoft. Les membres traduisent des articles du monde du Libre à l'intention du public francophone. Pour participer à cette aventure, rejoignez notre liste de diffusion !

8 Responses

  1. @fchaix@piaille.fr

    J’ai l’impression que c’est ce qui est en train d’arriver à piaille.fr…

  2. Loz

    Je suis curieux, qu’est-ce qui a pêché : le CPU, la ram, les IO, la bande passante ?

    J’envisage d’ouvrir ma propre instance (et de ne pas être populaire, je vous rassure).

  3. Jeanne à vélo

    C’est très intéressant ce qu’il raconte. Est-ce que des tests de charge ont été réalisés pour Mastodon ? Je veux dire, est-ce qu’il est techniquement bâti pour des usagers qui auraient un million d’abonné(e)s par exemple ?

    • Stéphane Bortzmeyer

      On ne sait pas et, de toute façon, ce n’est clairement pas dans le cahier des charges. Le but est plutôt justement d’éviter une concentration sur des grosses instances.

  4. Michel Campillo

    C’est dans l’intérêt du Fédiverse que mastodon.social donne le bon exemple en limitant sa taille volontairement? C’est déjà fait pour plusieurs grosses instances qui ne prennent plus d’inscriptions, parfois temporairement.

  5. tibo

    je retrouve un peu dans cet article, le sentiment que j’ai eu quand framasoft a fermé framasphère, je me suis dit que les instances avait quand même un pouvoir immense. Du coup j’ai voulu en voir le résultat, avec un copain car je n’en suis pas capable techniquement, nous avons recréer une instance diaspora* et…. tout mon réseau diaspora avait disparu. diaspora existe toujours mais je n’y vais plus car je n’y connais plus personne.
    ce que je veux dire avec ça c’est que plus l’instance est grosse plus elle risque de provoquer des dégâts en cas de problème. et donc je trouve ça très bien que framasoft est fermé les inscriptions sur framapiaf pour « forcer » d’autres instances francophones mastodon à s’ouvrir

  6. Océane

    En simplifiant, le langage dans lequel Mastodon est codé fait que ce logiciel est 70 fois moins performant qu’un équivalent codé en C (ou disons plutôt que le langage en lui-même est 70 fois moins performant que le langage C). Les performances du Ruby sont proches de celles du Python, un langage interprétatif conçu pour être facile d’accès. À l’inverse, d’autres logiciels comme honk (codé en Go) ou Bonfire (en développement, codé en Elixir) sont bien plus performants (ce qui n’invalide pas les critiques d’Aral concernant la conception du Fédivers, que je partage sur un plan purement théorique).

    • Charlie

      Il y a Plemora est codé en Elexir et JS, il est plus performant, plus léger et je crois plus rapide que Mastodon. Mastodon est surtout l’API de microblogging du Fediverse le plus populaire.
      Et y a un projet qui est entrain de coder Mastodon en Rust, ce qui devrait grandement améliorer les performances de Mastodon.