๋ด๊ฐ ์์ง. ๋ง์ ์ํธํํ ํ๋ก์ ํธ๊ฐ ์๊ณ , ๋
ธ๋๊ณผ ์์ ๊ถ, ๊ธ, ์์ , ๊ตฌ์ด ํ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ง์ ํฉ์๊ฐ ์์ต๋๋ค(ํ๋๊ฐ ์์ต๋๋ค, ์, ์). ํ๋์์ ๋ฌด์์ด ๋ ํ์ํฉ๋๊น? ์ด๊ฒ์ *Constellation ํ๋ก์ ํธ(
๋ ์ด์ ๊ธ์๊ฐ ๋ง์ง ์์ผ๋ ๊ทธ๋ฅ "์์ฐ, ์ํธํํ์ ๋ํด ์ต๋ํ"์ด๋ผ๊ณ ์ฐ๊ณ ์ถ๋ค๋ฉด ์์ ํด์ฃผ์ธ์. ๋ถ์ฐ ์์คํ ๋ถ์ผ์ ์๋ก์ด ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์๊ณ ๋๊ธ๋ก ๊ณต์ ํ ๋ด์ฉ์ด ์๋ค๋ฉด cat์ ์ฐธ์กฐํ์ธ์.
PS ๋๋ ๊ธฐ์ ์ ์์ฑ์๊ฐ ์๋๋ฉฐ ๋ณธ์ง์ ์์ ํ ์ด์ ์ ๋ณด์ฆํ ์ ์์ผ๋ฏ๋ก ์์ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์๊ฒฌ์ ๊ธฐ๊บผ์ด ๋ฐ๊ฒ ์ต๋๋ค.
๋๊ธฐ์ ํฉ์์์ ๋น๋๊ธฐ์ ํฉ์๋ก์ ์งํ
๋ ธ๋๋ ๊ฒ์ฆ์ "์ด์ง"ํ๊ฑฐ๋ ๋ ์ดํดํ๊ธฐ ์ฝ๊ฒ ํฉ์๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋ ธ๋์ ์ฑ ์์ ๋์ ์ผ๋ก ์กฐ์ ํ๋ ๊ฒฐ์ ๋ก ์ ํ๋ก์ธ์ค(bittorrent์ ๊ฐ์ DHT์์ ์ฌ์ฉ๋๋ ๊ฒ๊ณผ ๋์ผํ ํ๋ก์ธ์ค)๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ 3๊ฐ์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ๊ทธ๋ฃน์ ์ ํํ๊ณ ํ๋์ ๋ ธ๋๊ฐ ์ฌ๋ฌ ๋ธ๋ก์ ์ด์ง์๊ฐ ๋ ์ ์๋๋ก ํฉ์ ๋ผ์ด๋๋ฅผ ๋ณ๋ ฌ๋ก ์คํํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ๋์ญ์ ์ ๋น๋๊ธฐ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ณธ์ง์ ์ผ๋ก ๋์์ ์ฌ๋ฌ ๋ธ๋ก์ฒด์ธ์ด ํ์ฑ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋จ์ผ ์ฒด์ธ์ ํ์ฑํ๋ ๋ ธ๋์๋ ๋ฌ๋ฆฌ ๋ง์ ์ค๋ ๋๋ก ํ์ฑ๋๋ ๊ฑฐ๋ฏธ์ค๊ณผ ๊ฐ์ต๋๋ค. ๋น๋๊ธฐ์ ๋๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ ๋ชจ๋ ์ปดํจํฐ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ์ปดํจํ ์๋๋ฅผ ๋์ด๊ธฐ ๋๋ฌธ์ ํ์ฅ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด์ ๋๋ค. ์ด ๋คํธ์ํฌ๋ฅผ ์ปดํจํฐ ๊ณผํ์์๋ ๋ฐฉํฅ์ฑ ๋น์ํ ๊ทธ๋ํ(DAG)๋ผ๊ณ ํฉ๋๋ค.
์ ํ ๋ธ๋ก์ฒด์ธ์ ์ฑ๋ ํญ๊ณผ ์ฌ๋ฌ ๋ณ๋ ฌ ๋ธ๋ก์ฒด์ธ์ด ์๋ DAG์ ๊ณฑ์
ํจ๊ณผ.
DAG์ ๋ํ ์ ํ ๋ธ๋ก์ฒด์ธ์ ๊ธฐํํ์ ๊ตฌํ. ๊ฒ์์ ์ ์ ๋ธ๋ก, ํฐ์ ์ ์ ๋
ธ๋์
๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ ํฉ์ ๋ผ์ด๋์์ 3๊ฐ์ ๋ ธ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์ํ์ ๋ํ ์ถ๋ก ์ ์ํ ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ํ์ ํ๋ก์ธ์ค๋ฅผ ์ ๊ณตํ๊ณ ์ฐ๊ฒฐ๋ ์ผ๊ฐํ ํํ๋ก ๋ฐ์ดํฐ ์ ์ฒด์ "ํ๋ฉด ํ๋ฉด"์ ํ์ฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋กํ ์ฝ์ ์ผ๊ฐํ์ ์ฌ์ฉํ์ฌ ์ค๋ณต๋๊ฑฐ๋ ์ผ๊ด๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ง ์๊ณ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ์ผ๊ฐํ์ ๊ฐ๋ ์ต์ ์ ํ๋ฉด์ ํจ๊ป ์ฐ๊ฒฐํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ก ์ด๋ ๊ทธ๋ํ์ "์ต์ ์ ๋จ"๊ณผ ์ ์ฌํ๋ฉฐ, ์ํ์ ์ผ๋ก๋ ๋ํจ์ ๋๋ ์ต์ ํ ํจ์(ํจ์๊ฐ ํ๋ฉด์ ๋ฐ๋ผ ํก๋จํ ์ ์๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ํจ์)์ ์ ์ฌํฉ๋๋ค. ์ด ์ต๋จ ๊ฒฝ๋ก๋ DAG์ ๋ฐ์ดํฐ(ํธ๋์ญ์ )๋ฅผ ์ต์ ์ผ๋ก ์ ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ฒคํธ์ ํ๋ฉด์ด ๋งค๋๋ฝ๊ณ ์ถฉ๋์ด ์๋๋ก ์ถฉ๋ํ๋ ์ผ๊ฐํ "ํ์ผ"์ ๋๋ค.
์ถฉ๋ ๊ฐ์ง/์ฒ๋ฆฌ์ ๊ธฐํํ์ ๊ตฌํ. ์ถฉ๋ํ๋ ๋ธ๋ก์ ์ถ๊ฐ ํ๋ฉด ํ์ผ์ ์์ฑํฉ๋๋ค. ํํํ(์ถฉ๋ ์๋) ์ด๋ฒคํธ ํ๋ฉด์ ์ ์งํ๊ธฐ ์ํด ์ถ๊ฐ ํ๋ฉด ํ์ผ์ ์ ๊ฑฐํฉ๋๋ค.
ํํ์ ๋ฐํ์ผ๋ก ํ ํฉ์
์ต์ ์ ๋ถ์ฐํ p2p ํํ ์์คํ ์์๋ ๊ฐ ๋ ธ๋๊ฐ ๋ค๋ฅธ ๋ ธ๋์ ๋ํ ์ ๋ขฐ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฒฐ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ ์์คํ ์ ์ ์ฒด ์ ์๋ฅผ ํ ๋นํ ๋ ์ ์ด์ ๊ด๊ณ ๋๋ ๋ ธ๋๊ฐ ๋ค๋ฅธ ๋ ธ๋์ ๊ฐ๋ ๊ด๊ณ๋ฅผ ํฌํจํ๋ ํน์ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. "๋น์ ์ ๋น์ ์ ํ์ฌ๋งํผ ํ๋ฅญํฉ๋๋ค." ์ต์ข ๊ฒฐ๊ณผ๋ $DAG ๋๋ ์ผ๋ฐ ์ฑ๋์ ๋ชจ๋ ๋ ธ๋์ ๋ํ ์ ์ด์ ์ ๋ขฐ ๋๋ ํํ์ ๊ธฐ๋ฐ์ผ๋ก ํ "ํธํฅ" ๋๋ ๊ธฐ์ธ๊ธฐ์ ๋๋ค. ์ด๋ "ํ๋ฉด ํ๋ฉด"์ ๊ฐ๋ก์ง๋ฌ ์ง์ฐ๊ณ ์ง์ธ "์ผ๊ฐํ ํ์ผ"๊ณผ ๋จ๊ธธ ๊ฒ์ ์ ํํ๋ ๋ธ๋ฌ์ ๋๋ ์น์ฆ ๊ฐํ์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ถฉ๋ ๋ ผ๋ฆฌ๊ฐ ์ค์ ๋ก "์ผ๊ฐํ ํ์ผ"์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์น์ฆ ๊ฐํ๊ณผ ์ ์ฌํ ๊ทธ๋ผ๋ฐ์ด์
์ธ "๊ณก์ " ๊ณต๊ฐ์ ํต๊ณผํ๋ ์ถฉ๋ํ๋ ํ์ผ์ด ์๋ DAG๋ ์ถฉ๋ํ๋ ํ์ผ์ ์ ๊ฑฐํ๊ฑฐ๋ "์ญ์ "ํฉ๋๋ค.
๋ถ๋ถ/์ ์ฒด ๋ ธ๋ ํ์ฅ
๋คํธ์ํฌ ์ด๋ก ์์ ์ผ๋ฐ์ ์ผ๋ก ์ต์ ์ ํ ๋น์ "๊ท๋ชจ ์๋" ํ ๋น์ผ๋ก ์๋ ค์ ธ ์์ผ๋ฉฐ, ์ด๋ ๋ง์ ์์ ์ฃผ๋ณ ๋ ธ๋๋ฅผ ๊ด๋ฆฌํ๋ ๋๊ท๋ชจ ์ค์ ๋ ธ๋๊ฐ ์๋ ๊ณ์ธต์ ๋ฐฐ์ด๋ก ์ค๋ช ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ถํฌ๋ ์์ฐ์์ ๋ณผ ์ ์์ผ๋ฉฐ ๋ฌด์๋ณด๋ค๋ ์ธํฐ๋ท์์ ๋ณผ ์ ์์ต๋๋ค. Constellation์ ์ด ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ํ์ ์ฒ๋ฆฌ๋์ด๋ ๋๋น๋ฅผ "ํ์ฅ"ํ๊ฑฐ๋ ๋๋ฆฝ๋๋ค.
๊ณ์ธต์ ๋ถํ ์ ํจ๊ณผ. ๋์ญํญ์ ๋๋ ค ๋ ๋ง์ ๋
ธ๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
Hylochain - ์ฑ๋ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ง์
์ ํ๋ฆฌ์ผ์ด์ ์ง์์ ๋ํ ์ฐ๋ฆฌ์ ์ ๊ทผ ๋ฐฉ์์ "๋ถ์ฐํ ์ค๋งํธ ๊ณ์ฝ ํ๋ซํผ"์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค. Constellation์ ๋ชจ๋ ๋ก์ง์ ์คํํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ค์ ๋คํธ์ํฌ ๋์ , ํ์ฐ์ค ์์คํ ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐฉ์กํ๋ ํ ๋ ๋น์ ๋ฐฉ์ก๊ตญ์ผ๋ก ์๊ฐํ ์ ์๋ "ํ์ฐ์ค ์ฑ๋"๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. ๊ฐ ์ง์ ์ฑ๋์ ๋ฐ์ดํฐ ์์ฐ์์ ์๋ํฌ์๋ ์ธ์ฆ๊ณผ ๋ณตํฉ ์ง์ ์์คํ ์ ์ ์ด์ ๊ฒ์ฆ์ ํตํด ์ค๋ผํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ฒด ๊ฒ์ฆ ๋ก์ง์ ๊ตฌํํ ์ ์์ต๋๋ค. ์ํ ์ฑ๋ ๋คํธ์ํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋ณ๋ ฌ ์ง์์ ์ ๊ณตํ์ฌ ์ค๋งํธ ๊ณ์ฝ ๋คํธ์ํฌ์ ๊ธฐ์กด ๋๊ธฐ์ ํฉ์์ ์ํด ์ ํ๋๋ ์ฑํ ์๊ฐ์ ๊ฐ์ํํฉ๋๋ค.
$DAG ๋คํธ์ํฌ๋ฅผ ํตํด "ํธํ"๋๋ ๋ ๊ฐ์ ํ์ค ์ฑ๋. ํ์ด๋ธ๋ฆฌ๋ $DAG + ์ฑ๋ ๋
ธ๋๋ฅผ ๋ฐฐํฌํ์ฌ $DAG์ "ํตํฉ"๋๋ฏ๋ก ์ํธ ์์ฉํ๊ฑฐ๋ ํด์๋ ์ ์์ต๋๋ค.
Hylochain์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ง์์ ๋ํ ์ฐ๋ฆฌ์ ์ ๊ทผ ๋ฐฉ์์ด Recursion Schemes ๊ธฐ๋ฅ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ MapReduce ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํนํ, Hylomorphism ๋ฐ Metamorphism ์ฌ๊ท ์ฒด๊ณ๋ฅผ ํตํฉํ์ฌ ์ค๋งํธ ๊ณ์ฝ์ op ์ฝ๋๋ฅผ ๊ฒ์ฆํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋์ ๋ฐ์ดํฐ ์ ํ์ ๊ฒ์ฆํจ์ผ๋ก์จ ๊ฒ์ฆ ๊ฐ๋ฅํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๊ธฐ๋ณธ ์ฑ๋์ ํตํ ์คํธ๋ฆผ ์ฐ๊ฒฐ์ ์์ฑํ ์ ์์ต๋๋ค. ์ต์ข ๊ฒฐ๊ณผ๋ ๋ฐ์ดํฐ ์์ง๋์ด์๊ฒ ์น์ํ๊ณ ๊ธฐ์กด ๋น ๋ฐ์ดํฐ ๊ธฐ์ ๊ณผ ํธํ๋๋ ๊ธฐ๋ฅ์ ์ธ MapReduce ์ธํฐํ์ด์ค์ ๋๋ค.
Hylomorphic ๋ฐ Metamorphic์ ๋๋น๋ฅผ ์ํ ํ์ค ์ฑ๋์
๋๋ค. ๋ณ์ฑ ์ํ์์๋ ๋ ๊ฐ์ ์ผ๋ฐ ์ฑ๋์ ๋ฐ์ดํฐ๊ฐ ๋ฉํ์ฑ๋์ ๋ธ๋ก์ผ๋ก ์ ์ก๋ฉ๋๋ค. Gilo์์๋ ์ฑ๋์ ์ด์ ์ํ๋ฅผ ๊ฐ์ ธ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ ์ฑ๋์ ์ฟผ๋ฆฌ(ํน์ ์ง๋ฌธ)ํ ๋ค์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ก์ ์ ์ฅํฉ๋๋ค.
ํ ํฐ๊ฒฝ์ ํ๊ณผ Hylochain๊ณผ์ ์ฐ๊ฒฐ
๊ธฐ๋ณธ ์ฑ๋์ด ์์ฑ๋๋ฉด $DAG ์ฑ๋์ ํตํฉํ ์ ์์ง๋ง ACI ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฒด์ธ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์ธํฐํ์ด์ค๋ ๊ตฌ์ฑ ์ ๋ณด์ ์ฑ๋ ์์ฒด์ ์ฐ๊ฒฐ๋ ๊ณต๊ฐ ํค๊ฐ ํฌํจ๋ ๋จ์ํ JSON ๊ฐ์ฒด์ ๋๋ค. ๊ณต๊ฐ ํค๋ฅผ ์ผ๋ฐ ์ฑ๋๊ณผ ์ฐ๊ฒฐํ๋ ์ด์ ๋ ์ผ๋ฐ ์ฑ๋ ๋ฐ์ดํฐ์ ๋ํ ์ค๊ฐ ๋ฉ์ปค๋์ฆ์ ๋ง๋ค๊ธฐ ์ํด์์ ๋๋ค. ์ผ๋ฐ ์ฑ๋์ด ๋ฐฐํฌ๋๋ฉด ๊ฐ๋ฐ์๋ $DAG ๋คํธ์ํฌ์ ์ง๋ถ์ด ๋ ธ๋์ ์ด์์ ๊ฐ์ ๋ถ๋ฐฐ๋๋ ๋ฐฉ์์ ์ค์ค๋ก ๊ตฌ์ฑํฉ๋๋ค.
์ ๋ณด์ ๋ํ ์ก์ธ์ค ๊ตฌ๋งค ๋๋ ์ ๋ณด ์์ ํ๋ฆ. ์์ฒญ์ $DAG๋ก ์ ์ก๋๊ณ ์๊ธ์ ์ฑ๋ ๊ณ์ ์ผ๋ก ์ ์ก๋๋ฉฐ ๊ฒฐ๊ณผ๋ ๊ตฌ๋งค์์๊ฒ ์ ์ก๋๊ณ ๊ฑฐ๋ ์ฒดํฌ์ฌ์ $DAG ๋คํธ์ํฌ๋ก ์ ์ก๋ ๋ค์ ์ผ๋ฐ ์ฑ๋๋ก ์๊ธ์ด ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค.
์ถ์ฒ : habr.com