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