ATProto 키 관리 문제, 나의 주장이 옳았다

I was right about ATProto key management

작성자
HackerNews
발행일
2026년 01월 25일

핵심 요약

  • 1 ATProto 기반의 탈중앙화된 Bluesky 계정 설정 시도 중 심각한 문서화 부족과 복잡한 키 관리 문제에 직면하여 결국 실패했습니다.
  • 2 사용하지 않은 did:web 계정을 삭제한 후 중앙화된 시스템에 의해 해당 DID가 '번(burn)'되어 Bluesky 서비스 이용이 불가능해지는 문제가 발생했습니다.
  • 3 저자는 ATProto의 키 관리 방식이 도구 및 문서화 부재로 인해 비기술적 사용자뿐만 아니라 기술적 사용자에게도 실질적으로 불가능하며, 이는 Bluesky의 중앙화된 본질을 드러낸다고 결론 내립니다.

도입

필자는 이전에 ATProto의 탈중앙화 접근 방식에 대해 비판적인 입장을 표명한 바 있습니다. 최근 Blacksky가 AppView를 출시하면서 이론적으로는 Bluesky에서 진정한 탈중앙화 경험이 가능해졌습니다. 이에 필자는 Bluesky-the-company의 하드웨어를 사용하지 않고 독립적인 계정을 생성하려는 시도를 진행했습니다. 그러나 이 과정에서 예상했던 것보다 훨씬 더 큰 난관에 부딪히며, 초기 비판이 옳았음을 입증하는 결과를 맞이하게 되었습니다.

필자는 독립적인 Bluesky 계정을 설정하기 위해 다음과 같은 복잡한 과정을 거쳤습니다.

1. PDS(Personal Data Server) 설정

  • NixOS 환경에서 PDS 소프트웨어 설정은 비교적 간단했습니다.

2. did:web 생성 및 문서화 문제

  • did:web 생성을 위해 공개-개인 키 쌍을 생성해야 했습니다. 초기에는 Mai Lapyst의 튜토리얼을 따랐으나, 해당 튜토리얼은 매우 오래되어 핵심적인 단계가 누락되어 있었습니다.

  • did.json 문서를 웹 서버에 업로드하고 적절한 DNS 및 CORS 헤더를 설정하는 과정은 비교적 쉬웠습니다.

3. 계정 생성 및 활성화 문제

  • 새 PDS에 계정을 생성했으나, ‘비활성화’ 상태였고 활성화할 수 없었습니다. curl을 사용하여 수동으로 요청을 보내고 PDS 로그를 분석하며 오류를 파악해야 했습니다.

  • 이러한 과정은 공식적으로 문서화되어 있지 않았습니다. 개별 엔드포인트는 부분적으로 문서화되어 있었지만, 전체 과정이 한곳에 모여 있는 유일한 정보는 ‘WONTFIX’로 닫힌 GitHub 이슈의 댓글에 불과했습니다.

4. 반복되는 시도와 핵심 키 재설정

  • ATProto Touchers Discord 서버에서 도움을 받아 계정을 삭제하고 처음부터 다시 시작했습니다.

  • 닫힌 GitHub 이슈의 댓글에서 getRecommendedDidCredentials를 통해 얻은 공개 키로 DID의 공개 키를 교체해야 한다는 중요한 단계를 뒤늦게 발견했습니다. 이 엔드포인트의 문서는 매우 불충분하며, 반환된 JSON 키는 수동으로 편집해야 사용할 수 있었습니다.

  • 올바른 키로 DID 문서를 업데이트한 후 Bluesky(bsky.app)에 로그인하려 했으나, ‘프로필이 존재하지 않습니다’라는 오류 메시지를 받았습니다.

5. DID ‘번(Burn)’ 현상

  • 이 시점에서 필자는 또 다른 GitHub 이슈를 발견했는데, 이는 필자가 삭제한 (완전히 비어 있고 사용되지 않은) 계정으로 인해 did:web이 AppView에서 블랙리스트에 올라 ‘번(burn)’되었다는 것을 암시했습니다.

  • Discord에서 확인한 결과, 이는 사실이었으며, 유일한 해결책은 중앙화된 ‘지원팀’에 연락하는 것이었습니다. 이는 필자가 벗어나고자 했던 바로 그 중앙화된 회사에 의존해야 한다는 모순적인 상황을 초래했습니다.

결론

필자는 ATProto가 사용자, 심지어 기술적 사용자에게도 어떠한 도구나 충분한 문서화 없이 자체 PKI(공개 키 인프라)를 처리하도록 요구하는 것이 전적으로 불가능하다는 이전 주장이 완전히 입증되었다고 생각합니다. 이는 2017년에 Mastodon 인스턴스를 설정하는 것보다 더 어렵고 오류 발생 가능성이 높습니다. ATProto는 탈중앙화될 수 있지만, 그 위에 구축된 소셜 네트워크인 Bluesky는 최소한 사용자가 실제로 사용할 수 있는 방식으로는 탈중앙화되어 있지 않습니다. 중앙화된 '번(burn)' 시스템으로 인해 필자는 자신의 도메인 이름과 PDS를 사용하여 Bluesky를 사용하려는 시도가 좌절되었으며, 이는 ATProto가 여전히 중앙화된 권한에 크게 의존하고 있음을 명확히 보여줍니다. Mastodon의 연동 문제와 비교했을 때, ATProto의 '번(burn)'은 훨씬 더 파괴적이며, 중앙화된 지원 없이는 해결할 수 없는 근본적인 한계를 드러냅니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!