Reticulum - सुरक्षा और गुमनामी से युक्त mesh networking stack
(github.com/markqvist)- क्रिप्टोग्राफी-आधारित networking stack, जो LoRa·packet radio·WiFi जैसे विभिन्न माध्यमों पर काम करता है और बहुत कम गति तथा उच्च latency वाले माहौल में भी स्थिर संचार का समर्थन करता है
- end-to-end encryption, sender anonymity, auto-configuring multihop routing, forgery-proof delivery acknowledgements जैसी security-केंद्रित सुविधाएँ शामिल हैं
- IP stack पर निर्भर नहीं है, और Python 3 environment में kernel module के बिना user space में चल सकता है
- कम लागत और स्वायत्त नेटवर्क निर्माण को लक्ष्य बनाकर, केंद्रीय नियंत्रण या censorship के बिना हज़ारों स्वतंत्र नेटवर्क को आपस में जोड़ा जा सकता है
- distributed communication infrastructure और off-grid networking के निर्माण के लिए एक open source tool के रूप में, डेवलपर्स और शोधकर्ताओं के लिए बहुत उपयोगी
Reticulum का अवलोकन
- Reticulum एक क्रिप्टोग्राफी-आधारित networking stack है, जिससे सामान्य hardware का उपयोग करके local और wide-area network बनाए जा सकते हैं
- उच्च latency और कम bandwidth वाले environment में भी काम करता है
- end-to-end encryption, sender anonymity, auto-configuring multihop transport, efficient addressing, forgery-proof delivery acknowledgements सुविधाएँ प्रदान करता है
- इसका लक्ष्य है कि कोई भी व्यक्ति अपने नेटवर्क का स्वयं operator बने और केंद्रीय नियंत्रण के बिना स्वायत्त तथा आपस में जुड़ सकने वाले नेटवर्क बना सके
- Reticulum एक single network नहीं, बल्कि हज़ारों स्वतंत्र नेटवर्क बनाने का tool है
- यह IP के आधार पर भी काम कर सकता है, इसलिए internet या private network पर tunneling संभव है
- Python 3 environment में चलता है, kernel module या driver की आवश्यकता नहीं
प्रमुख सुविधाएँ
- globally unique addressing और auto-configuring multihop routing का समर्थन
- विभिन्न physical media और topology पर data transfer संभव
- sender anonymity सुनिश्चित: packet में source address शामिल नहीं होता
- asymmetric X25519 encryption और Ed25519 signatures पर आधारित संचार
- 512-bit Curve25519 keyset का उपयोग
- Forward Secrecy समर्थन, AES-256-CBC encryption और SHA256 HMAC authentication
- scalable interface system के साथ custom interface जोड़े जा सकते हैं
- simple API उपलब्ध, जिससे distributed applications बनाना आसान
- large data transfer का समर्थन, auto compression·checksum·transfer adjustment जैसी सुविधाओं सहित
- lightweight Request/Response mechanism और efficient link setup (3 packets, 297 bytes)
reference implementation और protocol
- इस repository का Python code आधिकारिक reference implementation है और protocol definition का मानक है
- Reticulum License के तहत वितरित, protocol को 2016 में public domain में समर्पित किया गया
- compatibility को reference implementation के साथ पूर्ण interoperability के रूप में परिभाषित किया गया है
उपयोग के उदाहरण
- rnsh: Reticulum-आधारित remote shell session
- LXMF: distributed message delivery protocol
- LXST: real-time audio और signal transport framework
- Nomad Network: off-grid encrypted messaging platform
- Sideband: file transfer·voice call·map features वाला GUI app
- MeshChat: web-आधारित LXMF client, image·voice·file transfer समर्थन सहित
समर्थित माध्यम और डिवाइस
- न्यूनतम 5bps या अधिक के half-duplex channel और 500-byte MTU का समर्थन करने वाले किसी भी माध्यम पर काम करता है
- LoRa, packet radio, WiFi, Ethernet, optical communication links आदि का उपयोग संभव
- RNode Reticulum के लिए LoRa interface है, जिसे सीधे बनाया जा सकता है या तैयार उत्पाद के रूप में खरीदा जा सकता है
- Raspberry Pi आदि पर LoRa·packet radio·WiFi का मिश्रित configuration संभव
समर्थित interfaces
- Ethernet, LoRa(RNode), packet radio TNC, KISS modem, serial devices, TCP/UDP, stdio pipes आदि का समर्थन
- custom interface modules जोड़े जा सकते हैं, और real-world verified PR का स्वागत है
प्रदर्शन और स्थिति
- लक्ष्य performance range: 250bps~1Gbps, वर्तमान में लगभग 150bps~500Mbps
- core protocol features पूरी तरह implemented, API और format स्थिर स्थिति में
connection bootstrapping
- Reticulum subscription service नहीं बल्कि एक autonomous network है
- community द्वारा संचालित public entrypoint directory के माध्यम से शुरुआती connection संभव
- उदाहरण:
directory.rns.recipes,rmap.world
- उदाहरण:
cryptographic components
- Curve25519-आधारित 512-bit keyset, Ed25519 signatures, X25519 key exchange
- HKDF, AES-256-CBC, HMAC-SHA256, SHA-256/512 का उपयोग
- डिफ़ॉल्ट रूप से OpenSSL और PyCA/cryptography के माध्यम से उपलब्ध
- pure Python implementation भी शामिल है, लेकिन उसका security assurance स्तर कम है
1 टिप्पणियां
Hacker News की राय
मैंने कई क्षेत्रीय communities में Mesh नेटवर्क पर गहराई से काम किया है, लेकिन Reticulum का वास्तव में उपयोग करने वाला कोई बड़ा नेटवर्क नहीं देखा
communities के शामिल न होने की मुख्य वजह यह है कि यह project लगभग पूरी तरह एक ही developer पर निर्भर है, और Git change history में “Update”, “Better Version”, “Cleanup” जैसे संदेश ही हैं, इसलिए उसे ट्रैक करना लगभग असंभव है
उसने कहा कि आगे सिर्फ अनियमित और अप्रत्याशित updates होंगे, और कोई support या community management नहीं होगा
यानी यह भी आखिरकार एक और burnout का शिकार one-person open source project बन गया
वह एक विदाई संदेश जैसा लगा
Reticulum एक production-grade full network stack है, जिसमें encryption और anonymity सबसे महत्वपूर्ण हैं
यह सिर्फ LoRa के लिए नहीं, बल्कि transport-layer independent है
लेकिन इसमें दो समस्याएँ हैं
C API वाली कोई छोटी library शायद बेहतर होगी
हालांकि Columba जैसे apps में धीरे-धीरे सुधार हो रहा है
अभी C++, Zig, Rust, Go आदि में low-level language versions बनाने की लगभग 4 कोशिशें चल रही हैं
उनमें Beechat की Rust implementation सबसे mature लगती है, लेकिन वास्तविक use cases लगभग नहीं हैं
“पुराना तरीका” browser के lock icon पर भरोसा करना था, और “Zen तरीका” hash fingerprint को खुद verify करना है
लेकिन यह approach UX के लिहाज़ से भयानक है
मैं खुद एक technical व्यक्ति हूँ और setup करने में परेशान हुआ, तो आम user इसे कभी इस्तेमाल नहीं करेगा
आखिरकार अगर mass adoption चाहिए, तो वही हरा lock icon चाहिए
मुझे हैरानी है कि किसी ने इसका ज़िक्र नहीं किया, Yggdrasil नाम का एक routing protocol है
यह cryptographic addresses का उपयोग करता है और TCP/IP या LoRa के ऊपर भी चल सकता है
मैं इसे कई हफ़्तों से Tailscale के विकल्प के रूप में उपयोग कर रहा हूँ, और latency भी लगभग वैसी ही है, काफ़ी stable भी रहा
मैं Reticulum से इसका अंतर जानना चाहता हूँ
Yggdrasil की official site
वास्तव में मेरी सबसे बड़ी चिंता message delivery guarantee को लेकर है
Reticulum में “Store and Forward” default mode है
अगर message तुरंत deliver न हो, तो बाद में connection बनने पर भेज दिया जाता है
लेकिन अगर messages क्रम में न पहुँचें, तो क्या client उन्हें सही तरह sort करने के लिए ज़रूरी metadata शामिल करता है, यह जानना चाहता हूँ
Reticulum 1.0.0 version तक पहुँच चुका है और वास्तव में अच्छी तरह काम करता है
शुरू करने के लिए meshchat या
Android के लिए Sideband आज़मा सकते हैं
LoRa पर photos और voice chat भी संभव हैं, और अगर bandwidth कम हो या link टूट जाए, तो यह अपने-आप किसी दूसरे transport method पर switch हो जाता है
मुझे जिस बात ने उलझाया, वह यह है कि official protocol spec सार्वजनिक नहीं है
अगर यह LoRa जैसे radio chips के लिए है, तो इसे microcontroller पर चलना चाहिए, लेकिन Python या Rust std versions ऐसे environment में उपयोग नहीं किए जा सकते
license देखकर लगा कि यह पूरी तरह free software नहीं है
इसमें “मनुष्यों को नुकसान न पहुँचाना” और “AI का उपयोग निषिद्ध” जैसे clauses शामिल हैं
तीनों में eBGP जैसी multi-spanning-tree structure के साथ master–slave node configuration की आवश्यकता होती है
लगता है कोई Anathem का fan है