Los datos tienen estructura | Lección 1 de 8
Aprende cómo podemos usar los CID para crear estructuras de datos direccionables por contenido para la web distribuida.
¡Los datos tienen estructura!
En nuestra lección sobre Dirección de Contenido en la Web Descentralizada, discutimos el concepto de un identificador de contenido, o CID. (Si aún no has revisado esa lección, te recomendamos encarecidamente que lo hagas, ya que este lección se basa en esos conceptos ). Un CID funciona como una huella digital para un bloque de datos, y consiste principalmente en un hash criptográfico de los datos mismos. Podemos usar este identificador como un nombre único y conciso para señalar esos datos. Dado que el nombre es único, podemos usarlo como un enlace, reemplazando identificadores basados en la ubicación, como las URL, con otros basados en el contenido de los datos mismos.
Sin embargo, los enlaces no solo se utilizan para identificar contenido específico; son herramientas fundamentales para representar, organizar y atravesar información estructurada. En todo tipo de objetos y sistemas en nuestras vidas diarias—directorios telefónicos, bibliografías, mapas mentales, taxonomías y más— encontramos datos con estructura, y los enlaces forman una parte crítica de esa estructura.
Estructuras de Datos
Ya seas programador o no, estás rodeado de datos estructurados. Listas, diccionarios y catálogos todos nos ayudan a organizar la información y toman en cuenta las relaciones entre varias piezas de datos.
A un cierto nivel de detalle, comienza a ser necesario describir formalmente las propiedades de los datos con los que trabajamos, dando lugar a especificaciones concretas llamadas, apropiadamente, estructuras de datos. De Wikipedia:
En ciencias de la computación, una estructura de datos es una organización de datos, gestión y formato de almacenamiento que permite un acceso y modificación eficientes. Más precisamente, una estructura de datos es una colección de valores de datos, las relaciones entre ellos, y las funciones u operaciones que se pueden aplicar a los datos.
En programación, las estructuras de datos están por todas partes. La forma en que organizas los datos en variables para usarlos en programas implica desde docenas hasta millones de estructuras de datos. Si eres un desarrollador, probablemente estés familiarizado con estructuras de datos comunes como arrays, objetos, gráficos, etc. Estas estructuras a menudo están enlazadas entre sí: por ejemplo, en una estructura de datos común conocida como lista enlazada, cada elemento indica dónde encontrar el siguiente elemento en la memoria de un ordenador.
En la web descentralizada accedemos a datos directamente de nuestros pares, en lugar de una autoridad central. Dentro de un entorno aislado, como tu propia computadora portátil, puedes tener un gran grado de confianza en las estructuras de datos con las que trabajas en memoria o en disco. Sin embargo, en un sistema descentralizado tienes menos, o posiblemente cero, confianza entre pares. Para adaptarnos a este entorno, necesitamos una manera eficiente de enlazar estructuras de datos entre sí, mientras seguimos preservando nuestra capacidad para verificar su integridad (una propiedad crucial de los CID). Para continuar con el ejemplo anterior, si estamos atravesando una lista enlazada que obtuvimos de la web distribuida, no queremos que un actor malintencionado pueda insertar elementos en medio sin ser detectado.
En esta lección, exploraremos esta noción, aprendiendo cómo desarrollar una estructura de datos especializada, llamada Merkle DAG, que cumple con estas necesidades. Como veremos, esta estructura proporciona la base para una web distribuida de confianza de datos interconectados.
Last updated