The string of letters and numbers you see in an IPFS link is its "Content Identifier" or CID.
IPFS has two types of CID's:
CID version 0
When IPFS was first designed it used base 58-encoded multihashes as the content identifiers that looked like this:
QmQbeKEi4XJ9yLL2nyFKxpuPyrfqmHBGtRj3EhWcSvQaSD
Many applications and services still use these by default, but the format is close to being replaced.
CID version 1
The IPFS project will switch to CIDv1 as the new default in the near future.
IPFS developed CID version 1 which is a far more flexible approach, and will become the IPFS default, that looks like this:
bafybeibbr2r6b3hd3p5jggobmgacm7f4523ijyza364szdeyrw3b4uy7ei
CID v1 contains some leading identifiers that clarify exactly which representation is used, along with the content-hash itself. These include:
A multibase prefix, specifying the encoding used for the remainder of the CID
A CID version identifier, which indicates which version of CID this is
A multicodec identifier, indicating the format of the target content — it helps people and software to know how to interpret that content after the content is fetched
These leading identifiers also provide forward-compatibility, supporting different formats to be used in future versions of CID.
Troubleshooting
I've set my CID but a different CID shows!
When you set a CIDv0 on your ENS name it will be converted to a CIDv1, so if you enter a CID that looks like this:
QmQbeKEi4XJ9yLL2nyFKxpuPyrfqmHBGtRj3EhWcSvQaSD
Then once it's set on your ENS name it will look like this:
bafybeibbr2r6b3hd3p5jggobmgacm7f4523ijyza364szdeyrw3b4uy7ei
For example, if you edited the Content Hash
record for your ENS name and set it to:
ipfs://QmQbeKEi4XJ9yLL2nyFKxpuPyrfqmHBGtRj3EhWcSvQaSD
You would see your record reformatted to the CIDv1 version of the IPFS hash:
ipfs://bafybeibbr2r6b3hd3p5jggobmgacm7f4523ijyza364szdeyrw3b4uy7ei