Aclarando malentendidos en el funcionamiento de ActivityPub, respecto a la muy posible incorporación de Meta

A raíz de todo el “debate” ocurrido sobre la futura incorporación de Meta en el Fediverso, han ido saliendo algunas afirmaciones sobre la federación que considero que se deben aclarar.

“Si solo un nodo no bloquea a Meta, estamos todos expuestos”

Esta es una de las afirmaciones que más malentendido ha generado estos días. Estos malentendidos son comunes, incluso sin ir más lejos, yo mismo he tenido concepciones erróneas parecidas a esta: llegué a pensar que si un nodo no bloqueaba a Meta, pero ese nodo tenía un usuario que seguía a un usuario de mi nodo, y mi nodo sí había bloqueado a Meta, este (Meta) tendría igualmente mi contenido público. Esto no es cierto, aunque es una concepción errónea bastante común, ya que yo mismo he caído en ella incluso habiendo tenido cierto contacto con el protocolo (desarrollos y tal que se quedaron a medias en el pasado).

¿Cómo funciona entonces la compartición de posts exactamente para que esto no ocurra?

Vamos a poner un caso ficticio con Bob, Alice y Manolo. Bob está en mi servidor (@bob@nobigtech.es) y escribe algo público. Bob está en un nodo que bloquea a Meta. Alice está en un nodo intermedio (que no es Meta), pero su nodo no bloquea a Meta. Alice sigue a Bob, por tanto, Alice recibirá en su servidor el contenido de Bob cuando este escriba algo. Sin embargo, independientemente de que alguien de Meta siga a Bob o no, el nodo de Bob lo tiene bloqueado (a Meta). ¿Qué ocurre si Alice escribe respondiendo al post de Bob, o lo impulsa? Aquí entra en juego Manolo. Manolo está en un servidor de Meta. ¿Comparte el servidor de Alice el contenido del post de Bob a Meta directamente? No. Lo que comparte el servidor de Alice es una URL de ActivityPub, referente al post de Bob. Por tanto, para que Meta acceda al contenido del post de referencia que ha movido Alice, Meta debe ir al servidor de Bob a pedir dicho contenido. Es cierto que los metadatos de esa interacción sí que se envian a Meta en tal caso (porque Manolo sigue a Alice), así que aquí podríamos estar perdiendo un cacho relativamente importante de nuestra privacidad de todos modos. PERO, como el servidor de Bob (nobigtech.es) tiene bloqueado a Meta, cuando este pida el post de Bob, nobigtech.es le mandará de paseo y le dirá que no está autorizado a obtener ese contenido. ¿Podría hacerse pasar Meta por otro servidor que no tenga bloqueado el servidor de Bob y así obtener dicho contenido? Sí, pero eso se podría detectar ya que en ActivityPub todos los eventos están firmados por el servidor que los envía, y comprobados con la clave pública del mismo en el resto de servidores cuando lo reciben. La clave pública está relacionada a un dominio, sería fácil detectar si Meta está haciendo esa jugarreta, o directamente bloqueando las IPs de Meta, lo que evitaría cualquier jugarreta posible (siempre y cuando Meta usara para ello sus IPs).

Esto permite que si un nodo bloquea a otro, el nodo bloqueado no pueda obtener el contenido del nodo que le haya bloqueado, a menos que este falsifique su identidad como servidor. Sería poético que además de la cantidad de acciones no-éticas que Meta realiza y ha realizado, estuviera también una serie de jugarretas falsificando su identidad de ActivityPub para obtener el contenido de los demás. Si eso (más todo lo demás) no fuera motivo suficiente para su total descrédito, yo procedería a retirarme indefinidamente de toda participación en la sociedad.

Pueden leer más sobre el protocolo en https://activitypub.rocks

Conclusión

Espero que les haya servido el artículo para entender la concepción errónea. Si tienen alguna duda al respecto pueden preguntarme en @niko@nobigtech.es

Saludos,



Si tienes alguna duda y necesitas ayuda, contacta con la comunidad de nobigtech.es mediante nuestro Mastodon o directamente conmigo. Mi información de contacto

Te ayudaremos lo mejor posible!