Introducción a IPFS (The Interplanetary File System)

in #ipfs6 years ago

IPFS.png

Vamos a explicar como el Interplanetary File System (Sistema Interplanetario de Archivos) Funciona.

La web es la columna vertebral de nuestra civilización mucha de nuestra economía, nuestros sistemas de misión crítica, nuestros más básicos canales de comunicación depende de cómo es que funciona esta orquesta de apps que nos dan esa asombrosa capacidad el día de hoy, son solo posibles porque hemos desarrollado la infraestructura para soportarlas así que aquello que llamamos web es solo una colección de protocolos (Http,Css,Js,Html,Smtp,Unix,Ip,WebRTC,Tcp,Udp,Search,Tls,Dns,Browsers) son conjuntos de ideas y reglas de como transmitir información que se han ganado el corazón de los desarrolladores y de los cuales se han hecho estándares para ser adaptados a los browsers y sus herramientas de dependencia cualquiera puede escribir un protocolo y los existentes actualmente fueron escritos por personas apuntando solucionar pequeños problemas para ellos mismos y en el proceso terminaron por ser adoptados por la comunidad por que trabajan muy bien, sin embargo hay un protocolo en particular (HTTP) que necesita un upgrade muy serio, desarrollado por Tim Berners-Lee

Usamos HTTP para acceder a la mayoría de la web para obtener virtualmente toda cantidad de archivos y es considerado un Protocolo Cliente-Servidor, Tu en tu laptop por ejemplo puedes hacer una petición a un servidor diciendo amazon.com y el servidor responderá con un mensaje como una página principal ha trabajado muy bien, pero estamos empezando a ver algunos problemas realmente serios, con Http el Primer problema es ancho de banda

Problema No 1 Ancho de Banda

El mundo cada vez se está convirtiendo más y más en línea y aún más rápido y eso significa mucha más gente demandando más información, Los sitios web están parados constantemente por que demasiada gente esta intentando acceder a ellos al mismo tiempo.

Si echamos un vistazo de cómo ha crecido el ancho de banda en los últimos años no es muy significativo comparado en cómo tan rápido ha crecido nuestro almacenamiento y decrecido en costo y es evidente que somos más rápidos para saturar las líneas así que la web empieza a sentirse más lenta lo que nos lleva el segundo problema

Problema No 2 Latencia

Desafortunadamente no podemos ir más allá de la velocidad de la luz, es una constante.
así que la única forma de hacer más rápida la transferencia de información es moverla lo más cerca posible es por esto que algunos servicios en la nube ofrecen alojamiento de información por Región (Amazon, Google) aun si el archivo que necesito está a un metro de distancia mi device tiene que hacer una petición a través de la columna vertebral del internet a alguna ciudad cercana. Cundo podría ser tan fácil como obtenerla del dispositivo que tengo a lado.

Problema No3 Resiliencia

En términos de conectividad si tu proveedor de internet tiene un problema y tu ciudad entera pierde conexión hacia internet no hay nada que puedas hacer, En términos de permanencia de datos si Wikipedia fuera hacheada y toda su información borrada perderíamos ese conocimiento para siempre algo así como una quema de libros en la antigüedad. Pero no hay que ser tan drástico para dar un ejemplo este error es tan familiar para todos como lo son los Errores 404 que significan que el contenido ha sido eliminado o movido de lugar. Los links de Http son rotos todo el tiempo como una mini quema de libros todo el tiempo la información es eliminada o movida de lugar y se ha ido para siempre.

Problema No 4 Centralización

La información se ha vuelto tan centralizada unos cuantos servicios se han vuelto los dueños de nuestra información y no sabemos cómo es usada esa información. Es un poder inimaginable estos servicios pueden manipular un grupo de personas en unos cuantos clics y el acceso a nuestra información puede ser fácilmente bloqueada por los gobiernos u otras fuerzas opresivas como lo sucedido en la primavera de arabia durante las protestas para la pro-democracia necesitamos hacer un upgrade al internet.

IPFS fue diseñado para resolver estos problemas para movernos a una web permanente donde los links nunca mueran y nadie pueda controlar tu información mientras http es direccionado por ip, ipfs es direccionado por su contenido cuando solicitas información de contenido por su dirección lo recibes más rápido porque lo recibes por la locación más cercana que contiene una copia de esa dirección de contenido esto nos ayuda a hacer el ancho de banda más eficiente cuando subes un archivo a IPFS lo que obtienes es un hash inmutable cada archivo en la web es identificado por un hash el hash es una garantía criptográfica para representar ese archivo. Cualquiera puede proveer almacenamiento para ese archivo en IPFS los proveedores de almacenamiento para IPFS garantizan que solo representara ese archivo y son incentivados con tokens la información es almacenada y replicada en todos ellos para mantener la permanencia de la información.

Para lograr esto IPFS combina una serie de grandes ideas de las ciencias de la computación de los últimos años (aplicaciones, naming, merkledags, exchange, ruteo, redes)

0_ZP38jHgHv29mCRFz_.jpg

Primero se almacena la información usando una tabla hash distribuida similar a una propuesta en el MIT llamada Chord (un protocolo y algoritmo para una tabla hash distribuida peer to peer). DHT en inglés es un diccionario parecido algo así como una interface hacia la información que es almacenada en nodos que son distribuidos a través la red. El nodo que tiene una llave en particular es encontrado con su hash en algún nodo independiente en la red. El intercambio de la información entre los nodos usa un mecanismo llamado * bitswap * inspirado por el protocolo de Bittorrent una forma para transmitir largas cantidades de información a través de la web, un usuario puede descubrir del peer más cercano y descargar pequeñas porciones de información de diferentes peers al mismo tiempo. Esta forma nos ayuda a evitar los cuellos de botella al descargar de una sola fuente, nos permite descargar archivos de forma más rápida. Para darle estructura al DHT usa una estructura conocida como MerkleDAG inspirada por el protocolo de Git. Git usa un Merkle DAG que permite le permite el control de versiones distribuidas que tanto nos gusta. IPFS los usa para darle estructura a la red entera. Es simple flexible y lo podemos representar como una serie de nodos conectados para formar un grafo acíclico dirigido que se puede representar como una lista ligada o un árbol. Así que cualquier información agregada al DHT el sistema le genera un par de llaves pública y privada.

Si te gusto la información dale like y ayúdame a compartir.

Sort:  

Congratulations @emisael! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

SteemitBoard - Witness Update
Vote for @Steemitboard as a witness to get one more award and increased upvotes!