at://의 위치는 어디인가

1 month ago 8

  • 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)에 매핑하기 위해서는 세 단계가 필요함
    1. 핸들(ruuuuu.de 등)을 정체성(DID: Decentralized Identifier)로 변환
      • 핸들은 사용자 식별을 위한 별칭이며 바뀔 수 있음
      • 불변의 글로벌 ID인 DID로 변환 필요
      • 변환 방식:
    2. DID 문서(DID Document) 조회를 통한 데이터 호스팅 정보 확인
      • DID 문서에는 해당 정체성의 공개 키, 서비스 엔드포인트(서버) 등 정보가 포함됨
      • did:web:~의 경우, 도메인 기반 접근 (https://도메인/.well-known/did.json)
      • did:plc:~의 경우, PLC 디렉토리(https://plc.directory/DID)에서 조회
      • 서비스 엔드포인트(serviceEndpoint)가 실제 데이터 호스팅 서버임
    3. 호스팅 서버의 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 문서 구조, 실제 데이터 요청법 등 핵심 워크플로우 숙지 필요
  • 이 구조 덕분에 자신의 컨텐츠와 정체성, 그리고 호스팅 위치 사이의 유연성과 소유권을 획득할 수 있음

Read Entire Article