मुख्य कंटेंट तक स्किप करें

Bitsocial और Secure Scuttlebutt

Secure Scuttlebutt (SSB) एक पीयर-टू-पीयर सोशल प्रोटोकॉल है, जिसे Dominic Tarr ने 2014 में बनाया था। Manyverse इसका सबसे जाना-माना ऐप है, जो Android, iOS और डेस्कटॉप के लिए उपलब्ध है; Patchwork आर्काइव किए जाने से पहले मुख्य डेस्कटॉप क्लाइंट था। इन दस्तावेज़ों में जिन प्रणालियों की तुलना की गई है, उनमें SSB अपनी मूल भावना में Bitsocial के सबसे करीब है: डेटा पथ में कोई सर्वर नहीं, कोई ब्लॉकचेन नहीं, कोई वैश्विक क्रम नहीं, और पहचान के लिए Ed25519 कुंजियाँ। दोनों ने इस बारे में उलटे फ़ैसले लिए कि हर पीयर क्या संग्रहीत करता है और स्पैम को कहाँ रोका जाता है।

Scuttlebutt कैसे काम करता है​

  • फ़ीड। हर पहचान एक Ed25519 कीपेयर है, जिसे @<public key>.ed25519 के रूप में लिखा जाता है। उपयोगकर्ता जो कुछ भी प्रकाशित करता है, वह उसकी अपनी फ़ीड में जाता है, जो एक append-only लॉग है, यानी उसमें सिर्फ़ जोड़ा जा सकता है; इसमें हर हस्ताक्षरित संदेश के साथ एक क्रम संख्या और पिछले संदेश का हैश होता है। प्रोटोकॉल गाइड के अनुसार, एक बार पोस्ट हो जाने के बाद किसी संदेश को बदला नहीं जा सकता।
  • प्रतिकृति। पीयर अलग-अलग पोस्ट नहीं, बल्कि पूरी फ़ीड कॉपी करते हैं, और फ़ॉलो ग्राफ़ तय करता है कि कोई पीयर कौन-सी फ़ीड रखेगा। उदाहरण के लिए, Patchwork दो हॉप दूर तक की फ़ीड दिखाता था और तीन हॉप दूर तक की फ़ीड की प्रतिकृति बनाता था। एपिडेमिक ब्रॉडकास्ट ट्री (EBT) के साथ, पीयर हर फ़ीड के लिए अपने पास मौजूद नवीनतम क्रम संख्या की तुलना करते हैं और सिर्फ़ वही भेजते हैं जो छूटा हुआ है।
  • कनेक्शन। पीयर secret handshake के ज़रिए ऑथेंटिकेट करते हैं और box stream से ट्रैफ़िक एन्क्रिप्ट करते हैं। यह हैंडशेक एक नेटवर्क पहचानकर्ता को कुंजी के रूप में इस्तेमाल करता है, इसलिए अलग पहचानकर्ता वाले किसी अलग SSB नेटवर्क के पीयर मुख्य नेटवर्क से नहीं जुड़ सकते।
  • पीयर ढूँढना। पीयर स्थानीय नेटवर्क पर UDP ब्रॉडकास्ट के ज़रिए अपनी मौजूदगी की घोषणा करते हैं और LAN पर सिंक करते हैं; Manyverse Bluetooth पर भी सिंक करता है। इंटरनेट पर उपयोगकर्ता pubs पर निर्भर रहते हैं, यानी हमेशा ऑनलाइन रहने वाले ऐसे पीयर जो इनवाइट कोड रिडीम करने के बाद आपको वापस फ़ॉलो करते हैं और फिर आपकी फ़ीड संग्रहीत करते और परोसते हैं, और rooms पर, जो कोई फ़ीड संग्रहीत नहीं करते बल्कि अपने सदस्यों के बीच कनेक्शन टनल करते हैं।
  • ब्लॉब और निजी संदेश। तस्वीरें और दूसरी फ़ाइलें कंटेंट-एड्रेस्ड ब्लॉब होती हैं, जिन्हें पीयर्स से लाया जाता है; मौजूदा इंप्लीमेंटेशन में इनकी डिफ़ॉल्ट आकार सीमा 5 MB है। निजी संदेश अधिकतम सात प्राप्तकर्ताओं के लिए एन्क्रिप्ट किए जाते हैं और लेखक की फ़ीड में सिफ़रटेक्स्ट के रूप में प्रकाशित होते हैं।

दोनों में अंतर कहाँ है​

पीयर क्या संग्रहीत करता है​

SSB पीयर अपनी प्रतिकृति सीमा की हर फ़ीड की पूरी कॉपी रखता है, हर फ़ीड के पहले संदेश से लेकर, और इन फ़ीड को दूसरों को परोसता है। इसी से SSB ऑफ़लाइन काम कर पाता है, लेकिन सीमा के भीतर हर संदेश के साथ भंडारण बढ़ता जाता है, और किसी नए इंस्टॉल को कुछ खास दिखा पाने से पहले उन फ़ीड को डाउनलोड करना पड़ता है। Bitsocial क्लाइंट जिन समुदायों को खोलता है, उनकी नवीनतम स्थिति समुदाय के नोड से और उसे सीड करने वाले पीयर्स से लाता है, और नेटवर्क सिर्फ़ वही नवीनतम स्थिति रखता है। देखें पीयर-टू-पीयर प्रोटोकॉल।

हटाना और डिवाइस​

चूँकि फ़ीड एक हैश चेन है, SSB में पूरे नेटवर्क पर लागू होने वाला डिलीट नहीं है: कोई पीयर अपने डेटाबेस से संदेश हटा सकता है, लेकिन दूसरे पीयर्स की कॉपियों से उन्हें वापस नहीं ले सकता। एक ही कुंजी से दो डिवाइस से, या किसी रिस्टोर किए गए बैकअप से पोस्ट करने पर फ़ीड फ़ोर्क हो जाती है, इसलिए आम हल है हर डिवाइस के लिए एक पहचान। Manyverse टीम का उत्तराधिकारी प्रोटोकॉल PZP, SSB की तुलना में अपने मुख्य बदलावों में डिलीट करने की सुविधा, एक खाते पर कई डिवाइस और फ़ोर्क सह सकने वाली फ़ीड को गिनाता है (लॉन्च पोस्ट)। Bitsocial समुदाय का नोड हर अपडेट पर समुदाय की स्थिति का नया संस्करण प्रकाशित करता है, इसलिए उसके मॉडरेटर जो सामग्री हटाते हैं, वह नवीनतम स्थिति से बाहर हो जाती है।

आप किसकी बात सुन सकते हैं​

SSB की प्रतिकृति सीमा ही उसके स्पैम फ़िल्टर का काम भी करती है। किसी अजनबी की फ़ीड आप तक तभी पहुँचती है जब आपके हॉप के दायरे में कोई उसे फ़ॉलो करता हो, और किसी फ़ीड को ब्लॉक करने पर आपका नोड उसकी प्रतिकृति बनाना बंद कर देता है। स्पैम बाहर रहता है, लेकिन नए लोग भी तब तक बाहर रहते हैं जब तक कोई उन्हें फ़ॉलो न करे। Bitsocial किसी को भी किसी समुदाय में पोस्ट करने देता है, और समुदाय का नोड अपनी चुनौती के ज़रिए तय करता है कि पोस्ट स्वीकार होगी या नहीं। देखें कस्टम एंटी-स्पैम चुनौतियाँ।

समुदाय​

SSB में कोई समुदाय ऑब्जेक्ट नहीं है। चैनल और हैशटैग अलग-अलग पोस्ट पर लगे लेबल हैं, किसी थ्रेड के जवाब उन्हें लिखने वालों की फ़ीड में रहते हैं, और आप किसी थ्रेड का कितना हिस्सा देख पाते हैं यह इस पर निर्भर करता है कि उनमें से कौन-सी फ़ीड आपके नोड के पास है। SSB के rooms में मॉडरेटर और सदस्य सूचियाँ हो सकती हैं, लेकिन वे यह नियंत्रित करते हैं कि room के ज़रिए कौन जुड़ सकता है, न कि क्या प्रकाशित होता है। Bitsocial समुदाय एक प्रथम-श्रेणी ऑब्जेक्ट है, जिसकी अपनी कीपेयर, नियम, मॉडरेटर और चुनौती होती है।

इंफ़्रास्ट्रक्चर​

दोनों सर्वरों को डेटा पथ से बाहर रखते हैं, और दोनों सहायकों पर निर्भर हैं। SSB में pubs ही होस्टेड सेवा के सबसे करीब हैं: वे उन सभी की फ़ीड संग्रहीत करते और परोसते हैं जिन्हें वे फ़ॉलो करते हैं। SSB के rooms, Bitsocial के HTTP राउटर के ज़्यादा करीब हैं, क्योंकि दोनों में से कोई भी सामग्री संग्रहीत नहीं करता, लेकिन room अपने सदस्यों के बीच कनेक्शन रिले करता है, जबकि राउटर सिर्फ़ प्रदाताओं के पते लौटाता है और ट्रांसफ़र में कोई भूमिका नहीं निभाता। SSB पीयर की तरह, Bitsocial समुदाय का नोड आम उपभोक्ता हार्डवेयर पर चलता है, और नई पोस्ट स्वीकार करने के लिए उसका ऑनलाइन होना ज़रूरी है।

ऑफ़लाइन और स्थानीय नेटवर्क​

यहाँ SSB ज़्यादा मज़बूत है। एक ही Wi-Fi नेटवर्क पर, या Manyverse में Bluetooth के ज़रिए, दो SSB पीयर बिना इंटरनेट कनेक्शन के सिंक कर सकते हैं, और जो कुछ पहले से प्रतिकृत हो चुका है वह ऑफ़लाइन भी पढ़ा जा सकता है। Manyverse का घोषित मुख्य लक्ष्य सोशल नेटवर्किंग को इंटरनेट कनेक्टिविटी से स्वतंत्र बनाना है। Bitsocial को पीयर ढूँढने और प्रकाशित करने के लिए इंटरनेट कनेक्शन चाहिए।

ब्राउज़र​

मुख्य SSB ऐप एक पूरा SSB नोड साथ लेकर आते हैं: Manyverse अपने मोबाइल और डेस्कटॉप ऐप में एक नोड बंडल करता है। ssb-browser-demo आंशिक प्रतिकृति और rooms के ज़रिए कनेक्शन के साथ ब्राउज़र के भीतर SSB चलाता था, और 2022 में आर्काइव कर दिया गया। Bitsocial ऐप सामान्य ब्राउज़र टैब में पीयर-टू-पीयर नोड चलाते हैं। देखें ब्राउज़र पीयर-टू-पीयर।

निजी संदेश​

SSB में एन्क्रिप्टेड निजी संदेश अंतर्निहित हैं। Bitsocial सार्वजनिक समुदायों पर केंद्रित है और उसमें अभी नेटिव डायरेक्ट मैसेज नहीं हैं।

परियोजना की स्थिति​

Manyverse बनाने वाले André Staltz ने अप्रैल 2024 में SSB, Manyverse और उनके नियोजित उत्तराधिकारी से खुद को अलग कर लिया (उनका आखिरी अपडेट)। जुलाई 2024 में Jacob Karlsson ने उस उत्तराधिकारी को PZP के नाम से लॉन्च किया और लिखा कि वे Manyverse पर अब कोई काम नहीं करेंगे और उन्हें ऐसे किसी और की जानकारी नहीं है जो ऐसा करने की योजना बना रहा हो। अक्टूबर 2026 तक Codeberg पर PZP की रिपॉज़िटरी में दिसंबर 2024 के बाद कोई अपडेट नहीं आया था। Patchwork की रिपॉज़िटरी आर्काइव हो चुकी है और उसकी आखिरी रिलीज़ v3.18.1 है, और iOS के लिए SSB ऐप Planetary के पीछे की टीम 2023 में अपने Nos ऐप के साथ Nostr पर चली गई। SSB नेटवर्क अब भी उन पीयर्स और pubs पर चलता है जिन्हें लोग ऑनलाइन रखते हैं, लेकिन इसके मुख्य ऐप अब विकसित नहीं किए जा रहे।

तुलना​

सवालSecure ScuttlebuttBitsocial
श्रेणीपीयर-टू-पीयर गॉसिप प्रोटोकॉलपीयर-टू-पीयर समुदाय नेटवर्क
पहचानहर डिवाइस के लिए एक Ed25519 कीपेयरउपयोगकर्ताओं और समुदायों के लिए Ed25519 कीपेयर
पोस्ट कहाँ रहती हैंलेखक की append-only फ़ीड, जिसे उसकी प्रतिकृति बनाने वाला हर पीयर कॉपी करता हैसमुदाय के मालिक का नोड और उसे पढ़ने व सीड करने वाले पीयर
पीयर क्या रखता हैअपनी फ़ॉलो सीमा की हर फ़ीड का पूरा इतिहासउन समुदायों की नवीनतम स्थिति जिन्हें वह पढ़ता या सीड करता है
समुदायकोई समुदाय ऑब्जेक्ट नहीं; चैनल और हैशटैग पोस्ट पर लेबल लगाते हैंप्रथम-श्रेणी ऑब्जेक्ट, जिनका नोड पोस्ट स्वीकार या अस्वीकार करता है
स्पैम नियंत्रणफ़ॉलो ग्राफ़ पर आधारित प्रतिकृति सीमा और ब्लॉकपोस्ट स्वीकार होने से पहले हर समुदाय की चुनौती
मॉडरेशनहर उपयोगकर्ता के फ़ॉलो और ब्लॉकसमुदाय के मालिक अपने समुदाय का मॉडरेशन करते हैं; ऐप तय करते हैं कि क्या दिखाना है
सहायक सर्वरpubs फ़ीड संग्रहीत करते और परोसते हैं; rooms कनेक्शन टनल करते हैंHTTP राउटर प्रदाता पीयर लौटाते हैं और कोई सामग्री संग्रहीत नहीं करते
ऑफ़लाइनबिना इंटरनेट के LAN और Bluetooth सिंकइंटरनेट कनेक्शन चाहिए
ब्राउज़रऐप में पूरा SSB नोड बंडल होता हैसामान्य ब्राउज़र टैब के भीतर पीयर-टू-पीयर नोड
नेटवर्कचालू, लेकिन इसके मुख्य ऐप अब विकसित नहीं किए जा रहे5chan और Seedit जैसे ऐप वाला चालू नेटवर्क
मुख्य समझौताऑफ़लाइन काम करता है और होस्टिंग की ज़रूरत नहीं, पर फ़ीड लगातार बढ़ती रहती हैं और अजनबी अदृश्य रहते हैंखुला प्रकाशन और ब्राउज़र सपोर्ट, पर इंटरनेट चाहिए और सिर्फ़ नवीनतम स्थिति रखी जाती है