Blob
A blob in the AT Protocol is an unstructured data object in a binary format, such as an image, video, or audio recording, that is stored within an actor's Personal Data Server (PDS). Blobs enable rich media sharing within the ATmosphere while maintaining the protocol's content-addressed architecture.
Unlike text-based content such as posts, which stored directly in repository records, blobs are handled separately due to their size and binary nature. They are referenced by records using a Content Identifier (CID), a special data type that includes a cryptographic identifier. This allows for efficient storage and distributions of large files and flexible media handling across different applications, while maintaining content verification through cryptographic hashing.
Storage and Distribution[edit | edit source]
Blobs within the AT Protocol are uploaded alongside a record. For example, a user might publish a post with an attached image or video. Blobs follow a specific lifecycle:
- Users upload media to their Personal Data Server (PDS) using the
com.atproto.repo.uploadBlob
endpoint which returns verified metadata - The uploaded blob is referenced in a record (such as a post)
- Once referenced, the blob becomes permanently stored until all references to the blob within the actor's data repository are deleted.
While stored on an actor's PDS, blobs are typically served to users via specialized protocol-independent content delivery networks. This separation between storage and distribution allows applications to optimize media delivery, such as creating thumbnails or transcoding videos for different devices.
Each blob within a PDS includes a Content Identifier (CID), size information, and a MIME type specification (e.g. image/jpeg
, video/mp4
). The CID ensures content identity, as any change to the blob would result in a different identifier, making it impossible to tamper with media content without detection.
Content Moderation and Safety[edit | edit source]
Since blobs can contain any type of content, the AT Protocol implements several safety features for server operators.
- Servers can enforce size limits and content type restrictions
- Unused temporary blobs are automatically deleted
- Content delivery systems can implement security policies to prevent malicious code execution
- Moderation systems such as Ozone can remove access to problematic media