๋ถ„์‚ฐํ˜• ์›น์‚ฌ์ดํŠธ ์ œ์ž‘ ํ”Œ๋žซํผ ZeroNet 0.7 ์ถœ์‹œ

XNUMX๋…„๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ํƒˆ์ค‘์•™ํ™” ์›น ํ”Œ๋žซํผ ์ถœ์‹œ ์ œ๋กœ๋„ท 0.7๋Š” ๊ฒ€์—ด, ์œ„์กฐ ๋˜๋Š” ์ฐจ๋‹จํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด BitTorrent์˜ ๋ถ„์‚ฐ ์ „์†ก ๊ธฐ์ˆ ๊ณผ ํ•จ๊ป˜ Bitcoin์˜ ์ฃผ์†Œ ์ง€์ • ๋ฐ ํ™•์ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ์˜ ์ฝ˜ํ…์ธ ๋Š” ๋ฐฉ๋ฌธ์ž ์ปดํ“จํ„ฐ์˜ P2P ๋„คํŠธ์›Œํฌ์— ์ €์žฅ๋˜๋ฉฐ ์†Œ์œ ์ž์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. ๋Œ€์ฒด ๋ฃจํŠธ DNS ์„œ๋ฒ„ ์‹œ์Šคํ…œ์ด ์ฃผ์†Œ ์ง€์ •์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋„ค์ž„ ์ฝ”์ธ. ํ”„๋กœ์ ํŠธ๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž GPLv2์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์ดํŠธ์— ๊ฒŒ์‹œ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹์ง€๊ฐ‘ ์—ฐ๋™๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ฒ€์ฆ๋˜์–ด ์‚ฌ์ดํŠธ ์†Œ์œ ์ž์˜ ๊ณ„์ •๊ณผ ์—ฐ๋™๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ •๋ณด์˜ ๊ด€๋ จ์„ฑ ์ œ์–ด ๋ฐ ์ฝ˜ํ…์ธ  ์—…๋ฐ์ดํŠธ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๋ฅผ ์ˆจ๊ธฐ๋ ค๋ฉด ZeroNet์— ์ง€์›๋˜๋Š” ์ต๋ช… Tor ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์ด ์•ก์„ธ์Šคํ•œ ๋ชจ๋“  ์‚ฌ์ดํŠธ์˜ ๋ฐฐํฌ์— ์ฐธ์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ์‹œ์Šคํ…œ์— ๋‹ค์šด๋กœ๋“œ๋˜๋ฉด ํŒŒ์ผ์€ ์บ์‹œ๋˜์–ด BitTorrent์™€ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์ปดํ“จํ„ฐ์—์„œ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ZeroNet ์‚ฌ์ดํŠธ๋ฅผ ๋ณด๋ ค๋ฉด zeronet.py ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ URL โ€œhttp://127.0.0.1:43110/zeronet_addressโ€(์˜ˆ: โ€œhttp://127.0.0.1)๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์ดํŠธ๋ฅผ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1Dโ€) . ์›น์‚ฌ์ดํŠธ๋ฅผ ์—ด๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ๊ทผ์ฒ˜์— ์žˆ๋Š” ๋™๋ฃŒ๋ฅผ ์ฐพ๊ณ  ์š”์ฒญํ•œ ํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ํŒŒ์ผ(html, css, ์ด๋ฏธ์ง€ ๋“ฑ)์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์ดํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด "zeronet.py siteCreate" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์ดํŠธ ์‹๋ณ„์ž์™€ ๊ฐœ์ธ ํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ €์ž‘๊ถŒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์‚ฌ์ดํŠธ์˜ ๊ฒฝ์šฐ "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D" ํ˜•์‹์˜ ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” "zeronet.py siteSign site_identifier" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ฐœ์ธ ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ƒˆ ๋ฒ„์ „์„ ์ธ์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ฝ˜ํ…์ธ ๊ฐ€ ํ™•์ธ๋˜๋ฉด ๋ณ€๊ฒฝ๋œ ๋ฒ„์ „์„ ํ”ผ์–ด๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก "zeronet.py sitePublish site_id" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๋ฐœํ‘œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(WebSocket API๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค). ์ฒด์ธ์„ ๋”ฐ๋ผ ํ”ผ์–ด๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ฒ„์ „์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ์ƒˆ ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋‹ค๋ฅธ ํ”ผ์–ด์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐํšŒ:

  • ๋‹จ์ผ ์‹คํŒจ ์ง€์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ์— ํ”ผ์–ด๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ์œผ๋ฉด ์‚ฌ์ดํŠธ์— ๊ณ„์† ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ €์žฅ์†Œ ๋ถ€์กฑ - ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐฉ๋ฌธ์ž์˜ ๋ชจ๋“  ์ปดํ“จํ„ฐ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜ธ์ŠคํŒ… ์—ฐ๊ฒฐ์„ ๋Š์–ด๋„ ์‚ฌ์ดํŠธ๋ฅผ ๋‹ซ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ด์ „์— ๋ณธ ๋ชจ๋“  ์ •๋ณด๋Š” ์บ์‹œ์— ์žˆ์œผ๋ฉฐ ๊ธ€๋กœ๋ฒŒ ๋„คํŠธ์›Œํฌ์— ์•ก์„ธ์Šคํ•˜์ง€ ์•Š๊ณ ๋„ ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ์ฝ˜ํ…์ธ  ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ".bit" ์˜์—ญ์— ๋„๋ฉ”์ธ ๋“ฑ๋ก์„ ํ†ตํ•ด ์ฃผ์†Œ ์ง€์ • ๊ฐ€๋Šฅ์„ฑ
  • ์‚ฌ์ „ ์„ค์ • ์—†์ด ์ž‘์—…ํ•˜์„ธ์š”. ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์•„์นด์ด๋ธŒ์˜ ์••์ถ•์„ ํ’€๊ณ  ํ•˜๋‚˜์˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณต์ œํ•˜๋Š” ๊ธฐ๋Šฅ
  • ํ˜•์‹ ๊ธฐ๋ฐ˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†๋Š” ์ธ์ฆ BIP32: ๊ณ„์ •์€ ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹์•”ํ˜ธํ™”ํ์™€ ๋™์ผํ•œ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค.
  • P2P ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋‚ด์žฅ SQL ์„œ๋ฒ„;
  • ์ต๋ช…์„ฑ์„ ์œ„ํ•ด Tor๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๊ณผ IPv4 ์ฃผ์†Œ ๋Œ€์‹  Tor ์ˆจ๊ฒจ์ง„ ์„œ๋น„์Šค(.onion) ์‚ฌ์šฉ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • TLS ์•”ํ˜ธํ™” ์ง€์›;
  • uPnP๋ฅผ ํ†ตํ•œ ์ž๋™ ์ ‘๊ทผ์„ฑ;
  • ๋‹ค์–‘ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์ž‘์„ฑ์ž๋ฅผ ์‚ฌ์ดํŠธ์— ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐ€์šฉ์„ฑ(openproxy)
  • ๋‰ด์Šคํ”ผ๋“œ ๋ฐฉ์†ก ์ง€์›
  • ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ๋ฐ ์šด์˜ ์ฒด์ œ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ZeroNet 0.7์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ

  • Python3์„ ์ง€์›ํ•˜๋„๋ก ์ฝ”๋“œ๊ฐ€ ์žฌ์ž‘์—…๋˜์–ด Python 3.4-3.8๊ณผ์˜ ํ˜ธํ™˜์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ๋ณดํ˜ธ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋™๊ธฐํ™” ๋ชจ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์™ธ๋ถ€ ์ข…์†์„ฑ์„ ์œ„ํ•ด ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฃผ์š” ๋ฐฐํฌ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์ง€ํ„ธ ์„œ๋ช…์„ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ 5~10๋ฐฐ ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค(libsecp256k1 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋จ).
  • ํ•„ํ„ฐ๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ์ƒ์„ฑ๋œ ์ธ์ฆ์„œ์˜ ๋ฌด์ž‘์œ„ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • P2P ์ฝ”๋“œ๊ฐ€ ZeroNet ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ UiPluginManager ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenSSL 1.1์— ๋Œ€ํ•œ ์ „์ฒด ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ํ”ผ์–ด์— ์—ฐ๊ฒฐํ•  ๋•Œ ๋”๋ฏธ SNI ๋ฐ ALPN ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTTPS๋ฅผ ํ†ตํ•œ ์ผ๋ฐ˜ ์‚ฌ์ดํŠธ ํ˜ธ์ถœ๊ณผ ๋” ์œ ์‚ฌํ•œ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ZeroNet 0.7.0 ์ถœ์‹œ์™€ ๊ฐ™์€ ๋‚  ํ˜•์„ฑ ์—…๋ฐ์ดํŠธ 0.7.1์€ ์ž ์žฌ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ฝ”๋“œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ์œ„ํ—˜ํ•œ ์ทจ์•ฝ์ ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ ๋ณ€์ˆ˜ ๋ Œ๋”๋ง์„ ์œ„ํ•œ ์ฝ”๋“œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๊ฐœ๋ฐฉํ˜• ์™ธ๋ถ€ ์‚ฌ์ดํŠธ๋Š” ๋ฌด์ œํ•œ ADMIN/NOSANDBOX ๊ถŒํ•œ์œผ๋กœ WebSocket์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์—์„œ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. open_browser ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์กฐ์ž‘.
์ด ์ทจ์•ฝ์ ์€ ๋ธŒ๋žœ์น˜ 0.7๊ณผ ๊ฐœ์ •ํŒ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ์‹คํ—˜์  ๋นŒ๋“œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 4188 (20์ผ ์ „์— ๋ณ€๊ฒฝ๋จ)

์ถœ์ฒ˜ : opennet.ru

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