GNUnet P2P ํ”Œ๋žซํผ 0.16.0 ์ถœ์‹œ

์•ˆ์ „ํ•œ ๋ถ„์‚ฐํ˜• P0.16P ๋„คํŠธ์›Œํฌ ๊ตฌ์ถ•์„ ์œ„ํ•ด ์„ค๊ณ„๋œ GNUnet 2 ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GNUnet์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๋„คํŠธ์›Œํฌ๋Š” ๋‹จ์ผ ์‹คํŒจ ์ง€์ ์ด ์—†์œผ๋ฉฐ ์ •๋ณด ์„œ๋น„์Šค ๋ฐ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ด€๋ฆฌ์ž์— ์˜ํ•œ ๋‚จ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฐœ์ธ ์ •๋ณด์˜ ๋ถˆ๊ฐ€์นจ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GNUnet์€ TCP, UDP, HTTP/HTTPS, Bluetooth ๋ฐ WLAN์„ ํ†ตํ•œ P2P ๋„คํŠธ์›Œํฌ ์ƒ์„ฑ์„ ์ง€์›ํ•˜๋ฉฐ F2F(Friend-to-friend) ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UPnP ๋ฐ ICMP ์‚ฌ์šฉ์„ ํฌํ•จํ•˜์—ฌ NAT ํ†ต๊ณผ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„์‚ฐ ํ•ด์‹œ ํ…Œ์ด๋ธ”(DHT)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ ๋„คํŠธ์›Œํฌ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ ํƒ์ ์œผ๋กœ ๋ถ€์—ฌ ๋ฐ ์ฒ ํšŒํ•˜๊ธฐ ์œ„ํ•ด GNS(GNU ๋„ค์ž„ ์‹œ์Šคํ…œ) ๋ฐ ์†์„ฑ ๊ธฐ๋ฐ˜ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” reclaimID ๋ถ„์‚ฐ ID ์†์„ฑ ๊ตํ™˜ ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์€ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๊ฐ€ ์ ๊ณ  ๋‹ค์ค‘ ํ”„๋กœ์„ธ์Šค ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„ ๊ฒฉ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ ์œ ์ง€ ๋ฐ ํ†ต๊ณ„ ์ˆ˜์ง‘์„ ์œ„ํ•œ ์œ ์—ฐํ•œ ๋„๊ตฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ์‚ฌ์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด GNUnet์€ C ์–ธ์–ด์šฉ API์™€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์šฉ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์Šค๋ ˆ๋“œ ๋Œ€์‹  ์ด๋ฒคํŠธ ๋ฃจํ”„์™€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ˆ˜๋งŒ ๋ช…์˜ ํ”ผ์–ด๋ฅผ ํฌ๊ด„ํ•˜๋Š” ์‹คํ—˜ ๋„คํŠธ์›Œํฌ์˜ ์ž๋™ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

GNUnet ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฌ๋Ÿฌ ๊ธฐ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • GNS(GNU ์ด๋ฆ„ ์‹œ์Šคํ…œ) ๋„๋ฉ”์ธ ์ด๋ฆ„ ์‹œ์Šคํ…œ์€ DNS๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„์‚ฐํ™”ํ•˜๊ณ  ๊ฒ€์—ด ๋ฐฉ์ง€ ๋Œ€์ฒดํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. GNS๋Š” DNS์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์€ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DNS์™€ ๋‹ฌ๋ฆฌ GNS๋Š” ํŠธ๋ฆฌํ˜• ์„œ๋ฒ„ ๊ณ„์ธต ๋Œ€์‹  ๋ฐฉํ–ฅ์„ฑ ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„ ํ™•์ธ์€ DNS์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์š”์ฒญ๊ณผ ์‘๋‹ต์€ ๊ธฐ๋ฐ€ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ฆ‰, ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋…ธ๋“œ๋Š” ์‘๋‹ต์ด ๋ˆ„๊ตฌ์—๊ฒŒ ์ „์†ก๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์œผ๋ฉฐ ์ „์†ก ๋…ธ๋“œ์™€ ์ œ25519์ž ๊ด€์ฐฐ์ž๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ํ•ด๋…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๋ถˆ๋ณ€์„ฑ์€ ์•”ํ˜ธํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. GNS์˜ DNS ์˜์—ญ์€ CurveXNUMX ํƒ€์› ๊ณก์„ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ณต๊ฐœ ๋ฐ ๋น„๊ณต๊ฐœ ECDSA ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.
  • ์•”ํ˜ธํ™”๋œ ํ˜•ํƒœ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜์–ด ์ •๋ณด ๋ถ„์„์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ , GAP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ˆ„๊ฐ€ ํŒŒ์ผ์„ ๊ฒŒ์‹œ, ๊ฒ€์ƒ‰, ๋‹ค์šด๋กœ๋“œํ–ˆ๋Š”์ง€ ์ถ”์ ํ•  ์ˆ˜ ์—†๋Š” ์ต๋ช… ํŒŒ์ผ ๊ณต์œ  ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ".gnu" ๋„๋ฉ”์ธ์— ์ˆจ๊ฒจ์ง„ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  P4P ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด IPv6 ๋ฐ IPv2 ํ„ฐ๋„์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ VPN ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ IPv4-IPv6 ๋ฐ IPv6-IPv4 ๋ณ€ํ™˜ ์ฒด๊ณ„๋Š” ๋ฌผ๋ก  IPv4-over-IPv6 ๋ฐ IPv6-over-IPv4 ํ„ฐ๋„ ์ƒ์„ฑ๋„ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • GNUnet์„ ํ†ตํ•ด ์Œ์„ฑ ํ†ตํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ GNUnet ๋Œ€ํ™” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. GNS๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ ์Œ์„ฑ ํŠธ๋ž˜ํ”ฝ์˜ ๋‚ด์šฉ์€ ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ต๋ช…์„ฑ์€ ์•„์ง ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”ผ์–ด๋Š” ๋‘ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์ถ”์ ํ•˜๊ณ  ํ•ด๋‹น IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ„์‚ฐํ˜• ์†Œ์…œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ Secushare๋Š” PSYC ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ณ  ์—”๋“œํˆฌ์—”๋“œ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ๋ชจ๋“œ์—์„œ ์•Œ๋ฆผ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ ์Šน์ธ๋œ ์‚ฌ์šฉ์ž(๋ฉ”์‹œ์ง€๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š” ์‚ฌ์šฉ์ž)๋งŒ ๋ฉ”์‹œ์ง€, ํŒŒ์ผ, ์ฑ„ํŒ… ๋ฐ ๋ฉ”์‹œ์ง€์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ๊ด€๋ฆฌ์ž๋ฅผ ํฌํ•จํ•œ ํ† ๋ก ์€ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.)
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด GNUnet์„ ์‚ฌ์šฉํ•˜๊ณ  ํ‚ค ํ™•์ธ์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ๋งค์šฐ ์‰ฌ์šด ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์•”ํ˜ธํ™” ์ด๋ฉ”์ผ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  • GNU Taler ๊ฒฐ์ œ ์‹œ์Šคํ…œ์€ ๊ตฌ๋งค์ž์—๊ฒŒ ์ต๋ช…์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ํˆฌ๋ช…์„ฑ๊ณผ ์„ธ๊ธˆ ๋ณด๊ณ ๋ฅผ ์œ„ํ•ด ํŒ๋งค์ž ๊ฑฐ๋ž˜๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ฌ๋Ÿฌ, ์œ ๋กœ, ๋น„ํŠธ์ฝ”์ธ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ์กด ํ†ตํ™” ๋ฐ ์ „์žํ™”ํ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

GNUnet 0.16์˜ ์ฃผ์š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:

  • ๋ถ„์‚ฐํ˜• ๋„๋ฉ”์ธ ์ด๋ฆ„ ์‹œ์Šคํ…œ GNS(GNU ์ด๋ฆ„ ์‹œ์Šคํ…œ)์˜ ์‚ฌ์–‘์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์ธ REDIRECT๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CRITICAL์€ ํŠนํžˆ ์ค‘์š”ํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์–ด ์ด๋ฆ„ ๊ฒฐ์ • ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VPN ํ„ฐ๋„ ์„ค์ • ์ž‘์—…์ด ํ™•์ธ์ž์—์„œ DNS2GNS ์„œ๋น„์Šค์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • DHT(๋ถ„์‚ฐ ํ•ด์‹œ ํ…Œ์ด๋ธ”)๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ์ธ์ฆํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ ๊ธธ์ด ์ธก์ •ํ•ญ๋ชฉ์€ ๊ธฐ์กด XOR ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ๋ฐ DHT ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ์˜ ์‚ฌ์–‘์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • RECLAIM(๋ถ„์‚ฐํ˜• ์‹๋ณ„ ์†์„ฑ ๊ตํ™˜) ์„œ๋น„์Šค์— ๋ถ„์‚ฐํ˜• ์‹๋ณ„์ž(DID, Decentralized Identifier) โ€‹โ€‹๋ฐ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ž๊ฒฉ ์ฆ๋ช…(VC, Verifying Credentials)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GNU Taler ๊ฒฐ์ œ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ Klaus Schnorr์˜ ๋ธ”๋ผ์ธ๋“œ ๋””์ง€ํ„ธ ์„œ๋ช… ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์„œ๋ช…์ž๋Š” ์ฝ˜ํ…์ธ ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค).
  • ๋นŒ๋“œ ์‹œ์Šคํ…œ์€ GANA(GNUnet Assigned Numbers Authority)์—์„œ ์ตœ์‹  ํ—ค๋” ํŒŒ์ผ ์ƒ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Git์—์„œ ๋นŒ๋“œํ•˜๋ ค๋ฉด recutil์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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