Matrix (プロトコル)

リアルタイム通信及びデータ同期のための通信プロトコル

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

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

技術的な観点から見ると、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]

脚注 編集

注釈 編集

  1. ^ XMPPIRCv3
  2. ^ クロード・シャップに由来する。
  3. ^ より大きなルームの需要に合わせたOlmの拡張。

出典 編集

  1. ^ a b Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (25 August 2016). "End-to-End Encrypted Messaging Protocols: An Overview". In Bagnoli, Franco; et al. (eds.). Internet Science. INSCI 2016. イタリア共和国 フィレンツェ: Springer. pp. 244–254. doi:10.1007/978-3-319-45982-0_22. ISBN 978-3-319-45982-0
  2. ^ a b Nathan Willis (2015年2月11日). “Matrix: a new specification for federated realtime chat”. LWN.net. 2020年2月5日閲覧。
  3. ^ Adrian Bridgwater (2014年9月9日). “Matrix.org Reloads Inside "Illusion of Control" Vortex”. Dr Dobb's. 2020年2月5日閲覧。
  4. ^ Amdocs Unified Communications Solution”. Amdocs. 2016年11月10日時点のオリジナルよりアーカイブ。2019年2月5日閲覧。
  5. ^ Who is Matrix.org?”. The Matrix.org Foundation (2014年10月16日). 2020年2月5日閲覧。
  6. ^ Remi Scavenius (2014年12月23日). “Award Winners of the WebRTC 2014 Conference & Expo”. Upperside Blog. 2016年8月9日時点のオリジナルよりアーカイブ。2019年2月5日閲覧。
  7. ^ Phil Edholm (2015年5月18日). “WebRTC World Miami Wrap Up and Review”. WebRTC World. 2020年2月5日閲覧。
  8. ^ Andrew Prokop (2015年2月23日). “Solving the WebRTC Interoperability Problem”. No Jitter. 2020年2月5日閲覧。
  9. ^ Ian Scales (2015年5月11日). “To interop or not to interop? Is Matrix.org the answer for silo’d comms services?”. TelecomTV. 2020年2月5日閲覧。
  10. ^ Matt Weinberger (2014年9月16日). “Matrix wants to smash the walled gardens of messaging”. ITworld. 2020年2月5日閲覧。
  11. ^ Vector Creations Limited”. LinkedIn. 2020年2月5日閲覧。
  12. ^ NEW VECTOR LIMITED”. Companies House service. 2020年2月5日閲覧。
  13. ^ Matthew Hodgson (2017年7月7日). “A Call to Arms: Supporting Matrix!”. The Matrix.org Foundation. 2020年2月5日閲覧。
  14. ^ Hello world!”. Patreon (2017年6月11日). 2020年2月5日閲覧。
  15. ^ Matrix Live - Episode 1: July 14th 2017”. YouTube (2017年7月21日). 2020年2月5日閲覧。
  16. ^ This Week in Matrix”. The Matrix.org Foundation. 2020年2月5日閲覧。
  17. ^ Awesome hosting for Matrix”. Modular. 2020年2月5日閲覧。
  18. ^ Lucian Armasu (2018年6月6日). “Purism’s Privacy-Focused Librem 5 Smartphone's On Track For A Jan '19 Release”. Tom's Hardware. 2020年2月5日閲覧。
  19. ^ Librem 5”. Purism. 2020年2月5日閲覧。
  20. ^ eike hein (2017年9月5日). “Konversation 2.x in 2018: New user interface, Matrix support, mobile version”. blogs.kde.org. 2020年2月5日閲覧。
  21. ^ Stewart Rogers (2018年1月29日). “Status invests $5 million in Matrix to create a blockchain messaging superpower”. VentureBeat. 2020年2月5日閲覧。
  22. ^ Status Invests $5M In Riot.im”. Status Blog (2018年1月29日). 2018年1月30日時点のオリジナルよりアーカイブ。2019年2月5日閲覧。
  23. ^ Mathieu Rosemain (2018年4月17日). “France builds WhatsApp rival due to surveillance risk”. Reuters. 2020年2月5日閲覧。
  24. ^ Jean Kaminsky (2018年4月22日). “L’Etat lance un « Telegram » à la française cet été, ouvert à tous”. Sécurité. 2020年2月5日閲覧。
  25. ^ Catalin Cimpanu (2019年4月19日). “French government releases in-house IM app to replace WhatsApp and Telegram use”. ZDNet. 2020年2月5日閲覧。
  26. ^ Matthew Hodgson (2018年10月29日). “Introducing the Matrix.org Foundation (Part 1 of 2)”. The Matrix.org Foundation. 2020年2月5日閲覧。
  27. ^ THE MATRIX.ORG FOUNDATION C.I.C.”. Companies House service. 2020年2月5日閲覧。
  28. ^ Michael Larabel (2019年2月20日). “KDE To Support Matrix Decentralized Instant Messaging”. Phoronix. 2020年2月5日閲覧。
  29. ^ We have discovered and addressed a security breach.”. The Matrix.org Foundation (2019年4月11日). 2020年2月5日閲覧。
  30. ^ Matthew Hodgson (2019年6月11日). “Introducing Matrix 1.0 and the Matrix.org Foundation”. The Matrix.org Foundation. 2020年2月5日閲覧。
  31. ^ Neil Johnson (2019年6月11日). “Synapse 1.0.0 released”. The Matrix.org Foundation. 2020年2月5日閲覧。
  32. ^ Natasha Lomas (2019年10月10日). “New Vector scores $8.5M to plug more users into its open, decentralized messaging Matrix”. TechCrunch. 2020年2月5日閲覧。
  33. ^ Stefan Krempl (2019年12月24日). “Open Source: Bundeswehr baut eigene verschlüsselte Messenger-App”. heise online. 2020年2月5日閲覧。
  34. ^ Synchronous Messaging at Mozilla: The Decision”. Mozilla Discourse. 2020年2月5日閲覧。
  35. ^ Moznet IRC is dead; long live Mozilla Matrix!”. The Matrix.org Foundation. 2022年12月17日閲覧。
  36. ^ Matrix Olm Cryptographic Review”. NCC Group (2016年11月18日). 2020年2月5日閲覧。
  37. ^ Matthew Hodgson (2016年11月21日). “Matrix’s ‘Olm’ End-to-end Encryption security assessment released - and implemented cross-platform on Riot at last!”. The Matrix.org Foundation. 2020年2月5日閲覧。
  38. ^ matrix-org/matrix-appservice-gitter”. GitHub. 2020年2月5日閲覧。
  39. ^ matrix-org/matrix-appservice-irc”. GitHub. 2020年2月5日閲覧。
  40. ^ matrix-org/matrix-appservice-slack”. GitHub. 2020年2月5日閲覧。
  41. ^ matrix-org/matrix-bifrost”. GitHub. 2020年2月5日閲覧。
  42. ^ Half-Shot/matrix-appservice-discord”. GitHub. 2020年2月5日閲覧。
  43. ^ matrix-hacks/matrix-puppet-signal”. GitHub. 2020年2月5日閲覧。
  44. ^ tulir/mautrix-telegram”. GitHub. 2020年2月5日閲覧。
  45. ^ tulir/mautrix-whatsapp”. GitHub. 2020年2月5日閲覧。
  46. ^ Try Matrix Now”. The Matrix.org Foundation. 2020年2月5日閲覧。

関連項目 編集

外部リンク 編集