Matrix (プロトコル)

From Wikipedia, the free encyclopedia

目的 分散型メッセージング及びデータ同期
開発者 The Matrix.org Foundation
導入 2014年9月 (10年前) (2014-09)[1]
派生元
Matrix
通信プロトコル
目的 分散型メッセージング及びデータ同期
開発者 The Matrix.org Foundation
導入 2014年9月 (10年前) (2014-09)[1]
派生元
OSI階層 アプリケーション層

Matrixは、リアルタイム通信英語版のためのオープン標準で軽量な通信プロトコルである。ある通信サービスプロバイダ英語版のアカウントを持つユーザが、チャットVoIP及びテレビ電話を介して、別のサービスプロバイダのユーザとコミュニケーションを行うことができるように設計されている。つまり、標準的なSMTPによる電子メールがストアアンドフォワード型の電子メールサービスで提供されているように、異なるサービスプロバイダ間でリアルタイム通信をシームレスに機能させることを目的としている。

技術的な観点から見ると、Matrixは分散型英語版リアルタイム通信のためのアプリケーション層の通信プロトコルである。Matrixはサーバのオープンな連合を介してのJSON形式のメッセージの安全な配布及び永続化のためのHTTP API及びオープンソースリファレンス実装を提供している[2][3]WebRTCを介して標準的なWebサービスと統合することができ、ブラウザ間での応用が容易である。

初期のプロジェクトは、Matthew HodgsonとAmandine Le Papeによって "Amdocs Unified Communications"[4] と呼ばれるチャットツールを構築しながらAmdocs英語版内で作成された。その後、Amdocsは2014年から2017年10月までの開発作業の殆どに資金提供をした[5]。MatrixはWebRTC 2014 Conference & Expoでイノベーション賞を受賞し[6]2015年のWebRTC Worldで "Best in Show" 賞を受賞した[7]。このプロトコルは2014年に登場した後、幾つかの指摘を交えて賞賛を受けた。レビュアーはこの種のオープンなインスタントメッセージやマルチメディアシグナリング・プロトコル英語版を定義する試み[注釈 1]は、広く採用されることが困難であり、これは技術的及び政治的に関連する課題を強調していると述べた[8]。プロバイダ間で相互運用するサービスに対するユーザの十分な需要があるかは不明だった[9][10]2015年、Amdocsの子会社の "Vector Creations Limited" が設立され、Matrixのスタッフが移動した[11]

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]

2017年KDEはIRCクライアントのKonversationをMatrixに対応させることを取り組んでいることを発表した[20]2018年1月下旬、New VectorはEthereumを基盤とするベンチャーであるStatusから500万米ドルの投資を受けた[21][22]

2018年4月フランス共和国政府は独自のインスタントメッセージングツールを作成する計画を発表した[23]。"Tchap"[注釈 2] と呼ばれるElementとMatrixをベースとするアプリの開発を2018年初頭に開始し[24]2019年4月iOS及びAndroid向けにオープンソースとしてリリースされた[25]

2018年10月、標準の更なる発展のための法的に中立的な法人として[26]、"The Matrix.org Foundation C.I.C." と呼ばれるコミュニティ利益会社英語版が設立された[27]

2019年2月、KDEコミュニティはTelegramSlack及びDiscordなどの他の最新ツールの分散型の代替として、コミュニティ内部でのコミュニケーションにMatrixを採用し、独自のサーバインスタンスを運用することを発表した[28]

2019年4月、Matrix.orgの稼働中のサーバが攻撃されセキュリティ被害を受けた[29]。この攻撃は、Matrixプロトコルの問題ではなく、Matrix.org以外のホームサーバには直接影響は無かった。

2019年6月、Matrixプロトコルはベータ版では無くなり、全てのAPI及びリファレンス実装のホームサーバであるSynapseのバージョンが1.0になり、The Matrix.org Foundationが正式に発足した[30][31]

2019年10月、New VectorはMatrixの開発のために追加で850万米ドルを調達した[32]

2019年12月ドイツ連邦国防省はMatrixプロトコル、Synapseサーバ及びElementアプリケーションに基づいた安全なインスタントメッセージングツールの "BwMessenger" と呼ばれるパイロットプロジェクトを発表した。これはフランスのTchapプロジェクトをモデルとしている。連邦政府の長期的な目標は、全ての省庁及び下位当局をカバーするメッセンジャーサービスを使用できるようにすることである[33]

2019年12月MozillaはIRCの代替としてMatrixの使用を開始することを発表した。この発表で、2020年1月下旬に移行を完了することを述べた。MozillaのIRCサーバであるirc.mozilla.orgは2020年3月又は2021年までに削除されると言われている[34]

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]

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI