Bitsocial و Reticulum
Reticulum یک پشتهٔ شبکهٔ مبتنی بر رمزنگاری است برای ساختن شبکه روی هر حاملی که در دسترس باشد: رادیوهای LoRa، رادیوی بستهای، پیوندهای سریال، Wi-Fi، Ethernet، TCP، UDP یا I2P. نام آن در کنار Bitsocial مطرح میشود، چون هر دو شرکتِ واسطه را از میان برمیدارند. اما هر کدام این کار را در لایهای متفاوت انجام میدهد، پس این دو مکمل یکدیگرند، نه رقیب.
لایههای متفاوت
Reticulum جای لایهٔ شبکه را میگیرد. به برنامهها نقاط انتهایی رمزنگاریشده و قابلمسیریابی میدهد، بیآنکه به آدرس IP، DNS، مرجع صدور گواهی یا حساب کاربری نیازی باشد، و طوری طراحی شده که روی پیوندهایی به کندی 5 بیت در ثانیه و با MTU برابر 500 بایت هم کار کند. Reticulum پست، انجمن یا نظارت بر محتوا را تعریف نمیکند؛ اینها را برنامههایی اضافه میکنند که روی آن ساخته میشوند.
Bitsocial یک پروتکل اجتماعی است. روی پشتهٔ IPFS/libp2p و بر بستر اتصالهای معمولی اینترنت اجرا میشود، از جمله از داخل یک زبانهٔ مرورگر، و انجمنها، محتوای منتشرشده و چالشهای ضد اسپمِ مخصوص هر انجمن را تعریف میکند. پروتکل همتا به همتا و همتا به همتا در مرورگر را ببینید.
در پشتهٔ Bitsocial، جایگاه Reticulum تقریباً همان جایی است که libp2p قرار دارد، نه جایی که خود پروتکل Bitsocial قرار دارد.
Reticulum چگونه کار میکند
- هویتها. هر هویت Reticulum یک مجموعهکلید 512 بیتی است: یک کلید X25519 برای رمزگذاری و یک کلید Ed25519 برای امضا.
- مقصدها. برنامهها مقصدهایی میسازند که با یک هش SHA-256 کوتاهشده به 16 بایت آدرسدهی میشوند. بستهها هیچ آدرس مبدئی با خود ندارند.
- اعلانها. یک مقصد با فرستادن یک اعلان در دسترس قرار میگیرد. گرههای ترابری اعلان را بازارسال میکنند و گام بعدیِ مسیر بازگشت را به خاطر میسپارند، پس هیچ گرهای به نقشهٔ کل شبکه نیاز ندارد.
- رمزگذاری. ترافیک بهطور پیشفرض رمزگذاری میشود، با کلیدهای موقت و محرمانگی پیشرو.
- LXMF. لایهٔ پیامرسانی LXMF پیامهای امضاشده و تحویل مستقیم را اضافه میکند و برای گیرندگانی که آفلایناند، ذخیره و بازارسال از طریق گرههای پخش را فراهم میکند.
از جمله برنامههایی که اینگونه ساخته شدهاند میتوان به Sideband برای پیامرسانی و Nomad Network برای پیامرسانی و صفحههای میزبانیشده اشاره کرد. راهنمای Reticulum یک فهرست از برنامهها نگه میدارد.
مقایسه
| پرسش | Reticulum | Bitsocial |
|---|---|---|
| چیست | پشتهٔ شبکه | پروتکل اجتماعی همتا به همتا و اپها |
| طراحیشده برای | هر حاملی، حتی پیوندهای رادیویی کند | اتصالهای اینترنتی، از جمله زبانههای مرورگر |
| هویت | مجموعهکلید X25519 و Ed25519 | جفتکلیدهای Ed25519 برای کاربران و انجمنها |
| آدرسها | هش یک هویت و نام برنامه | هش کلید عمومی یک انجمن |
| یافتن همتا | اعلانهایی که گرههای ترابری پخش میکنند | روترهای HTTP همتاهای ارائهدهنده را برمیگردانند |
| قابلیتهای اجتماعی | برنامههایی مانند Nomad Network اضافهشان میکنند | انجمنها، پستها، پاسخها و نظارت بر محتوا در خود پروتکل |
| مهار اسپم | محدودیت نرخ اعلان برای هر رابط؛ مهرهای اثبات کار LXMF که گیرنده یا گره میتواند الزامی کند | چالش هر انجمن پیش از پذیرفته شدن یک پست |
| تحویل آفلاین | گرههای پخش LXMF پیامها را ذخیره و بازارسال میکنند | همتاها همچنان آخرین وضعیت انجمن را ارائه میکنند؛ انتشار به آنلاین بودن گرهٔ انجمن نیاز دارد |
آیا Bitsocial میتواند روی Reticulum اجرا شود؟
امروز نه. Bitsocial هیچ ترابریای برای Reticulum ندارد و مدل دادهاش پهنای باند اینترنت را مفروض میگیرد: کلاینت فرادادهٔ انجمن و محتوای پستها را از همتاها میگیرد و پیامهای pubsub رد و بدل میکند، و این با پیوندهایی که حول بستههای 500 بایتی و توان عبوری در حد بیت یا کیلوبیت بر ثانیه ساخته شدهاند، جور درنمیآید.
مسیر واقعبینانه محدودتر است: کلاینتی که در زمان قطع اتصال روی یک شبکهٔ مش محلی کار کند و هر وقت همتا یا دروازهای با دسترسی به اینترنت در دسترس بود، با شبکهٔ گستردهتر Bitsocial همگام شود. چنین چیزی یک کلاینت و پل تازه خواهد بود، نه تغییری در پروتکل، و در نقشهٔ راه فعلی هم جایی ندارد.
برای سازندگان
Reticulum تحت مجوز Reticulum منتشر شده است: شرایطی به سبک MIT بهعلاوهٔ دو محدودیت. این نرمافزار نباید در سامانههایی که برای آسیب رساندن به انسانها طراحی شدهاند، یا در ساخت مجموعهدادههای آموزشی هوش مصنوعی یا یادگیری ماشین به کار رود. پیش از گنجاندن کد Reticulum در یک اپ Bitsocial، این مجوز را بخوانید.
پیادهسازی مرجع به زبان Python نوشته شده است. نگهدارندگان Reticulum هشدار میدهند که چند نسخهٔ پورتشدهٔ غیررسمی از Reticulum و LXMF با ماشین تولید شدهاند و ادعاهایی دربارهٔ مجوز دارند که از نظر آنها باطل است؛ پس پیادهسازی مرجع یا برنامههای فهرستشده در راهنما را ترجیح دهید.