매트릭스 (프로토콜)

**매트릭스**(Matrix)는 실시간 통신을 위한 개방형 표준 및 통신 프로토콜이다. 이 프로토콜은 표준 간이 우편 전송 프로토콜 이메일이 저장-전달 이메일 서비스에 대해 수행하는 방식과 유사하게, 서로 다른 서비스 제공자 간의 실시간 통신이 원활하게 작동하도록 하는 것을 목표로 한다. 이를 통해 한 통신 서비스 제공자에 계정을 가진 사용자가 온라인 채팅, 음성 인터넷 프로토콜, 화상통화를 통해 다른 서비스 제공자의 사용자와 통신할 수 있다. 따라서 XMPP와 같은 프로토콜과 유사한 목적을 제공하지만, 기존 통신 프로토콜을 기반으로 하지는 않는다.

기술적인 관점에서 보면, 응용 계층의 통신 프로토콜로서 연합된 실시간 통신을 위한 것이다. 이는 JSON 형식의 메시지를 서버의 개방형 연합을 통해 안전하게 배포하고 영구적으로 저장하기 위한 HTTP API와 오픈 소스 참조 구현을 제공한다. WebRTC를 통해 표준 웹 서비스와 통합될 수 있으며, 브라우저 대 브라우저 애플리케이션을 용이하게 한다.

## 역사

### 시작 - 2018년

초기 프로젝트는 매튜 호지슨(Matthew Hodgson)과 아만딘 르 파페(Amandine Le Pape)가 "Amdocs 통합 커뮤니케이션즈"라는 채팅 도구를 개발하면서 Amdocs 내부에서 시작되었다. Amdocs는 2014년부터 2017년 10월까지 개발 작업의 대부분을 지원했다. 매트릭스는 WebRTC 2014 컨퍼런스 & 엑스포에서 혁신상을 수상했고, 2015년 WebRTC 월드에서는 "최고의 쇼" 상을 수상했다. 이 프로토콜은 2014년 출시 이후 칭찬과 함께 몇 가지 주의사항을 받았다. 평론가들은 이러한 유형의 개방형 인스턴트 메신저 또는 멀티미디어 시그널링 프로토콜을 정의하려는 다른 시도들(예: XMPP 및 IRCv3)이 널리 채택되는 데 어려움을 겪었으며, 기술적 및 정치적 어려움을 강조했다. 일부는 제공자 간에 상호 운용되는 서비스에 대한 사용자 수요가 충분한지 불분명하다고 언급했다. 2015년 Amdocs의 자회사인 "벡터 크리에이션스 리미티드"가 설립되었고, 매트릭스 직원들이 그곳으로 옮겨졌다.

2017년 7월, Amdocs의 자금 지원이 중단될 것이라고 발표되었고, 그 다음 몇 주 동안 핵심 팀은 자신들의 영국 기반 회사인 "New Vector Limited"를 설립했다. 이 회사는 주로 매트릭스와 라이엇(Riot)의 개발을 지원하기 위해 만들어졌으며, 라이엇은 나중에 엘리먼트로 이름이 변경되었다. 이 기간 동안, 핵심 팀의 임금 일부를 지불하는 데 도움을 주기 위해 커뮤니티와 매트릭스를 기반으로 구축하는 회사들에 여러 차례 지원 요청이 있었다. Patreon과 Liberapay 크라우드펀딩 계정이 개설되었고, 핵심 팀은 진행 중인 개발 상황을 기여자들에게 알리기 위해 매트릭스 "라이브"라는 비디오 팟캐스트를 시작했다. 이는 "이번 주 매트릭스"라는 주간 블로그 형식으로 확장되었으며, 관심 있는 커뮤니티 회원들이 매트릭스 관련 소식을 읽거나 직접 제출할 수 있었다. 이 회사는 매트릭스에 대한 컨설팅 서비스와 매트릭스 서버의 유료 호스팅(나중에 엘리먼트 매트릭스 서비스로 이름이 변경된 모듈러(modular.im)라는 플랫폼으로)을 제공하여 수익을 창출하는 것을 목표로 설립되었다.

설립 초기 몇 주 동안 매트릭스 팀과 퓨리즘 회사는 Librem 5 폰 제작에 협력할 계획을 발표했다. 리브렘 5는 매트릭스 네이티브 폰으로, 기본 사전 설치된 메시징 및 발신자 앱이 오디오 및 비디오 통화와 인스턴트 메시징에 매트릭스를 사용하도록 의도되었다.

2017년, KDE는 IRC 클라이언트 Konversation에 프로토콜 지원을 포함하기 위해 노력하고 있다고 발표했다.

2018년 1월 말, 이 회사는 이더리움 기반 스타트업 컴퍼니인 스테이터스(Status)로부터 500만 달러의 투자를 유치했다.

2018년 4월, 프랑스 정부는 자체 인스턴트 메시징 도구를 만들 계획을 발표했다. 프랑스 과학자 클로드 샤프의 이름을 딴 Tchap이라는 라이엇(Riot) 및 매트릭스 프로토콜 기반 애플리케이션 작업은 2018년 초에 시작되었으며, 이 프로그램은 2019년 4월에 오픈 소스로 공개되어 iOS 및 안드로이드에 출시되었다.

2018년 10월, 표준의 추가 개발을 위한 중립적인 법인으로 "The Matrix.org Foundation C.I.C."라는 Community Interest Company가 설립되었다.

### 2019년–2022년

2019년 초, 매트릭스 프로토콜은 채택이 증가하고 상당한 발전을 이루었다. KDE 커뮤니티는 2019년 2월 내부 통신에 매트릭스를 사용할 의사를 발표했으며, 텔레그램, 슬랙, 디스코드와 같은 서비스에 대한 대안으로 분산형 특성을 언급하고 자체 서버 인스턴스를 운영할 계획을 세웠다. 두 달 후인 2019년 4월, Matrix.org의 운영 서버가 프로토콜이 아닌 운영 서버의 보안 침해로 손상되었다.

2019년 6월, 매트릭스 프로토콜은 모든 API에 걸쳐 버전 1.0이 출시되면서 베타 단계를 벗어났다. 이 기간 동안 매트릭스 재단도 프로토콜을 감독하기 위해 공식적으로 출범했으며, 시냅스(Synapse)가 홈서버 참조 구현으로 사용되었다. 그해 말인 2019년 10월, 뉴 벡터(New Vector) 회사는 매트릭스 개발을 위해 850만 달러를 추가로 유치했다. 연말까지 여러 조직이 채택 계획을 발표했다. 2019년 12월, 독일 연방방위군은 프랑스의 Tchap 프로젝트를 모델로 한 매트릭스 프로토콜, 시냅스 서버 및 라이엇 애플리케이션을 기반으로 BwMessenger라는 파일럿 프로젝트를 시작했다. 또한 12월에 모질라는 IRC 인프라를 매트릭스로 대체할 것이라고 발표했으며, 2020년 초에 마이그레이션을 계획했다.

발표에 따라 모질라는 2020년 3월에 IRC 서버를 폐쇄하고 사용자들을 새로운 매트릭스 인스턴스로 안내함으로써 전환을 완료했다. 2020년 5월, 프로토콜 내의 모든 새로운 비공개 대화에 대해 단대단 암호화가 기본적으로 활성화되었다. 그해 10월, 엘리먼트(Element) 회사는 GitLab으로부터 기터(Gitter) 채팅 플랫폼을 인수했으며, 모든 기터 사용자를 매트릭스로 마이그레이션할 계획을 발표했다.

2021년 3월까지 Matrix.org 재단은 네트워크에 2,800만 개의 전 세계 가시 계정이 있다고 보고했다. 2022년 9월, 클라이언트 측 암호화 라이브러리 구현에서 보안 취약점이 공개되었다. 프로토콜의 상호 운용 가능한 설계로 인해 이 문제는 영향을 받는 클라이언트 애플리케이션에 국한되었으며, 이는 업그레이드가 필요했지만, 프로토콜 자체와 타사 구현은 영향을 받지 않았다. 공개에 따르면, 모든 심각한 문제는 수정되었으며, 나머지 문제는 실제로는 악용할 수 없거나 클라이언트 인터페이스의 경고로 이미 다루어졌다.

### 2022년–현재

2023년 2월, 매트릭스 재단은 "메시징 서비스 간의 상호 운용성"에 대한 디지털 시장법 이해관계자 워크숍에 초청되어, 개인 정보를 희생하지 않고도 표준화된 개방형 프로토콜을 사용하여 상호 운용할 수 있는 방법을 시연했다.

2023년 6월, 비퍼는 더 매트릭스 재단(The Matrix Foundation)의 첫 번째 회원이 되었다.

2024년 4월, 매트릭스 재단의 이사회 첫 선거가 개최되었으며, 이사회는 비영리 및 커뮤니티 대표, 자금 지원자 대표, 재단 대표의 세 가지 범주에 걸쳐 9개의 서로 다른 선거구 그룹으로 구성된다.

## 프로토콜

섬네일|right|매트릭스 네트워크

매트릭스는 음성 인터넷 프로토콜, 사물인터넷 및 인스턴트 메신저와 같은 사용 사례를 목표로 하며, 그룹 통신을 포함하여 웹을 위한 일반적인 메시징 및 데이터 동기화 시스템이 되는 장기 목표를 가지고 있다. 이 프로토콜은 보안 및 복제를 지원하며, 제어 또는 실패 지점이 없는 전체 대화 기록을 유지한다. 기존 통신 서비스는 매트릭스 생태계와 통합될 수 있다.

클라이언트 소프트웨어는 개방형 연합형 인스턴트 메시징(IM), 음성 인터넷 프로토콜(VoIP) 및 사물인터넷(IoT) 통신에 사용할 수 있다.

매트릭스 표준은 매트릭스 지원 클라이언트, 서버 및 서비스 간에 JSON 데이터를 안전하게 전송하고 복제하기 위한 RESTful HTTP API를 지정한다. 클라이언트는 데이터를 서버의 '방'에 PUT하여 전송하며, 서버는 이 데이터를 해당 '방'에 참여하는 모든 매트릭스 서버에 복제한다. 이 데이터는 변조를 방지하기 위해 Git 스타일 서명으로 서명되며, 연합 트래픽은 HTTPS로 암호화되고 각 서버의 개인 키로 서명되어 스푸핑을 방지한다. 복제는 궁극적 일관성 의미론을 따르므로, 서버는 오프라인 상태이거나 데이터 손실 후에도 다른 참여 서버에서 누락된 기록을 재동기화하여 기능을 수행할 수 있다.

### 올름 암호화

올름(Olm) 라이브러리는 더블 래칫 알고리즘 구현을 통해 방별로 선택적 단대단 암호화를 제공한다. 이 라이브러리는 데이터 저장소에 있는 대화 데이터가 방 참가자만 읽을 수 있도록 보장할 수 있다. 이렇게 구성하면 매트릭스를 통해 전송되는 데이터는 매트릭스 서버에 암호문으로만 표시되며, 방의 권한 있는 참가자만 해독할 수 있다. 암호화 프로토콜은 올름(Olm)이라고 하며, 메골름(Megolm)은 더 큰 방의 필요에 더 잘 맞도록 올름을 확장한 것이다. 두 가지 주요 구현이 있다.

* 보도제막(vodozemac)은 러스트로 작성된 현재 참조 구현이다. 2022년에 Least Authority에 의해 감사되었으며, 감사 결과는 공개적으로 이용 가능하며, 매트릭스 팀에서 처리했다. 이 검토는 독일의 의료 시스템 디지털화 국가 기관인 게마틱에 의해 부분적으로 자금을 지원받았다.
* 리볼름(libolm)은 이전 참조 구현으로, NCC Group의 암호화 검토를 받았으며, 결과는 공개적으로 이용 가능하고, 매트릭스 팀에서 처리했다. 이 검토는 Open Technology Fund의 후원을 받았다.

그룹 채팅을 위한 새로운 메골름 세션을 시작하려면 발신 그룹 세션 키가 필요하다. 또한, 교차 서명 키는 사용자와 장치의 전체적인 신원을 확인하는 데 사용된다. 보안 백업을 활성화하면 이 모든 키는 강력한 암호 또는 무작위로 생성된 복구 키를 사용하여 암호화된다. 이는 키 백업에 접근할 수 있는 사람도 메시지를 해독할 수 없도록 보장하여 완벽한 E2EE를 보장한다.

MSC2883에 따라 매트릭스는 그룹 채팅 암호화를 위해 MLS를 구현할 계획이다.

## 브리지

매트릭스는 다른 채팅 애플리케이션의 메시지를 매트릭스 방으로 연결하는 기능을 지원한다. 이러한 브리지는 서버에서 실행되며 비매트릭스 서버와 통신하는 프로그램이다. 브리지는 인형(puppet) 또는 릴레이(relay) 역할을 할 수 있으며, 전자의 경우 개별 사용자의 계정이 메시지를 가시적으로 게시하고, 후자의 경우 봇이 인형 조종되지 않은 사용자 계정을 위해 메시지를 게시한다.

현재 다음과 같은 공식 브리지가 있다.

* Gitter
* IRC
* 슬랙/매터모스트
* XMPP

다음과 같은 주요 애플리케이션용 브리지는 커뮤니티에서 유지 관리한다.

* 애플 iMessage
* 디스코드
* 전자우편
* 페이스북 메신저/인스타그램
* 구글 챗
* GroupMe
* 마스토돈
* RSS/트위터 피드
* 시그널
* 스카이프
* 텔레그램
* 단문 메시지 서비스
* 위챗
* WhatsApp
* 링크드인

또한 루나티와 같은 일부 게임의 채팅은 모드를 사용하여 매트릭스 방으로 연결할 수 있다.

## 채택

프랑스 중앙 행정부 공무원들 간의 통신은 Tchap이라는 매트릭스 기반 내부 네트워크에서 이루어진다.
이 프로젝트는 디지털 업무 부처(프랑스어: DINUM)에서 보안과 디지털 주권이라는 명확한 목표를 가지고 개발되었으며, 이 두 가지는 WhatsApp, Telegram, Slack을 통해서는 불가능하다고 판단되었다.

독일의 국가 의료 시스템 내부 통신 네트워크는 매트릭스 기반의

시스템(Ti-Messenger)을 사용하여 독일의 의료 기관 간 실시간 통신 및 민감한 환자 데이터 공유를 수행하며, 이는 의료 시스템 디지털화를 위한 국가 기관(Gematik GmbH)에서 개발한다.
매트릭스를 선택한 이유는 기존 신원 인프라를 새로운 채팅 시스템에 재사용할 수 있는 연합 신원 관리, 서로 다른 소스의 데이터를 교차 연결할 수 있는 분산형 아키텍처, 그리고 상호 운용성과 미래에 대비한 데이터 교환을 보장하고 벤더 종속을 방지하는 개방형 프로토콜 때문이었다.

독일 연방방위군 직원들은 매트릭스 기반의 개인 네트워크에서 맞춤형 매트릭스 엘리먼트(Element) 앱인 BwMessenger(위에서 언급했듯이)를 사용하여 서로 통신하고 기밀 문서(독일 VS-NfD)를 공유한다.

독일의 두 주는 학교를 위한 자체 매트릭스 채팅 네트워크를 운영한다. 라인란트팔츠주는 2024년 초부터 플러피챗(FluffyChat)의 포크인 SchulchatRLP를 제공하고 있다. 이 서버는 50만 명의 학생을 수용할 수 있도록 설계되었으며 쿠버네티스(kubernetes)에 배포되었고, 클라이언트는 fairkom이 학부모를 위한 읽음 확인이나 설문조사와 같은 기능으로 강화되었다. 이 회사는 2023년에 매트릭스 재단의 실버 파트너가 되었다. 바이에른주는 엘리먼트(Element) 클라이언트를 독점적인 ByCS 메신저로 개조했다.

룩셈부르크는 Luxchat4Gov라는 매트릭스 기반 정부 관료용 채팅 서비스를 개발했으며, 2023년 2분기에 출시될 예정이다.

스웨덴 사회보험청은 내부 통신에 매트릭스를 사용하고 있다.

Rocket.Chat은 버전 4.7.0부터 내장된 매트릭스 브리지를 통해 RocketChat 서버 간의 연합을 권장한다.

FOSDEM은 2021년부터 매트릭스를 사용하고 있다.
호스팅은 엘리먼트 매트릭스 서비스에서 제공하며, 이벤트 직후 기술 세부 정보를 공개 검토용으로 게시한다.

폴란드군은 2023년에 매트릭스 프로토콜 기반 통신기를 도입하여 폴란드군 병사들과 폴란드 국방부 직원들 사이에서 기밀이 아닌 정보를 교환하는 데 사용하고 있다.

### 평가
요하네스 핀다이젠(Johannes Findeisen)은 매트릭스 프로토콜의 아키텍처 결정이 높은 지연 시간, 비효율성, 리소스 집약적인 클라이언트 및 서버로 이어진다는 비판적인 의견을 상세히 설명했다.

## 같이 보기

* XMPP
* 세션 개시 프로토콜 (SIP)
* 리치 커뮤니케이션 서비스
* IRC

## 각주

## 외부 링크

* 

분류:커뮤니케이션
분류:VoIP 프로토콜
분류:응용 계층 프로토콜
분류:2014년 개설된 인터넷 자산