-
AT 프로토콜은 분산형 소셜 네트워크의 기반이 되는 프로토콜로, 모든 데이터는 at:// URI로 식별함
- at:// URI는 데이터의 생성자(사용자) 를 authority로 지정하며, 해당 데이터가 실제로 호스팅되는 위치는 별도로 찾아야 함
- URI 해석 절차는 핸들을 정체성(DID)으로 변환, DID 문서 조회를 통한 호스팅 서버 확인, 그리고 해당 서버에서 JSON 데이터 요청의 순서로 이루어짐
-
두 종류의 DID 방식(did:web, did:plc)이 지원되며, 각각 장단점과 데이터 보존 방식에 차이가 있음
- 이 접근 방식은 데이터 소유권이 사용자에게 있음을 강조하며, 핸들과 호스팅이 변경되어도 연결이 유지되는 영속성을 보장함
AT 프로토콜, at:// URI, 그리고 소셜 데이터의 정체성 해석 과정
# AT 프로토콜과 at:// URI 기본 구조
-
AT 프로토콜은 분산된 여러 서버들이 특정 표준에 따라 소통하게 하며, 이들 전체를 'atmosphere'라 명명함
- atmosphere 내의 각 데이터는 고유한 at:// 로 시작하는 URI가 부여되며, 이 URI는 일종의 JSON 데이터의 링크 역할을 수행함
- 전통적인 URI 구조와 달리, AT 프로토콜에서는 데이터의 생성자(사용자) 가 URI의 authority로 설정됨
- 실제 데이터가 호스팅되는 물리적 서버는 URI에 직접 포함되지 않으며, 이를 찾기 위해 추가적인 해석 절차가 필요함
# at:// URI 해석 절차의 세 단계
- at:// URI를 실제 데이터(JOSN)에 매핑하기 위해서는 세 단계가 필요함
-
핸들(ruuuuu.de 등)을 정체성(DID: Decentralized Identifier)로 변환
- 핸들은 사용자 식별을 위한 별칭이며 바뀔 수 있음
- 불변의 글로벌 ID인 DID로 변환 필요
- 변환 방식:
-
DID 문서(DID Document) 조회를 통한 데이터 호스팅 정보 확인
-
호스팅 서버의 API를 통해 JSON 데이터 요청
- com.atproto.repo.getRecord 엔드포인트에 at:// 각 부분을 파라미터로 전달해 데이터 요청
- 반환된 JSON은 at:// URI와 매핑된 실제 데이터임
# 예시를 통한 해석 과정 설명
# DID 방식: did:web과 did:plc의 차이
-
did:web:
- 자신의 도메인을 관리하고 인증할 수 있음
- 도메인 통제 권한이 사라지면 ID 전체를 잃을 가능성 있음
-
did:plc:
- PLC(Public Ledger of Credentials)가 ID 운영 주체
- 도메인에 귀속되지 않지만, PLC 운영자가 업데이트를 거부하는 등 제한적 제어 가능성 존재
- 모든 변경 내역은 해시로 검증 및 추적 가능
# 정체성, 호스팅, 데이터의 분리와 영속성
- at://는">at://는 정체성과 데이터 호스팅을 분리해, 사용자 데이터의 포터블화 및 영구적 링크 생성 가능
- Handle(별명)은 언제든 변경할 수 있고, 호스팅 서버도 동일하게 이사 가능
- DID(정체성)는 불변으로, 이 기반의 at:// URI는 영속적인 퍼머링크로 활용 가능
- DID Document에는 handle의 소유 증명, 서명 검증 키, 호스팅 정보가 모두 담겨있어 신뢰성과 유연성 보장
# 실제 응용과 개발 언급
- 현실적으로 대다수 AT 기반 앱은 Websocket 등으로 데이터를 push받아 내부 DB에 집계함
- 그럼에도 불구하고 at:// URI 해석법 숙지는 네트워크 특성 이해 및 데이터 이식성 확보에 필수적임
- at:// 체계는 HTTP, DNS, JSON의 위에 소셜 네트워크 추상화를 제공하며, 데이터 소유권이 사용자에 있음을 기술적으로 구현함
# 결론
- AT 프로토콜과 at:// URI는 소셜 데이터의 정체성, 연결성, 영속성을 기술적으로 한층 진화시킴
- 개발자들은 핸들 해석, DID 활용, DID 문서 구조, 실제 데이터 요청법 등 핵심 워크플로우 숙지 필요
- 이 구조 덕분에 자신의 컨텐츠와 정체성, 그리고 호스팅 위치 사이의 유연성과 소유권을 획득할 수 있음