También está el problema de cómo la seguridad está anclada al origen, lo que significa que careces de prueba de manipulación. Y un gran ejemplo de esto es cuando accedes a tu aplicación web de banca en línea, ¿cómo sabes que no ha sido manipulada? La forma en que esto funciona en la web es utilizando la política de mismo origen, mediante la cual, esencialmente, tu navegador valida el certificado firmado por la autoridad de certificación que se te presenta en tu banca en línea. Así que, esencialmente, estás confiando en quién en lugar de en qué es lo que realmente estás obteniendo. Esto contrasta con cómo los administradores de paquetes implementan la prueba de manipulación utilizando hashes y firmas. Ahora, la política de mismo origen, por supuesto, delimita los límites de confianza y seguridad, y eso generalmente está ligado al protocolo y al nombre de dominio. Pero la idea clave aquí es que estás confiando en quién en lugar de en qué.
Y la única excepción a esto, por supuesto, es la integridad de subrecursos, que es una característica relativamente reciente que se introdujo para permitir la importación de paquetes de otros orígenes y tener un atributo de integridad que valida, esencialmente, el hash de ese script que podrías estar importando. Y esto ha sido una gran introducción. Por supuesto, la raíz de muchos de estos problemas está en el hecho de que la web está dirigida por ubicación. La dirección por ubicación es fundamental para la web y cómo funciona Internet. La idea central aquí es que cada dispositivo de red tiene una IP, y DNS se utiliza para mapear nombres amigables para humanos a IPs. Ahora, esto funciona extremadamente bien porque la red hace posible encontrar múltiples caminos entre cualquier par de IPs en Internet. Pero esto también es la causa de muchos de estos problemas porque, esencialmente, para un nombre de dominio, típicamente tienes una única fuente, y como mencionamos antes, las IPs y DNS pueden ser fácilmente bloqueadas por actores estatales. Ahora, si una copia de datos o un sitio web desaparece, no hay forma de saber fundamentalmente dónde podrían estar otras copias. Además, no es posible para ti verificar la integridad del contenido que estás obteniendo, como en este tipo de visualización o diagrama que tenemos aquí.
No hay forma de que verifiques que realmente estás obteniendo la imagen correcta del sitio web de NASA. Esto nos lleva a la segunda parte de esta charla, IPFS. Así que intentemos desmitificar IPFS. IPFS es un conjunto de protocolos para direccionar y compartir datos en la web. Tiene implementaciones populares en TypeScript y Go, y está diseñado para funcionar de manera nativa en la web. Eso significa que está diseñado para funcionar en navegadores. Ahora, ¿qué queremos decir con compartir? Compartir típicamente significa dos cosas, publicar y recuperar. Hay dos ideas centrales detrás de IPFS que son clave para entender IPFS. La primera es el direccionamiento de contenido, y la segunda es la red peer-to-peer, y vamos a echar un vistazo a ambas. Pero vale la pena señalar que IPFS fusiona muchas ideas de Git, la herramienta de gestión de código fuente, y BitTorrent, el intercambio de archivos peer-to-peer. Así que el direccionamiento de contenido, que contrasta con el direccionamiento por ubicación, es esta idea de que derivar la dirección del contenido a partir del contenido mismo, utilizando hashes criptográficos, en lugar de a partir de la ubicación donde está almacenado, como es común con Ahrefs y enlaces en la web.
Comments