๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

์˜ค๋Š˜๋‚  ๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ์†”๋ฃจ์…˜์€ ํŠน์ • ๋ธ”๋ก์ฒด์ธ ๋˜๋Š” ํ•ด๋‹น ํฌํฌ์— ๋งž์ถฐ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋Šฅ์ด ๋‹ค๋ฅธ ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์†”๋ฃจ์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๊ณ  ๋‹ค๋ฅธ ์ผ๋ถ€๋Š” SaaS๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ ๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ ํŒ€์—์„œ ๋งŒ๋“  ๋‚ด๋ถ€ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋‘ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ์—ฌ๋Ÿฌ ์ œํ’ˆ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ๊ฒ€ํ† ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์šด์˜์€ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์šด์˜๊ณผ ์œ ์‚ฌํ•˜๋ฏ€๋กœ ์œ ์‚ฌํ•œ ๋„๊ตฌ์™€ ๋ฐฉ๋ฒ•์„ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์„ ๋” ์ž˜ ์ดํ•ดํ•˜๋ ค๋ฉด ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค์™€ ๊ธฐ์‚ฌ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. ๋”ฐ๋ผ์„œ. ์˜ˆ๋ฅผ ๋“ค์–ด ๋Œ€๊ธฐ ์‹œ๊ฐ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ, ๋ณต์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ฝ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์กฐ.

๋ธ”๋ก์ฒด์ธ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฒค์น˜๋งˆํ‚นํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

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

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

Gremlin์€ ์„ค๊ณ„์ž, DevOps ๋ฐ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ์ด์ž ๋ธ”๋ก์ฒด์ธ์„ ํฌํ•จํ•˜์—ฌ ๊ธฐ์„ฑ ๋ฐ ์‹คํ–‰ ์ค‘์ธ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ”์šฉ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

Hyperledger Caliper๋Š” ํ›จ์”ฌ ๋” ์ „๋ฌธํ™”๋œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ํ•˜์ดํผ๋ ˆ์ € ์บ˜๋ฆฌํผ์Šค. ํ˜„์žฌ Caliper๋Š” Hyperledger ์ œํ’ˆ๊ตฐ(Fabric, Sawtooth, Iroha, Burrow, Besu)๊ณผ Ethereum ๋ฐ FISCO BCOS ๋„คํŠธ์›Œํฌ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ธ”๋ก์ฒด์ธ์„ ๋™์‹œ์— ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Caliper๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ์ŠคํŠธ์šฉ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ๋ฐ ๊ณ„์•ฝ์˜ ํ† ํด๋กœ์ง€๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋…ธ๋“œ ๊ตฌ์„ฑ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ๋Š” ํ•œ ์‹œ์Šคํ…œ์˜ Docker ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ•„์š”ํ•œ ๊ฒƒ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ ์ถœ์‹œ ํ›„ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. Caliper ์ง€ํ‘œ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Hyperledger ๋ธ”๋ก์ฒด์ธ ์„ฑ๋Šฅ ์ง€ํ‘œ, ์ด๊ฒƒ์€ ๋ธ”๋ก์ฒด์ธ ๋ฒค์น˜๋งˆํ‚น ์ฃผ์ œ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ํ›Œ๋ฅญํ•œ ๊ธฐ์‚ฌ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„์˜ Prometheus/Grafana์—์„œ ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Hyperledger Caliper๋Š” ํ…Œ์ŠคํŠธ ๋ฐ˜๋ณต์„ฑ๊ณผ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ์ž๋™ํ™”๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž์™€ ์‹œ์Šคํ…œ ์„ค๊ณ„์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ€์ƒ ๋จธ์‹ , PXNUMXP ๊ณ„์ธต ๋ฐ ๊ธฐํƒ€ ์‹œ์Šคํ…œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋“ฑ ๋ธ”๋ก์ฒด์ธ์˜ ํ•ต์‹ฌ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

MixBytes ํƒฑํฌ EOS ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ํ•ฉ์˜ ๋ฐ ์ตœ์ข…์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  Parity Substrate(Polkadot) ๊ธฐ๋ฐ˜์˜ ํŒŒ๋ผ์ฒด์ธ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ณผ์ •์—์„œ ๋“ฑ์žฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ๋ฉด์—์„œ ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ ๋ฐ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๋…ธ๋“œ์—์„œ ์ค‘์š”ํ•œ ๋ฉ”ํŠธ๋ฆญ์„ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ Hyperledger Caliper์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

MixBytes Tank๋Š” ์—ฌ๋Ÿฌ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค(Digital Ocean, Google Cloud Engine ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ๋…ธ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , ์˜ˆ๋น„ ๊ตฌ์„ฑ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ ๋ฒค์น˜๋งˆํฌ๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜๊ณ , ํ•„์š”ํ•œ ์ธก์ •ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๊ณ , ์ž๋™์œผ๋กœ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํšŒ๋กœ๋ง.

MixBytes Tank๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ์ŠคํŠธ ํ›„ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ตœ์†Œํ™”ํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ํŠน์ง•์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ๋ฐฐํฌ๋ฅผ ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” Molecule ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

MixBytes Tank๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žˆ๋Š” ์‹ค์ œ ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณ‘๋ชฉ ํ˜„์ƒ๊ณผ ์˜ค๋ฅ˜๋ฅผ ์กฐ๊ธฐ์— ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒฑํฌ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ณ ๋„๋กœ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์กฐ๊ฑด์—์„œ ์ฃผ์–ด์ง„ tps๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๋Œ€๋ฅ™์— ๋ถ„์‚ฐ๋œ ์‹ค์ œ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์„ ๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ ๋…ธ๋“œ์—์„œ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š”

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

Whiteblock Genesis๋Š” ์ž์ฒด ํ…Œ์ŠคํŠธ ์‹œ์„ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ํ…Œ์ŠคํŠธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๊ณ , ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ํŽธ๋ฆฌํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

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

๋งคํŠธ

๋ถ„์‚ฐ ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์ Š์€ ์ œํ’ˆ์€ ๋งคํŠธ. Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ(์˜ˆ). ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„œ๋น„์Šค๋Š” ์—ฌ๋Ÿฌ Docker ์ปจํ…Œ์ด๋„ˆ์— ๋„คํŠธ์›Œํฌ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ๋„คํŠธ์›Œํฌ์˜ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ฝ๋‹ˆ๋‹ค. Madt๋Š” ๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์—๋Š” Kademlia ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” p2p ๋„คํŠธ์›Œํฌ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋…ธ๋“œ๋กœ์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ์ง€์—ฐ์ด ์ ์ฐจ ์ฆ๊ฐ€ํ•˜๊ณ  ์ด ๋ฐ์ดํ„ฐ์˜ ์ƒํƒœ๊ฐ€ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

Madt๋Š” ์ตœ๊ทผ์— ๋“ฑ์žฅํ–ˆ์ง€๋งŒ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋งค์šฐ ์œ ์—ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ์ ์ธ ์ œํ’ˆ์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€ ์†”๋ฃจ์…˜

๋ธ”๋ก์ฒด์ธ์˜ ์‹œ์Šคํ…œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ํ…Œ์ŠคํŠธ์—๋Š” ์˜ˆ๋น„ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰, ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ณ„์ • ๋ฐ ์กฐ๊ฑด ์ค€๋น„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์ด์—๋Š” ์ˆ˜๋งŽ์€ ์ฒด์ธ ํฌํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ์˜ ์˜ค๋ฅ˜ ํ…Œ์ŠคํŠธ, ํ•˜๋“œ ํฌํฌ ์‹œ๋‚˜๋ฆฌ์˜ค ํ…Œ์ŠคํŠธ, ์‹œ์Šคํ…œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์กฐ์ž‘์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธ”๋ก์ฒด์ธ์—์„œ ๋‹ค๋ฅด๊ฒŒ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ํŒ€์ด ์ œํ’ˆ ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒค์น˜๋งˆํ‚น์„ ๋‚ด๋ถ€ CI/CD์— ์ ์ง„์ ์œผ๋กœ ์ ์šฉํ•˜๊ณ  ์ž์ฒด ๊ฐœ๋ฐœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šฐ๋ฉฐ, ์ด๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ๊ธฐ๋Šฅ์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์ ์ฐจ ๋” ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.

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

๊ฒฐ๋ก 

์ด ์งง์€ ๋ฆฌ๋ทฐ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ธ”๋ก์ฒด์ธ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์˜ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ํŠน์„ฑ์„ ๋‚˜์—ดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

ํ…Œ์ŠคํŠธ์— ํ–‰์šด์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๋ธ”๋ก์ฒด์ธ์ด ๋น ๋ฅด๊ณ  ๋‚ด๊ฒฐํ•จ์„ฑ์ด ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

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