CIDv1: Prefijo Multicodec
CIDv0 utiliza multihash para admitir múltiples funciones de hashing. Esto significa que podemos generar exitosamente un hash para contenido específico usando diferentes algoritmos de hashing y, más adelante, ser capaces de identificar contenido usando este hash.
Pero, cuando intentamos leer los datos en sí, ¿cómo sabemos el método de codificación utilizado? Podría estar codificado con CBOR, Protobuf, JSON plano, etc. Para resolver este problema, CIDv1 introduce otro prefijo que identifica de manera única el método de codificación utilizado.
Prefijo Multicodec
El prefijo multicodec indica qué codificación se utilizó en los datos.
Multicodec admite muchos tipos diferentes de codificación, y cada uno tiene su propio identificador de códec corto, como se muestra en la tabla completa.
En el ejemplo anterior vemos cómo se representarían en nuestro CID los datos codificados con el códec dag-pb. dag-pb es uno de los muchos tipos diferentes de códecs IPLD (InterPlanetary Linked Data). Dado que IPFS siempre utiliza uno de estos formatos IPLD para sus datos, el prefijo multicodec en un CID de IPFS siempre será un códec IPLD.
Sin embargo, es importante notar que multicodec no solo es utilizado por IPFS e IPLD. Junto con multihash y algunos otros protocolos auto-descriptivos, es parte del proyecto Multiformats, que se desprendió de IPFS y ahora soporta una amplia variedad de otros proyectos y protocolos, incluida la especificación de CID que estamos aprendiendo aquí.