🔶 为什么 AI Agent 需要经过验证的身份
英文标题:🔶 Why AI agents need verified identity
作者宣布推出 username.md,主张用户只需一次性支付 9 美元,即可获得可移植、由密码学验证且长期持有的网络身份标识。文章将这一标识描述为基于 `did:web`、OIDC、RFC 9421 和 AT Protocol 等开放标准构建的 Agentic Web 基础设施,可让 AI Agent 验证消息来源、身份绑定与权限归属。作者认为,Google、GitHub 等 OAuth 登录只能证明账户存在,不能让用户掌握自己的签名密钥,因此难以满足 Agent 之间的可信协作需求。对开发者而言,这一方案提供了带签名的 DID 文档、OIDC 发现端点、`SKILL.md` 等可被 Agent 发现和验证的接口,但其长期可用性及“永久所有权”仍依赖项目所述的公开 DID 注册表快照机制。
6.1 KB
28.7 KB
中文
我花了 9 美元,永久拥有了自己在互联网上的名字
我花了 9 美元,拥有了自己在互联网上的名字。不是租用它,而是拥有它。以密码学方式、可移植地、永久地拥有它。今天,我推出了一个接入入口,让你也可以做到同样的事:
再花两分钟看完这篇文章,我会告诉你:为什么一个 9 美元的用户名标识,很快会比你正在阅读此文的网站域名更重要。
20 年前,在“信息娱乐系统”(infotainment)这个词尚未出现之前,我为汽车打造了一台嵌入式触摸屏计算机。我创造了一个产品类别。它在当时既新颖又有争议——或者说,可能只是 Slashdot 上那些脾气古怪的人觉得有争议——但如今每一辆新车都配备了这种系统。那时,汽车和前沿科技根本不是人们会联系在一起的两个概念。直到我非常公开地把它们结合起来。
我正以同样的方式应对 AI 与 Agentic Web:通过交付缺失的关键组件,推动时间线向前。你准备好看见未来了吗?
拼图中缺失的一块
AI Agent 现在正出现在所有工作流中:日程安排、采购、研究、通信。随着它们的普及,它们需要能够被寻址。互联网刚出现时,有一个问题不断被问起:
什么是网页地址?我在电话簿里根本找不到它。
这个网页地址后来成为 URL,自此我们便依靠它寻找、阅读和浏览互联网。这篇博客也有一个:https://chrisbergeron.com。
Agentic Web 是互联网的下一次迭代,而我们正站在它开始展开的时刻。未来的地址不是 URL,而是 did:web。与早期互联网一样,进入这个世界意味着驶上一条通往新信息高速公路的接入匝道。这正是 username.md 的作用。只需 9 美元,你就能获得一个你拥有、管理并控制的规范地址。
什么是 DID?
去中心化标识符(Decentralized Identifiers,DID)是全球唯一、高可用、可通过密码学验证的数字标识符。它们通常以统一资源标识符(URI)的形式书写,可以指向个人、组织、数据模型或任何抽象实体。
DID 与电子邮件地址或用户账户等传统标识符之间的差别很简单,却意义深远:**DID 不归任何服务提供商所有。**它可以跨平台使用,并且能够避免供应商锁定。
DID 是 W3C 标准。它们保护隐私,支持授权同意和数据可移植性,并将控制权交给用户。它们不使用密码,而是使用公钥/私钥对——这在各个维度上都是更强的安全模型。简而言之,DID 构成了 Web 去中心化公钥基础设施(DPKI)的基础。
“既然是去中心化,为什么还要出售它?”
这是个合理的问题。如果 DID 是去中心化的,那么由我来提供 DID,是否让我成了一个中心化权威?
短期内,是的,我不介意坦率地说出来。我为一种如今被锁在规范文档中的能力,构建了一个接入入口。如果你更愿意将自己的 DID 文档托管在已经拥有的域名上,也可以。看看这篇博客顶部的元数据,就能看到一个可运行的示例。这也是我的起点:先在 chrisbergeron.com 上添加 meta 标签,然后再建立符合 schema.org 规范的个人资料。
我希望向所有人开放这种能力,而 username.md 只是实现这一目标的方式。在此过程中,我计划持续为 Agentic Web 交付经久耐用的基础构件。
企业多年来一直拥有此类工具。普通人却什么也没有。直到现在。
未来已经到来
马克·扎克伯格最近发表了一篇题为“未来属于每一个人。”的文章。再读一遍这句话。如果未来是 属于 每个人的,为什么还要特意宣布?因为 Meta 希望 成为 你的接入入口。Google 也是如此,Microsoft 也是如此。它们希望在围墙花园内提供你的 AI 体验,而你只能 通过它们 进入其中。
你早已熟悉那个界面:“使用 Google 登录。使用 Facebook 登录。”
点击它,你就同意了它们的服务条款。你把塑造自己未来全部 AI 关系的许可交给了它们。你相信它们能承担这个责任吗?
因为 Agent 时代提出的问题,是一个登录按钮无法回答的:
- AI Agent 实际上了解你的哪些信息?
- 当一个 Agent 与另一个 Agent 交谈时,谁签署了什么?
- 当出现问题时,谁应当负责?
- 谁治理这些 Agent,又由谁证明其合规?
- 我们究竟如何信任 Agent 代表我们行事?
经过验证的身份,是上述每一个问题的答案。这正是 username.md 所提供的能力。
2026 年“经过验证的身份”实际意味着什么
它归结为三项属性:
- 来源可验证性(Provenance) —— 可证明该消息来自持有私钥的实体。
- 锚定性(Anchoring) —— 该密钥绑定至一个稳定、可供人类阅读的名称(
chris.username.md,而不是随机 GUID)。 - 可移植性(Portability) —— 该名称不属于任何单一平台。你可以将 DID 迁移到不同主机,Agent 仍会解析为同一个身份。
以下是在传输层上的实际表现:一个 OIDC 发现响应:
bash $ curl "https://login.username.md/.well-known/openid-configuration" 2>/dev/null | jq . { "issuer": "https://login.username.md", "authorization_endpoint": "https://login.username.md/oauth/v2/authorize", "token_endpoint": "https://login.username.md/oauth/v2/token", "introspection_endpoint": "https://login.username.md/oauth/v2/introspect", "userinfo_endpoint": "https://login.username.md/oidc/v1/userinfo", "revocation_endpoint": "https://login.username.md/oauth/v2/revoke", "end_session_endpoint": "https://login.username.md/oidc/v1/end_session", "device_authorization_endpoint": "https://login.username.md/oauth/v2/device_authorization", "jwks_uri": "https://login.username.md/oauth/v2/keys", "scopes_supported": [ "openid", "profile", "email", "phone", "address", "offline_access" ] ... truncated }
以及你的用户名标识所返回的每一项响应上附带的 RFC 9421 签名:
text Content-Digest: sha-256=:<base64(sha256(body))>: Signature-Input: sig1=("content-digest" "@authority");created=...;keyid="platform-ed25519";alg="ed25519" Signature: sig1=:<base64(ed25519 signature)>:
你的用户名标识返回的每一项响应都经过密码学签名,任何 Agent 都可以用大约四行 Go 代码验证它。如果你想了解细节,开发者文档在这里。
为什么“使用 Google 登录”不是这回事
Google 和 GitHub 可以证明你的账户存在,但它们无法证明 你拥有自己的身份。它们交给你的 OAuth 令牌是不透明的:任何人都可以检查令牌由谁签发,但它从不会给你一把属于自己的签名密钥。用 whatever@gmail.com 发送消息,其背后并不存在一把由 你 控制的密钥。那是 Google 的基础设施,而 Google 不会把密钥交给你,因为被锁定的用户才是好用户。如果它们关闭了你的账户,你就会直接从互联网上消失。据一些报告,这种情况每天都会发生在数百人身上。
OAuth 是为人类登录应用而构建的。Agent 需要的是 OAuth 从未被要求承担的能力。
你实际获得什么
购买一个用户名标识后,你会获得三样东西:
- 一个可验证、由你发布的身份。
chris.username.md会解析为一个已签名 DID 文档、一个 OIDC 发现端点、一个 ATProto 用户名标识,以及一份纯文本、可供 Agent 读取的个人资料。全部只需 9 美元。 - **Agent 原生可发现性。**你用户名标识上的已签名
SKILL.md会告诉其他 Agent:你能提供什么,以及如何联系你。它们可以验证并信任它。 - **比我存续更久的所有权。**一次付款,无订阅费、无 Gas 费、无钱包。如果公司消失,你的用户名标识会在公开 DID 注册表快照中存续。
为什么是现在,为什么是我,为什么是 username.md
我大半生都在从事技术工作:从帮助台起步,历经系统管理岗位,最终成为现在的首席站点可靠性工程师(Principal Site Reliability Engineer)。长期读者知道 DashPC 和 Dashboard Linux,也知道我如何公开构建了与如今每辆汽车所配备系统同类的信息娱乐系统。那是一片绿地,它出现得很早,并向世界展示了汽车与软件结合时可以实现什么。
我如今再次从同一个视角看待这一切,并把 AI 拼图中缺失的一块交到你手中。我花了 20 年一直“来得太早”,如今已经与此和解。我并不声称 username.md 会成为下一个 Cloudflare。但它有可能做到。
插上你的旗帜
你现在就可以在这场新的 AI 淘金热中占据一席之地。花 9 美元预留你的用户名。 这就是全部诉求。为你的 Agent 买一个;也在好名字被抢完前,为家人或朋友注册一个。
只需 9 美元,你就能永久拥有自己在互联网上的名字。以密码学方式。可移植地。
技术与标准
username.md 完全基于开放标准构建,这正是重点所在。每一项规范都已发布并提供链接:did:web、OIDC(RFC 6749 和 OIDC Discovery)、RFC 9421 签名响应,以及 AT Protocol。该项目由我的公司 The Holding Company 和自 2002 年起运营的技术博客 chrisbergeron.com 支持。
我花了 9 美元,永久拥有了自己在互联网上的名字。现在你也可以:username.md
English / 原文
I paid $9 to own my name on the internet forever
I paid $9 to own my name on the internet. Not rent it. Own it. Cryptographically, portably, forever. Today I’m launching the on-ramp that lets you do the same:
Stick with me for two minutes and I’ll show you why a $9 handle is about to matter more than the domain name you’re reading this on.
Twenty years ago I built a touchscreen in-dash computer for cars, before the word “infotainment” existed. I created a product category. It was novel and controversial for the time, or maybe that was just the curmudgeons on Slashdot, but today every new car ships with one. Back then, cars and bleeding-edge tech simply weren’t a thing people combined. Until I did, very publicly.
I’m taking that same approach to AI and the Agentic Web: advance the timeline by shipping the missing piece. Are you ready to see into the future?
The missing piece of the puzzle
AI agents are showing up in every workflow now: calendaring, purchasing, research, comms. As they do, they need to be addressable. When the internet came online, one question kept coming up:
What is a web address? I can’t find it anywhere in the phonebook.
That web address became the URL, and it’s how we find, read, and surf the internet ever since. This blog has one: https://chrisbergeron.com.
The Agentic Web is the next iteration of the internet, and we’re standing right at the moment it begins to unfold. The address of the future isn’t a URL. It’s a did:web. And much like the old days, getting there means taking an on-ramp to the new information superhighway. That’s where username.md comes in. For $9, you get a canonical address that you own, you regulate, and you control.
What is a DID?
Decentralized identifiers (DIDs) are globally unique, highly available, cryptographically verifiable digital identifiers. They’re usually written as a Uniform Resource Identifier (URI) that can point to a person, an organization, a data model, or any abstract entity.
The difference between a DID and a traditional identifier like an email address or a user account is simple but profound: a DID isn’t owned by any service provider. It works across platforms, and it prevents vendor lock-in.
DIDs are a W3C standard. They preserve privacy, enable consent and data portability, and put the user in control. Instead of passwords, they use public/private key pairs, which is a stronger security model on every axis. In short, DIDs form the basis of a Decentralized Public Key Infrastructure (DPKI) for the web.
“Decentralized, so why are you selling it?”
Fair question. If a DID is decentralized, doesn’t offering one make me a central authority?
In the near term, yes, and I’m fine saying so out loud. I built an on-ramp to a capability that today is locked inside a specification document. If you’d rather host your own DID documents on a domain you already own, you can. Look at the metadata at the top of this blog for a working example. That’s how I started: meta tags on chrisbergeron.com first, then a schema.org-compliant profile.
I want to unlock that capability for everyone, and username.md is simply the means to that end. Along the way I plan to keep shipping durable building blocks for the agentic web.
The enterprise has had tools like this for years. Regular people got nothing. Until now.
The future has landed
Mark Zuckerberg recently published a piece titled “The Future is for Everyone.” Read that again. If the future is for everyone, why announce it? Because Meta wants to be your on-ramp. So does Google. So does Microsoft. They want to provide your AI experience inside a walled garden that you enter exclusively with them.
You already know the screen. “Sign in with Google. Sign in with Facebook.”
Click it and you’ve agreed to their terms of service. You’ve handed them the license to shape your entire future relationship with AI. Do you trust them with that?
Because the agentic era raises questions that a login button can’t answer:
- What does an AI agent actually know about you?
- When one agent talks to another, who signed what?
- Who’s accountable when something goes wrong?
- Who governs the agents, and who proves compliance?
- How can we trust agents to act on our behalf at all?
The answer to every one of those is verified identity. That’s what username.md provides.
What “verified identity” actually means in 2026
It comes down to three properties:
- Provenance — the message provably came from an entity that holds a private key.
- Anchoring — that key is bound to a stable, human-readable name (
chris.username.md, not a random GUID). - Portability — the name belongs to no single platform. You can move the DID to a different host and agents still resolve the same identity.
Here’s what that looks like on the wire. An OIDC discovery response:
1
|
$ curl "https://login.username.md/.well-known/openid-configuration" 2>/dev/null | jq .
---|---
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{
"issuer": "https://login.username.md",
"authorization_endpoint": "https://login.username.md/oauth/v2/authorize",
"token_endpoint": "https://login.username.md/oauth/v2/token",
"introspection_endpoint": "https://login.username.md/oauth/v2/introspect",
"userinfo_endpoint": "https://login.username.md/oidc/v1/userinfo",
"revocation_endpoint": "https://login.username.md/oauth/v2/revoke",
"end_session_endpoint": "https://login.username.md/oidc/v1/end_session",
"device_authorization_endpoint": "https://login.username.md/oauth/v2/device_authorization",
"jwks_uri": "https://login.username.md/oauth/v2/keys",
"scopes_supported": [
"openid",
"profile",
"email",
"phone",
"address",
"offline_access"
]
... truncated
}
---|---
And an RFC 9421 signature on every response your handle returns:
1
2
3
|
Content-Digest: sha-256=:<base64(sha256(body))>:
Signature-Input: sig1=("content-digest" "@authority");created=...;keyid="platform-ed25519";alg="ed25519"
Signature: sig1=:<base64(ed25519 signature)>:
---|---
Every response from your handle is cryptographically signed, and any agent can verify it in about four lines of Go. If you want the details, the developer docs are here.
Why “sign in with Google” is not this
Google and GitHub can prove your account exists. They cannot prove you own your identity. The OAuth token they hand you is opaque: anyone can check who issued it, but it never gives you a signing key of your own. Send a message from whatever@gmail.com and there is no key you control behind it. It’s Google’s infrastructure, and Google isn’t going to give you the keys, because a captive user is a good user. If they close your account, you simply cease to exist online. By some reports that happens to hundreds of people every day.
OAuth was built for humans logging into apps. Agents need something OAuth was never asked to be.
What you actually get
Buy a handle and you get three things:
- A verifiable identity you publish.
chris.username.mdresolves to a signed DID document, an OIDC discovery endpoint, an ATProto handle, and a plain-text, agent-readable profile. All for $9. - Native discoverability by agents. The signed
SKILL.mdat your handle tells other agents what you offer and how to reach you. They can verify it and trust it. - Ownership that outlives me. One payment. No subscription, no gas fees, no wallet. If the company disappears, your handle survives in a public DID registry snapshot.
Why now, why me, why username.md
I’ve spent most of my life in technology, starting at a help desk, moving through systems administration, and landing where I am now as a Principal Site Reliability Engineer. Longtime readers know DashPC and Dashboard Linux, and how I built in public the same kind of infotainment system that ships in every car today. It was greenfield, it was early, and it showed the world what was possible where automobiles met software.
I’m looking through that same lens again, and I’m handing you the missing piece of the AI puzzle. I’ve spent 20 years being “too early,” and I’ve made peace with it. I’m not claiming username.md is the next Cloudflare. But it could be.
Plant your flag
You can stake a claim in the new AI gold rush right now. Reserve your username for $9. That’s the whole ask. Buy one for your agent. Grab one for a family member or a friend before the good names are gone.
For $9 you can own your name on the internet, forever. Cryptographically. Portably.
Technology and standards
username.md is built entirely on open standards, and that’s the whole point. Every spec is published and linked: did:web, OIDC (RFC 6749 and OIDC Discovery), RFC 9421 signed responses, and the AT Protocol. The project is backed by my company, The Holding Company, and by chrisbergeron.com, the tech blog I’ve run since 2002.
I paid $9 to own my name on the internet forever. Now you can too: username.md