
Reticulum v1.4.2
暗号化ベースのネットワーキングスタック。LoRa、パケット無線、WiFiなど、あらゆる通信手段で止まらないネットワークを構築。
Reticulum Network Stack 

[!WARNING]
現在、Reticulum 実装の偽物、および「ドキュメント」「ガイド」、ユーザー向けアプリケーションの、性急に公開された、不正確で、疑わしく、直接的に有害な、そしてほとんどの場合完全に LLM によって生成された偽物が、洗練されているが最終的には誤解を招く、あるいは完全に欺瞞的な主張のもとで大量に市場に出回っています。より詳細な情報については、マニュアルの Brandolini's Reference 章の関連セクションを参照してください。既知の優良なコミュニティ実装は、この readme の Community Implementations セクションに記載されています。Reticulum コミュニティによって認知されているソフトウェアとプロジェクトについては、マニュアルの Programs Using Reticulum 章を参照してください。
RNS のソースコードやドキュメントから派生した機械生成コンテンツ(「実装」、販売用の「ガイド」など)は、いくつかのよく文書化された事例において、複製および配布の権利を付与したオープンソースライセンスに違反しています。
そのようなプロジェクトが行っている著作権の主張やライセンスの付与(Apache、GPL など)は、無効な付与です。違反者自身も、侵害する派生作品を使用するすべての下流プロジェクトも、法的結果に対して直接かつ個人的に責任を負います。
これらの「プロジェクト」を使用しないでください。それらは、私たちが過去 10 年間にわたって慎重に構築してきたエコシステム全体にとっての危険です。

このリポジトリは公開ミラーです。すべての開発は別の場所で行われています。
このシステムの基礎となる哲学と目標を理解するには、Zen of Reticulum をお読みください。
Reticulum は、入手しやすいハードウェアでローカルおよび広域ネットワークを構築するための、暗号技術に基づくネットワークスタックです。非常に高いレイテンシや極めて低い帯域幅でも動作します。Reticulum を使えば、既製のツールで広域ネットワークを構築でき、エンドツーエンドの暗号化と接続性、発信者の匿名性、暗号学的に裏付けられた自動構成のマルチホップ転送、効率的なアドレッシング、偽造不可能な配信確認などを提供します。
Reticulum のビジョンは、誰もが自分自身のネットワークオペレーターになれるようにし、多数の独立した、相互接続可能で自律的なネットワークで広大な領域を安価かつ容易にカバーできるようにすることです。Reticulum はひとつのネットワークではありません。何千ものネットワークを構築するためのツールです。キルスイッチ、監視、検閲、管理のないネットワーク。自由に相互運用し、互いに接続したり切断したりでき、中央の監督を必要としないネットワーク。人間のためのネットワーク。人々のためのネットワーク。
Reticulum は完全なネットワークスタックであり、IP や上位層に依存しませんが、Reticulum の基盤となるキャリアとして IP を使用することも可能です。したがって、Reticulum をインターネットやプライベート IP ネットワーク上でトンネルすることは容易です。
従来のネットワークスタックへの依存がないことで、暗号原理に直接基づいて構築されたネットワークスタックを実装するために使われてきたオーバーヘッドを解放し、オープンで信頼のないネットワークにおいても、回復力と安定した機能を可能にします。
カーネルモジュールやドライバーは不要です。Reticulum は完全にユーザーランドで動作し、Python 3 が動作する実質的にあらゆるシステムで実行できます。
マニュアルを読む
Reticulum の完全なドキュメントは markqvist.github.io/Reticulum/manual/ で入手できます。
Reticulum マニュアルを PDF として、または EPUB 形式の電子書籍としてダウンロードすることもできます。
詳細については、reticulum.network および wiki の FAQ セクションを参照してください。
主な機能
- 調整不要のグローバルに一意なアドレッシングと識別
- 異種キャリア上での完全に自己構成するマルチホップルーティング
- 異種トポロジー上での柔軟なスケーラビリティ
- Reticulum はあらゆる物理媒体とトポロジーの組み合わせでデータを伝送できます
- 低帯域幅ネットワークは、大規模で高帯域幅のネットワークと共存し相互運用できます
- 発信者の匿名性、身元を明かさずに通信
- Reticulum はどのパケットにも送信元アドレスを含めません
- すべての通信の基盤としての非対称 X25519 暗号化と Ed25519 署名
- 基盤となる Reticulum Identity Keys は 512 ビットの楕円曲線キーセットです
- すべての通信タイプで Forward Secrecy が利用可能、単一パケットでもリンク上でも
- Reticulum は暗号化トークンに以下の形式を使用します:
- Curve25519 上の ECDH 鍵交換から導出される、パケットごとおよびリンクごとの一時鍵
- PKCS7 パディング付き CBC モードの AES-256
- 認証のための SHA256 を使用した HMAC
- IV は os.urandom() を通じて生成されます
- 偽造不可能なパケット配信確認
- 柔軟で拡張可能なインターフェースシステム
- Reticulum には多種多様な組み込みインターフェースタイプが含まれています
- ユーザーまたはコミュニティが提供するカスタムインターフェースタイプをロードして利用する機能
- あらゆるものを介して通信するための独自のカスタムインターフェースを簡単に作成
- サポートされるすべてのインターフェースタイプでの認証と仮想ネットワークセグメンテーション
- 直感的で使いやすい API
- ソケット API よりもシンプルで使いやすいが、より強力
- 分散型および非中央集権型アプリケーションの構築をはるかに簡単にします
- 任意の量のデータの信頼性が高く効率的な転送
- Reticulum は数バイトのデータでも数十ギガバイトのファイルでも扱えます
- シーケンシング、圧縮、転送調整、チェックサムは自動です
- API は非常に使いやすく、転送の進捗を提供します
- 軽量で柔軟かつ拡張可能な Request/Response メカニズム
- 効率的なリンク確立
- 暗号化および検証済みリンクの設定にかかる総コストはわずか 3 パケット、合計 297 バイト
- リンクを開いたままにしておくコストは毎秒わずか 0.44 ビット
- Channel および Buffer メカニズムによる信頼性の高い順次配信
コミュニティリソース
ここに記載されているリファレンスは、Reticulum プロジェクトやそのメンテナーによって運営、管理、またはモデレートされているものではありません。これらは、Reticulum についてもっと学びたいと願うすべての人の利益のために、コミュニティの献身的で独立したボランティアによって提供されています。
もはや正確でない、不正確、あるいは単にあまり最新でないものを見つけた場合でも、これらのリソースのメンテナーに要求したり不満を述べたりしないでください。代わりに、上記の作成者たちが自ら行ったように、あなたが改善したいと思う貢献を自ら作業し、提供することで、物事を改善する手助けをしてください。
リファレンス実装
このリポジトリの Python コードは、Reticulum のリファレンス実装です。Reticulum プロトコルは、このリファレンス実装とそれに関連するマニュアルによって完全かつ権威的に定義されます。これは Mark Qvist によって維持されており、Reticulum Identity <bc7291552be7a58f361522990465165c> によって識別されます。
二次的なプロトコル仕様の派生版は、現在存在せず、今後も決して存在しません。実行可能で、機能的で、テスト可能で、展開され、地球上で 24 時間 365 日稼働している仕様よりも優れた仕様を得ることはできません。
Reticulum のための別個の派生した「正式仕様」、「RFC」、または類似のものは存在せず、今後も存在しません:
リファレンス実装が最終的かつ権威的な仕様です。
Reticulum プロトコルとの互換性は、完全な相互運用性と、このリファレンス実装との十分な機能同等性を有することと定義されます。これを達成する特定のプロトコル実装は Reticulum です。達成しないものは Reticulum ではありません。
リファレンス実装は Reticulum License の下でライセンスされています。
Reticulum プロトコルは 2016 年にパブリックドメインに捧げられました。
コミュニティ実装
ここに記載されている実装は、ワイヤ互換性、十分な機能同等性、妥当なセキュリティと開発慣行、長期的なコミットメントと実装品質への配慮を実証しています。さらに、少なくとも 18 か月間の活発な開発の実績があります。
最も重要なことに、それらの開発者とメンテナーは、自分たちが何をしているのかを実際に理解しており、Reticulum エコシステム全体の改善にコミットしているとコミュニティに認知されています。
- Chad Atterman's の microReticulum は、32 ビットマイクロコントローラーを対象とした C++ 実装です。
- Quad4's の Reticulum-Go は、デスクトップ、モバイル、組み込みシステムの両方を対象とした Go 実装です。
上記に記載されていない実装のメンテナーであり、同じ厳格さとコミットメントの基準に従うことで掲載に値すると考えるなら、あなたの提案は歓迎されます。
警告! 性急に公開された、不正確で、疑わしく、直接的に有害な、そしてほとんどの場合完全に LLM によって生成された Reticulum 実装(およびユーザー向けアプリケーション)の偽物が、現在、洗練されているが最終的には誤解を招く、あるいは完全に欺瞞的な主張のもとで市場に出回り、押し付けられています。これらのほとんどは、素早い注目や金銭の獲得を目的としたもの、完全に未レビュー、非互換、メンテナンスや人間の監督なし、積極的にコミュニティを分断しようとするもの、またはこれらの組み合わせのいずれかです。
このトピックに関するより広範な情報については、マニュアルの Brandolini's Reference 章を読んでください(法的基盤については、特に Void Grants を参照)。この章は非常に長く、非常に詳細で、これらの問題に関する進化するセクション化されたリファレンスとして意図された、丁寧で節度ある分析です。
もしあなたが、むしろ短く、フィルターなしで、かなり怒りに満ちたバージョンを望むなら、それはこの現象全体のある特定の現れに対する、例として用いられた実際の応答から成りますが、Yes, I am Angry を読むことができます。そのようなコミュニケーションに対処できるなら、非常に異なる言葉遣いで同じ要点を伝えています。
Reticulum のコアメンテナーと開発者は、そのようないかなる「実装」の使用にも強く反対します。少数の悪意ある、注目を求める、または無能な個人による欺瞞的で自己奉仕的な行動は、開発者、ノード運用者、ユーザー、そしてコミュニティと Reticulum プロジェクト全体にとって、多大な損害と時間とリソースの浪費を引き起こしてきました。
私たちは、すべてのユーザーに、上記に記載されていない実装の潜在的な使用を評価する際には、慎重さ、常識、健全な懐疑心を働かせるよう、親切に、しかし緊急に求めます。そして、それにもかかわらずそうすることを選ぶことは、無責任または悪意ある個人からの潜在的な損害の責任をあなた自身に移すことになることを受け入れるよう求めます。
Reticulum アプリケーションの例
Reticulum が何をできるかを素早く知りたい場合は、マニュアルの Programs Using Reticulum セクション、または以下のリソースを見てください: