Matrix は、リアルタイム通信 (英語版 ) のためのオープン標準 で軽量な通信プロトコル である。ある通信サービスプロバイダ (英語版 ) のアカウントを持つユーザが、チャット 、VoIP 及びテレビ電話 を介して、別のサービスプロバイダのユーザとコミュニケーションを行うことができるように設計されている。つまり、標準的なSMTP による電子メールがストアアンドフォワード 型の電子メールサービスで提供されているように、異なるサービスプロバイダ間でリアルタイム通信をシームレスに機能させることを目的としている。
技術的な観点から見ると、Matrixは分散型 (英語版 ) リアルタイム通信のためのアプリケーション層 の通信プロトコルである。Matrixはサーバのオープンな連合を介してのJSON 形式のメッセージの安全な配布及び永続化のためのHTTP API及びオープンソース のリファレンス実装 を提供している[ 2] [ 3] 。WebRTC を介して標準的なWebサービス と統合することができ、ブラウザ間での応用が容易である。
歴史
初期のプロジェクトは、Matthew HodgsonとAmandine Le Papeによって "Amdocs Unified Communications"[ 4] と呼ばれるチャットツールを構築しながらAmdocs (英語版 ) 内で作成された。その後、Amdocsは000000002014-01-01-0000 2014年 から000000002017-10-01-0000 2017年10月 までの開発作業の殆どに資金提供をした[ 5] 。MatrixはWebRTC 2014 Conference & Expoでイノベーション賞を受賞し[ 6] 、000000002015-01-01-0000 2015年 のWebRTC Worldで "Best in Show" 賞を受賞した[ 7] 。このプロトコルは000000002014-01-01-0000 2014年 に登場した後、幾つかの指摘を交えて賞賛を受けた。レビュアーはこの種のオープンなインスタントメッセージ やマルチメディアシグナリング・プロトコル (英語版 ) を定義する試み[ 注釈 1] は、広く採用されることが困難であり、これは技術的及び政治的に関連する課題を強調していると述べた[ 8] 。プロバイダ間で相互運用するサービスに対するユーザの十分な需要があるかは不明だった[ 9] [ 10] 。000000002015-01-01-0000 2015年 、Amdocsの子会社 の "Vector Creations Limited" が設立され、Matrixのスタッフが移動した[ 11] 。
000000002017-01-01-0000 2017年 、Amdocsからの資金提供が削減されることが発表され、翌週にコアチームはイギリス を拠点とするMatrixとElement のサポートのための独自の会社である "New Vector" を設立した[ 12] 。この期間中、コアチームの賃金の一部の支援のために、Matrixを基盤とするコミュニティ及び企業へのサポートに対する複数の連絡があった[ 13] 。開発速度を維持するためにPatreon 及びLiberapay (英語版 ) のクラウドファンディングアカウントが作成され[ 14] 、コアチームはMatrix "Live" と呼ばれるビデオポッドキャスト を開始した[ 15] 。これは "This Week in Matrix" と呼ばれる週間ブログ 形式に拡張され、関心のあるコミュニティメンバーは、Matrix関連のニュースを読んだり、関連するニュースを投稿することができる[ 16] 。New VectorはMatrixにコンサルティング (英語版 ) サービスを提供し、Matrixサーバの有料ホスティングを提供し、収入を得ることを目的に設立された[ 17] 。
New Vectorの設立から数週間後、MatrixチームとPurism (英語版 ) はLibrem 5 (英語版 ) スマートフォン の作成で協力する計画を発表した[ 18] 。Librem 5はMatrixネイティブのスマートフォンを意図しており、デフォルトのプリインストール メッセージングアプリと電話アプリは、VoIP、テレビ電話及びインスタントメッセージにMatrixを使用する必要がある[ 19] 。
000000002017-01-01-0000 2017年 、KDE はIRCクライアントのKonversation をMatrixに対応させることを取り組んでいることを発表した[ 20] 。000000002018-01-01-0000 2018年1月 下旬、New VectorはEthereum を基盤とするベンチャー であるStatusから500万米ドルの投資を受けた[ 21] [ 22] 。
000000002018-04-01-0000 2018年4月 、フランス共和国政府 は独自のインスタントメッセージングツールを作成する計画を発表した[ 23] 。"Tchap"[ 注釈 2] と呼ばれるElementとMatrixをベースとするアプリの開発を000000002018-01-01-0000 2018年 初頭に開始し[ 24] 、000000002019-04-01-0000 2019年4月 にiOS 及びAndroid 向けにオープンソースとしてリリースされた[ 25] 。
000000002018-10-01-0000 2018年10月 、標準の更なる発展のための法的に中立的な法人として[ 26] 、"The Matrix.org Foundation C.I.C." と呼ばれるコミュニティ利益会社 (英語版 ) が設立された[ 27] 。
000000002019-02-01-0000 2019年2月 、KDEコミュニティはTelegram 、Slack 及びDiscord などの他の最新ツールの分散型の代替として、コミュニティ内部でのコミュニケーションにMatrixを採用し、独自のサーバインスタンスを運用することを発表した[ 28] 。
000000002019-04-01-0000 2019年4月 、Matrix.orgの稼働中のサーバが攻撃されセキュリティ被害を受けた[ 29] 。この攻撃は、Matrixプロトコルの問題ではなく、Matrix.org以外のホームサーバには直接影響は無かった。
000000002019-06-01-0000 2019年6月 、Matrixプロトコルはベータ版 では無くなり、全てのAPI及びリファレンス実装のホームサーバであるSynapseのバージョンが1.0になり、The Matrix.org Foundationが正式に発足した[ 30] [ 31] 。
000000002019-10-01-0000 2019年10月 、New VectorはMatrixの開発のために追加で850万米ドルを調達した[ 32] 。
000000002019-12-01-0000 2019年12月 、ドイツ の連邦国防省 はMatrixプロトコル、Synapseサーバ及びElementアプリケーションに基づいた安全なインスタントメッセージングツールの "BwMessenger" と呼ばれるパイロットプロジェクトを発表した。これはフランスのTchapプロジェクトをモデルとしている。連邦政府 の長期的な目標は、全ての省庁及び下位当局をカバーするメッセンジャーサービスを使用できるようにすることである[ 33] 。
000000002019-12-01-0000 2019年12月 、Mozilla はIRCの代替としてMatrixの使用を開始することを発表した。この発表で、000000002020-01-01-0000 2020年1月 下旬に移行を完了することを述べた。MozillaのIRCサーバであるirc.mozilla.orgは000000002020-03-01-0000 2020年3月 又は000000002021-01-01-0000 2021年 までに削除されると言われている[ 34] 。
000000002020-03-02-0000 2020年3月2日 にMozillaのIRCサーバirc.mozilla.orgが予定通り終了し、Matrixサーバーであるchat.mozilla.orgに完全に移行した[ 35] 。
プロトコル
Matrixはウェブ向けの一般的なメッセージング及びデータ同期システムになるという長期的な目標と共に、VoIP、IoT 及びグループコミュニケーションを含むインスタントメッセージなどの使用例を対象としている。このプロトコルはセキュリティとレプリケーション に対応しており、単一の制御点や障害無しに完全な会話記録を維持する。既存の通信サービスはMatrixエコシステムと統合することができる[ 2] 。
Matrixのクライアントはオープンな連合インスタントメッセージング、VoIP及びIoTの通信に使用することができる。
Matrixの標準仕様はMatrixに対応したクライアント、サーバ及びサービス間でのJSONデータを安全に送信及び複製するためのRESTful HTTP APIを明記している。クライアントはサーバ上の "room" にデータをPUTすることでデータを送信し、"room" に参加している全てのMatrixサーバにデータを複製する。このデータは改竄を軽減するためにGit 形式の署名で署名され、成り済ましを防ぐために連合トラフィックはHTTPS で暗号化及び各サーバの秘密鍵で署名される。複製は結果整合性 の意味論に従う。これによって、他の参加しているサーバから欠落している履歴を再同期することにより、オフライン又はデータ損失後でも機能する。
OlmライブラリはDouble Ratchetアルゴリズム の実装を介してルーム毎に任意のエンドツーエンド暗号化 を提供する[ 1] 。保存されている会話データ (英語版 ) は、ルームの参加者だけが読めることを保証できる。これを組み合わせると、Matrixを介して送信されるデータは、Matrixサーバからは暗号文 に見え、そのルームの承認された参加者だけが復号できるようになる。Olmライブラリ及びMegolmライブラリ[ 注釈 3] は、NCC Group (英語版 ) による暗号レビューの対象となっており、その結果は公開されており[ 36] 、Matrixチームによって対処されている[ 37] 。このレビューはOpen Technology Fund (英語版 ) が後援した。
ブリッジ
Matrixは他のチャットアプリケーションからMatrixのルームへのメッセージのブリッジングに対応している。これらのブリッジはサーバ上で実行され、Matrix以外のサーバと通信するプログラムである。ブリッジはパペット又はリレーとして機能することができる。前者では個々のユーザが目に見える形でメッセージを投稿し、後者ではボットが操り人形でないユーザアカウントのメッセージを投稿する。
現在公式に対応しているブリッジ:
コミュニティによって管理されているその他の注目すべきブリッジ:
クライアント
Element はクライアントのリファレンス実装である。GNOME Fractal (英語版 ) はGNOME の公式クライアントである。この他にも多くのクライアント、ボット、ブリッジ、サーバ及びリファレンス実装以外のMatrixプロトコルの実装が存在する[ 46] 。
脚注
注釈
出典
関連項目
外部リンク