Freenet: 停止不能なアプリのための分散型プラットフォームの構築
分散型インターネットのビジョンは、長らくサイバーパンク運動の礎石となってきましたが、単純なファイル共有から完全に機能するサーバーレスアプリケーションへの移行は、極めて大きな技術的課題です。Freenetは、中央集権的なクラウドプロバイダー、巨大IT企業のインフラ、または制限的な利用規約に依存することなく、アプリケーションが存在できるピア・ツー・ピア(P2P)プラットフォームを提供することで、このビジョンを実現しようとしています。
サーバーレスネットワークのアーキテクチャ
その核心において、Freenetは個々のコンピュータをグローバルなスモールワールド・ネットワークのノードへと変貌させます。ブラウザが特定のサーバーにデータを要求する従来のウェブのクライアント・サーバーモデルとは異なり、Freenetはピアを仮想的なリング上に組織化します。
メッセージとデータはこのリングを介して一連の「ホップ」を経て目的地に到達し、数百万のピアに対して効率的にスケーリングします。このアーキテクチャにより、アプリは本質的に停止不能になります。シャットダウンすべき中央サーバーが存在しないため、ピアのネットワークがそれをサポートし続ける限り、アプリケーションは利用可能な状態を維持します。
開発者向け:モダンなスタック
Freenetは、分散型開発への参入障壁を下げることを目指しています。独自の言語や複雑な新しいフレームワークを必要とする代わりに、RustやTypeScriptといった馴染みのあるツールをサポートしています。
開発者は、サーバーを維持したりクラウドの料金を支払ったりすることなく、グローバルなネットワークにアプリをデプロイできます。この転換により、インフラの負担は開発者から集合的なネットワークへと移り、DevOpsではなくアプリケーションのロジックに集中することが可能になります。
一貫性の問題の解決
分散型状態管理において最も困難な側面の一つは、「真実のソース」として機能する中央権限がない状態で、すべてのユーザーが同じデータを見ることを保証することです。Freenetは、一貫性に対する独自のプローチを通じてこれに対処します。
すべてのコントラクトは、関連する状態に対して**「マージ(結合)操作」**を定義しなければなりません。この操作は交換可能(commutative)であることが求められ、つまり、複数の状態をどのような順序でマージしても、同じ最終結果が得られることを意味します。
コミュニティメンバーが指摘しているように、このアプローチはConflict-free Replicated Data Types (CRDTs)と類似しています。従来のCRDTsが定義済みのデータ型セットを提供するのに対し、Freenetの交換可能なマージ関数の要件は、開発者が特定のアプリケーションのニーズに合わせてカスタムの一貫性ロジックを定義することを可能にします。
進化と論争
Freenetは新しいプロジェクトではありませんが、現在は大きな変革の過程にあります。プロジェクトの歴史は、レガシーな目標と現代的な実用性の間の緊張関係についての他者の視点を示しています。
匿名性から実用性へのシフト
元々は、90年代のP2Pネットワークと同様に、匿名性と暗号化されたファイル共有のためのツールとして構想されました。オリジナルのFreenetは、インターネットの「ダークウェブ」的な側面を強く重視していました。しかし、現在のイテレーションは、書き換え(リライト)と設計目標の転換を象徴しています。
一部のコミュニティメンバーは、重大な分裂が生じたことを指摘しています。オリジナルの開発チームの成果は、取締役会主導のリライトによって大部分がバイパスされました。これがHyphanetの誕生につながりました。Hyphanetは、プロジェクトのオリジナルの匿名性重視の目標を引き継ぎ、維持し続けているフォークです。オリジナルのP2Pファイル共有体験を求める人々にとって、Hyphanetは引き続き主要な目的地となります。
インセンティブの問題
あらゆる分散型ネットワークと同様に、持続可能性の問題が残ります。コミュニティの議論では、繰り返される課題が強調されています。それは、ピアとして稼働し続けるためのユーザーへの長期的なインセンティブです。現在のモデルは助成金や寄付に依存していますが、一部では、Filecoinのように、ピアがアプリの状態を可用性維持し、確実に提供するために支払われるような、経済的プリミティブの導入が提案されています。
結論
Freenetは、「クラウド」を超え、ユーザー中心のインターネットへと戻るための大胆な試みです。スモールワールド・ネットワークのトポロジーと交換可能な状態マージモデルを組み合わせることで、検閲耐性があり、企業の管理を受けないアプリのためのフレームワークを提供します。その思想的なルーツと現代の開発者のニーズとの間の溝を渡りきれるかどうかはまだ分かりませんが、その存在自体が、中央集権的なウェブに対して極めて重要な代替案を提供しています。