概要
- AT Protocol は分散型SNSの基盤となる新しい通信プロトコル
- at:// URI はデータの所在や所有者を示す独自のリンク形式
- URI解決は「ハンドル→DID→ホスティング」の3ステップ
- DID Document で実際のデータ保管サーバや検証情報を取得
- ハンドル変更やホスティング移転でもリンクが壊れない恒久的な参照を実現
AT ProtocolのURI解決手順
- AT Protocol は分散型SNSの基盤技術
- すべてのサーバが JSONデータ を「at://」形式のURIで公開
- 各JSONデータは固有の at:// URI を持つ
- URIの構造は「スキーム」「権限(ユーザーや組織名)」「パス」で構成
- at://の 権限部 は「データ作成者自身」を指す
- データの物理的なホスティング先はURIに直接含まれない
URI解決の3ステップ
- ハンドル(例:ruuuuu.de)からDID(分散ID)への変換
- DNSのTXTレコードまたはHTTPSでDIDを取得
- DNS例: _atproto.ruuuuu.de TXT "did=did:web:iam.ruuuuu.de"
- HTTPS例: https://barackobama.bsky.social/.well-known/atproto-did
- DNSのTXTレコードまたはHTTPSでDIDを取得
- DIDからホスティングサーバの特定
- DID Document(JSON)を取得し、serviceEndpointでサーバURLを確認
- did:webの場合: https://iam.ruuuuu.de/.well-known/did.json
- did:plcの場合: https://plc.directory/did:plc:xxxxxx
- DID Document(JSON)を取得し、serviceEndpointでサーバURLを確認
- ホスティングサーバからJSONデータを取得
- serviceEndpointで示されたサーバからデータ取得
DID Documentの役割
- DID Document は「インターネット上のパスポート」的役割
- alsoKnownAs: ハンドルとの紐付け
- publicKeyMultibase: 署名検証用公開鍵
- serviceEndpoint: データのホスティング先
ハンドルとDIDの違い
- ハンドル は人間に読みやすく、変更可能
- DID は不変でグローバルに一意なID
- at:// URIはDIDベースで保存することでリンク切れを防止
DIDの種類
- did:web
- ドメイン名所有によるID管理
- ドメイン失効時にIDも失効するリスク
- did:plc
- Bluesky独自の分散ID
- ドメインに依存せず、より永続的
まとめ:AT Protocol URI解決のポイント
- at:// URI は「誰が作ったか(権限)」を中心に設計
- DID で永続的な参照を実現し、ハンドルやホスティングの変更に強い
- DID Document でハンドルの正当性確認とホスティング先特定が可能
- 開発者は DIDベースのURI を保存・利用することで、リンク切れを防止
- ユーザーはハンドルで識別、アプリやサービスはDIDで識別・管理
参考コマンド・実装例
- DNSによるDID解決:
nslookup -type=TXT _atproto.<handle> - HTTPSによるDID解決:
curl https://<handle>/.well-known/atproto-did - did:webのDID Document取得:
curl https://<domain>/.well-known/did.json - did:plcのDID Document取得:
curl https://plc.directory/did:plc:<id>
AT Protocolを活用するための実践ポイント
- SDKや既存クライアント (pdsls, Taproot, atproto-browser等)を活用
- DID解決キャッシュ の導入で高速化・安定化
- DID Documentの検証 と最新ホスティング情報の取得を自動化
- at:// URIはDID形式で保存 し、将来の変更にも耐える設計
このように、AT Protocolは リンクの永続性 と 分散性 を両立し、ユーザーや開発者にとって柔軟かつ堅牢なSNS基盤を提供。DIDとDID Documentの理解が、AT Protocolを活用する上での鍵となる。