世界を動かす技術を、日本語で。

Show HN: Freenet、分散型アプリのためのピアツーピアプラットフォーム

2026年5月21日原文(freenet.org)

概要

Freenet は分散型アプリケーションのための ピアツーピアプラットフォーム大手テック企業に依存しない 通信やコラボレーション、商取引を実現。 サーバー不要 で効率的にスケールし、アプリは ブラウザ上 で動作。 開発者・サポーター 向けの利点や支援方法も提供。 新設計 のFreenet(Hyphanet)はWebAssemblyや独自の整合性解決手法を採用。

Freenetの特徴

  • Freenetピアツーピア型 の分散型インターネット基盤
  • 通信・コラボレーション・商取引 のためのアプリケーション実行環境
  • 大手テック企業や中央サーバー への依存排除
  • アプリはブラウザ上 で動作、通常のWebサイトのような見た目
  • サーバー管理不要、クラウド利用料や利用規約の制約なし
  • プライバシー重視、ユーザー追跡なし、アプリの停止不可
  • RustやTypeScript などの一般的な開発言語でアプリ開発可能
  • オープンプロトコル に基づく相互運用性
  • グローバルネットワーク へのアプリ即時デプロイ可能
  • 寄付や助成金 による小規模チーム運営
  • 分散型インターネットインフラ 構築支援の重要性

Freenetのネットワーク構造と仕組み

  • ピア同士リング状 のネットワークを形成
  • スモールワールドネットワーク による効率的な通信経路
  • 数回のホップ で目的地に到達、 数百万ピア へのスケーラビリティ
  • サーバー不要、完全な分散型設計

ユーザー向け体験

  • Freenetアプリブラウザから即利用可能
  • 一般的なWebサイト のようなUI/UX
  • アプリ停止不可ユーザー追跡なし
  • クラウドではなくピアツーピア で動作
  • インストーラー による簡単導入、 River チャットなど即利用可能

開発者向けメリット

  • RustやTypeScript などの 馴染み深いツール で開発
  • サーバーやクラウド管理不要
  • 利用規約の制約なし
  • チュートリアルやドキュメント の提供
  • WebAssemblyコントラクト による柔軟なアプリ設計
  • グローバルな分散キー・バリュー型ストア として機能

サポーター・支援者向け

  • 助成金・寄付 による運営
  • 分散型インターネットインフラ の構築支援
  • 社会的意義 の高いプロジェクト

新Freenet(Hyphanet)のアーキテクチャ

  • 過去5年間 にわたる 全面的な再設計
  • Hyphanet としてリブランド
  • 2023年12月 以降稼働開始
  • River(分散型グループチャット)Delta(分散型CMS) などの初期アプリ
  • Atlas(分散型検索・レコメンド) など新アプリも開発中
  • ユーザーによる独自アプリ(ゲームなど) の開発実績
  • WebAssemblyコントラクト によるキーごとの状態管理
  • コントラクトごとに「merge」操作 を定義し、 整合性問題 を解決
  • マージ操作は可換(コミュタティブ)、どの順序でも同じ結果
  • ウイルスのように状態更新がネットワークに伝播
  • 数秒以内にグローバルな状態整合性 を実現
  • Webアプリはネットワークからダウンロード、ブラウザで実行
  • APIサーバーではなくローカルのFreenetピアとWebSocket接続
  • 主要デスクトップOS用インストーラー を提供、 モバイルは未対応
  • Riverチャット など、インストール後すぐ利用可能

関連リンク集

  • River(分散型グループチャット): https://github.com/freenet/river
  • Delta Syncの技術解説: https://freenet.org/about/news/summary-delta-sync/
  • クイックスタートガイド: https://freenet.org/quickstart/
  • FAQ(よくある質問): https://freenet.org/faq/
  • 開発者による講演動画: https://youtu.be/3SxNBz1VTE0

Hackerたちの意見

すごくクールなプロジェクトだね! > 「私が知る限り、整合性の問題に対するユニークな解決策を開発しました。すべての契約は、その関連する状態のために「マージ」操作を定義しなければなりません。この操作は可換である必要があり、つまり、複数の状態をどの順番でマージしても、同じ最終結果が得られるということです。これについてもっと学べるところはどこですか?CRDTやCmRDTとはどう違うの?」

これについても興味あるな。削除や変更をどうやって可換操作にできるのか、ちょっと理解できない。

すごくクールなプロジェクトですね!ありがとう! > もっと詳しく知るにはどこを見ればいいですか?動画を見てもいいなら、3月にこの話をしたので、かなり包括的だと思いますよ: https://youtu.be/3SxNBz1VTE0?si=R4ifrsfEUJfvjDPx 記事の方がいいなら、こちらをおすすめします: https://freenet.org/about/news/summary-delta-sync/ > これはCRDTやCmRDTとどう違うの?非常に関連性が高いです。Freenetの契約状態をCmRDTとして見ることができ、マージ操作の詳細はWebAssembly契約で指定されています。

CvRDT(状態ベースのCRDT)にすごく似てるね。彼らはこれを可換モノイドとして説明してるけど、つまり結合性と可換性があるってこと。CvRDTは冪等性も必要だから、重複データを扱えるようにしないといけない。冪等性があるか、ネットワークプロトコルがデータ自体の外で重複排除を処理するかのどちらかだね。ペイロードやアプリケーションがマージ操作を定義するのは賢いと思う。これが意味するのは、契約が冪等性を選択できるってことだよね、もしそれがまだ存在しないなら。Freenetが追加したもう一つの点は、これをDHTルーティングとサブスクリプションでやってるところで、もっと基本的なピアメッシュではないってこと。これはブロックチェーンとは全然違って、取引には向いてないだろうね。

いいね!こういうWASMで定義されたネットワークの挙動を見たかったんだ(やった、任意の整合性アルゴリズム!)。もっと詳しく探ってみる必要があるね :) (試してみたいのは、graphqlの代わりに、リクエストと一緒にWASMのバイナリをサーバーに送って、レスポンスのフィールドをフィルタリングしたり、リクエストをパイプラインしたり、「エラーがあったら失敗する」や「エラーをリクエストにペアリングする」みたいなことを定義すること。場合によっては、呼び出し先の内部リトライを制御することもできるかも。)

ありがとう、実はそれは前に考えたアイデアなんだ。GETリクエストにいくつかのwasmを埋め込んで(ネットワークから完全な契約状態を取得するやつ)、それをリクエスト者に返す前に状態を前処理できるようにするっていう。問題は、Freenetが中間ピアが契約状態をキャッシュできる必要があるから、最終的にはやらないことにしたんだけど、将来的に再考するかもしれない。

「ゴーストキー」に対するより良いアプローチは、X量の暗号を0x0に送る(バーンする)ことを要求することだと思う。現在の実装(freenetへの寄付を要求する)は、基本的にfreenet財団に無限の評判を与えることになっていて、他の潜在的なプロジェクトがゴーストキーをアイデンティティとして受け入れることも含めて、分散化の側面を壊している感じがする。

ゴーストキーは、最終的には分散型の評判システムでの評判を立ち上げるための選択肢の一つに過ぎないと思う。シンプルさや匿名性、プロジェクトの資金調達に役立つという利点があるけど、君が指摘した通り、中央集権的なんだよね。君が提案するような暗号通貨ベースの解決策は、時間とともに発展する評判の立ち上げオプションの一つになることは間違いないよ。

とても興味深いね。イデオロギー的な動機を超えて、誰かがピアを運営するための長期的なインセンティブが何なのか気になる。例えば、Freenetがスケールに達した場合、周りに何らかの経済的な原則が必要になるかもしれない。Filecoinが分散ストレージを扱うのと似たような感じで、アプリの状態に関しても。これを実現する一つの方法は、ピアにアプリの状態を保持させて、信頼性高く提供させるために報酬を与えることかもしれない。

Freenetは余剰リソースだけを消費する予定なんだけど、ネットワークにリソースを提供することで得られる「カルマ」の概念を持つ評判システムを構築するつもりです。このカルマは、例えばRiverのVIPチャットルームのように、リソースへのアクセスを制限するために使われるかもしれません。可能性はたくさんあるけど、今のところユーザーはネットワークの成功を見たいという気持ちで動いていて、それが今の規模では十分なモチベーションになっているみたい。

なぜ匿名の相手とプライベートメッセージを交換したいの? - 秘密のカバルに参加していて、参加者の身元が互いに見えないようにしたいから。 - ジャーナリストで、敏感な問題や抑圧された国からの情報提供者と安全にやり取りしたいから。 - 違法な商品やサービスを売っているから。最初の二つの場合、ネットワークの別のコピーを運営することを考えるかもしれない。なぜなら、どうやら一つのスーパーノードが関与しているからで、スーパーノードをコントロールしたいかもしれないし、そうでないかもしれない。

注目すべきは、このプロジェクトは元のFreenet開発チームの仕事を捨てるという裏での決定から生まれたことだ。元のチームの誰にも相談せずに、異なる開発者による書き直しを選んだんだ。これは、事前の議論なしにメーリングリストで発表された象牙の塔の決定だった。古いチームは同意しなかったが、「理事会」の決定によって強行された。「理事会」は、10年以上プロジェクトに関与していなかった人々のグループだった。 https://www.mail-archive.com/devl@freenetproject.org/msg5526... もちろん、既存の元の「Freenet」の資金は新しいものに再利用された。新しい「Freenet」はもはや匿名性を設計目標としていないが、古いものは「Hyphanet」という新しい名前で存在し続けている。 https://www.hyphanet.org/

Hacker Newsで議論の続きを見る