📖
DeFinomics Papers
  • 📚DeFinomics Papers
  • ⛓️Layer 2
    • Diferentes tipos de Layer2
  • 💸DeFi
    • Guía de Evaluación de Riesgos de DeFi v1 (EEA)
    • Impermanent Loss - Paso a paso (Math)
    • Trader Joe V2 vs Uniswap V3
  • 📚Ingeniería de Tokens
    • Criptoeconomía 101
    • Sobre la Práctica de la Ingeniería de Tokens, Parte I: Introducción al Ingeniero de Tokens
    • ¿Pueden las cadenas de bloques volverse inapropiadas?
  • 📂Filecoin
    • ¿Qué es Filecoin?
    • Filecoin e IPFS
    • Modelo de Almacenamiento
    • Criptoeconomía de Filecoin
    • La Máquina Virtual de Filecoin
    • Lecciones
      • Direccionamiento de Contenido | 5 Lecciones
        • Identificando y recuperando datos en la web | Lección 1 de 5
        • La web centralizada: Direccionamiento basado en ubicación | Lección 2 de 5
        • La web descentralizada: Direccionamiento de contenido | Lección 3 de 5
        • Hashing criptográfico e Identificadores de Contenido (CIDs) | Lección 4 de 5
        • Vincular datos entre sí | Lección 5 de 5
      • Anatomía de un CID | 6 Lecciones
        • ¿Qué es un CID? | Lección 1 de 6
        • Multihash | Lección 2 de 6
        • CIDv1: Prefijo Multicodec | Lección 3 de 6
        • CIDv1: Prefijo de versión | Lección 4 de 6
        • CIDv1: Prefijo Multibase | Lección 5 de 6
        • Un hash, múltiples versiones de CID | Lección 6 de 6
      • Merkle DAGs: Estructurando Datos para la Web Distribuida | 8 Lecciones
        • Los datos tienen estructura | Lección 1 de 8
        • Ventajas de los datos estructurados correctamente | Lección 2 de 8
        • Gráficos Acíclicos Dirigidos (DAGs) | Lección 3 de 8
        • Introducción a los Merkle DAGs | Lección 4 de 8
        • Merkle DAGs : Verificabilidad | Lección 5 de 8
        • Merkle DAG: Distribuibilidad | Lección 6 de 8
        • Merkle DAG: Deduplicación | Lección 7 de 8
        • Merkle DAGs como un bloque de construcción | Lección 8 de 8
      • Verificación de almacenamiento en Filecoin | 6 Lecciones
        • Almacenamiento descentralizado e incentivado | Lección 1 de 6
        • Preparación y transferencia de datos | Lección 2 de 6
        • Prueba de Replicación (PoRep) | Lección 3 de 6
        • Prueba de Espaciotiempo (PoSt) | Lección 4 de 6
        • zk-SNARKs | Lección 5 de 6
        • Verificando tu acuerdo | Lección 6 de 6
    • La conservación de registros inmutables en Filecoin será esencial para la IA
    • Por qué el almacenamiento de archivos descentralizado y distribuido es vital para un mejor internet?
  • ⚒️Tools
    • Rotki
Powered by GitBook
On this page
  • Multihash
  • Formato Multihash
  1. Filecoin
  2. Lecciones
  3. Anatomía de un CID | 6 Lecciones

Multihash | Lección 2 de 6

Explora los detalles de los CIDs (Identificadores de Contenido), las etiquetas únicas utilizadas para señalar datos almacenados en sistemas de información distribuidos, incluye IPFS, IPLD y Filecoin.

Previous¿Qué es un CID? | Lección 1 de 6NextCIDv1: Prefijo Multicodec | Lección 3 de 6

Last updated 1 year ago

Multihash

Ocasionalmente, un algoritmo de hashing puede demostrarse como inseguro, lo que significa que ya no cumple con las características que definimos anteriormente. Esto ya ha sucedido con sha1. Con el tiempo, otros algoritmos pueden demostrar ser insuficientes para el direccionamiento de contenido en IPFS y otros sistemas de información distribuidos. Por esta razón, y para apoyar múltiples algoritmos criptográficos, necesitamos poder saber qué algoritmo se utilizó para generar el hash de un contenido específico.

Entonces, ¿cómo podemos hacer esto? Para admitir múltiples algoritmos de hashing, usamos multihash.

Formato Multihash

Los multihashes siguen el patrón TLV (tipo-longitud-valor). Esencialmente, al "hash original" se le antepone el tipo de algoritmo de hashing aplicado y la longitud del hash.

  • longitud: la longitud real del hash (usando sha2-256 sería de 256 bits, lo que equivale a 32 bytes) -

  • valor: el valor real del hash

Para representar un CID como una cadena compacta en lugar de binario plano (una serie de 1s y 0s), podemos usar codificación base. Cuando IPFS fue creado inicialmente, utilizó la codificación base58btc para crear CIDs que se veían así:

QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU

El formato multihash y la codificación base58btc habilitaron esta primera versión del CID, ahora referida como Versión 0 (CIDv0), y sus caracteres iniciales Qm... siguen siendo fáciles de reconocer.

Sin embargo, con el tiempo, surgieron dudas sobre si este formato multihash sería suficiente:

  • ¿Cómo sabemos qué método se utilizó para codificar los datos?

  • ¿Cómo sabemos qué método se utilizó para crear la representación de cadena del CID? ¿Siempre estaremos usando base58btc?

Para abordar estas preocupaciones, fue necesaria una evolución a la próxima versión de un CID. En las siguientes lecciones exploraremos lo que se agregó a la especificación para llevarnos a la versión actual del CID: CIDv1.

Un es un hash auto-descriptivo que contiene metadatos que describen tanto su longitud como el algoritmo criptográfico que lo generó. Los CIDs de Multiformats son a prueba de futuro porque utilizan multihash para admitir múltiples algoritmos de hashing en lugar de depender de uno específico.

tipo: identificador del algoritmo criptográfico utilizado para generar el hash (por ejemplo, el identificador de sha2-256 sería 18 - 0x12 en hexadecimal) - ver la para todos los identificadores.

multihash
tabla de multicodec
📂
¿Cuál es el algoritmo de hashing utilizado en un hash?
Formato multihash
Page cover image