なぜMatrixなのか:ベンダーロックインから抜け出す研究者のチャット

言語: 日本語 / English

対象者: Matrixという名前は聞いたことがあるけれど、なぜわざわざ使うのか分からない人。使い始める手順は暗号化設定チェックリストにまとめてあります。

チャットが分断されている

Slack、Zulip、Discordがそれぞれ別のベンダーのサーバーに閉じていて、あなたはツールごとに別のアカウントを持ち、相手ごとにアプリを切り替えている

共同研究が増えるたびにチャットツールも増え、「この人とはどこで話していたか」を思い出すところから始まります。それ以上に気になるのは、どれも特定のベンダーのサービスだという点です。

  • 料金や無料プランの条件はベンダーの都合で変わります(Slackの無料プランで古いメッセージが見られなくなったのは記憶に新しいところです)。
  • 履歴はベンダーのサーバーにあり、持ち出す手段は限られています。
  • 欲しい機能や不具合の修正は、要望を出して待つしかありません。

研究の議論は何年も残したい記録です。それを一企業の判断に預けたままでよいのか、というのが私の問題意識です。

Matrixとは

Matrixは、オープンな分散型のチャットプロトコルです。考え方はメールに近く、世界中にあるサーバー(ホームサーバー)のどれか1つにアカウントを作れば、別のサーバーの人とも同じルームで会話できます。

3つのホームサーバー(研究室、matrix.org、共同研究先)が互いに直接つながり、それぞれのユーザーが同じ共同研究ルームに参加している。ルームは全サーバーに複製され、ファイルの原本はアップロードした人のサーバーにあり、他のサーバーはキャッシュを持つ

  • IDは@ユーザー名:サーバー名。メールアドレスのように1つあれば足ります。
  • ルームはどこか1つのサーバーの持ち物ではありません。ルームを作った人のサーバーが止まっても、他のサーバーの参加者は会話を続けられます。
  • ファイルはアップロードした人のホームサーバーに保存され、他のサーバーは必要なときに取得してキャッシュします。
  • DMや非公開ルームは既定でエンドツーエンド暗号化され、サーバーには暗号文しか残りません。管理者も中身を読めません。
  • プロトコルが公開されているので、クライアント(アプリ)もサーバーも誰でも作れます。

サーバーを移る、クライアントを乗り換える、という選択肢が常に利用者の側にあること。これがベンダーロックインに対するMatrixの答えです。

データも持ち出せます。 ElementではルームのメニューからチャットをHTML・テキスト・JSON形式でエクスポートできます。Koushiも、Elementと同じ形式のJSON、生のイベントデータ(JSONL)、添付ファイルをまとめて書き出せます。

スペース:ルームを束ねるフォルダ

スペース「物性理論研究室」の中に全体連絡・セミナー・計算機のルームと、サブスペース「共同研究プロジェクトA」があり、その中に別サーバーのルームも入っている

Slackのワークスペースに近いのがスペースです。ただし中身はルームの「束」にすぎず、入れ子にも、別サーバーのルームを入れることもできます。研究室のスペース、共同研究のスペースを1つのアカウントで並べて使えるので、ツールごとにアカウントを分ける必要がありません。

研究機関ではすでに基盤になっている

ヨーロッパを中心に、研究機関や大学が公式のチャット基盤として採用しています。どの機関も自前のホームサーバーを運用しながら、外部の研究者とはサーバーをまたいで会話しています。

マックス・プランク協会、Fritz Haber研究所、ヘルムホルツ協会、ドイツ航空宇宙センター(DLR)、ユーリヒ研究センター、GFZ地球科学研究センター、CISPA情報セキュリティ研究センター、ウィーン工科大学、ETH Zürich物理学科、カールスルーエ工科大学(KIT)、ドレスデン工科大学、ミュンヘン工科大学(TUM)、ベルリン工科大学、ミュンヘン大学(LMU)、ダルムシュタット工科大学、アウクスブルク大学物理部門、ストラスブール大学、ニューヨーク大学(HSRN VIP)、トゥウェンテ大学(Studenten Net Twente)

これまで日本で広まらなかった理由

アジア圏での普及は欧米に比べて遅れていました。理由は主に2つです。

1つ目は、日本語など非ラテン文字への対応です。 エコシステムは欧米の開発者が中心で、日本語・中国語・韓国語(CJK)は後回しになりがちでした。たとえば公式クライアントのElement Desktopでは、単語の間にスペースのない日本語のメッセージを検索しても、ヒットしないことがよくありました。

これは私が送った修正(Seshat #150、Element #33048)がマージされ、Element Desktop 1.12.30(2026年9月)からN-gram方式の検索インデックスを選べるようになりました。ただし既定は従来の方式のままです。 設定の「セキュリティーとプライバシー」→「メッセージの検索」→「管理」で、Search tokenizer modeを「N-gram」に切り替えてください(インデックスは自動で作り直されます)。

2つ目は、セキュリティ設定の分かりにくさです。 暗号化まわりの自由度が高すぎて、初めての人は何を設定すればよいか分かりません。リカバリーキーや端末の認証を飛ばし、新しい端末で過去のメッセージが読めなくなる事故が起きます。

どちらもプロトコルではなくクライアントの問題です。そして、ここが変わりつつあります。

AIエージェントで、クライアントを作れるようになった

暗号化を含むチャットクライアントを作るのは、これまで専任チームの仕事でした。いまは暗号化や同期をmatrix-rust-sdkのような公式SDKに任せ、画面や使い勝手をAIエージェント(Claude CodeやCodexなど)と一緒に作れます。2026年に入って新しいクライアントが次々に登場しています。

  • Koushi:私がAIエージェントと開発しているデスクトップクライアント。日本語の入力・検索と、設定の分かりにくさに取り組んでいます(後述)。
  • Komai:etke.ccのデスクトップクライアント。AIコーディングエージェントとの協働開発を公言しています。
  • このほか、Mactrix、Relay、Lightning、SchildiChat Revengeなど(クライアント一覧)。

Slackで日本語検索がうまく動かなくても、私たちにできるのは要望を出すことだけです。Matrixなら、直したクライアントを作り、同じアカウントのまま使い始められます。

ホームサーバーも自分で持てる

ホームサーバーの3つの選び方。公開サーバー(matrix.orgなど)は無料で手軽、借りたサーバーで運用を委託(etke.ccなど)は月5ユーロからで独自ドメインやBotも自由、完全な自前運用(Synapseなど)は自由度が最大だが保守も自分で行う

最初はmatrix.orgのような公開サーバーで十分です。研究室やグループで使うなら、自分たちのホームサーバーを持つ選択肢もあります。私も自分のホームサーバーを運用しています。

自前の運用が不安なら、etke.ccに任せられます。自分で借りたサーバー(VPS)にMatrix一式を構築し、毎週の更新やセキュリティ対応を続けてくれるサービスで、料金は月5ユーロから(2026年10月時点、サーバー代は別)。サーバーごと用意してもらうプランもあります。構築に使う設定はオープンソースなので、後から自分で運用を引き継ぐこともできます。

自分のサーバーがあれば自由度は大きく広がります。たとえばBotです。MatrixのBotは普通のアカウントとして動くので、Python(matrix-nio)などで簡単に作れます。計算ジョブの完了通知、論文の新着紹介、AIエージェントとの連携など、研究室の道具を自分たちで足していけます。

最初につまずくところ

ここでは「なぜそうなるのか」だけを説明します。具体的な操作は暗号化設定チェックリストを見てください。

ログイン:どのサーバーのアカウントか

ログイン画面で「ホームサーバー」を聞かれたら、ID @ユーザー名:サーバー名 の:の後ろ(matrix.orgで作ったならmatrix.org)を入力します。アカウントを作るときは、ブラウザでElement Webを使うのが最も確実です。

パスワードとリカバリーキーは別物

ここが一番の落とし穴です。

  • パスワードは、ログインするためのもの。
  • リカバリーキーは、サーバーに暗号化して預けた「メッセージの鍵のバックアップ」を開くためのもの。

リカバリーキーはサーバーに保存されないので、サーバー管理者も再発行できません(だからこそ管理者もメッセージを読めません)。アカウントを作ったら、その場でリカバリーキーを作り、パスワードマネージャーなどに保存してください。

自分の端末の認証は必ずやる、他人の認証は普段やらない

Matrixの「認証(verify)」には、名前は同じでも目的がまったく違う2種類があります。

自分の端末の認証:認証済みのMacで承認するか、リカバリーキーを入力すると、新しいiPhoneがサーバーの鍵のバックアップから鍵を受け取れるようになる

自分の端末の認証は必ずやる。 飛ばすと次の問題が起きます。

  • 鍵が届かず、メッセージを復号できない。 新しい端末では過去のメッセージがすべて「Unable to decrypt」になります。故障ではなく、鍵を受け取っていないだけです。
  • 他の人の画面に警告が出る。 相手の設定によっては、その端末に新しいメッセージの鍵も届きません。

新しい端末でログインしたら、リカバリーキーを入力するか、認証済みの別の端末で承認するだけです。数秒で終わります。

リカバリーキーを忘れた・なくしたときは、すぐに復旧手続きをしてください。

ログイン中の端末をログアウトしたり、アプリを削除したりする前に、既存利用者向けの安全確認・回復チェックリストを上から順に実施してください。ログイン中の端末が、まだバックアップされていない鍵の最後の保管場所かもしれません。

他人の認証:自分と共同研究者がそれぞれの画面に出る絵文字を見比べる。なりすましを厳密に防ぎたいときだけ行い、しなくても会話と暗号化は機能する

他人の認証は普段やらない。 会話相手が本当に本人か(なりすましでないか)を、対面や通話で絵文字を見比べて確かめる手段です。鍵の受け渡しとは関係なく、しなくても会話も暗号化も普通に機能します。機密性の高い情報を扱うときなど、セキュリティに特に気を使う場面でだけ使えば十分です。

Koushiの紹介

Koushiの画面。上部に3つのアカウントのタブが並び、その下にスペース、ルーム一覧、メッセージの3ペインが表示されている

Koushi(光子・格子)は、私がAIエージェントと一緒に開発しているデスクトップ向けのMatrixクライアントです。名前は、通信を担う「光子」と、Matrixにつながる「格子」の掛け言葉です。オープンソース(MIT / Apache-2.0)で公開しています。

既存のクライアントで感じていた不満を、そのまま設計方針にしました。

  • 日本語で普通に使える。 変換確定のEnterで送信されない。スペースのない日本語・中国語・韓国語も、暗号化された過去のメッセージから検索できる。全角・半角の違いも吸収。
  • 複数のアカウントを1つの窓で。 研究室のサーバーとmatrix.orgのアカウントを、タブで並べて同時に使える。
  • 研究の議論に必要な表現。 Markdown、コードブロック、LaTeX形式の数式、スレッド。
  • 安全な設定を飛ばせない。 端末の認証と鍵のバックアップが終わるまでチャット画面に進まない。他人の認証は任意で、していないだけでは警告を出さない。
  • データを持ち出せる。 ルームの履歴を、Element互換のJSON、生のイベントデータ、添付ファイルごと書き出せる。

正式に対応しているのはmacOS(Apple Silicon)です。署名・公証済みのDMGをReleasesからダウンロードできます。WindowsとLinuxでも自分でビルドして使っている人はいますが、まだテストが足りません。試して不具合を報告してくれる方、開発に参加してくれる方を歓迎します。

音声・ビデオ通話、画面共有、ボット、ウィジェットにはまだ対応していません。開発中のソフトウェアなので、Element Xも同じアカウントで併用してください。質問や要望は公開ルーム#koushi-matrix:matrix.orgで受け付けています。

始め方

  1. クライアントを入れる(Macなら Element X か Koushi、Windowsなら Element、スマートフォンなら Element X)
  2. アカウントを作る
  3. その場でリカバリーキーを作って保存する
  4. 2台目の端末でログインし、リカバリーキーで認証する

詳しい手順はMatrixを使い始める前の暗号化設定チェックリストにあります。

おわりに

チャットは研究の議論の記録そのものです。その置き場所を特定のベンダーに預けず、自分たちで選べる状態にしておきたい。Matrixはそのための現実的な選択肢で、ヨーロッパの研究機関ではすでに当たり前の基盤になっています。

日本語への対応や設定の分かりにくさといった弱点も、AIエージェントのおかげで利用者側から直せるようになりました。アジア圏の研究者にも、Matrixがもっと広まってほしいと思っています。共同研究の連絡先として、ぜひMatrixのIDを持っておいてください。

関連記事

Updated: