Bitsocial และ ActivityPub
ActivityPub คือมาตรฐาน W3C ที่อยู่เบื้องหลัง Fediverse ผู้ใช้เลือกเซิร์ฟเวอร์หนึ่งซึ่งเรียกว่าอินสแตนซ์ให้โฮสต์บัญชีของตน และเซิร์ฟเวอร์ต่าง ๆ แลกเปลี่ยนโพสต์กัน Mastodon คือซอฟต์แวร์ไมโครบล็อกที่เป็นที่รู้จักที่สุดของ Fediverse ส่วน Lemmy คือเว็บรวมลิงก์และฟอรัมแบบ Reddit ที่ประกอบขึ้นจากชุมชนตามหัวข้อ จึงเป็นสิ่งที่ใกล้เคียงที่สุดใน Fediverse กับแอป Bitsocial อย่าง Seedit
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 ราว 150 MB
ตามตัวเลขของโครงการเอง แต่ละอินสแตนซ์เก็บสำเนาเนื้อหาระยะไกลที่ผู้ใช้ของตนติดตาม โหนดชุมชนของ
Bitsocial ไม่ต้องมีโดเมนหรือใบรับรอง และรันได้จากแอปเดสก์ท็อปหรือ bitsocial-cli
สิ่งที่เซิร์ฟเวอร์ให้เป็นการตอบแทน
เซิร์ฟเวอร์ Fediverse เก็บประวัติทั้งหมดและให้บริการได้อย่างเชื่อถือได้ และ Mastodon มีเครื่องมือกลั่นกรองที่พัฒนามาจนสมบูรณ์ตลอดหลายปี Bitsocial ไม่รับประกันว่าเนื้อหาเก่าจะอยู่ตลอดไป และเครื่องมือกลั่นกรองของมันอยู่ในแต่ละแอป
การเปรียบเทียบ
| คำถาม | ActivityPub (Mastodon, Lemmy) | Bitsocial |
|---|---|---|
| ประเภท | เซิร์ฟเวอร์แบบเฟเดอเรชัน | เครือข่ายชุมชนแบบเพียร์ทูเพียร์ |
| ตัวตน | บัญชีบนโดเมนของเซิร์ฟเวอร์ ซึ่งเซิร์ฟเวอร์เป็นผู้ลงลายเซ็น | คู่กุญแจ Ed25519 สำหรับผู้ใช้และชุมชน |
| โพสต์อยู่ที่ไหน | เซิร์ฟเวอร์ต้นทาง รวมถึงสำเนาบนทุกเซิร์ฟเวอร์ที่ติดตาม | โหนดของเจ้าของชุมชน และเพียร์ที่อ่านและซีดชุมชนนั้น |
| ใครทำให้ออนไลน์อยู่ | ผู้ดูแลอินสแตนซ์ | โหนดของเจ้าของชุมชน พร้อมซีดเดอร์ที่ช่วยกระจาย |
| ชุมชน | ชุมชน Lemmy ที่โฮสต์อยู่บนอินสแตนซ์เดียว | ออบเจ็กต์ระดับพื้นฐานที่มีโหนดของตัวเองคอยยอมรับหรือปฏิเสธโพสต์ |
| การควบคุมสแปม | ด่านคัดกรองตอนสมัคร การจำกัดอัตรา การรายงาน และการกลั่นกรอง | ชาเลนจ์ของแต่ละชุมชนก่อนที่โพสต์จะถูกยอมรับ |
| การกลั่นกรอง | ผู้ดูแลเซิร์ฟเวอร์และผู้ดูแลชุมชน เฉพาะในแต่ละเซิร์ฟเวอร์ | เจ้าของชุมชนกลั่นกรองชุมชนของตน ส่วนแอปเลือกเองว่าจะแสดงอะไร |
| ชื่อ | แฮนเดิล @user@domain และ !community@domain | ชื่อ .bso และ .eth ที่ชี้ไปยังกุญแจ |
| เบราว์เซอร์ | ไคลเอนต์ของเซิร์ฟเวอร์ของผู้ใช้เอง | โหนดเพียร์ทูเพียร์ภายในแท็บเบราว์เซอร์ปกติ |
| ข้อแลกเปลี่ยนหลัก | ประวัติเชื่อถือได้และการกลั่นกรองที่สมบูรณ์ แต่ตัวตนและชุมชนเป็นของเซิร์ฟเวอร์ | ไม่ต้องมีเซิร์ฟเวอร์หรือโดเมน แต่ไม่รับประกันว่าเนื้อหาเก่าจะอยู่ตลอดไป |