やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

WEBサイトを運用するためのネットワーク通信方法(C/S, P2P。HTTPS, ActivityPub, IPFS)

 調べてみた。

WEBサイトを運用するためのネットワーク通信方法

 WEBサイトを公開するためには、ネットワーク接続が必要だ。ネット通信する方法は二つに大別される。

 ひとつは現状のC/S方式。特定の組織がHTTPSサーバを運用することでデータ保持やHTTPS処理を一手に担う中央集権型。Twitterなどがそれだ。

 ふたつ目はP2P方式。皆でデータ保持する個人間通信。分散ネットワーク型。BitTorrentNFTで知られている。IPFSというプロトコルが主流。

HTTPSC/Sネットワーク)

          サーバ
   ┌───────┼────────┐
クライアントA  クライアントB  クライアントC

 C/SはClient/Serverの略である。複数のクライアントが一台のサーバに集中アクセスする形になる。サーバ一台にデータや処理の負荷が集中するため、しばしばサーバダウンする。負荷分散するため複数台のマシンを用意するなどの工夫がされている。

 最近はC/Sのしくみが社会問題をもたらしている。データが一社に支配されてしまうせいで、個人情報を密売したり、政治家にデータを不正提供したり、国が検閲したり情報統制やプロパガンダを展開して民の思考・行動を誘導して支配するなど、数々の深刻な社会問題が起きている。

サーバ

 C/SでWEBサイトを運用するためにはサーバが必要である。

  • 自分で用意する
  • 借用する

自前

 サーバを自分で用意するのは自由度とコストが最高の方法である。サーバ用のコンピュータを構築し、常に稼働しつづけるため電気代と通信費がかかる。サーバアプリケーションとしては以下のようなものがある。

 自前サーバなら、ActivityPubに対応したサービスを運営できる。TwitterのようなMastodonYoutubeのようなPeerTube、ブログのWriteFreelyなどがある。ようするに自分でSNSサービスを作成・運用できる。

借用

 サーバを借用すればサーバの開発・運用コストが低い分、料金がかかったり、サービス停止や改悪などのリスクがあったり、自由度が低く決められたことしかできない。

 借用サーバには以下のようなタイプがある。

 私たちがよく使うのはSaaSである。WEBサイトにいってログインしツイートする。そうした一連のサービスを提供しているのがSaaSだ。
 PaaSはサーバサイドWEBアプリを稼働する環境を提供してくれるサービスである。OSやDBは用意されており、その条件下で自由にプログラミングできる。Herokなどが有名。
 IaaSはサーバやネットワークを提供する。OSやDBなどすべてイチから環境構築する必要がある。好きなWEBサービスソフトウェアを稼働させることができる。ActivityPubも可能。
 BaaSはバックエンドサービスを提供する。大容量データや高負荷の計算を提供する。

ActivityPub

 ActivityPubは、C/Sでありながら分散SNSを実現するオープン標準である。コンテンツの作成、変更、削除し、それを連携サーバに通知するための共通API規格である。

クライアントA  クライアントB  クライアントC
   └────────┼────────┘
           サーバA
            │
           サーバB
   ┌────────┼────────┐
クライアントD  クライアントE  クライアントF

 たとえばIaaSを利用し、ActivityPubで実装されたオープンソースを配置すればサービスを運営できる。Mastodonのソフトウェアを配置すれば、TwitterのようなSNSを自分で運営できる。さらに、同じActivityPubでできた別のサービスサーバとも連携できる。たとえばYouTubeのようなPeerTubeと連携できる。

 ただ、C/Sである以上、依然としてサーバ管理者の負担は大きいままだ。

IPFSP2Pネットワーク)

 IPFSP2Pで通信するためサーバ不要。その代わり皆がデータを保持するためディスクが圧迫される。また、データの整合性を保つための計算リソースや、データ通信のコストもかかる。データを皆で管理するため、一強支配されず公平で民主的なネットになる。

 P2PツールBitTorrentでは著作権侵害が問題視されることがある。もっとも、それはC/Sサービスにおいても同じことである。いずれにせよ、データ作者など、特定のだれかだけが特権をもつような仕組みがない。それを担保するものとしてNFTがある。

   ピアA
  /   \
ピアB───ピアC

 BraveというブラウザがIPFSブラウジングできる世界初のブラウザとして登場した。

所感

 C/SP2Pは一長一短である。Web3.0ではIPFSブロックチェーンなどの技術で既存のC/SHTTPS)をP2P(IPFS)に置き換えたがっているらしい。けれどきっとそうはならない。中央集権型のほうが好都合なこともあるから。IPFSはネット通信方法における選択肢のひとつとして確立されることになると思う。

対象環境