BUD Blob Ownership
BUD-XX
Blob Ownership
draft optional
Defines a decentralized ownership model for blobs where multiple pubkeys can be owners, anyone can become an owner, and blobs may be deleted when no owners remain.
Overview
This BUD introduces the concept of blob ownership. A blob can have multiple owners, and the blob's existence is tied to having at least one owner. This enables use cases such as:
- Immutable uploads: Uploader designates recipients as owners, uploader cannot delete alone.
- Shared custody: Multiple parties share responsibility for a blob.
- Community resources: Anyone can "adopt" a blob by becoming an owner.
Ownership Model
- A blob MAY have multiple owners.
- Anyone can become an owner of any blob by claiming ownership.
- An owner MAY remove themselves from the owner list.
- No one can remove another pubkey from the owner list.
Endpoints
PUT /owner - Add Owners
Servers implementing this BUD MUST accept PUT requests to the /owner endpoint to add owners of a blob.
Authorization
Requests MUST include a valid Nostr authorization token as defined in [BUD-11](./11.md):
- The
ttag MUST be set toclaim. - One or more
ptags MUST be present, each containing a pubkey to add as owner.
DELETE /owner - Release Ownership (self-removal)
Servers implementing this BUD MUST accept DELETE requests to the /owner endpoint for an owner to remove themselves from the owner list.
Authorization
Requests MUST include a valid Nostr authorization token as defined in [BUD-11](./11.md):
- The
ttag MUST be set tounclaim.
Interaction with BUD-02
The DELETE /<sha256> endpoint behaves differently based on the number of owners:
- Multiple owners: The request MUST be treated as an
unclaim, only the signer is removed from the owner list, the blob is not deleted. - Single or no owner: The request MAY delete the blob.
Use Cases
Recipient only can delete
1. Alice (X) uploads blob with initial owner: Bob (Y)
2. Alice is NOT an owner → cannot delete
3. Bob is the only owner → can delete