ActivityPub
ActivityPub이란?
ActivityPub은 W3C(World Wide Web Consortium)에서 표준으로 제정한 분산 소셜 네트워크 프로토콜입니다. 소셜 네트워크 플랫폼 간의 상호운용성을 가능하게 해주는 백엔드 통신 규약으로, 유저의 활동(게시, 댓글, 좋아요 등)을 표현하고 전달하는 ActivityStreams 2.0을 기반으로 동작합니다.
주요 개념
- Actor: 활동 주체. 개인 사용자일 수도 있고, 봇이나 서비스일 수도 있음.
- Activity: 행위. ex) Create, Follow, Like 등.
- Object: 행위의 대상. ex) 게시글, 댓글, 사용자 등.
- Inbox/Outbox: Actor가 메시지를 송수신하는 곳. Outbox는 본인의 행동, Inbox는 외부에서 온 행동(팔로우, 댓글 등).
예시
- A 사용자가 B를 팔로우:
Follow액티비티를 B의 inbox에 전송. - A 사용자가 글을 올림:
Create액티비티가 자신의 outbox에 게시됨.
Fediverse란?
**Fediverse(Federated + Universe)**는 ActivityPub과 같은 표준 프로토콜을 기반으로 하는 분산된 소셜 네트워크들의 생태계입니다. 각 서비스는 독립적인 서버(노드)로 운영되며, 서로 연결되어 있어 다양한 플랫폼 간 상호작용이 가능합니다.
구성 요소
- 서버: 개별 독립 인스턴스. 운영자는 누구나 서버를 만들 수 있음.
- 사용자: 서버에 가입한 유저. 서로 다른 서버에 있는 사용자끼리도 소통 가능.
- 프로토콜: ActivityPub 외에도 Diaspora*, OStatus, Zot 등이 있음. 하지만 ActivityPub이 가장 널리 사용됨.
예시 서비스
| 서비스 | 설명 | 비고 |
|---|---|---|
| Mastodon | 트위터 유사 마이크로블로깅 | ActivityPub 지원 |
| Pixelfed | 인스타그램 유사 이미지 공유 | ActivityPub 지원 |
| PeerTube | 유튜브 유사 분산 동영상 플랫폼 | ActivityPub 지원 |
| Misskey | Mastodon 유사 SNS 플랫폼 | ActivityPub 호환 |
연동 시나리오
Mastodon 사용자 A가 Pixelfed 사용자 B의 사진을 좋아요 할 수 있고, 댓글도 달 수 있음. 이 모든 활동은 ActivityPub 메시지로 서로의 서버를 통해 전달됨.
장점과 한계
장점
- 탈중앙화: 트위터나 페이스북처럼 하나의 회사가 모든 데이터를 통제하지 않음.
- 자유로운 운영: 누구나 서버를 만들어 자율적으로 운영 가능.
- 상호운용성: 다양한 앱 간 자유로운 소통이 가능.
단점
- UX 통일성 부족: 플랫폼마다 UI/UX가 상이함.
- Moderation 이슈: 분산 시스템 특성상 콘텐츠 필터링/통제가 어려움.
- Onboarding 난이도: 일반 사용자에게는 진입 장벽이 다소 있음.