ATProto の鍵管理について、私の判断は正しかった。

2026/01/26 4:31

ATProto の鍵管理について、私の判断は正しかった。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

著者は、デフォルトの

did:plc
の代わりに
did:web
を識別子として使用し、自身の NixOS サーバー上で ATProto アカウントを設定しました。公開鍵と秘密鍵のペアを生成し、
did.json
ファイルをウェブサーバーにアップロードし、DNS/CORS ヘッダーを構成しました。PDS 上でアカウントを作成すると「deactivated」と表示され、手動で curl リクエストとログの確認が必要でした。それを解決するために ATProto Touchers Discord でアカウントを削除し、最初からやり直しました。
getRecommendedDidCredentials
が返す公開鍵に置き換えた後、著者は Bluesky にログインし「Profile does not exist」というエラーが表示されました。これは
did:web
がバーナー(ブラックリスト)に登録されたことを示しています。このバーニングによりプロファイルは非表示になり、いいねやフォローも見えず、投稿は AppView の「invalid」プロファイルとして表示されました。

このアカウントのバーニングが解除されたのは、HackerNews 上で可視性が示されたことで開発者の Bryan Newbold が介入した後でした。著者は

getRecommendedDidCredentials
が標準的な DID ドキュメントフィールドと若干異なる JSON キーを返すため、手動で編集する必要があることを指摘し、
did:web
ユーザー向けのドキュメントやツールが不十分である点を強調しています。

彼らはバーニングメカニズムを Mastodon のデータベース削除問題と比較し、中央権威がインスタンスのアイデンティティを無効化できる方法を示しています。全体として、本当に分散型であることは企業管理なしに自己ホスト型ソーシャルメディアを可能にしますが、現在の実践ではツールやサポートのギャップにより十分に機能していないというメッセージです。

本文

ATProto の鍵管理について私が正しかった


ホーム | 公式サイト


注記:

本投稿は「実際に起きたことの説明」と「私自身の分析」の2部構成に改訂されています。
私は一般的に ATProto を好みませんが、特定の設計決定とその結果について誠意ある批判を行うつもりです。この投稿が HackerNews で upvote を獲得したことがチームの注目を集めたようで、ミッション達成と言えます。以降、私のアカウントは手動で復元されました。これまで同様の問題に直面していた他ユーザーには同じ対応がなかったと認識しています。


何が起きたか

本日、Bluesky で使用する ATProto アカウントを

did:web
を使って作成しようとしました。手順は以下の通りです:

  1. PDS ソフトウェアを自分が管理しているサーバにセットアップ
    NixOS を利用しているため、非常に簡単でした。

  2. did:web
    を作成
    これは公開鍵・秘密鍵ペアを生成することです。最初は Mai Lapyst のチュートリアルに従おうとしましたが、古くて重要なステップが抜けていました。

  3. did.json
    ドキュメントを自分の Web サーバへアップロードし、適切な DNS エントリを設定
    ほぼ問題なくできました。ただし
    did.json
    に対して CORS ヘッダーも設定する必要がありました。

  4. 新しい PDS 上でアカウント作成
    招待メールを受け取りアカウントを作りましたが、状態は「deactivated(停止)」になり、有効化できませんでした。これを手動で curl でリクエストし、サーバの PDS ログに出るエラーを読むことで対処しました。

  5. ATProto Touchers Discord で助けを求め、指示通りアカウントを削除
    (Discord の推奨はアカウントを削除することでした)

  6. 最初からやり直し。

    getRecommendedDidCredentials
    が返す公開鍵で DID 内の公開鍵を書き換えて再作成

  7. Bluesky (bsky.app) にログイン すると「Profile does not exist(プロフィールが存在しません)」というエラーが出ました。

この時点で、GitHub の issue を見つけたところ、完全に空のアカウントを削除した結果、私の

did:web
がシステムの残りのほぼ中央集権的部分(AppView)からブラックリストに載せられたことが示唆されていました。この状態は「burned(焼却)」と呼ばれます。後日経験豊富なユーザーから、これは Bluesky AppView の既知だが未文書化の挙動であると確認されました。

友人に Blusky で見てもらった結果:

  • Bluesky では私の存在は全く認識されず(いいねやフォローも見えません)
  • Blacksky プロダクション では表示名とバイオは見えるものの、投稿は表示されない
  • Blacksky の AppView では逆に「invalid(無効)」プロフィールとして投稿が現れました

手動で「unburn」することはできたものの、サポートリクエストとは関係ありませんでした。この記事は Hacker News のフロントページに掲載され、Bryan Newbold にも目に留まりました。これは問題です。


意見ゾーン

以前、「Key Management, ATProto, and Decentralization」という記事を書き、ATProto が分散化をどう扱っているか不満を述べました。その後 Blacksky は AppView を立ち上げ、理論上は真に分散化された Blusky エクスペリエンスが可能になりました。私の基準は、Bluesky の企業ハードウェアで動作する何かを使わずにアカウントを作ることでした。

私は好きではないシステム(Signal, Matrix, Mastodon)を使う理由は、関心ある人々とのソーシャルインタラクションが可能だからです。ATProto と特に Bluesky も同様で、投稿しない友人たちと RSS でフォローしているものの、彼らの投稿には相互作用できません。このネットワークを利用し、新しい分散化 AppView レイヤーがどれほど機能するかを理解したいという動機があります。

このプロセスはほとんど文書化されておらず、個々のエンドポイントはある程度説明されていますが、全体像をまとめた場所は GitHub の issue コメントにしかありません。

getRecommendedDidCredentials
のドキュメント(未読部分)は以下のようになっています:

このサービスへ移行するアカウントの DID ドキュメントに含めるべき資格情報を記述してください。

ここで私は「移行中」ではなく、新規アカウントです。また、返される JSON キーはほぼ同じですが、実際に使えるように手作業で編集する必要があります。これは良くありません!

did:web
は「より少ない中央集権化」または「自分の信頼を持ち込む」オプションとして推奨されていますが、一般ユーザー向けに使いやすいような取り組みがほとんど見られません。

さらに大きな問題は、中央集権的な「burn」が Bluesky を利用する人々との交流を妨げる点です。Mastodon には同様の仕組みがあります。Mastodon サーバを設置しデータベースを削除すると、既に連携したインスタンスは再度連携できなくなります。これは実際の問題ですが、私が投稿もフォローも行っていない状態で「burn」された

did:web
では起こり得ません。

たとえ投稿やフォローをしていたとしても、それは特定の接続のみが焼却されるはずです。経験は損なわれますが、壊れるわけではありませんし、影響を受けたサーバ管理者と協力して修正できるはずです。同様に、Bryan Newbold が HackerNews でこの記事を見てくれたおかげでアカウントを取り戻せました。重要なのは一つの接続だけ(Blacksky を数えれば二つ)ですが、その AppView はまだ一般公開されていません。これが中央集権化であり、他に呼べるものではないと私は思います。

Bluesky も ATProto も好きではありません。コミュニティ主導のプロジェクトが巨額の資金を得て、我々全員が小さなソーシャルメディアサーバを自らホストする世界であれば良いのですが、そのような現実は存在しません。そのため VC バックされた企業ソーシャルメディアと相互運用しなければならず、これらのプラットフォームが「分散化」と名乗る際には本当にその機能を果たすべきだと思います。

同じ日のほかのニュース

一覧に戻る →

2026/01/26 4:03

まず、私に関心を持っていただけるようにしてほしいです。

## Japanese Translation: **改訂要約:** 著者は、ウェブサイト、個人の「Me」セクション、ブログを組み合わせた新しいプラットフォームを立ち上げました。外部リソースへのリンクとファンサポート用のPatreonページが特徴です。今後の計画としては、さらに多くのブログ投稿を追加し、リンク統合を拡大し、場合によっては追加のPatreonティアを作成することがあります。これによりユーザーはキュレーションされたコンテンツへ簡単にアクセスでき、クリエイターには追加収益源が提供されます。 (このバージョンではすべての主要ポイントを保持し、推測された業界全体のトレンド表現を削除しています。)

2026/01/26 9:10

**科学者たちが「あなた」の限界を決める脳波を特定**

## Japanese Translation: > 本研究は、頭頂皮質におけるアルファ振動のリズムが、人々がゴム手を所有していると感じる強さを因果的に形成することを示しています。スウェーデンの研究者66名とフランスの研究者43名が合計106名の被験者から脳波(EEG)を記録し、古典的なゴム手錯覚を体験させました。ロボットアームは実際の手と偽の手の両方にタップを打ち、タップの同期性は最大500 msまで遅延させられました。 > > 被験者はタップが同期しているときに最も強い所有感を報告し、遅延が増すにつれてその感覚が弱まりました。EEGからは、頭頂部のアルファ周波数が被験者の遅延検知能力と相関していることが明らかになりました:高速なアルファ波は小さな時間ギャップに対する敏感性を高め、一方で低速なアルファ波は大きなギャップが存在しても錯覚を強化しました。 > > 頭頂部のアルファ波を人工的に高速化または遅延させる経頭蓋交流電流刺激(tACS)を用いて、研究者たちは因果関係を確認しました——アルファ波を加速すると所有感が増し、逆に減速すると錯覚が弱まり、自分の手と偽手との区別が難しくなりました。 > > これらの結果は *Nature Communications* に掲載され、頭頂部のアルファ活動が身体所有感を構築する上で因果的役割を果たすことを示唆しています。精神疾患(統合失調症や幻肢痛など)の治療に寄与したり、ターゲットとした脳刺激によってよりリアルな義手や仮想現実インターフェースの設計指針となる可能性があります。

2026/01/26 0:34

**タイトル** 「姿勢が悪くなると画面をぼかす macOS アプリ」

## Japanese Translation: Posturrは、MacのカメラとAppleのVisionフレームワークを使用してリアルタイムで姿勢を監視する軽量macOSアプリです。鼻と肩の角度を測定し、全身ランドマークが利用できない場合は顔検出にフォールバックします。前かがみが検知されると、画面が徐々にぼかれます(デフォルトではmacOSのプライベートCoreGraphics APIを使用し、互換モードではNSVisualEffectViewにフォールバック)。良い姿勢が回復するとぼかしは即座に消えます。ぼかしの強度は「Low」から「Very High」に段階的に上昇し、デッドゾーン設定で軽微な前かがみを無視できます。 Posturrは完全にローカルで動作します:動画データはマシンを離れず、オンラインアカウントやクラウドサービスも不要です。MITライセンスのソースコードはコミュニティへの貢献を歓迎しています。メニューバーには小さなアイコンがあり、ステータス表示、監視の有効/無効化、再校正、感度調整、互換モード切替、デッドゾーン設定、またアプリ終了などが可能です。また、外部制御用に`/tmp/posturr-command`というファイルベースのコマンドインターフェイス(`capture`、`blur <0‑64>`、`quit`)も公開しています。 インストールは簡単で、Homebrew(`brew install --cask posturr`)を使用するか、リリースページから署名済みのDMG/ZIPをダウンロードします。ノタリゼーションされており、システム設定でカメラ権限が必要です。最適な結果を得るためには、カメラを目線レベルに位置させ、十分な照明を確保し、画面を向いて座り続け、肩が見えるようにしてください。Posturrはマルチディスプレイ環境にも対応しており、macOS 13+でXcode Command Line Toolsを使用してソースからビルドできます。 すべての処理をデバイス上で完結させ、プライバシー優先設計を提供することで、Posturrは姿勢モニタリングツールがユーザーのプライバシーを侵害せずにエルゴノミック支援を行う方法を示しています。