This site is an archive of ama.ne.jp.

中央集権型システムとその代替

筑波大学文芸部関係者による Advent Calendar 2021


(前略)……それでも我々は、しばしば我々の全てを誰かに任せているのです! さらに悪いことに、それを誰に任せるか、あるいはどのように任せるかさえ指定できないことがあります。もちろん、これは非常に醜い現実であり、中央集権型のあらゆるサービスやシステムはいつでも妥協の末に選択されるべき存在です。

そもそも、なぜ世界は中央集権的なシステムに支配されているのでしょうか。答えは簡単です。あらゆるデータや機能を暗黙的な信頼の下で集約すると非常に扱いやすくなるから。世界中に散らばった自分の管理下にない情報をどのように収集し、信頼し、更新するかを考慮するのは非常に難しく、また構造上不可能なことさえあります。

例えば、電子メールはどうか。電子メールは( @ 以降のドメインで識別されるような)複数のサーバが接続した分散システムによって実現されており、メールシステム全体を管理するための組織が存在するわけではありません。

我々はどのサーバを使うかを(表面的には @ 以降のドメインで)選ぶことができますし、外部と通信できるサーバを持っていれば自分でシステムに参加することもできます。仮にあるサーバでBANされたとしても、比較的容易に別のサーバから参加し直すことが可能です。しかし、相手に送信したメールを自分の操作で削除したり、送信後に内容を編集することはできません。当然ですね。

ビットコインなどの暗号資産におけるブロックチェーンは、電子メールと異なる性質のデータを保持するために全く違うアプローチをとっています。全世界で完全に同じ台帳を共有するために、インセンティブに裏付けられた特別なアルゴリズムで取引を記録します。しかし、同じ台帳を多くの人で共有するのは非効率的なシステムであり、実は従来のように中央集権的な銀行システムが自ら取引記録を付けた方が簡単で経済的です。しかし、ブロックチェーンによって多くの人が自由に金融システムに参加することができます。銀行はサーバを起動するだけで設立できるようなものではありませんし、口座凍結名義人リストに名前があれば参加することさえできなくなるでしょう。

システムに誰でも自由に参加できるというのは、非常に重要なことです。この特徴は、昨今のTwitterやFacebookなどが抱えている構造的欠陥を浮き彫りにします。これらのSNSは、 ルールを破った アカウントをシステム全体から排除することができますが、その ルール は恣意的でしばしば矛盾を孕んでいます。

中には、この「システムに誰でも自由に参加できるべき」という大原則を裏返し、「中央集権型システムなら悪意ある参加者を排除できる」と主張する人もいます。実際、電子メールはトラフィックの90~95%がスパムだとする研究もありますし、大量の興味のないメールに悩んだことのある人も多いでしょう。ただし、これは電子メールという牧歌的インターネットの遺産を維持し続けている弊害であることを意識しなければなりません。本質的な解決に繋がらないスパムフィルタの高性能化や、DNSを無理に拡張した送信元の身元証明の実施などによって状況は緩和されつつあるものの、電子メールはもともとスパムに弱いシステムでした。

悪意ある参加者を排除する程度の目的で中央集権型システムに頼るのは、我々の決定権を隷属の証として差し出すパターナリスティックな発想です。当然、SNSを運用する の力でスパムを排除することはできるでしょうが、その力はいつでも我々に向けられる可能性があります。もう一度明らかにしておくと、中央集権型システムに何ら疑問なく身を任せるということは、スパムを目にしないことはもちろん、我々の全てを――発言のルールさえも――誰かに任せることを意味しているのです!

SNSを非中央集権的なシステムに作り替えるために考案されたのがActivityPubです。ActivityPubベースのミニブログサーバMastodonは、2017年に日本初のインスタンスとしてmstdn.jpが開設されて大きな注目を集めました。あなたはいつでも好きなMastodonのインスタンスに登録して分散SNSに参加することができますし、自らインスタンスを立ち上げることもできます。もちろん、ActivityPubを実装しているサーバならMastodonである必要すらありません。

分散SNSは不特定多数が交流するための理想的なシステムであり、かつてのニュースグループを思い出させます。一方、電子メールは一対一の会話、あるいは一対多の一方的なメッセージに用いられるのが一般的で、交流の質が異なります。ですから、分散SNSは最終的に中央集権的なシステムに向かうでしょう。なぜなら、SNSはたくさんの人が参加している方が盛り上がるからです。ActivityPubは切り離されたインスタンスをどうにか繋ぎ止める手段のひとつですが、本質的な解決策ではありません。

ここまで書いたとおり、あなたが非中央集権的なシステムに参加するには、必ずしも自分でサーバを用意したりメンテナンスしたりする必要はありません。どのサーバに参加するかを選択することはコストかもしれませんが、自分がすべきでないことを他人に任せるのは頭のいいアイデアです。中央集権的なシステムの問題点は、誰に任せるか、どのように任せるかを選択できないことでした。Twitterの運営が採用しているルールに不満があっても、 別のTwitter に参加することはできません。

さて、全世界と比較されたり喜びや怒りを強制されるSNSに疲れてしまい、SlackやDiscordで限られた仲間を集めて交流している人たちが増えつつあります。これ自体は非常にいいアイデアですが、SlackやDiscordも独自の権限でコミュニティをBANできる中央集権的なサービスであることを忘れてはいけません。Discordで荒らしの自作自演の通報によってサーバが削除される事件でも明らかになったように、あなたの居場所を信頼できない誰かに任せるのは非常に危ういことです。

あなたの居場所をあなたで選べるようにするために、銀行からブロックチェーンへ、TwitterからMastodonへ移っていくのと同じように、Discordの代わりに分散型のグループチャットシステムを採用することができます。その候補の一つとして、Matrixはどうでしょうか。MatrixはDiscordやSlackのように部屋を作って複数のメンバーとテキストでやり取りしたり、音声通話やビデオ通話を利用することができます。一対一のDMも利用できますし、電子メールの代わりに採用することもできるでしょう。

Matrixは、電子メールと分散システムとしての構造も類似しているので、アカウントの作成も簡単です。あなたが事前に決めなければならないのは、どのサーバに参加して、どんなユーザー名のアカウントを使いたいかということだけです。例えば、僕がMatrix上で使用しているアカウント名 @amane:matrix.amane.moe@ユーザ:サーバ の形式であり、メールアドレスに使用される ユーザ@サーバ という形式によく似ています。MastodonなどのActivityPub上の @ユーザ@サーバ のようなアカウント名を思い出す人もいるかもしれません。

Matrixサーバ(ホームサーバ)の主たる実装はSynapseで、Matrixクライアントで最も使いやすいのはElementです(Android、iOS、PCに対応しています)。もうおわかりでしょうが、Matrixプロトコルを実装しているならどんなソフトウェアを使ってもかまいません。

電子メールなら gmail.comyahoo.co.jp 、Mastodonならmstdn.jpPawooのような定番のサーバがあります。Matrixなら、The Matrix.org Foundationが提供している matrix.org から始めるといいでしょう。どのサーバでアカウントを作っても、あらゆるサーバの部屋に参加したり、あらゆるサーバのアカウントにDMを送ることができます(もちろん、ブロックされていない限りで)。

アカウントを作ったら#random:matrix.amane.moeに参加してワイワイしてください。または、@amane:matrix.amane.moeに直接話しかけることもできます。

分散グループチャットシステムは、分散SNSと比較すると中央集権的なシステムに向かうモチベーションは薄く、比較的安定して広がり続けると考えられます。これまで電子メールがそうだったように、いろいろな企業や個人がMatrixサーバを持ち続けるはずですし、SNSのように一つもまとめる利点はあまりないでしょう。理想的には、コミュニティ単位でサーバを持つ程度で、十分に運用に支障のない集約性を得ることができます。

ここまで、中央集権型システムの利点と欠点、そしてそれらを解決するための非中央集権的なアイデアや実装について述べました。それでも、中央集権型システムに全てを任せなければならないタイミングが来るでしょう。では、すぐに中央集権的なシステムを使うのを中止し、安全な分散システムに移行した方がいいでしょうか? もちろん、それは非現実的です。しかし、我々の全てが削除され、喪失する前に自衛をすることはできます。

典型的には、サービスに保管している自分のデータを定期的にアーカイブとして取り出したり、サービスからBANされた後の緩和策(複数のアカウントを作ったり、別の連絡手段を用意するなど)を事前に用意することができます。さらに、実際に行動に移さなくても、自分が使っているサービスが中央集権的で、いつでも自分の敵になりうることを意識することさえ自衛になりえます。我々は、我々の全てを誰かに任せてもなお、心まで差し出すべきではないのです。……(後略)