๋ถ„์‚ฐํ˜• ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ”Œ๋žซํผ Matrix 1.0 ์ถœ์‹œ

๋„์ž… ๋ถ„์‚ฐํ˜• ํ†ต์‹ ์„ ์กฐ์งํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ดˆ์˜ ์•ˆ์ •์ ์ธ ํ”„๋กœํ† ์ฝœ ๋ฆด๋ฆฌ์Šค ๋งคํŠธ๋ฆญ์Šค 1.0 ๋ฐ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, API(์„œ๋ฒ„-์„œ๋ฒ„) ๋ฐ ์‚ฌ์–‘. Matrix๊ฐ€ ์˜๋„ํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์„ค๋ช… ๋ฐ ๊ตฌํ˜„๋œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ์€ ์™„์ „ํžˆ ์•ˆ์ •ํ™”๋˜์–ด ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ๋ด‡ ๋ฐ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋…๋ฆฝ์  ๊ตฌํ˜„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•œ ์ƒํƒœ์— ๋„๋‹ฌํ–ˆ๋‹ค๊ณ  ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ ํ™•์‚ฐ Apache 2.0์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์—, ์ถœํŒ ๋œ ๋ฉ”์‹œ์ง• ์„œ๋ฒ„ ์‹œ๋ƒ…์Šค 1.0.0 ์ฐธ์กฐ ๊ตฌํ˜„ ํฌํ•จ ๋งคํŠธ๋ฆญ์Šค 1.0 ํ”„๋กœํ† ์ฝœ. Synapse 1.0์„ ์ค€๋น„ํ•  ๋•Œ ์ฃผ์š” ๊ด€์‹ฌ์€ ํ”„๋กœํ† ์ฝœ, ๋ณด์•ˆ ๋ฐ ์‹ ๋ขฐ์„ฑ์˜ ์˜ฌ๋ฐ”๋ฅธ ๊ตฌํ˜„์— ๋งž์ถฐ์กŒ์Šต๋‹ˆ๋‹ค. Synapse๋Š” ์ด์ œ ๋ฒ ํƒ€ ๋ฒ„์ „์ด ์ข…๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ ์ผ๋ฐ˜ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Synapse ์ฝ”๋“œ๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ SQLite ๋˜๋Š” PostgreSQL DBMS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Synapse 1.0์€ Python 2.x๋ฅผ ์ง€์›ํ•˜๋Š” ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒˆ ์ฑ„ํŒ…์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 4 ๋ฒ„์ „ ๋ฃธ ํ”„๋กœํ† ์ฝœ(์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) ๋‹ค์„ฏ ๋ฒˆ์งธ ์„œ๋ฒ„ ํ‚ค์˜ ์ˆ˜๋ช… ์ œํ•œ์„ ์ง€์›ํ•˜๋Š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ ์ด์ œ ๊ณต์œ  ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์œ ํšจํ•œ TLS ์ธ์ฆ์„œ๋ฅผ ์–ป์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”.
ํด๋ผ์ด์–ธํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํญ๋™ (Linux, Windows, macOS, ์›น, Android ๋ฐ iOS์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) ์œ„์ฑ— (๋ฃจ์•„์˜ CLI), ๋„ค์ฝ” (C++/Qt), ์ฟผํ„ฐ๋‹ˆ์–ธ (C++/Qt) ๋ฐ ํ”„๋ž™ํƒˆ (๋Ÿฌ์ŠคํŠธ/GTK).

Matrix 1.0์—์„œ ์•„์ง ์•ˆ์ •ํ™”๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์—๋Š” ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€ ํŽธ์ง‘(Synapse 1.0 ๋ฐ Riot์—์„œ ์ง€์›๋˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ), ๋ฐ˜์‘, ์Šค๋ ˆ๋“œ ํ† ๋ก , ์‚ฌ์šฉ์ž ๊ต์ฐจ ํ™•์ธ, ๋ผ์ด๋ธŒ ์ฑ„ํŒ… ํ†ต๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ์„œ๋ฒ„ ๊ตฌํ˜„ ์ž‘์—… ์ค‘ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ์ค„์ด๋Š” ์ž‘์—…์ด ๊ณ„ํš๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ์กฐ ์„œ๋ฒ„ ์™ธ์—๋„ Python์œผ๋กœ ์‹คํ—˜์ ์ธ ๊ตฌํ˜„๋„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค. ๋ฃจ๋งˆ (๋…น) ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ƒ ๋Œ๊ธฐ (๊ฐ€๋‹ค).

๋ถ„์‚ฐํ˜• ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ์ธ Matrix๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€์„ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ์ž์˜ ๋ณด์•ˆ๊ณผ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์— ํฐ ๊ด€์‹ฌ์„ ๊ธฐ์šธ์ด๋Š” ํ”„๋กœ์ ํŠธ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Matrix๋Š” Double Ratchet ์•Œ๊ณ ๋ฆฌ์ฆ˜(Signal ํ”„๋กœํ† ์ฝœ์˜ ์ผ๋ถ€)์„ ํฌํ•จํ•˜์—ฌ ์ž์ฒด ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ข…๋‹จ ๊ฐ„ ์•”ํ˜ธํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ข…๋‹จ ๊ฐ„ ์•”ํ˜ธํ™”๋Š” ์ง์ ‘ ๋ฉ”์‹œ์ง•๊ณผ ์ฑ„ํŒ… ๋ชจ๋‘์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉ). ๋ฉ”๊ณจ๋ฆ„). ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์˜ ๊ตฌํ˜„์€ NCC ๊ทธ๋ฃน์˜ ๊ฐ์‚ฌ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ์ „์†ก์€ WebSocket ๋˜๋Š” ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” HTTPS+JSON์ž…๋‹ˆ๋‹ค. CoAP+๋…ธ์ด์ฆˆ.

์‹œ์Šคํ…œ์€ ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๊ณตํ†ต ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ๋กœ ํ†ตํ•ฉ๋œ ์„œ๋ฒ„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋Š” ๋ฉ”์‹œ์ง• ์ฐธ๊ฐ€์ž๊ฐ€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์„œ๋ฒ„์— ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐ„์— ์ปค๋ฐ‹์ด ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ์„œ๋ฒ„ ์ „์ฒด์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ผ์‹œ์ ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋Š” ์†์‹ค๋˜์ง€ ์•Š์œผ๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์žฌ๊ฐœ๋œ ํ›„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ, ์ „ํ™”๋ฒˆํ˜ธ, ํŽ˜์ด์Šค๋ถ ๊ณ„์ • ๋“ฑ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ID ์˜ต์…˜์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐํ˜• ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ”Œ๋žซํผ Matrix 1.0 ์ถœ์‹œ

๋„คํŠธ์›Œํฌ ์ „์ฒด์— ๋‹จ์ผ ์žฅ์•  ์ง€์ ์ด๋‚˜ ๋ฉ”์‹œ์ง€ ์ œ์–ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋…ผ์˜์—์„œ ๋‹ค๋ฃจ๋Š” ๋ชจ๋“  ์„œ๋ฒ„๋Š” ์„œ๋กœ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ด๋ฅผ ๊ณตํ†ต ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ๊ฒŒ์ดํŠธ์›จ์ด ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์‹œ์Šคํ…œ๊ณผ Matrix์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•ด ์ค€๋น„๋œ IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp ๋ฐ Slack์— ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์ธ์Šคํ„ดํŠธ ๋ฌธ์ž ๋ฉ”์‹œ์ง€ ๋ฐ ์ฑ„ํŒ… ์™ธ์—๋„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์ „์†ก, ์•Œ๋ฆผ ์ „์†ก,
์›๊ฒฉ ํšŒ์˜ ๊ตฌ์„ฑ, ์Œ์„ฑ ๋ฐ ์˜์ƒ ํ†ตํ™”.
Matrix๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ†ต์‹  ๊ธฐ๋ก์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ฌด์ œํ•œ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž…๋ ฅ ์•Œ๋ฆผ, ์‚ฌ์šฉ์ž ์˜จ๋ผ์ธ ์กด์žฌ ํ‰๊ฐ€, ์ฝ๊ธฐ ํ™•์ธ, ํ‘ธ์‹œ ์•Œ๋ฆผ, ์„œ๋ฒ„ ์ธก ๊ฒ€์ƒ‰, ๊ธฐ๋ก ๋ฐ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ ๋™๊ธฐํ™”์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ตœ๊ทผ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋น„์˜๋ฆฌ ๋‹จ์ฒด๊ฐ€ ์„ค๋ฆฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Matrix.org ์žฌ๋‹จ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋…๋ฆฝ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  Matrix ๊ด€๋ จ ํ‘œ์ค€์„ ๊ฐœ๋ฐœํ•˜๋ฉฐ ๊ณต๋™ ์˜์‚ฌ๊ฒฐ์ •์„ ์œ„ํ•œ ์ค‘๋ฆฝ์ ์ธ ํฌ๋Ÿผ ์—ญํ• ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Matrix.org ์žฌ๋‹จ์€ ์ƒ์—… ์ƒํƒœ๊ณ„์™€ ๊ด€๋ จ์ด ์—†๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋ฉฐ ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ๋ช…์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ „๋…ํ•˜๋Š” XNUMX๋ช…์˜ ์ด์‚ฌ๋กœ ๊ตฌ์„ฑ๋œ ์ด์‚ฌํšŒ๊ฐ€ ์ด๋Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ๋…์—๋Š” John Crowcroft(์กด ํฌ๋กœํฌ๋กœํ”„ํŠธ, ๋ถ„์‚ฐํ˜• ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์„ ๊ตฌ์ž ์ค‘ ํ•œ ๋ช…), Matthew Hodgson(Mattrix ๊ณต๋™ ์ฐฝ๋ฆฝ์ž), Amandine Le Pape(Matrix ๊ณต๋™ ์ฐฝ๋ฆฝ์ž), Ross Schulman(์ธํ„ฐ๋„ท ๋ฐ ๋ถ„์‚ฐํ˜• ์‹œ์Šคํ…œ ์ „๋ฌธ Open Technology Institute ๋ณ€ํ˜ธ์‚ฌ), Jutta Steiner, ๊ณต๋™ ์ฐฝ๋ฆฝ์ž ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ  ํšŒ์‚ฌ์ธ Parity Technologies์˜ ์ฐฝ๋ฆฝ์ž์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€