Fediverso e Threads, ci risiamo.

Fediverso e Threads, ci risiamo.

Ho gia’ detto cosa penso della storia dei grandi social network che si federano usando activitypub, e ho gia’ spiegato perche’ il modello non scalerebbe. La cosa irritante e’ che in risposta le persone come Eugen Rochko (il programmatore che scrive Mastodon)  non cercano di dimostrare che scali, ma si limitano ad attaccarsi a dei dettagli, del tipo “ma l’interazione tra istanze si basa principalmente sul meccanismo del follow”.

Il che contiene qualche verita’ (ma non tutta), ma il problema e’ che questo e’ vero SOLO sul software esistente, che Rochko crede essere solo il proprio.

Ma le cose non stanno cosi’, perche’ Rochko finge di dimenticare altre cose.

1) No, su Threads e altri il traffico NON dipende solo dal follow. Perche’ gli altri sistemi NON sono Mastodon.

 

Prendiamo un grande social network. Prendiamo una persona nota: la Ferragni ha circa 20 milioni e rotti di account che la seguono. Diremmo noi del fediverso, followers. Immaginiamo di rispondere alla Ferragni con un’immaginetta carina, o antipatica, e che qualcuno risponda, facendo questo:

In termini di Fediverso, io sarawhatever ho mandato un URL che punta ad un’immagine dove mangio un gelato, e qualcuno ha postato come risposta la mia immagine renderizzata dentro un’altra. Lasciamo perdere il fatto che si e’ dovuto scaricare la mia immagine per usarla nella sua immagine, ma il problema e’ che se parliamo della Ferragni, in un momento di assoluta bassa marea essa verra’ vista solo quel cinquantamila volte. 

Ma c’e’ di peggio: se la mia immagine scatena una polemica, saliamo agevolmente fino al milione di immagini scaricate. Perche’? Perche’ l’algoritmo di Meta vuole massimizzare le view, e quindi tende a dare risalto alla polemica. 

Un solo post inviato usando activityPub (che invia le immagini come links) rischia di dare all’istanza di Rochko lo stesso traffico che avrebbe se tutti i suoi utenti avessero postato la stessa immagine e almeno una persona le avesse visualizzate. 

Un solo post.

Se consideriamo che ci sono degli utenti che sono cantanti famosi o intere televisioni che hanno MILIONI di persone che le seguono e sottoscrivono, e poi si leggono i commenti, possiamo dire una cosa: che NON e’ vero che il traffico dipende dal follow.

O meglio, possiamo dire che puo’ scalare in maniera piu’ lineare col numero di follow, a seconda dell’algoritmo che sta dall’altra parte e che decide quanto risalto dare ad un post – o ad una controversia.

 

Se l’algoritmo decide che oggi il vostro post con la vostra immagine verra’ visto 25 milioni di volte, questo e’ quello che il vostro server dovra’ reggere. Punto.


La risposta dell’ingenuo e’ che a questo punto la vostra istanza puo’ sempre lasciare le imagini su S3, o su un altro cloud. Certo. Abbiamo fatto tutto questo per decentralizzare e liberarci dagli oligarchi della rete, e adesso mettiamo i contenuti in hosting da un oligarca della rete.

Ma il discorso CDN apre un secondo fronte. Questo blog, per esempio, a volte viene citato su Facebook, e su altri social.

Quando viene citato, esso riceve molte visite. Cosa vedo io, sul mio modesto Grafana? Vedo questo:

Perche’ i grandi sistemi non sono UN server o UN indirizzo IP associato ad un host, come capita nel fediverso. Sono un’idra a MILIONI di teste che si chiama CDN. Se sono a Düsseldorf, per esempio, e sono su facebook, un post lo vedo come

https://scontent-dus1-1.xx.fbcdn.net/v/t39.2365-6/whatever

ma se osservo la stessa cosa da, che so io, Roma, il post lo leggo come proveniente da https://scontent-rome1-1.xx.fbcdn.net/v/t39.2365-6/whatever  e infatti per avere il dato totale devo aggregare i log per “fbcdn.net”.

Ci sono adesso due casi: quello in cui la mia immagina (una copia) viene caricata sulla CDN di Facebook (e allora e’ come avere un account su Facebook sul piano della privacy e della profilazione) , oppure quello in cui viene lasciato dove si trova (per esempio, perche’ e’ vecchio , oppure perche’ non viene caricato o letto a Roma.

Se si tratta di immagine, possiamo scegliere tra la morte del nostro server per carico, oppure per Facebook che se ne impadronisce e poi fa il suo porco comodo, profilando il nostro profilo (per lui remoto) del fediverso. Ma siccome non siamo utenti, NON ha alcuni obblighi di privacy, che valgono solo se esiste un contratto , cioe’ siamo utenti.

Se invece la CDN trasporta il nostro post, o toot, che contiene l’immagine sotto forma di link, dobbiamo prepararci a venire bombardati da richieste GET che hanno come Referrer: il nodo particolare della CDN che sta gestendo la richiesta.

O lasciate che Facebook si impadronisca del contenuto e si occupi della delivery, consentendo la profilazione e perdendo parte delle tutele sui dati, oppure il vostro server muore per il carico appena qualcuno fa il follow a Taylor Swift


3) Ah,si’. Hai detto “i link”?

 

Esatto. Perche’ quando andiamo su un grande sociale e clicchiamo su un link “esterno” , non puntiamo al link esterno. Puntiamo ad un sistema che “fa dei controllI” (insomma, ciola informazioni dal browser , ci profila per bene, si prende ogni dato possibile) e poi ci ridirige verso il contenuto linkato.

Questo richiede che, nei grandi sistemi , il “link intermedio” faccia almeno una HEAD verso il contenuto finale, nella misura in cui carica la cosiddetta locandina del SEO. Questo significa che il vostro server, a seconda di quante persone leggono il thread, riceve almeno una chiamata a prescindere dal fatto che il link venga seguito. 

Quindi, se postate un messaggio di risposta a Taylor Swift, il quale contiene il SEO del messaggio, o soltanto il vostro avatar, tutti quelli che scrolleranno quel thread caricheranno in parallelo l’avatar. Anche se il vostro link NON venisse seguito, ad una singola visualizzazione almeno l’avatar verrebbe caricato, causando una GET, oppure msso in qualche cache, e salvato per….”boh tempo”. 

In questo caso i link stessi, compreso il link al vostro post, producono traffico, e non lo producono in misura del numero di follower che Taylor ha sulla VOSTRA istanza , ma in proporzione ai followers che Taylor ha sulla SUA “istanza”, dal momento che il vostro link, o almeno il link al vostro post, viene letto da ogni client di Meta, oppure spostato su Meta (che e’ come avere un account li’ sul piano della privacy e della profilazione).

4) Ed ecco il problema dei report.

Come il cazzo sui maccheroni, arriva il problema della moderazione. Se io invio un contenuto sgradito, esso puo’ venire denunciato al moderatore.Nel fediverso, anche la segnalazione su una certa istanza viene girata al moderatore.

Sinora, sul fediverso la cosa viaggia al ritmo di un report per bimestre. Quindi gestibile a livello di hobby. Ma che succede se io mando una foto sgargiante e ricevo 23.000 report da un grosso player? Significa che devo smazzarmi la chiusura di 23.000 report.

Mentre sui grandi sistemi immagino che i report vengano aggregati per contenuto, siccome la forma del report su Mastodon e’ libera, cioe’ posso fare un report per “Offende il Dio del Coniglio Imburrato”, se voglio fare il moderatore bene sono costretto a leggermeli tutti, perche’qualcuno potrebbe avere una buona ragione legale da menzionare. 

Morale della storia: nemmeno il sysadmin scala. 

 


Vi chiederete: ma queste cose Eugen Rochko non le sa? Certo che le sa, ma per qualche motivo preferisce sminuire il problema o fingere che non esista. Sa benissimo che se un utente di Mastodon decide di seguire Taylor Swift, allora ad ogni post si trova anche il thread delle risposte da svolgere, e che se l’utente clicca per leggere il thread, il traffico del server Mastodon dipende dal successo di Taylor e non dal numero di follow su quell’istanza.

Ma finge di non saperlo. 

Pleroma ha creato un sistema di rate limiting che personalmente mi piace, quindi potro’ mitigare il problema. Se non riesce pleroma, mettero’ il rate limiting sul reverse proxy di ingress, e se ancora non funziona, ci pensera’ il firewall. E se neanche questo funziona, a limitare il traffico ci pensera’ il traffico massimo della mia connessione Docsis 3.1.

Ma ilproblema rimane: se entrano grandi attori, e non limitano il traffico, molte piccole istanze avranno problemi. 

Sul perche’ Rochko finga di non capire, non saprei. 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *