Bitsocial และ Nostr
Nostr ไม่เข้ากลุ่มเฟเดอเรชันหรือกลุ่มบล็อกเชนอย่างชัดเจน ผู้ใช้ไม่ได้รับบัญชีจากอินสแตนซ์ และไม่มีเชน ฉันทามติ ค่าแก๊ส หรือลำดับระดับโลก เรียก Nostr ว่า โซเชียลมีเดียที่อิงรีเลย์ จะตรงกว่า กล่าวคือ ผู้ใช้ถือคู่กุญแจ ลงลายเซ็นอีเวนต์ และเผยแพร่อีเวนต์ไปยังรีเลย์ ซึ่งเป็นเซิร์ฟเวอร์ธรรมดาที่จัดเก็บและให้บริการอีเวนต์เหล่านั้น (NIP-01) README ของ Nostr เองก็ระบุว่า Nostr ไม่ได้พึ่งพาเทคนิคแบบเพียร์ทูเพียร์
นั่นทำให้ Nostr ใกล้เคียงกับ Bitsocial มากกว่าระบบแบบเฟเดอเรชันหรือบล็อกเชนในแง่สำคัญข้อหนึ่ง คือตัวตนเป็นแบบเข้ารหัสลับและพกพาได้ ความต่างอยู่ที่ชั้นข้อมูล และอยู่ที่ว่าใครเป็นผู้คุมประตู
Nostr ทำงานอย่างไร
- อีเวนต์และรีเลย์ ทุกโพสต์ โปรไฟล์ หรือรีแอ็กชันคืออีเวนต์ JSON ที่ลงลายเซ็นแล้ว ไคลเอนต์เผยแพร่อีเวนต์ไปยังรีเลย์ผ่าน WebSocket และสมัครรับข้อมูลพร้อมตัวกรอง รีเลย์จัดเก็บอีเวนต์และส่งกลับมาให้ รีเลย์ไม่ได้สื่อสารกันเอง
- การทำสำเนา ผู้ใช้มักเผยแพร่ไปยังรีเลย์หลายตัว งานวิจัยที่ศึกษารีเลย์ 712 ตัวในปี 2023 พบว่าโพสต์โดยเฉลี่ยอยู่บนรีเลย์ 34.6 ตัว (Wei and Tyson)
- การหาโพสต์ของใครสักคน ผู้ใช้เผยแพร่รายการรีเลย์ที่ตนเขียนไปและอ่านจาก (NIP-65) และไคลเอนต์ดึงโพสต์ของผู้ใช้จากรีเลย์สำหรับเขียนของผู้ใช้คนนั้น
- ตัวตน ผู้ใช้แต่ละคนคือกุญแจ secp256k1 ที่ลงลายเซ็นแบบ Schnorr
สเปกไม่ได้กำหนดการหมุนเวียนหรือการกู้คืนกุญแจ กุญแจหายจึงเท่ากับบัญชีหาย ตัวระบุ
name@domainซึ่งเป็นตัวเลือกเสริม (NIP-05) จะถูกตรวจสอบกับไฟล์บนเว็บเซิร์ฟเวอร์ของโดเมนนั้น - กลุ่ม กลไกชุมชนที่แนะนำคือกลุ่มที่อิงรีเลย์ (NIP-29) โดยรีเลย์โฮสต์กลุ่ม บังคับใช้กฎการเป็นสมาชิกและการโพสต์ของกลุ่มก่อนรับโพสต์ และลงลายเซ็นข้อมูลเมตาของกลุ่ม ส่วนชุมชนที่ผู้ดูแลอนุมัติซึ่งเป็นแบบเก่ากว่า (NIP-72) ตอนนี้ถูกระบุว่าไม่แนะนำแล้ว โดยให้ใช้ NIP-29 แทน
- การควบคุมสแปม รีเลย์แต่ละตัวเลือกด่านของตัวเอง ได้แก่ proof-of-work (NIP-13) การยืนยันตัวตนและรายการที่อนุญาต (NIP-42) การชำระเงิน หรือการจำกัดอัตรา ไคลเอนต์เพิ่มรายการปิดเสียงและคะแนนความน่าเชื่อถือ
- สื่อ รูปภาพและวิดีโอถูกอัปโหลดไปยังเซิร์ฟเวอร์ไฟล์ HTTP แยกต่างหาก
จุดที่ต่างกัน
ใครจัดเก็บและให้บริการโพสต์
ใน Nostr รีเลย์คือชั้นจัดเก็บและส่งมอบข้อมูล ต้องมีเซิร์ฟเวอร์คอยทำให้แต่ละโพสต์ออนไลน์อยู่ ส่วนใน Bitsocial เราเตอร์ HTTP ช่วยแค่ให้ไคลเอนต์หาเพียร์เจอเท่านั้น เราเตอร์ไม่เก็บโพสต์ โปรไฟล์ ข้อมูลเมตาของชุมชน หรือสถานะการกลั่นกรอง ไคลเอนต์ดึงเนื้อหาจากโหนดของชุมชนและจากเพียร์ที่ซีดชุมชนนั้น ดู โปรโตคอลเพียร์ทูเพียร์
ใครเป็นผู้คุมประตู
ใน Nostr ด่านสำหรับการเขียนเป็นของผู้ดำเนินการรีเลย์ นอกกลุ่ม NIP-29 กุญแจที่ถูกรีเลย์หนึ่งปฏิเสธสามารถเผยแพร่อีเวนต์เดิมไปยังรีเลย์ใดก็ได้ที่ยอมรับ และสิ่งที่ผู้อ่านเห็นก็ขึ้นอยู่กับว่าไคลเอนต์ของพวกเขาอ่านจากรีเลย์ใด กลุ่ม NIP-29 ใกล้เคียงกับชุมชน Bitsocial มากกว่า เพราะรีเลย์ที่โฮสต์กลุ่มเป็นผู้ยอมรับหรือปฏิเสธโพสต์ แต่รีเลย์ก็ยังเป็นผู้กำหนดว่าบทบาทต่าง ๆ ในกลุ่มทำอะไรได้บ้าง และประวัติของกลุ่มยังผูกอยู่กับรีเลย์นั้น เว้นแต่จะมีรีเลย์อื่นยอมรับช่วงต่อ
ใน Bitsocial ชุมชนคือออบเจ็กต์เชิงเข้ารหัสลับที่มีคู่กุญแจของตัวเอง โหนดของชุมชนรันชาเลนจ์ใดก็ได้ที่เจ้าของเลือก และเผยแพร่สถานะที่ยอมรับแล้วเข้าสู่เครือข่ายเพียร์ทูเพียร์ ดู ความท้าทายในการต่อต้านสแปมแบบกำหนดเอง
การดูแลโครงสร้างพื้นฐาน
รีเลย์คือเซิร์ฟเวอร์ที่มีโดเมนและเอนด์พอยต์ WebSocket และรีเลย์ยอดนิยมต้องแบกรับค่าพื้นที่จัดเก็บและแบนด์วิดท์ของสิ่งที่ตนให้บริการ งานวิจัยปี 2023 ประเมินว่ารีเลย์ฟรีราว 95% ไม่สามารถครอบคลุมต้นทุนของตนด้วยเงินบริจาค โหนดชุมชนของ Bitsocial รันบนฮาร์ดแวร์ระดับผู้บริโภคได้ และเพียร์ที่อ่านชุมชนก็ช่วยแบ่งปันชุมชนนั้นได้
เบราว์เซอร์
เว็บไคลเอนต์ของ Nostr เปิดการเชื่อมต่อ WebSocket ไปยังรีเลย์โดยตรง จึงไม่ต้องมีเซิร์ฟเวอร์แอป ส่วนเว็บแอปของ Bitsocial รันโหนดเพียร์ทูเพียร์ในแท็บ และดึงเนื้อหาจากเพียร์ ดู เพียร์ทูเพียร์ในเบราว์เซอร์
เนื้อหาเก่า
โพสต์ของ Nostr ถูกทำสำเนากระจายอยู่บนรีเลย์จำนวนมาก ซึ่งช่วยให้โพสต์เก่าอยู่รอด Bitsocial เก็บสถานะล่าสุดของชุมชน และไม่รับประกันว่าเนื้อหาเก่าจะอยู่ตลอดไป
การเปรียบเทียบ
| คำถาม | Nostr | Bitsocial |
|---|---|---|
| ประเภท | โปรโตคอลที่อิงรีเลย์ | เครือข่ายชุมชนแบบเพียร์ทูเพียร์ |
| ตัวตน | กุญแจผู้ใช้ secp256k1 ที่สเปกไม่ได้กำหนดการหมุนเวียน | คู่กุญแจ Ed25519 สำหรับผู้ใช้และชุมชน |
| โพสต์อยู่ที่ไหน | รีเลย์ที่ผู้เขียนเลือก ซึ่งมักมีหลายตัว | โหนดของเจ้าของชุมชน และเพียร์ที่อ่านและซีดชุมชนนั้น |
| ใครทำให้ออนไลน์อยู่ | ผู้ดำเนินการรีเลย์ | โหนดของเจ้าของชุมชน พร้อมซีดเดอร์ที่ช่วยกระจาย |
| ชุมชน | กลุ่มที่รีเลย์โฮสต์ (NIP-29) | ออบเจ็กต์ระดับพื้นฐานที่มีโหนดของตัวเองคอยยอมรับหรือปฏิเสธโพสต์ |
| การควบคุมสแปม | นโยบายของแต่ละรีเลย์ ได้แก่ proof-of-work การยืนยันตัวตน การชำระเงิน รายการที่อนุญาต การจำกัดอัตรา | ชาเลนจ์ของแต่ละชุมชนก่อนที่โพสต์จะถูกยอมรับ |
| การกลั่นกรอง | นโยบายของรีเลย์ รายการปิดเสียงในไคลเอนต์ ป้ายกำกับ และการรายงาน | เจ้าของชุมชนกลั่นกรองชุมชนของตน ส่วนแอปเลือกเองว่าจะแสดงอะไร |
| ชื่อ | ตัวระบุ name@domain แบบเลือกได้ ซึ่งตรวจสอบผ่าน HTTPS | ชื่อ .bso และ .eth ที่ชี้ไปยังกุญแจ |
| เบราว์เซอร์ | ไคลเอนต์ WebSocket ของรีเลย์ | โหนดเพียร์ทูเพียร์ภายในแท็บเบราว์เซอร์ปกติ |
| ข้อแลกเปลี่ยนหลัก | ตัวตนพกพาได้และมีการทำสำเนากว้างขวาง แต่ความพร้อมใช้งานและนโยบายขึ้นกับรีเลย์ | พึ่งพารีเลย์น้อยกว่า แต่ไม่รับประกันว่าเนื้อหาเก่าจะอยู่ตลอดไป |