- แนวคิดและที่มาของ Fediverse
- ทางเลือกสำหรับผู้ใช้ที่เริ่มเหนื่อยกับโซเชียลมีเดียแบบรวมศูนย์ (X (เดิมคือ Twitter), Instagram เป็นต้น)
- เป็นเครือข่ายแบบกระจายศูนย์ที่เกิดขึ้นเพื่อแก้ปัญหาเรื่องความเป็นส่วนตัวของข้อมูล การแนะนำคอนเทนต์ด้วยอัลกอริทึม และโฆษณาที่ไม่สิ้นสุด
- โครงสร้างและหลักการทำงานของ Fediverse
- องค์ประกอบ: ไม่ใช่แพลตฟอร์มขนาดยักษ์เพียงแห่งเดียว แต่เป็นเครือข่ายของเซิร์ฟเวอร์อิสระ (instance) ที่สามารถสื่อสารกันได้
- โปรโตคอล: ทุก instance ใช้โปรโตคอลกลางชื่อ ActivityPub เพื่อแลกเปลี่ยนข้อมูลระหว่างกัน
- อุปมาแบบอีเมล: เหมือนที่ผู้ใช้ Gmail คุยกับผู้ใช้ Naver Mail ได้ ผู้ใช้ Mastodon ก็สามารถสื่อสารกับผู้ใช้ Misskey หรือ PeerTube ได้เช่นกัน
- รูปแบบ ID ผู้ใช้และแพลตฟอร์มหลัก
- รูปแบบ ID ผู้ใช้: @ชื่อผู้ใช้@อินสแตนซ์.โดเมน (เช่น @honggildong@mastodon.social)
- แพลตฟอร์มและ instance หลัก:
- Mastodon: แพลตฟอร์มไมโครบล็อกที่คล้ายกับ X (เดิมคือ Twitter)
- ตัวอย่าง: mastodon.social, uri.life (เน้นผู้ใช้เกาหลี)
- จุดเด่น: จำกัด 500 ตัวอักษร, แฮชแท็ก, ฟังก์ชันคำเตือนเนื้อหา
- Misskey: แพลตฟอร์มไมโครบล็อกที่พัฒนาในญี่ปุ่นและปรับแต่งได้สูง
- ตัวอย่าง: misskey.io, Stella (เน้นผู้ใช้เกาหลี)
- จุดเด่น: รีแอ็กชัน, เกม, แชต และฟีเจอร์ที่หลากหลาย
- Pixelfed: แพลตฟอร์มแชร์ภาพที่คล้าย Instagram
- ตัวอย่าง: pixelfed.social, Chueok:Photo (เน้นผู้ใช้เกาหลี)
- จุดเด่น: สตอรี, ฟิลเตอร์, ฟังก์ชันค้นพบคอนเทนต์
- PeerTube: แพลตฟอร์มโฮสต์วิดีโอที่คล้าย YouTube (สตรีมมิงแบบ P2P)
- WriteFreely: แพลตฟอร์มบล็อกแบบมินิมอล (รองรับ Markdown)
- Lemmy: แพลตฟอร์มรวมลิงก์และกระดานสนทนาที่คล้าย Reddit
- แพลตฟอร์ม vs. instance
- แพลตฟอร์ม: หมายถึงตัวซอฟต์แวร์เอง เช่น Mastodon, Misskey, Pixelfed ซึ่งเป็นโอเพนซอร์สและใครก็สามารถติดตั้งได้
- instance: เซิร์ฟเวอร์แต่ละเครื่องที่รันซอฟต์แวร์นั้น ตัวอย่างเช่น mastodon.social และ uri.life ต่างก็เป็น instance คนละตัวที่ใช้แพลตฟอร์ม Mastodon เหมือนกัน
- บางบริการ (เช่น Threads ของ Meta) มีแพลตฟอร์มและ instance เป็นสิ่งเดียวกัน แต่ Fediverse ส่วนใหญ่ประกอบด้วยหลาย instance
- จุดเด่นที่ทำให้ Fediverse น่าสนใจ
- การกระจายศูนย์: ไม่มีบริษัทใดควบคุมข้อมูลทั้งหมด
- อธิปไตยเหนือข้อมูล: ผู้ใช้มีอำนาจควบคุมข้อมูลของตนเองได้มากขึ้น
- ทนทานต่อการเซ็นเซอร์: แม้ instance หนึ่งจะถูกบล็อก ก็ยังย้ายไป instance อื่นได้ง่าย
- เน้นชุมชน: แต่ละ instance มักก่อตัวขึ้นจากความสนใจเฉพาะหรือชุมชนท้องถิ่น
- ความหลากหลาย: มีทั้งหลายแพลตฟอร์มและหลาย instance ให้เลือกใช้งาน
- วิธีเข้าร่วม Fediverse
- เลือก instance ให้ตรงกับความสนใจหรือภูมิภาคของตนเอง แล้วสร้างบัญชี
- หากเป็นผู้ใช้เกาหลี แนะนำ instance ที่รองรับสภาพแวดล้อมภาษาเกาหลี เช่น uri.life (Mastodon) หรือ Stella (Misskey)
- หรือจะเข้าร่วมชุมชนเฉพาะทางอย่าง Hackers' Pub สำหรับวิศวกรซอฟต์แวร์ก็ได้
- ActivityPub และคู่มือสำหรับนักพัฒนา
- โปรโตคอล ActivityPub:
- เป็นมาตรฐานแนะนำของ W3C ที่อิงกับรูปแบบข้อมูล ActivityStreams 2.0
- ทำหน้าที่เป็น “ภาษากลาง” สำหรับการแลกเปลี่ยนข้อมูลระหว่างเซิร์ฟเวอร์ต่าง ๆ
- แนวคิดหลัก:
- actor: ตัวแสดงการกระทำ เช่น ผู้ใช้หรือกลุ่ม (มี URL เฉพาะตัว, inbox, outbox)
- activity: การกระทำ เช่น การเขียนโพสต์ การกดถูกใจ หรือการติดตาม
- object: เนื้อหาที่ถูกแชร์ เช่น ข้อความ รูปภาพ หรือวิดีโอ
- ตัวอย่างการทำงานจริง: เมื่อเขียนโพสต์ เช่น มีการสร้างโพสต์ในเวลา 2025-02-21T14:30:00Z ระบบจะเปลี่ยนเป็นกิจกรรม Create(Note) แล้วส่งต่อไปยังผู้ติดตาม และเกิดปฏิสัมพันธ์ผ่านกิจกรรมอย่าง Follow เป็นต้น
- เคล็ดลับสำหรับนักพัฒนา:
- จำเป็นต้องมีการพัฒนา actor, ตั้งค่า HTTP endpoint (inbox/outbox), HTTP signature และการยืนยันตัวตน, การจัดเก็บในฐานข้อมูล และการตั้งค่านโยบายการ federation
- แนะนำให้ใช้ implementation ที่มีอยู่แล้ว (Mastodon, Misskey) หรือเฟรมเวิร์กอย่าง Fedify
- โปรโตคอล WebFinger: ให้วิธีแปลง ID ในรูปแบบ @ชื่อผู้ใช้@อินสแตนซ์ ไปเป็น URL ของ ActivityPub actor จริง
- ความท้าทายและอนาคตของ Fediverse
- ความท้าทาย:
- การขยายระบบ: ต้องรองรับการสื่อสารอย่างมีประสิทธิภาพระหว่างเซิร์ฟเวอร์จำนวนมาก
- การดูแลเนื้อหา: เนื่องจากแต่ละ instance มีกฎของตนเอง จึงอาจขาดความสม่ำเสมอ
- การค้นพบคอนเทนต์: อาจค้นหาผู้ใช้ใหม่หรือเนื้อหาใหม่ได้ยากกว่าแพลตฟอร์มแบบรวมศูนย์
- ประสบการณ์ผู้ใช้: UI/UX ของบางแพลตฟอร์มยังต้องปรับปรุง
- แนวโน้มในอนาคต:
- การที่บริการใหญ่ ๆ อย่าง Threads นำ ActivityPub ไปใช้ ทำให้อนาคตของ Fediverse ดูสดใส
- การมีส่วนร่วมที่เพิ่มขึ้นจากทั้งนักพัฒนาและผู้ใช้ อาจช่วยสร้างวัฒนธรรมอินเทอร์เน็ตที่หลากหลายและแข็งแรงยิ่งขึ้น
- บทสรุป
- Fediverse คือระบบนิเวศออนไลน์รูปแบบใหม่ที่ก้าวข้ามข้อจำกัดของโซเชียลมีเดียแบบรวมศูนย์ และมอบทั้งอธิปไตยเหนือข้อมูลกับความหลากหลายให้ผู้ใช้
- ทั้งนักพัฒนาและผู้ใช้สามารถร่วมสร้างวัฒนธรรมอินเทอร์เน็ตที่สมบูรณ์และแข็งแรงยิ่งขึ้นได้ ผ่านการมีส่วนร่วมในเครือข่ายแบบกระจายศูนย์นี้
7 ความคิดเห็น
อาจมีหลายคนที่ไม่รู้ แต่จริง ๆ แล้วผู้ดูแลอินสแตนซ์ 'ความทรงจำ:ภาพถ่าย' ที่กล่าวถึงข้างต้นก็คือผมเอง ฝากตัวด้วยครับ :)
ถ้านำโปรโตคอล ActivityPub ไปใช้งาน ใคร ๆ ก็สามารถสร้างอินสแตนซ์แล้วเข้าร่วมได้ และสามารถส่งข้อมูลไปยังอินสแตนซ์อื่น ๆ ได้ใช่ไหมครับ?
ถ้าอย่างนั้นก็ดูเหมือนจะเหมาะมากสำหรับการโปรยโฆษณาสแปมเลย!
ก็เหมือนกับการที่ถ้าคุณดูแลเซิร์ฟเวอร์อีเมลด้วยตัวเอง คุณก็ต้องจัดการกับสแปมด้วยตัวเองเช่นกัน
ถ้าบัญชีโฆษณา/สแปมสร้างเซิร์ฟเวอร์เดียวขึ้นมาแล้วกระจายสแปม ในระดับผู้ดูแลเซิร์ฟเวอร์ก็แค่บล็อกเซิร์ฟเวอร์นั้นก็พอ
แต่เพราะระบบเฟดเดอเรชันก็ไม่ได้ใหม่แล้ว จึงมีเซิร์ฟเวอร์ (อินสแตนซ์) ที่ถูกปล่อยทิ้งไว้ไม่น้อย และเคยมีสแปมชื่อ ctkpaarr ระบาดโดยอาศัยเซิร์ฟเวอร์เหล่านี้เป็นทางผ่านเพื่อส่งสแปมจากหลายเซิร์ฟเวอร์ไปหาผู้ใช้จำนวนมาก แน่นอนว่าการรับมือก็เป็นหน้าที่ที่แต่ละเซิร์ฟเวอร์ต้องจัดการกันเอง
https://qiita.com/gnh1201/items/09f4081f84610db3a9d3
https://github.com/warpKaiba/kuroAntiSpam
https://github.com/Interstellar-Relay-Community/budae-jjigae
โฆษณาที่ไม่ต้องการสามารถคัดกรองออกได้ด้วยการกลั่นกรอง
แต่ละอินสแตนซ์ในเฟดิเวิร์สมีหลักปฏิบัติของตนเอง และอินสแตนซ์ที่ไม่เหมาะสมซึ่งไม่สอดคล้องกับหลักปฏิบัตินั้น ๆ (เช่น สแปมและโฆษณา หรือโพสต์ที่ไม่เหมาะสม) สามารถถูกคัดกรองออกได้ด้วยการกลั่นกรอง
ส่วน Bluesky ก็มีผู้ใช้ที่สร้างรายการปิดเสียงขึ้นมาเองแล้วแชร์กันด้วย
อ๋อ ดูเหมือนว่ามันจะทำงานโดยกำหนดกฎแยกตามแต่ละอินสแตนซ์ แล้วกรองข้อมูลที่จะรับเข้ามาสินะ
น่าจะเป็นอย่างที่คุณเข้าใจครับ ในความเป็นจริง บางอินสแตนซ์ก็มีเนื้อหาที่รุนแรง ซาดิสต์ หรือเน้น NSFW เป็นหลักอยู่ด้วย แต่สำหรับอินสแตนซ์ที่ใครดูก็รู้ว่าเป็นอุปสรรคต่อการใช้งาน SNS อย่างปลอดภัย ก็สามารถทำการม็อดเดอเรชันไม่ให้ไหลเข้ามาในไทม์ไลน์ได้
บทความที่แนะนำให้อ่านร่วมกัน
https://th.news.hada.io/topic?id=1528
https://th.news.hada.io/topic?id=10114
https://th.news.hada.io/topic?id=9651