본문으로 건너뛰기

Bitsocial과 ActivityPub

ActivityPub은 Fediverse를 떠받치는 W3C 표준입니다. 사용자는 인스턴스라고 부르는 서버를 골라 그곳에 계정을 두고, 서버들은 서로 게시물을 주고받습니다. Mastodon은 가장 잘 알려진 마이크로블로깅 소프트웨어이고, Lemmy는 주제별 커뮤니티로 이루어진 Reddit 스타일의 링크 모음 겸 포럼이어서 Seedit 같은 Bitsocial 앱과 가장 비슷한 Fediverse 소프트웨어입니다.

ActivityPub의 동작 방식​

  • 받은편지함과 보낸편지함. 모든 계정에는 받은편지함(inbox)과 보낸편지함(outbox)이 있습니다. 서버는 다른 서버의 받은편지함으로 액티비티를 전달하고, 받는 쪽 서버는 각자 자기 사용자가 팔로우하는 내용의 사본을 저장합니다.
  • 서버가 소유하는 신원. 계정과 게시물의 ID는 원본 서버 도메인의 HTTPS 주소입니다. Mastodon 핸들은 @user@domain 형식으로 WebFinger를 통해 해석되며, 서버가 사용자를 대신해 연합 메시지에 서명합니다.
  • 클라이언트. 앱과 브라우저는 사용자 자신의 서버하고만, 그 서버의 API를 통해 통신합니다.
  • Lemmy 커뮤니티. 커뮤니티는 하나의 인스턴스에 호스팅되는 그룹 액터입니다. 사용자가 커뮤니티에 게시물을 보내면 커뮤니티가 이를 팔로워에게 다시 퍼뜨립니다. 공통 포럼 표준(FEP-1b12)에 따르면 커뮤니티는 게시물을 먼저 검증할 수 있으며, 모더레이터의 수동 승인까지 둘 수 있습니다.
  • 모더레이션. 모더레이션은 서버마다 따로 이루어집니다. 관리자는 계정을 정지하거나, 서버를 통째로 차단하거나, 허용 목록에 있는 서버하고만 연합할 수 있습니다. Lemmy에는 커뮤니티별 모더레이터도 있습니다.
  • 스팸 방지. ActivityPub은 스팸 방지 메커니즘을 정의하지 않습니다. Mastodon과 Lemmy는 승인, 초대, 가입 질문, 캡차, 이메일 확인으로 가입을 거르고, 그 뒤로는 속도 제한, 신고, 모더레이션에 의존합니다.

차이점​

신원은 도메인에 속한다​

Fediverse 계정은 그 서버의 도메인에 속합니다. Mastodon은 팔로워를 새 계정으로 넘길 수 있지만, 게시물은 옮겨지지 않고 이전은 기존 서버에서 시작해야 하며 30일의 대기 기간이 있습니다. Bitsocial에서는 프로필과 커뮤니티가 키페어이므로 호스트나 앱을 바꿔도 신원은 바뀌지 않습니다. 신원 및 커뮤니티 소유권을 참고하세요.

커뮤니티가 어디에 있는가​

Lemmy 커뮤니티는 구조적으로 Bitsocial 커뮤니티와 비슷합니다. 게시물은 커뮤니티로 가고, 커뮤니티는 다시 퍼뜨리기 전에 게시물을 확인할 수 있습니다. 차이는 커뮤니티가 어디에 있느냐입니다. Lemmy 커뮤니티는 만든 사람의 홈 인스턴스에서만 만들 수 있고, 인스턴스 관리자가 그 커뮤니티를 완전히 통제하며, 다른 인스턴스로 옮기는 방법은 문서화되어 있지 않습니다. Bitsocial 커뮤니티는 그 자체가 하나의 키페어입니다. 소유자는 어디서든 커뮤니티 노드를 실행할 수 있고, 그 위에 군림하는 서버 관리자는 없습니다.

스팸 방지​

Fediverse 서버는 주로 가입 단계에서 스팸을 막고 이후에는 모더레이션으로 대응합니다. Bitsocial 커뮤니티는 모든 게시물을 받아들이기 전에 챌린지를 실행하며, 캡차, 허용 목록, 결제, 그 밖의 어떤 코드든 각 커뮤니티가 직접 고릅니다. 맞춤형 스팸 방지 챌린지를 참고하세요.

인프라 운영​

인스턴스를 운영하려면 도메인, TLS, 이메일을 갖춘 상시 가동 서버가 있어야 합니다. Mastodon은 여기에 PostgreSQL, Redis, 백그라운드 워커도 필요합니다. Lemmy는 더 가벼워서, 프로젝트 자체 수치로 RAM이 약 150MB입니다. 각 인스턴스는 자기 사용자가 팔로우하는 원격 콘텐츠의 사본을 저장합니다. Bitsocial 커뮤니티 노드는 도메인도 인증서도 필요 없으며, 데스크톱 앱이나 bitsocial-cli에서 실행됩니다.

서버가 대가로 주는 것​

Fediverse 서버는 전체 기록을 보관하고 안정적으로 제공하며, Mastodon에는 수년간 다듬어진 성숙한 모더레이션 도구가 있습니다. Bitsocial은 오래된 콘텐츠를 영구히 보장하지 않으며, 모더레이션 도구는 각 앱에 들어 있습니다.

비교​

질문ActivityPub (Mastodon, Lemmy)Bitsocial
분류연합 서버P2P 커뮤니티 네트워크
신원서버 도메인의 계정, 서명은 서버가 수행사용자와 커뮤니티를 위한 Ed25519 키페어
게시물 저장 위치원본 서버와, 팔로우하는 모든 서버에 있는 사본커뮤니티 소유자의 노드와, 그 커뮤니티를 읽고 시드하는 피어
온라인 유지 주체인스턴스 관리자커뮤니티 소유자 노드와 보조 시더
커뮤니티하나의 인스턴스에 호스팅되는 Lemmy 커뮤니티자체 노드가 게시물을 수락하거나 거부하는 일급 객체
스팸 방지가입 관문, 속도 제한, 신고, 모더레이션게시물이 받아들여지기 전에 거치는 커뮤니티별 챌린지
모더레이션서버 관리자와 커뮤니티 모더레이터, 서버별로 독립커뮤니티 소유자가 자기 커뮤니티를 모더레이션하고, 무엇을 보여줄지는 앱이 선택
이름@user@domain 및 !community@domain 핸들키로 해석되는 .bso 및 .eth 이름
브라우저사용자 자신의 서버의 클라이언트일반 브라우저 탭 안에서 동작하는 P2P 노드
주요 절충안정적인 기록과 성숙한 모더레이션, 그러나 신원과 커뮤니티가 서버에 속함서버나 도메인이 필요 없지만 오래된 콘텐츠가 영구히 보장되지는 않음