ATProto 기반 구축: 권한 있는 데이터와 로컬 퍼스트 과제에 대한 피드백

ATProto 기반 구축: 권한 있는 데이터와 로컬 퍼스트 과제에 대한 피드백

Introduction

Luke Kanies는 베를린에서 열린 Local First Conference에 참석했으며 ATProto가 널리 퍼져 있는 것을 발견했지만, 그는 현재 방향이 사용자가 공개 또는 비공개 공유를 선택할 수 있는 애플리케이션을 구축하는 그의 목표와 충돌한다고 믿는다.

What Luke Wants to Build

Luke는 Yelp, GoodReads, Letterboxd 및 유사한 서비스를 대체할 수 있는 리뷰 애플리케이션 스위트를 만들고자 한다. 이를 통해 사용자는 공개, 비공개 또는 특정 그룹과 공유할 수 있는 리뷰를 기록할 수 있다.

ATProto Strengths

ATProto는 애플리케이션이 인증, 팔로워, 소셜 그래프를 처음부터 구축하지 않고도 처리할 수 있는 확장 가능한 신원 시스템을 제공한다. 이 기능은 컨퍼런스에서 여러 연사가 언급했다.

Public‑Only Limitation

오늘날 ATProto는 공개 전용이다: 사용자가 하는 모든 일이 전 세계에 공개될 것이라고 가정하며, 이 설계는 저장 시스템과 publishing 서비스에 내재되어 있다.

Permissioned Data Design Issues

커뮤니티의 “권한 있는 데이터” 제안은 개인 데이터를 위한 별도 시스템을 만들어 개발자가 두 개의 병렬 데이터 저장소와 프로토콜을 유지하도록 강요한다.

"우리가 이에 대해 들어가기 전에, 이 모든 것의 관통선은 공개 브로드캐스트 데이터가 권한 있는 데이터와 상당히 다르다는 것이다." — Luke Kanies Luke은 동의하지 않으며, 리뷰는 누가 읽을 수 있든 동일한 데이터 조각이며, 유일한 차이는 권한 집합(전체 읽기 vs. 제한된 읽기)이라고 주장한다. 제안이 공개 데이터와 개인 데이터를 구분하여 취급하기 때문에, 레코드를 그들 사이에서 이동하려면 삭제하고 다시 생성해야 하며, 이로 인해 좋아요, 리포스트, 링크가 손실된다. 개발자는 또한 사용자가 "레스토랑 리뷰"와 같은 단일 개념을 보는 상황에서 이중 시스템의 복잡성을 숨겨야 한다.

Local‑First and Offline Support

Luke는 Personal Data Server(PDS)가 Git 저장소처럼 작동한다고 가정했는데, 이는 잘못된 생각이다. PDS는 프로토콜을 통해 접근하는 원격 서버이며, 푸시하고 풀 수 있는 로컬 복사본이 아니다. ATProto는 Local First 원칙 중 일부만 충족한다: 데이터‑at‑your‑fingertips과 선택적 네트워크 사용이 부족하여, 개발자는 맞춤형 오프라인 저장소와 동기화 시스템을 구축해야 한다. 오프라인 지원과 권한 있는 데이터 분할을 결합하면 다음과 같은 문제가 발생한다:

  • 오프라인 데이터를 위한 맞춤형 로컬 저장소
  • 공개 및 비공개 데이터에 대해 서로 다른 프로토콜을 사용해야 하는 맞춤형 동기화 시스템
  • 각 데이터 유형에 대한 별도의 읽기/쓰기 경로가 필요한 온라인 앱 사용

Community Feedback (Selected Comments)

"Luke's feedback on the permissioned data proposal는 꽤 흥미롭다. 현재 제안에는 권한에 대한 위치적 요소가 있는데, 여기서 레코드의 URI가 접근 제어를 반영한다..." — @pfraze "이ような 글들을 읽으면서, 나는 사람들이 그들의 애플리케이션을(네모난 말뚝) ATProto(둥근 구멍)에 끼워넣으려고 한다고 생각한다. ATProto는 모든 데이터가 공개되어야 한다는 전제 하에 설계되었다." — @ekosz "한 발 물러서서 생각해보면, 권한 있는 데이터는 실제 세계의 사용 사례(Bluesky needs DMs, Tangled needs private repos, etc). 그러나, 기존 atproto와의 시너지가 상당히 중요해야 또 다른 암호화된 공간 사양을 개발할 가치가 있다고 생각한다." — @sbt "이 저자는 나에게 말한다! ... 이것을 단지 “개인 데이터”라고 불러야 한다 ... 권한은 세계 읽기" — @verdverm

Conclusion

Luke는 ATProto의 신원 기반에 대해 여전히 흥분하고 있지만, 현재 제안된 권한 있는 데이터 설계가 로컬 퍼스트, 혼합 공개/비공개 애플리케이션에 반한다고 믿는다. 그는 프로토콜이 데이터는 동일하고 접근 권한만 다른 통합 모델로 진화하기를 바란다.これにより 개발자는 프로토콜의 핵심 가정과 싸우지 않고 그가 envision하는 애플리케이션을 구축할 수 있다.

Sources