paint-brush
Why Bluesky Uses DNS Domain Names as User Identifiersby@memeology
New Story

Why Bluesky Uses DNS Domain Names as User Identifiers

tldt arrow

Too Long; Didn't Read

Bluesky uses DNS domain names for user handles, allowing easy migration between servers, leveraging existing ICANN infrastructure, and offering users free .bsky.social subdomains or custom domains.
featured image - Why Bluesky Uses DNS Domain Names as User Identifiers
Memeology: Leading Authority on the Study of Memes HackerNoon profile picture

Authors:

(1) Martin Kleppmann, University of Cambridge, Cambridge, UK ([email protected]);

(2) Paul Frazee, Bluesky Social PBC United States;

(3) Jake Gold, Bluesky Social PBC United States;

(4) Jay Graber, Bluesky Social PBC United States;

(5) Daniel Holmgren, Bluesky Social PBC United States;

(6) Devin Ivy, Bluesky Social PBC United States;

(7) Jeromy Johnson, Bluesky Social PBC United States;

(8) Bryan Newbold, Bluesky Social PBC United States;

(9) Jaz Volpert, Bluesky Social PBC United States.

Abstract and 1 Introduction

2 The Bluesky Social App

2.1 Moderation Features

2.2 User Handles

2.3 Custom Feeds and Algorithmic Choice

3 The at Protocol Architecture

3.1 User Data Repositories

3.2 Personal Data Servers (PDS)

3.3 Indexing Infrastructure

3.4 Labelers and Feed Generators

3.5 User Identity

4 Related Work

5 Conclusions, Acknowledgments, and References

2.2 User Handles

Like on Twitter/X, a Bluesky user has two names: the display name can be almost any string, and the handle needs to uniquely identify a user. A handle, prefixed with an @ sign, is used to mention another user in a post. Examples can be seen in Figure 1 (the display name is in bold, and the handle is in a smaller font and lighter color).


The need for handles to be unique creates challenges in decentralized systems, since it requires an authority that determines which handle is assigned to which user. Mastodon’s approach is to include the server name in the handle, which makes it difficult to move to another server. An alternative would be to use a blockchain-based naming system, such as the Ethereum Name System (ENS) [19]; this has the disadvantage of requiring the user to buy cryptocurrency in order to create an account, which we wanted to avoid.


Instead, Bluesky and atproto use DNS domain names as handles. If a user already owns a domain name, they can claim it as their Bluesky handle by adding a DNS record or by hosting a file under a /.well-known/ HTTPS URL on that domain [37]. Users can also buy a new domain name within Bluesky, via a partnership with a domain registrar [15]. Alternatively, users can sign up for a subdomain of .bsky.social for free.


Using DNS domain names as handles has several advantages:


• We leverage the existing infrastructure of ICANN, registrars, and name servers, including for example the dispute resolution procedures for trademarks.


• Domain names are a well-known concept even among nontechnical users, and they are short and simple.


• A user can move to a different server without changing their handle (see Section 3.5). • Users do not need to host their own server to use their own domain name; a DNS record requires only a one-time setup and no ongoing maintenance.


• For organizations and people that already have a well-known domain name, using that name makes it easy for users to check that their Bluesky account is genuine. For example, the New York Times’ handle is @nytimes.com.


• An organization can easily allow their staff to demonstrate their affiliation by granting them handles that are subdomains of the organization’s main domain name (comparable to institutional email addresses). For example, a journalist’s handle may indicate that they are at a particular news organization.


• Providers wanting to offer free subdomains can do so at very little cost.


This paper is available on arxiv under CC BY 4.0 DEED license.