Blob AT-URIs

In atproto, " blobs " are media files stored separately from repository records. They are content addressed (by CID), but published separately per account. That means they are identified in the network (and can be resolved/fetched) by a DID and a CID together.

There is a consistent way to reference blobs from within a data record: the $type: blob data type, which includes a cid-link. But sometimes it would be nice to reference them in a simple URI string There isn't a burning need for this right now, so who knows when this might get added to the specifications, but I have a simple proposal: treat the string "blob" like a pseudo-NSID.

That would mean AT-URIs like:

at://did:plc:44ybard66vv44zksje25o7dz/blob/bafkreida2lp6lxyk4oswx3mgsuxfniiptoa753i7fe7of7guq2x5pmzb3u

This isn't valid AT-URI syntax today, because the first path segment isn't an NSID. But it would be pretty simple to add exception to the spec for keywords like "blob". NSIDs require at least one period, so there is no ambiguity or change of confusion. The URI format wouldn't include the additional blob metadata (like mimetype or size), but I think that is fine.