๋ถ์ฐ ํ์ผ ์์คํ ์ ์๋ก์ด ๋ฆด๋ฆฌ์ค (InterPlanetary File System)์ ๋ฉค๋ฒ ์์คํ ๋ค์ P2P ๋คํธ์ํฌ๋ก ๊ตฌ์ถ๋ ๊ธ๋ก๋ฒ ๋ฒ์ ๊ด๋ฆฌ ํ์ผ ์ ์ฅ์๋ฅผ ํ์ฑํฉ๋๋ค. IPFS๋ Git, BitTorrent, Kademlia, SFS, ์น๊ณผ ๊ฐ์ ์์คํ ์ ์ด์ ์ ๊ตฌํ๋ ์์ด๋์ด๋ค์ ๊ฒฐํฉํ ๊ฒ์ผ๋ก, Git ๊ฐ์ฒด๋ฅผ ๊ตํํ๋ ๋จ์ผ BitTorrent "์ค์"(๋ฐฐํฌ์ ์ฐธ์ฌํ๋ ํผ์ด)๊ณผ ์ ์ฌํฉ๋๋ค. ๊ธ๋ก๋ฒ IPFS ํ์ผ ์์คํ ์ HTTP๋ฅผ ํตํด ์ ๊ทผํ๊ฑฐ๋ FUSE ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๊ฐ์ ํ์ผ ์์คํ /ipfs๋ฅผ ๋ง์ดํธํ์ฌ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ฐธ์กฐ ๊ตฌํ ์ฝ๋๋ Go ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ, Apache 2.0 ๋ฐ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ์ ๊ณต๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ์คํํ ์ ์๋ IPFS ํ๋กํ ์ฝ์ JavaScript ๊ตฌํ์ ๋๋ค.
ํค IPFS๋ ์ฝํ ์ธ ๊ธฐ๋ฐ ์ฃผ์ ์ง์ ๋ฐฉ์์ผ๋ก, ํ์ผ ์ ๊ทผ ๋งํฌ๊ฐ ์ฝํ ์ธ (์ฝํ ์ธ ์ ์ํธํ ํด์ ํฌํจ)์ ์ง์ ์ฐ๊ฒฐ๋ฉ๋๋ค. IPFS๋ ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ํ์ผ ์ฃผ์๋ ์์๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ, ์ฝํ ์ธ ๊ฐ ๋ณ๊ฒฝ๋ ํ์๋ง ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ํ์ผ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค(์ด์ ๋ฒ์ ์ ๋์ผํ ์ฃผ์์ ์ ์ง๋๊ณ , ์ ๋ฒ์ ์ ํ์ผ ์ฝํ ์ธ ์ ํด์๊ฐ ๋ณ๊ฒฝ๋๋ฏ๋ก ๋ค๋ฅธ ์ฃผ์๋ฅผ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค). ํ์ผ ์๋ณ์๋ ๋งค๋ฒ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ณ๊ฒฝ๋๋ฏ๋ก, ๋งค๋ฒ ์๋ก์ด ๋งํฌ๋ฅผ ์ ์กํ์ง ์๊ธฐ ์ํด ํ์ผ์ ์ฌ๋ฌ ๋ฒ์ ์ ๊ณ ๋ คํ๋ ์๊ตฌ ์ฃผ์๋ฅผ ๋ฐ์ธ๋ฉํ๋ ์๋น์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค() ๋๋ ๊ธฐ์กด FS ๋ฐ DNS์ ์ ์ฌํ๊ฒ ๋ณ์นญ์ ํ ๋นํฉ๋๋ค( (๋ณ๊ฒฝ ๊ฐ๋ฅํ ํ์ผ ์์คํ ) ๋ฐ ).
BitTorrent์ ์ ์ฌํ๊ฒ ๋ฐ์ดํฐ๋ ์ค์ ๋ ธ๋์ ๋ฌถ์ด์ง ์๊ณ P2P ๋ชจ๋์์ ์ ๋ณด๋ฅผ ๊ตํํ๋ ์ฐธ๊ฐ์์ ์์คํ ์ ์ง์ ์ ์ฅ๋ฉ๋๋ค. ํน์ ์ฝํ ์ธ ๊ฐ ํฌํจ๋ ํ์ผ์ ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ ์์คํ ์ ์ด ํ์ผ์ ๊ฐ์ง๊ณ ์๋ ์ฐธ๊ฐ์๋ฅผ ์ฐพ์ ์์คํ ์์ ์ฌ๋ฌ ์ค๋ ๋๋ก ๋๋์ด ๋ณด๋ ๋๋ค. ํ์ผ์ ์์ ์ ์์คํ ์ ๋ค์ด๋ก๋ํ ํ ์ฐธ๊ฐ์๋ ์๋์ผ๋ก ๋ฐฐํฌ ํฌ์ธํธ ์ค ํ๋๊ฐ ๋ฉ๋๋ค. ๊ด์ฌ ์๋ ์ฝํ ์ธ ๊ฐ ์๋ ๋ ธ๋์ ๋คํธ์ํฌ ์ฐธ๊ฐ์๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ถ์ฐ ํด์ ํ ์ด๋ธ().
๋ณธ์ง์ ์ผ๋ก IPFS๋ ์์น์ ์์ ์ด๋ฆ์ด ์๋ ์ฝํ ์ธ ๋ก ์ฃผ์๋ฅผ ์ง์ ํ๋ ์น์ ๋ถ์ฐํ ํ์์ผ๋ก ๋ณผ ์ ์์ต๋๋ค. IPFS๋ ํ์ผ ์ ์ฅ ๋ฐ ๋ฐ์ดํฐ ๊ตํ ์ธ์๋ ์๋ฒ์ ์ข ์๋์ง ์์ ์ฌ์ดํธ์ ์์ ์ ๊ตฌ์ฑํ๊ฑฐ๋ ๋ถ์ฐ๋ ์๋น์ค๋ฅผ ์์ฑํ๋ ๋ฑ ์๋ก์ด ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. .
IPFS๋ ์ ์ฅ ์์ ์ฑ(์๋ ์ ์ฅ ์ฅ์น๊ฐ ๋นํ์ฑํ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ฌ์ฉ์ ์์คํ ์์ ํ์ผ์ ๋ค์ด๋ก๋ํ ์ ์์), ์ฝํ ์ธ ๊ฒ์ด ์ ํญ์ฑ(์ฐจ๋จํ๋ ค๋ฉด ๋ฐ์ดํฐ ์ฌ๋ณธ์ด ์๋ ๋ชจ๋ ์ฌ์ฉ์ ์์คํ ์ ์ฐจ๋จํด์ผ ํจ), ์ธํฐ๋ท์ ์ง์ ์ฐ๊ฒฐ๋์ง ์์๊ฑฐ๋ ํต์ ์ฑ๋ ํ์ง์ด ์ข์ง ์์ ๊ฒฝ์ฐ์ ์ก์ธ์ค ๊ตฌ์ฑ(๋ก์ปฌ ๋คํธ์ํฌ์ ๊ทผ์ฒ ์ฐธ์ฌ์๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์)๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฒ์ ์์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ๊ณต์ฉ IPFS ๊ธฐ๋ฐ ๋คํธ์ํฌ๋ 100๋ง ๋ ธ๋๋ฅผ ๋ํํ์ผ๋ฉฐ, IPFS 0.5์ ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฌํ ํ๊ฒฝ์์ ์๋ํ๋๋ก ํ๋กํ ์ฝ์ด ์กฐ์ ๋์์์ ๋ณด์ฌ์ค๋๋ค. ์ต์ ํ๋ ์ฃผ๋ก ๋ฐ์ดํฐ ๊ฒ์, ๊ด๊ณ ๋ฐ ๊ฒ์์ ๋ด๋นํ๋ ์ฝํ ์ธ ๋ผ์ฐํ ๋ฉ์ปค๋์ฆ ๊ฐ์ ๊ณผ ๊ตฌํ ํจ์จ์ฑ ํฅ์์ ์ค์ ์ ๋์์ต๋๋ค. (DHT)๋ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ ๋ ธ๋์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. DHT ๊ด๋ จ ์ฝ๋๊ฐ ๊ฑฐ์ ์์ ํ ์ฌ์์ฑ๋์ด ์ฝํ ์ธ ๊ฒ์ ๋ฐ IPNS ๋ ์ฝ๋ ํ์ธ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
ํนํ, ๋ฐ์ดํฐ ์ถ๊ฐ ์์
์๋๊ฐ 2๋ฐฐ ๋นจ๋ผ์ก๊ณ , ๋คํธ์ํฌ์ ์๋ก์ด ์ฝํ
์ธ ๋ฅผ ๋ฐํํ๋ ์๋๋ 2.5๋ฐฐ ๋นจ๋ผ์ก์ต๋๋ค.
๋ฐ์ดํฐ ์ถ์ถ์ 2๋ฐฐ์์ 5๋ฐฐ๋ก, ์ฝํ
์ธ ๊ฒ์์ 2๋ฐฐ์์ 6๋ฐฐ๋ก ์ค์์ต๋๋ค.
์ฌ์์
๋ ๋ผ์ฐํ
๋ฐ ์๋ฆผ ์ ์ก ๋ฉ์ปค๋์ฆ์ ํตํด ๋์ญํญ ์ฌ์ฉ ๋ฐ ๋ฐฑ๊ทธ๋ผ์ด๋ ํธ๋ํฝ ์ ์ก ํจ์จ์ด ํฅ์๋์ด ๋คํธ์ํฌ ์๋๊ฐ 2~3๋ฐฐ ํฅ์๋์์ต๋๋ค. ๋ค์ ๋ฆด๋ฆฌ์ค์์๋ QUIC ํ๋กํ ์ฝ ๊ธฐ๋ฐ ์ ์ก ๋ฐฉ์์ด ๋์
๋ ์์ ์ด๋ฉฐ, ์ด๋ฅผ ํตํด ์ง์ฐ ์๊ฐ์ด ์ค์ด๋ค์ด ์ฑ๋ฅ ํฅ์์ด ๋์ฑ ๊ทน๋ํ๋ ๊ฒ์
๋๋ค.
๋ณ๊ฒฝ๋๋ ์ฝํ
์ธ ์ ๋ํ ์๊ตฌ ๋งํฌ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ IPNS(Inter-Planetary Name System) ์์คํ
์ ์๋๊ฐ ํฅ์๋๊ณ ์์ ์ฑ์ด ๋์ฑ ํฅ์๋์์ต๋๋ค. ์๋ก์ด ์คํ์ ์ธ pub-sub ์ ์ก ๊ธฐ๋ฅ์ ํตํด 30๊ฐ์ ๋
ธ๋๊ฐ ์๋ ๋คํธ์ํฌ(ํน๋ณํ ). ์ค๊ฐ์ธต์ ์์ฐ์ฑ์ด ์ฝ 2๋ฐฐ ์ฆ๊ฐํ์ต๋๋ค.
Badger๋ ์ด์ ์ฒด์ ํ์ผ ์์คํ
๊ณผ ์ํธ ์์ฉํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. ๋น๋๊ธฐ ์ฐ๊ธฐ ์์
์ง์ ๋๋ถ์ Badger๋ ์ด์ ๊ธฐ์กด flatfs ๊ณ์ธต๋ณด๋ค 25๋ฐฐ ๋ ๋น ๋ฅด๊ฒ ์๋ํฉ๋๋ค. ์ด๋ฌํ ์ฑ๋ฅ ํฅ์์ ๋ฉ์ปค๋์ฆ์๋ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค. ๋
ธ๋ ๊ฐ์ ํ์ผ์ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ฅ ๊ฐ์ ์ฌํญ์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ์ฐ๊ฒฐ์ ์ํธํํ๊ธฐ ์ํ TLS ์ฌ์ฉ์ด ํฌํจ๋ฉ๋๋ค. HTTP ๊ฒ์ดํธ์จ์ด์ ํ์ ๋๋ฉ์ธ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๊ฐ๋ฐ์๋ ํด์ ์ฃผ์, IPNS, DNSLink, ENS ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๋ถ๋ฆฌ๋ ํ์ ๋๋ฉ์ธ์ ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ (DApp)๊ณผ ์น ์ฝํ ์ธ ๋ฅผ ํธ์คํ ํ ์ ์์ต๋๋ค. ํผ์ด ์ฃผ์ ๊ด๋ จ ๋ฐ์ดํฐ(/ipfs/peer_id โ /p2p/peer_id)๋ฅผ ํฌํจํ๋ ์๋ก์ด ๋ค์์คํ์ด์ค /p2p๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋ธ๋ก์ฒด์ธ ๊ธฐ๋ฐ ".eth" ๋งํฌ ์ง์์ด ์ถ๊ฐ๋์ด ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ IPFS ์ฌ์ฉ์ด ํ๋๋ ๊ฒ์ ๋๋ค.
IPFS ๊ฐ๋ฐ์ ์ง์ํ๋ ์คํํธ์ Protocol Labs๋ ์ด ํ๋ก์ ํธ๋ฅผ ๋ณํํ์ฌ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. IPFS์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ ๋๋ค. IPFS๋ ์ฐธ์ฌ์๋ค์ด ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์์ฒญ ๋ฐ ์ ์กํ ์ ์๋๋ก ํ๋ ๋ฐ๋ฉด, Filecoin์ ์๊ตฌ ์ ์ฅ์ ์ํ ๋ธ๋ก์ฒด์ธ ๊ธฐ๋ฐ ํ๋ซํผ์ผ๋ก ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. Filecoin์ ์ฌ์ฉํ์ง ์๋ ๋์คํฌ ๊ณต๊ฐ์ด ์๋ ์ฌ์ฉ์๊ฐ ํน์ ์๊ธ์ ๋ด๊ณ ๋คํธ์ํฌ์ ํด๋น ๊ณต๊ฐ์ ์ ๊ณตํ ์ ์๋๋ก ํ๊ณ , ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํ ์ฌ์ฉ์๋ ํด๋น ๊ณต๊ฐ์ ๊ตฌ๋งคํ ์ ์๋๋ก ํฉ๋๋ค. ๊ณต๊ฐ์ด ๋ ์ด์ ํ์ํ์ง ์๊ฒ ๋๋ฉด ์ฌ์ฉ์๋ ํด๋น ๊ณต๊ฐ์ ํ๋งคํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฅ ๊ณต๊ฐ ์์ฅ์ด ํ์ฑ๋๊ณ , ์ด ์์ฅ์์ ํ ํฐ์ผ๋ก ๊ฒฐ์ ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค. ์ฑ๊ตด์ ํตํด ์์ฑ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru
