
安全で分散型のP2P一時ネットワークをC++で実装。独自のDHT、暗号化トランスポート、高性能な非同期リレー(epoll/kqueue)を用いた自律的なNATトラバーサルを特徴としています。
C++20 で構築された、過酷な NAT 環境向けカスタムリレーを備えた安全な P2P ネットワーク。
高保証ピアツーピアストレージのためのプログラム可能な忘却機能。
Shardian は、機密性と同じくらい真剣に削除保証に取り組むチーム向けにインフラストラクチャを設計しています。EphemeralNet は、必ず消えなければならないデータのための C++20 製リサーチデーモンです。強制された有効期限(TTL)セマンティクスを第一級の制約として扱う P2P プロトコルです。BitTorrent スタイルのスウォームをアドホックな保持ポリシーに変形させるのではなく、EphemeralNet は各マニフェスト、チャンク、ルーティングヒントを、エッジで交渉され暗号学的に強制される有効期限を持つ使い捨ての材料として扱います。
すべてのノードは eph を実行します。これは gRPC 風の制御ソケットとリモートスタイル CLI を公開するコンパクトなデーモンです。カーネルは、TTL 対応 Kademlia DHT と ChaCha20/HMAC セッション、鍵の粉砕のための Shamir の秘密分散法、および期限切れの状態がストレージ層・ルーティングテーブル・マニフェストにわたって同時に蒸発するようにする決定的なクリーンアップフックを組み合わせています。その結果、最新の CDN オーバーレイのようにゴシップ・保存・取得ができるメッシュを実現しながら、データが予定どおりに存在しなくなることを保証します。
アーカイブ型システムとは異なり、EphemeralNet は時間的正確性を最適化します。ピアがオフラインになっても、チャンクがその期限を超えて存続できないことを検証します。そのため、インシデントデータルーム、一時的な共同編集、削除に対する Zero Trust ガードレールを必要とするあらゆるワークロードに最適です。
flowchart LR
subgraph "Operator Workstation"
CLI["eph CLI<br/>(remote shell)"]
end
subgraph "Local Host"
Demon["eph daemon<br/>(control+data kernel)"]
end
subgraph Mesh
DHT["Kademlia DHT<br/>(TTL-indexed)"]
Relays["STUN/TURN + Relay"]
Peers["Peer Swarm"]
end
CLI -->|gRPC-style control| Demon
Demon -->|announce/store/fetch| DHT
Demon -->|NAT traversal| Relays
Demon <-->|ChaCha20 sessions| Peers
eph バイナリがバックグラウンドサービスとリモート制御面の両方を提供し、自動化に適した運用を実現します。| プラットフォーム | コマンド |
|---|---|
| Linux / macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
インストールスクリプトは GitHub から最新のリリースアーティファクトをダウンロードし、
ephを PATH に配置して、次のステップの説明を表示します。
# ループバック制御プレーンと 45000 番ポートの TCP トランスポートでデーモンを起動
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# 15 分の TTL でファイルを保存。PoW は自動的に交渉されます
PS> eph store secrets.bin --ttl 900
# マニフェスト経由で取得。--direct-only は明示的にアドバタイズされたピアにのみトラフィックを制限します
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# ノードのヘルス、DHT 飽和度、リレーステータスを確認
PS> eph status --verbose
# 新しい CLI リリースが利用可能かどうかを確認
PS> eph update-check
# 構成 (build/ とツールチェーンファイルを作成)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# すべてのターゲットをコンパイル (デーモン、CLI、リレー、テスト)
cmake --build build --parallel
# オプション: 完全なテストスイートを実行
ctest --test-dir build --output-on-failure
テストバイナリをスキップするには -DEPHEMERALNET_BUILD_TESTS=OFF を、Ninja ビルドを希望する場合は -GNinja を使用してください。
完全な運用ハンドブック、プロトコルリファレンス、およびオブザーバビリティガイドは eph.shardian.com にあります。オフラインコピーは、エアギャップ環境でのレビュー用に docs/ 以下にミラーリングされています。
プルリクエストは歓迎します。まず docs/todo.md の提案から始めるか、GitHub Discussion を開いてスコープを調整しましょう。新しいモジュールには、設計ノート、テレメトリフック、tests/ 以下の決定的テストを含めてください。
EphemeralNet は MIT License の下でリリースされています。コントリビューションを行うことで、あなたの作業が MIT ライセンスの下で提供されること、およびその権利を有することに同意したことになります。