Skip to content

Latest commit

ย 

History

History
785 lines (426 loc) ยท 70 KB

WHITEPAPER-KR.md

File metadata and controls

785 lines (426 loc) ยท 70 KB

IRIS Network ๋ฐฑ์„œ

์‹ ๋ขฐ๊ฐ€๋Šฅํ•œ ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ธํ„ฐ์ฒด์ธ ์„œ๋น„์Šค ์ธํ”„๋ผ ํ”„๋กœํ† ์ฝœ.

Haifeng Xi [email protected]
Harriet Cao [email protected]

NOTE: ์›๋ฌธ ๋ฐฑ์„œ๋Š” ์•„์ด๋ฆฌ์Šค GitHub์— ์žˆ์œผ๋ฉฐ ๋‚ด์šฉ์ด ํ™œ๋ฐœํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค!

๋ชฉ์ฐจ

์ฃผ์˜์‚ฌํ•ญ

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

์ด ๋ฐฑ์„œ๋Š” ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค

์ด ๋ฐฑ์„œ๋Š” ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ(IRIS Foundation Limited) ๋ฏธ๋ž˜์ง€ํ–ฅ์ ์ธ ๋ชฉํ‘œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์„œ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ผ๋ถ€ ์ •๋ณด๋Š” ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ์ด ๊ฐ€์ง„ ์ •๋ณด์™€ ์ผ๋ถ€ ์ถ”์ •ํ•˜๋Š” ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋ฐฑ์„œ์—์„œ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ๊พธ์ค€ํ•˜๊ฒŒ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์ด๋ฉฐ, ์ด์— ๋”ฐ๋ผ ๊ฑฐ๋ฒ„๋„Œ์Šค, ๊ธฐ์ˆ ์  ์ŠคํŽ™ ๋“ฑ์˜ ์ผ๋ถ€ ๋‚ด์šฉ์ด ๋ฐ˜์˜๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ด๋ฆฌ์Šค ํ† ํฐ์€ ์‹คํ—˜์ ์ธ ์š”์†Œ๊ฐ€ ์žˆ๋Š” ํ”Œ๋žซํผ์—์„œ ์ด์šฉ๋˜๋Š” ํ† ํฐ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”Œ๋žซํผ์€ ์ด ๋ฐฑ์„œ์— ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋น„๊ทœ์ œ ์ƒํ’ˆ์— ๋Œ€ํ•œ ์•ˆ๋‚ด

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

๋ฐฑ์„œ๋Š” ํˆฌ์ž ๊ถŒ์œ ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค

์ด ๋ฐฑ์„œ๋Š” ์•„์ด๋ฆฌ์Šค ํ† ํฐ ํˆฌ์ž์— ๋Œ€ํ•œ ์•ˆ๋‚ด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฐฑ์„œ๋Š” ๊ทธ ์–ด๋–ค ๊ณ„์•ฝ ๋˜๋Š” ํˆฌ์ž ๊ฒฐ์ •์˜ ์ฐธ๊ณ ์„œ๋กœ ์ด์šฉ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

์œ„ํ—˜์„ฑ์— ๋Œ€ํ•œ ์•ˆ๋‚ด

์•„์ด๋ฆฌ์Šค ํ† ํฐ์„ ๊ตฌ๋งคํ•˜๋Š” ํ–‰์œ„์™€ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•œ ํ–‰์œ„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ด๋ฆฌ์Šค ํ† ํฐ์„ ๊ตฌ๋งคํ•˜๊ธฐ ์ „, ๊ฐœ์ธ์€ ์•„์ด๋ฆฌ์Šค ์›น์‚ฌ์ดํŠธ์— ๊ณต์ง€๋˜์–ด์žˆ๋Š” ๊ฒฝ๊ณ  ์™ธ์˜ ๋ชจ๋“  ๋ฆฌ์Šคํฌ๋ฅผ ๋ถ„์„ํ•  ์˜๋ฌด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” ์˜ค์ง ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ์˜ ์ž…์žฅ์„ ๋Œ€๋ณ€ํ•ฉ๋‹ˆ๋‹ค

์ด ๋ฌธ์„œ์— ๋‚˜์—ด๋œ ์ž…์žฅ, ์˜๊ฒฌ ๋“ฑ์€ ์˜ค์ง ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ์˜ ๊ฒƒ์ด๋ฉฐ ๊ทธ ์–ด๋–ค ์ •๋ถ€์˜ ์ •๋ถ€, ์ค€-์ •๋ถ€, ๊ธฐ๊ด€ ๋“ฑ์˜ ์ž…์žฅ์ด ํฌํ•จ๋˜์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ •๋ณด๋Š” ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ์˜ ํŒ๋‹จ ํ•˜์— ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ถœ์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ, ํŠน์ • ์ •๋ณด์˜ ์ •ํ™•์„ฑ๊ณผ ์™„๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•„์ด๋ฆฌ์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฐฑ์„œ์˜ ์›๋ณธ์€ ์˜์–ด๋กœ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

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

์ œ์ž ์—ฐ๊ด€์„ฑ๊ณผ ํ›„์›์€ ์—†์Šต๋‹ˆ๋‹ค

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

์ „๋ฌธ์ ์ธ ์˜๊ฒฌ์— ๋Œ€ํ•œ ๊ณต์ง€

์•„์ด๋ฆฌ์Šค ํ† ํฐ์„ ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๊ธฐ ์ „์—, ๊ฐœ์ธ์€ ๋ณธ์ธ์˜ ๋ณ€ํ˜ธ์‚ฌ, ์„ธ๋ฌด์‚ฌ, ํšŒ๊ณ„์‚ฌ ๋“ฑ ํ•ด๋‹น ๋ถ„์•ผ์˜ ์ „๋ฌธ๊ฐ€์˜ ์˜๊ฒฌ์„ ๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ๊ฐœ์š”

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ๊ทธ๋ฆฌ์Šค ์‹ ํ™”์—์„œ ๋ฌด์ง€๊ฐœ์˜ ํ™”์‹ ์ด์ž ์ฒœ๊ตญ๊ณผ ์ธ๊ฐ„ ์‚ฌ์ด์˜ ์ถฉ์‹คํ•œ ๋ฉ”์‹ ์ €์ธ โ€˜์•„์ด๋ฆฌ์Šคโ€™ ์‹ ์—์„œ ์œ ๋ž˜ํ•ฉ๋‹ˆ๋‹ค.

๊ณ„์•ฝ ๊ด€๊ณ„(contractual relationship)๋Š” ์ธ๊ฐ„ ์‚ฌํšŒ์˜ ๊ทผ๋ณธ์ ์ธ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋ธ”๋ก์ฒด์ธ์˜ ์ค‘์š”์„ฑ์€ ๋ฐ”๋กœ ๊ณ„์•ฝ ๊ด€๊ณ„๋ฅผ ํ•ฉ๋ฆฌ์ ์ธ ๋น„์šฉ์— ํšจ์œจ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘๋œ๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ์—์„œ ๊ฐœ์ธ ๊ฐ„ ๋˜๋Š” ๊ธฐ๊ด€ ๊ฐ„ ์‹ ๋ขฐ๋ฅผ ์Œ“๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆ˜๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์ด ์†Œ๋ชจ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋ธ”๋ก์ฒด์ธ ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋‹น์‚ฌ์ž๋“ค์ด ์ฐธ์—ฌํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ โ€˜์‹ ๋ขฐโ€™๊ฐ€ ์—†์–ด๋„ ๊ณ„์•ฝ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ์ด ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค์˜ ํ•ต์‹ฌ์ด ๋˜๋Š” ์ด์œ ๋Š” ๋ฐ”๋กœ ๋„คํŠธ์›Œํฌ ํšจ๊ณผ์˜ ์ฆ๋Œ€์™€ ๊ฑฐ๋ž˜ ๋น„์šฉ(transaction cost)์˜ ๊ฐ์†Œ๋ผ๊ณ  ์—ฌ๊ฒจ์ง„๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ด๋Ÿฐ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ๋ถˆ๋Ÿฌ์˜ค๋Š” โ€œ๊ฐ€์น˜์˜ ์ธํ„ฐ๋„ท(Internet of Value)โ€์˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋ณด๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, ์ด๋Š” ๊ฐ์ž๊ฐ€ ๊ฐ€์ง„ ๊ธฐ์กด ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์„ ํšจ์œจ์ ์ธ ๋ถ„์‚ฐํ™” ๊ตฌ์กฐ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์œผ๋กœ ์ด์–ด์งˆ ๊ฒƒ์ด๋‹ค. ํŠนํžˆ ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์— ๋‚ด์žฅ๋˜์–ด์žˆ๋Š” ํ† ํฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋„คํŠธ์›Œํฌ ์ฐธ์—ฌ์ž๋“ค์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ๊ณตํ•˜๋ฉฐ ๊ธฐ์กด ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ํ˜์‹ ํ•  ๊ฒƒ์ด๋‹ค. [1].

ํ•˜์ง€๋งŒ, ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์€ ์‹ ์ƒ ๊ธฐ์ˆ ์ด๋‹ค. ๋‹ค๋ฅธ ์‹ ์ƒ ๊ธฐ์ˆ ๋“ค์˜ ํŠน์„ฑ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์•„์ง์€ ๋‹ค์ˆ˜์˜ ๋‹จ์ ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์€ ์ œํ•œ๋œ ์„ฑ๋Šฅ, ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๋ถ€์žฌ ๋“ฑ์˜ ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ๋‹จ์ ๋“ค์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์‹ค์ ์ธ ํ™˜๊ฒฝ์—์„œ์˜ ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค ํ˜‘์—…์„ ์ง€์›ํ•˜๊ธฐ์—๋Š” ๋ถ€์กฑํ•จ์ด ๋งŽ๋‹ค.

์ปจ์†Œ์‹œ์—„ ์ฒด์ธ(Hyperledger Fabric, R3 Corda, Ethereum Enterprise Alliance ๋“ฑ)์€ ์ด๋Ÿฐ ์„ฑ๋Šฅ ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ๊ธฐ์—…ํ™˜๊ฒฝ์— ์ ํ•ฉ ๋ธ”๋ก์ฒด์ธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์™”๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์ปจ์†Œ์‹œ์—„ ์ฒด์ธ๋“ค์€ ๊ฑฐ๋Œ€ํ•œ ๊ธฐ์—…๋“ค์— ์˜ํ•ด์„œ๋งŒ ์ฃผ๋„๋˜๊ณ  ์žˆ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ๋˜ํ•œ, ์ปจ์†Œ์‹œ์—„ ์ฒด์ธ๋“ค์˜ ํ์‡„์ ์ธ ์˜จ์ฒด์ธ(on-chain) ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ์€ ๋น„ํšจ์œจ์ ์ด๋‹ค. ๊ฐœ๋ฐฉ์„ฑ๊ณผ ํ† ํฐ ์ด์ฝ”๋…ธ๋ฏธ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋Œ€์ค‘๋“ค์˜ ๊ธฐ๋Œ€๊ฐ์„ ๋ฐ›๊ณ  ์žˆ๋Š” ํผ๋ธ”๋ฆญ ์ฒด์ธ๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์ปจ์†Œ์‹œ์—„ ์ฒด์ธ์€ ๊ธฐ์ˆ ์  ํ™œ๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ํ‰๊ฐ€๋œ๋‹ค.

์•„์ด๋ฆฌ์Šค๋Š” ํ˜„์กดํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ๊ฐœ์„ ํ•˜์—ฌ ์ˆ˜์ฒœ ๊ฐœ์—์„œ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์ค‘์†Œ ๋น„์ฆˆ๋‹ˆ์Šค(SMB, Small Medium Businesses)์™€ ํ”„๋ฆฌ๋žœ์Šค ์„œ๋น„์Šค ์ œ๊ณต์ž๋“ค์ด ๊ณต์กดํ•˜๋ฉฐ ๋ณด์ƒ์„ ๋ฐ›๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ƒํ•œ๋‹ค.

์ด๋ฅผ ํ˜„์‹คํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ œ๋“ค์ด ํ•ด๊ฒฐ๋˜์–ด ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

๋ชจ๋“  ์—ฐ์‚ฐ(computation)์ด ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ๊ฐ™์€ ์˜จ์ฒด์ธ(on-chain) ์—ฐ์‚ฐ์œผ๋กœ ๊ตฌํ˜„๋  ํ•„์š”๋Š” ์—†๋‹ค

์ด๋”๋ฆฌ์›€[2]์˜ ํŠœ๋ง ์™„์ „(Turing-complete) ๊ฐ€์ƒ๋จธ์‹ ์€ โ€˜์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ'๋ฅผ ๊ตฌ๋™ํ•œ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ด๋Ÿฐ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ฅผ ์ด์šฉํ•ด ํƒˆ์ค‘์•™ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์„ ๊ธฐ๋Œ€ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋Š” ์˜ค์ง ๊ฒฐ์ •๋ก ์  ๋กœ์ง(deterministic logic)๋งŒ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค (๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์„œ๋กœ ๋™์ผํ•œ ์ƒํƒœ(state)์— ๋„๋‹ฌํ•ด์•ผ๋งŒ ๊ฑฐ๋ž˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค).

ํ•˜์ง€๋งŒ ๋‹ค์ˆ˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋“ค์€ ๊ฒฐ์ •๋ก ์ ์ด์ง€ ์•Š๋‹ค. ํ™˜๊ฒฝ์  ๋งค๊ฐœ๋ณ€์ˆ˜(environmental parameter)์™€ ์‹œ๊ฐ„ ๋“ฑ ์ƒํ™ฉ๊ณผ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ์„œ ๋ณ€ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ตœ๊ทผ ๋“ค์–ด ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ์Šคํ…œ๋“ค์˜ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP, Natural Language Processing), ๋จธ์‹  ๋Ÿฌ๋‹, ๊ทธ๋ฆฌ๊ณ  ์˜คํผ๋ ˆ์ด์…˜ ์—ฐ๊ตฌ ๊ฐ™์€ ์ปดํ“จํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋” ๋‚˜์€ ์ฐจ์„ ์ฑ…์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ณผ์ •์—์„œ ๋กœ์ปฌ ์ตœ์  ์ƒํƒœ(local optimal state)์— ๋ฌถ์—ฌ์žˆ์ง€ ์•Š๋„๋ก ๋นˆ๋ฒˆํ•˜๊ฒŒ ์˜๋„์ ์œผ๋กœ ์ž„์˜์„ฑ(randomness)์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋‹ค๋ฅธ ํ•œ ํŽธ์œผ๋กœ, ์ผ๋ถ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋“ค์€ ์˜คํ”„์ฒด์ธ(off-chain)์—์„œ ๊ตฌ๋™๋˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ๊ณ , ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ๊ฐ™์€ ๋ถ„์‚ฐ ๋ณต์ œ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ๋™๋˜๋ฉด ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

์•ž์œผ๋กœ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ํ˜„์‹ค์ ์œผ๋กœ ์ƒ์šฉํ™”๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฐ ์˜คํ”„์ฒด์ธ ์„œ๋น„์Šค๋ฅผ ๋ถ„์‚ฐ์›์žฅ์— ์ด์–ด์ฃผ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.

ํผ๋ธ”๋ฆญ ์ฒด์ธ, ์ปจ์†Œ์‹œ์—„ ์ฒด์ธ์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ๋ฆฌ์†Œ์Šค, ์–ด๋–ป๊ฒŒ ์žฌ์‚ฌ์šฉ ํ•  ๊ฒƒ์ธ๊ฐ€?

ํ•˜๋‚˜์˜ ํผ๋ธ”๋ฆญ ์ฒด์ธ์ด ๋ชจ๋“  ์œ ์ฆˆ ์ผ€์ด์Šค(use case)๋ฅผ ์ถฉ์กฑ์‹œํ‚ค๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งค์ผ ์ƒˆ๋กœ์šด ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์ด ์„ธ์ƒ์— ์†Œ๊ฐœ๋˜๊ณ , ๊ฐ ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ์ž ๋ถ„์•ผ์— ํŠนํ™”๋œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค.

์•”ํ˜ธํ™”ํ ๋ฐ์ดํ„ฐ ์‚ฌ์ดํŠธ ์ฝ”์ธ๋งˆ์ผ“์บก(Coinmarketcap)์„ ์ฐธ๊ณ ํ•˜๋ฉด, ํ˜„์žฌ ๋ฌด๋ ค 1์ฒœ ๊ฐœ ์ด์ƒ์˜ ์•”ํ˜ธํ™”ํ๋“ค์ด ๋‹ค์–‘ํ•œ ๊ฑฐ๋ž˜์†Œ์—์„œ ๊ฑฐ๋ž˜๋˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์ด๋‹ค.

๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜, ๋ฐ์ดํ„ฐ ํ”ผ๋“œ ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹œ์žฅ์—๋Š” ์Šคํ† ๋ฆฌ์ง€ (IPFS, SIA, Storj.io ๋“ฑ), ๋ฐ์ดํ„ฐ ํ”ผ๋“œ (Augur, Gnosis, Oraclize ๋“ฑ) ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท(IOTA ๋“ฑ)๊ณผ ๊ฐ™์€ ๋ธ”๋ก์ฒด์ธ ์„œ๋น„์Šค๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์ด๋ฏธ ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ์œผ๋กœ ์กด์žฌํ•˜๋Š” ํ•ด๊ฒฐ์ฑ…์„ ๋‹ค์‹œ ๊ณ ๋ฏผํ•˜๋ ค๊ณ  ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜คํžˆ๋ ค ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํผ๋ธ”๋ฆญ ์†”๋ฃจ์…˜๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๋ผ๊ณ  ํŒ๋‹จํ•œ๋‹ค.

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

ํ•˜์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€์˜ ์ธํ„ฐ์ฒด์ธ ๊ธฐ์ˆ ์€ ์˜ค์ง ํ† ํฐ ์ˆ˜๋Ÿ‰์˜ ์ด๋™(token value transfer)์— ์ดˆ์ ์„ ๋‘์—ˆ๋‹ค. โ€œ๋‹ค์ˆ˜์˜ ์ฒด์ธ์ด ์ œ๊ณตํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ผ๊นŒ?โ€์— ๋Œ€ํ•œ ์ •๋‹ต์€ ์•„์ง ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค.

์•„์ด๋ฆฌ์Šค๋Š” ์ฝ”์Šค๋ชจ์Šค[3]์™€ ํด์นด๋‹ท(Polkadot)[4] ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ธํ„ฐ์ฒด์ธ ๊ธฐ์ˆ ์„ ๋น„๊ตํ–ˆ๋‹ค. ์ฝ”์Šค๋ชจ์Šค๊ฐ€ ์ƒํ˜ธ์šด์šฉ์„ฑ(interoperability)๊ณผ ํ™•์žฅ์„ฑ(scalability) ์ธก๋ฉด์—์„œ ๋”์šฑ ์„ฑ์ˆ™ํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ๋‹ค.

์ฝ”์Šค๋ชจ์Šค๋Š” โ€œ๋‹ค์ˆ˜์˜ ํ—ˆ๋ธŒ, ๋‹ค์ˆ˜์˜ ์กด(many hubs and many zones)โ€ ๊ทธ๋ฆฌ๊ณ  โ€œ๊ฐ์ž์˜ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ์„ ๊ฐ€์ง„ ๋…๋ฆฝ๋œ ๋ธ”๋ก์ฒด์ธ(each zones are independent blockchains having independent governance models)โ€์˜ ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ๊ณ„๋ฅผ ์ง€ํ–ฅํ•œ๋‹ค. ์ฝ”์Šค๋ชจ์Šค๊ฐ€ ์„ค๊ณ„ํ•œ ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ๊ณ„์˜ ๋””์ž์ธ์€ ์•„์ด๋ฆฌ์Šค๊ฐ€ ์ง€ํ–ฅํ•˜๋Š” ์‹ค์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค-์ง€ํ–ฅ ์•„ํ‚คํ…(SOC, Service-Oriented Architecture)์— ์ ํ•ฉํ•˜๋‹ค.

์ด๋Ÿฐ ์ด์œ ๋กœ ์•„์ด๋ฆฌ์Šค๋Š” ์ฝ”์Šค๋ชจ์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„ํ•˜์˜€๋‹ค. ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ๊ธฐ์กด์˜ ํ—ˆ๋ธŒ์™€ ์กด์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํƒˆ์ค‘์•™ํ™” ์ธํ„ฐ์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ์ฝ”์Šค๋ชจ์Šค/ํ…๋”๋ฏผํŠธ[5] ๊ธฐ๋ฐ˜์˜ ์„œ๋น„์Šค ์ธํ”„๋ผ๋ฅผ ์ ์šฉํ•˜์˜€๊ณ , ํ† ํฐ ํ™œ์šฉ์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” ๋จผ์ € ์ฝ”์Šค๋ชจ์Šค/ํ…๋”๋ฏผํŠธ๋ฅผ ์„ค๋ช…ํ•œ ํ›„, ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ํ˜์‹ ๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์ด์–ด์ง„๋‹ค.

์ฝ”์Šค๋ชจ์Šค์™€ ํ…๋”๋ฏผํŠธ

์ฝ”์Šค๋ชจ์Šค๋Š” [3] โ€˜๋ธ”๋ก์ฒด์ธ์˜ ์ธํ„ฐ๋„ท(Internet of Blockchains)โ€™์„ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ๋‹ค.

์ฝ”์Šค๋ชจ์Šค ์ƒํƒœ๊ณ„๋Š” ์ˆ˜๋งŽ์€ ๋…๋ฆฝ์ ์ธ โ€œ์กด(zone)โ€์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ๊ฐ ์กด์€ ํ…๋”๋ฏผํŠธ ๊ฐ™์€ ํด๋ž˜์‹œ์ปฌ ๋น„์ž”ํ‹ด ์žฅ์•  ํ—ˆ์šฉ(BFT, Byzantine Fault-Tolerant) ํ•ฉ์˜ ํ”„๋กœํ† ์ฝœ์„ ์ค‘์‹ฌ์œผ๋กœ ์ž‘๋™๋œ๋‹ค.

ํ…๋”๋ฏผํŠธ๋Š” ์—„๊ฒฉํ•œ 'ํฌํฌ ์ฑ…์ž„(fork accountability)'์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•…์˜์ ์ธ ํ–‰์œ„๋ฅผ ์–ต์ œํ•˜์—ฌ ์ผ๊ด€์„ฑ, ์•ˆ์ „์„ฑ, ๊ณ ์„ฑ๋Šฅ์ด ๋ณด์žฅ๋˜๋Š” BFT ํ•ฉ์˜ ์—”์ง„์„ ์ œ๊ณตํ•œ๋‹ค. ํ…๋”๋ฏผํŠธ๋Š” ์ด๋”๋ฆฌ์›€์˜ ๊ณ ์„ฑ๋Šฅ ์ง€๋ถ„์ฆ๋ช… ๊ตฌํ˜„ ๋ชจ๋ธ์ธ ์ด๋”๋ฏผํŠธ(Ethermint)[6] ๊ฐ™์€ ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ๋ถ€ํ„ฐ ์˜ค๋ผํด(Oracle) [7], CITA[8], ๊ทธ๋ฆฌ๊ณ  ํ•˜์ดํผ๋ ›์ € ๋ฒ„๋กœ์šฐ(Hyperledger Burrow)[9] ๊ฐ™์€ ์•ˆ์ „์„ฑ๊ณผ ์„ฑ๋Šฅ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ์ปจ์†Œ์‹œ์—„/ํ—ˆ๊ฐ€ํ˜• ๋ธ”๋ก์ฒด์ธ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ธ”๋ก์ฒด์ธ์— ์„ฑ๊ณต์ ์œผ๋กœ ์ ์šฉ๋˜์—ˆ๋‹ค.

ํ˜„์žฌ ํ…๋”๋ฏผํŠธ๋Š” ์ฝ”์Šค๋ชจ์Šค ์ƒํƒœ๊ณ„์˜ ์ฒซ ์กด์ด์ž ํ—ˆ๋ธŒ(Hub)์ธ '์ฝ”์Šค๋ชจ์Šค ํ—ˆ๋ธŒ'์˜ ํ•ฉ์˜ ํ”„๋กœํ† ์ฝœ๋กœ ์ด์šฉ๋˜๊ณ  ์žˆ๋‹ค. ํ—ˆ๋ธŒ๋Š” ๋‹ค์ˆ˜์˜ ์กด๋“ค๊ณผ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ์ข…์˜ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ ๊ฐ€์ƒ UDP/TCP ์ธ IBC(Inter-Blockchain Communication)์„ ํ†ตํ•ด ์ƒํ˜ธ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. IBC๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ํ† ํฐ์€ ๊ฑฐ๋ž˜์†Œ ๋˜๋Š” ์ œ์‚ผ์ž์˜ ์ค‘๊ฐœ์ž ์—†์ด ์ฝ”์Šค๋ชจ์Šค ํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด ํ•œ ์กด์—์„œ๋ถ€ํ„ฐ ๋‹ค๋ฅธ ์กด์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์ฝ”์Šค๋ชจ์Šค SDK๋ฅผ ์ด์šฉํ•ด ๋ˆ„๊ตฌ๋‚˜ ์ƒํ˜ธํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•œ ๋ธ”๋ก์ฒด์ธ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ์ข…์˜ '๋ธ”๋ก์ฒด์ธ ์Šคํƒ€ํ„ฐ ํ‚คํŠธ'์ธ ์ฝ”์Šค๋ชจ์Šค SDK๋Š” ๋†’์€ ์ ์‘์„ฑ์„ ์ œ๊ณตํ•˜์—ฌ ๋ชฉ์ ์— ๋”ฐ๋ฅธ ํŠน์ˆ˜ํ™” ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜๋‹ค.

์•„์ด๋ฆฌ์Šค์˜ ํ˜์‹ 

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ์ˆ ์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ๋‹ค. ์ด๋Ÿฐ ์ ์—์„œ ์•„์ด๋ฆฌ์Šค๋Š” ๋””์ง€ํ„ธ ์ž์‚ฐ์— ํŠนํ™”๋˜์–ด์žˆ๋Š” ๊ธฐ์กด ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ๊ณผ ์ฐจ๋ณ„์ ์„ ์ œ๊ณตํ•œ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ์ ์˜ ๋‘ ๊ฐ€์ง€ ํ•ต์‹ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  • ์˜คํ”„์ฒด์ธ ์ปดํ“จํŒ…/์˜คํ”„์ฒด์ธ ๋ฆฌ์†Œ์Šค์™€ ๋ถ„์‚ฐ์›์žฅ์˜ ์—ฐ๋™์„ฑ
  • ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜(heterogeneous) ๋ธ”๋ก์ฒด์ธ ๊ฐ„์˜ ์ƒํ˜ธ์šด์˜์„ฑ

์šฐ๋ฆฌ๋Š” ์ฝ”์Šค๋ชจ์Šค/ํ…๋”๋ฏผํŠธ ํ™˜๊ฒฝ์— ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ๋ฅผ ์ ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ๋‹ค.

์•„์ด๋ฆฌ์Šค์˜ ์„ค๊ณ„๋Š” ์ˆ˜๋…„๊ฐ„์˜ ์„œ๋น„์Šค ํŠนํ™” ์•„ํ‚คํ…์ฒ˜(SOA, Service-oriented Architecture)์˜ ์‚ฌ๊ณ ๋ฐฉ์‹์—์„œ ์œ ๋ž˜ํ•œ๋‹ค. SOA๋Š” ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„, ๊ณต์œ  ์Šคํ‚ค๋งˆ(Shared Schema) ๊ทธ๋ฆฌ๊ณ  ์ปจํŠธ๋ž™ํŠธ๊ฐ€ ์žˆ๋Š” ์ž์œจ ์„œ๋น„์Šค ์„ค๊ณ„ ๋ฐฉ์‹์ด๋‹ค. [13] ์ดˆ๊ธฐ SOA๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์„œ๋น„์Šค ๋ฒ„์Šค(ESB, Enterprise Service Bus) ๊ฐ™์€ ์ผ์ข…์˜ ๊ณตํ†ต ํ†ต์‹  ๋ฒ„์Šค(common communication bus)๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ๋‹ค. ์ด๋Ÿฐ '๊ณตํ†ต ํ†ต์‹  ๋ฒ„์Šค'๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž์™€ ์„œ๋น„์Šค ์†Œ๋น„์ž๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๋‹ค์ˆ˜์˜ ํ†ต์‹  ์ง€์ ์„ ์—ฐ๊ฒฐํ•ด ์ƒํ˜ธ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ESB ๊ฐ™์€ ์ค‘์•™ํ™” ๋œ ์šด์˜ ์ฒด๊ณ„์—๋Š” ๋‹จ์ผ ์žฅ์•  ์ง€์ (single point of fauilure)์ด ์กด์žฌํ–ˆ์œผ๋ฉฐ, ์„œ๋น„์Šค ๋ฐฐํฌ์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ์žˆ์—ˆ๋‹ค.

๋ฐ˜๋ฉด, ์ตœ๊ทผ ๋“ค์–ด ์ธ๊ธฐ๋ฅผ ๋Œ๊ณ  ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ-์„œ๋น„์Šค ์œ ํ˜•์˜ ์•„ํ‚คํ…์ฒ˜๋Š” SOA์˜ ๋ผ์ดํŠธ ๋ฉ”์‹œ์ง€ ๋Œ€๊ธฐ์—ด(light message queues) ๋ณด๋‹ค ESB์— ์ค‘์ ์„ ๋‘๋ฉฐ ํ•œ ๋‹จ๊ณ„ ์ง„๋ณดํ•œ ๋ชจ์Šต์„ ๋ณด์ด๊ณ  ์žˆ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์„œ๋น„์Šค ๊ฐ„ ์†Œํ†ต(Inter service communication)์€ ๋ธ”๋ก์ฒด์ธ์„ ํ•˜๋‚˜์˜ '์‹ ๋ขฐ ๊ฐ€๋Šฅํ•œ ๋จธ์‹ '์œผ๋กœ ๋‘๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ํ˜‘์—…์„ ์ค‘์žฌํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฐ ํ˜•ํƒœ์˜ ์‹œ์Šคํ…œ์€ ์„œ๋น„์Šค ์ œ๊ณต์ž์™€ ์„œ๋น„์Šค ์†Œ๋น„์ž์˜ ๊ทผ๋ณธ์ ์ธ '์‹ ๋ขฐ'๊ฐ€ ์—†์–ด๋„ ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ํ…๋”๋ฏผํŠธ๋ฅผ ๊ณ ์„ฑ๋Šฅ ํ•ฉ์˜ ์—”์ง„์œผ๋กœ ์ ์šฉํ–ˆ๋‹ค. ํ…๋”๋ฏผํŠธ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠนํ™” ๋ธ”๋ก์ฒด์ธ ์ธํ„ฐํŽ˜์ด์Šค(ABCI, Application BlockChain Interface) ๊ณ„์ธต์ด ์ œ๊ณตํ•˜๋Š” ์œ ์—ฐ์„ฑ์„ ์‘์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ถŒํ•  ์„ค์ •, ์„œ๋น„์Šค ์†Œ๋น„, ๊ทธ๋ฆฌ๊ณ  ์„œ๋น„์Šค ๊ฑฐ๋ฒ„๋„Œ์Šค๋ฅผ ์ผ์ข…์˜ '๊ฑฐ๋ž˜(transaction)'๋กœ ์ •์˜ํ•œ๋‹ค.

์ƒ๋‹จ์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ๋ฐ”์™€ ๊ฐ™์ด, ๋Œ€๋‹ค์ˆ˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ๊ฒฐ์ •๋ก ์ ์ธ(deterministic) ๋ธ”๋ก์ฒด์ธ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋กœ ๊ตฌ์—ฐํ•˜๊ธฐ์— ๋ถ€์ ์ ˆํ•˜๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์„œ๋น„์Šค ๊ณ„์ธต(service layer)์„ ์ด์šฉํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํŠนํ™”๋œ ๋กœ์ง์„ ๋ธ”๋ก์ฒด์ธ ์™ธ๋กœ(off-chain) ํ†ต์‹ ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ธ”๋ก์ฒด์ธ์€ ์ด๋Ÿฐ ์˜คํ”„์ฒด์ธ ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒฐ๊ณผ(result)์— ๋Œ€ํ•œ ํ•ฉ์˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์—๋งŒ ์ ์šฉ์ด ๋œ๋‹ค.

์ด๋Ÿฐ ์•„์ด๋””์–ด๋Š” ๋ผ์ดํŠธ๋‹ ๋„คํŠธ์›Œํฌ์˜ ์˜คํ”„์ฒด์ธ ์Šคํ…Œ์ดํŠธ ์ฑ„๋„(state channel)๊ณผ ํ”Œ๋ผ์ฆˆ๋งˆ์˜ ์‚ฌ๊ธฐ ๋ฐฉ์ง€ ์‚ฌ์ด๋“œ์ฒด์ธ(fraud proof side chains)์—์„œ ์˜๊ฐ์„ ๋ฐ›์•˜๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์‚ฌ์ด๋“œ์ฒด์ธ์„ ์ด์šฉํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๊ธฐ์กด ๋น„์ฆˆ๋‹ˆ์Šค ์—ฐ์‚ฐ ๋กœ์ง์„ ๋ธ”๋ก์ฒด์ธ ์™ธ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ถ”ํ›„ ๋ธ”๋ก์ฒด์ธ์„ ํ•˜๋‚˜์˜ 'ํ•ฉ์˜ ๋„๊ตฌ'๋กœ ์ด์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์—์„œ๋Š” ์œ ์‚ฌํ•œ ์ ์ด ์žˆ๋‹ค.

์ฝ”์Šค๋ชจ์Šค IBC๋Š” ์ธํ„ฐ์ฒด์ธ ํ†ต์‹ ์„ 'ํ•œ ์ฒด์ธ์˜ ๊ณ„์ขŒ์˜ '๊ฐ’(value)'์„ ๋‹ค๋ฅธ ์ฒด์ธ์˜ ๊ณ„์ขŒ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ'์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ, ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” IBC๋ฅผ ํ†ตํ•ด ๋ธ”๋ก์ฒด์ธ ๊ฐ„ ์—ฐ์‚ฐ(computation) ์š”์ฒญ ํ˜•์‹์„ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ์„ค๊ณ„ํ–ˆ๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์ด๋Ÿฐ ๊ธฐ๋Šฅ์ด ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•„์ˆ˜๋ผ๊ณ  ํŒ๋‹จํ•˜๋ฉฐ, ๊ธฐ๋Šฅ์˜ ์ ์šฉ ๊ฐ€๋Šฅ ์‚ฌ๋ก€๋Š” ํ•˜๋‹จ์— ์„ค๋ช…๋˜์–ด์žˆ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์˜จ์ฒด์ธ ๊ฑฐ๋ž˜์˜ ์ฒ˜๋ฆฌ์™€ ์˜คํ”„์ฒด์ธ ๋ฐ์ดํ„ฐ ํ”„๋กœ์„ธ์‹ฑ/๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์‹คํ–‰์˜ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ๋‹ค. ๋˜ํ•œ IBC ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒํ•˜์—ฌ ์˜คํ”„์ฒด์ธ ๋ฐ์ดํ„ฐ ํ”„๋กœ์„ธ์‹ฑ์ด ํ•„์š”์— ๋”ฐ๋ผ ํฌ๋กœ์Šค-์ฒด์ธ ํ˜•ํƒœ๋กœ ์š”์ฒญ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

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

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ๋””์ž์ธ

์•„์ด๋ฆฌ์Šค

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ์™€ ๋™์ผํ•œ ํ† ํด๋กœ์ง€(topology)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์•„์ด๋ฆฌ์Šค ํ—ˆ๋ธŒ๋ฅผ ์ฝ”์Šค๋ชจ์Šค ํ—ˆ๋ธŒ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์ผ์ข…์˜ ์ฝ”์Šค๋ชจ์Šค ์กด์ด์ž ์ง€์—ญ ํ—ˆ๋ธŒ๋กœ ์ž๋ฆฌ ์žก๊ฒŒ ๋œ๋‹ค.

์•„์ด๋ฆฌ์Šค SDK(์ฝ”์Šค๋ชจ์Šค SDK๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ ์•„์ด๋ฆฌ์Šค์— ํŠนํ™”๋œ ํ™•์žฅ๋œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์•„์ด๋ฆฌ์Šค ํ’€ ๋…ธ๋“œ(full node)๋“ค์€ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์„œ๋น„์Šค ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ IPFS(InterPlanetary File System) ๋…ธ๋“œ์˜ ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•œ๋‹ค.

iService(์•„์ด๋ฆฌ์Šค ์„œ๋น„์Šค, IRIS Services)๋Š” ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ๊ณ„์™€ ๊ธฐ์กด ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๊ณ„๋ฅผ ์ด์–ด์ฃผ๋Š” ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•œ๋‹ค. iService๋Š” ์˜คํ”„์ฒด์ธ ์„œ๋น„์Šค์˜ ์„œ๋น„์Šค ์ •์˜๋ถ€ํ„ฐ ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ(binding), ์„œ๋น„์Šค ์š”์ฒญ(invocation), ๊ฑฐ๋ฒ„๋„Œ์Šค(ํ”„๋กœํŒŒ์ผ๋ง๊ณผ ๋ถ„์Ÿ ํ•ด๊ฒฐ)๊นŒ์ง€ ์„œ๋น„์Šค ๋ผ์ดํ”„์‚ฌ์ดํด(lifecycle)์˜ ํฌ๊ด„์ ์ธ ์ค‘์žฌ ์—ญํ• ์„ ํ•œ๋‹ค. ์•„์ด๋ฆฌ์Šค SDK๋Š” IBC ์ฒ˜๋ฆฌ ๋กœ์ง์— ์„œ๋น„์Šค ์˜๋ฏธ(service semantics)๋ฅผ ์ง€์›ํ•˜์—ฌ ๋ถ„์‚ฐํ™” ๋น„์ฆˆ๋‹ˆ์Šค ์„œ๋น„์Šค๊ฐ€ ๋ธ”๋ก์ฒด์ธ์—๋„ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

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

๋„คํŠธ์›Œํฌ ์ฐธ๊ฐ€์ž

  1. ์†Œ๋น„์ž ๋„คํŠธ์›Œํฌ์— ์š”์ฒญ์„ ํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ›์•„ ์˜คํ”„์ฒด์ธ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ €.

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

ํ˜„์žฌ ๊ณ„ํš์œผ๋กœ์จ๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๋ณธ์ธ์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ ์ผ์ •์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ ์ˆ˜์ˆ˜๋ฃŒ๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ๊ณ ์œ  ํ† ํฐ IRIS๋กœ ์ง€๋ถˆ๋œ๋‹ค. ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๋ณธ์ธ์ด ์Šน์ธํ•œ ๋‹ค๋ฅธ ์ฝ”์Šค๋ชจ์Šค ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์œผ๋กœ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์€ ์ถ”ํ›„ ๊ฒ€ํ† ํ•  ์˜ˆ์ •์ด๋‹ค.

  1. ํ”„๋กœํŒŒ์ผ๋Ÿฌ ํ™์ฝฉ์˜ ๊ธฐ์—…์ธ ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ(IRIS Foundation Limited)์„ ๋Œ€ํ‘œํ•˜์—ฌ ์ผํ•˜๋Š” ์œ ์ €์ด๋‹ค. ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์—์„œ ์œ ์ผํ•˜๊ฒŒ 'ํ”„๋กœํŒŒ์ผ๋ง ๋ชจ๋“œ(profiling mode)'๋กœ iService ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ €์ด๋‹ค. ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋Š” ์†Œ๋น„์ž๋“ค์ด ์„œ๋น„์Šค ์ œ๊ณต์ž๋ฅผ ์„ ํƒํ•  ๋•Œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž ํ”„๋กœํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ์ผ์„ ํ•œ๋‹ค.

์•„์ด๋ฆฌ์Šค ์„œ๋น„์Šค

์ดํ•˜ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์— iService๋ฅผ ์ „๊ฐœํ•˜๋Š” ๊ธฐ์ˆ ์  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ •์˜ํ•œ๋‹ค.

์„œ๋น„์Šค ์ •์˜

Method ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • ID (int): ํ•ด๋‹น iService ๋ฉ”์†Œ๋“œ(method)์˜ ๊ณ ์œ  ์•„์ด๋””

  • Name (string): ํ•ด๋‹น iService ๋ฉ”์†Œ๋“œ์˜ ๊ณ ์œ  ์ด๋ฆ„

  • Description (string): ๋ฉ”์†Œ๋“œ ์„ค๋ช…

  • Input (string): ์ธํ’‹ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์ •์˜

  • Output (string): ์•„์›ƒํ’‹ ๊ฐ’์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์ •์˜

  • Error (string): ๋ชจ๋“  ์—๋Ÿฌ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ตฌ์กฐํ™”๋œ ์ •์˜

  • OutputPrivacy (enum): NoPrivacy ๋˜๋Š” PubKeyEncryption ์ค‘ ํ•˜๋‚˜

ServiceDefinition (์„œ๋น„์Šค ์ •์˜) ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • Name (string): ํ•ด๋‹น iService์˜ ์ด๋ฆ„

  • Description (string): ํ•ด๋‹น iService ์„ค๋ช…

  • Tags (string): ํ•ด๋‹น iService์˜ ํ‚ค์›Œ๋“œ. ์‰ผํ‘œ(,)๋กœ ๋ถ„๊ธฐ๋œ๋‹ค

  • Creator (string): iService ์ œ์ž‘์ž ์†Œ๊ฐœ ๋ฌธ๊ตฌ ์„ ํƒ ์‚ฌํ•ญ

  • ChainID (string): iService๊ฐ€ ์ฒ˜์Œ ์ •์˜๋œ ๋ธ”๋ก์ฒด์ธ์˜ ID

  • Messaging (enum): Unicast ๋˜๋Š” Multicast ์ค‘ ํ•˜๋‚˜

  • Methods ([]Method): ํ•ด๋‹น iService์—์„œ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”์†Œ๋“œ๋“ค์˜ ์ •์˜

CreateServiceDefinitionTx ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • Definition (ServiceDefinition): ์ƒ์„ฑ๋˜๋Š” ์„œ๋น„์Šค ์ •์˜

์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ:

CreateServiceBindingTx ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • DefinitionHash ([]byte): ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ์„œ๋น„์Šค ์ •์˜์˜ ํ•ด์‹œ๊ฐ’

  • ChainID (string): ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ID

  • ProviderAddress ([]byte): ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ๋ธ”๋ก์ฒด์ธ ์ฃผ์†Œ

  • BindingType (enum): Local ๋˜๋Š” Global ์ค‘ ํ•˜๋‚˜; ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋ณธ์ธ์˜ ๋ฐ”์ธ๋”ฉ์ด ๋ณธ์ธ์˜ ์ฒด์ธ ๋ฐ–์œผ๋กœ ๊ณต๊ฐœ๋˜๋Š” ๊ฒƒ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ Global์„ ์ž…๋ ฅํ•œ๋‹ค. ๋ฐ”์ธ๋”ฉ์˜ ๊ณต๊ฐœ ๋ฒ”์œ„๋Š” BindingExposedChainIDs ([]enum)์œผ๋กœ ์ •์˜ํ•œ๋‹ค; ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ Local์„ ์„ ํƒํ•œ๋‹ค. Local๋กœ ์ •์˜๋œ ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ์€ ์†Œ์†๋œ ๋กœ์ปฌ ๋ธ”๋ก์ฒด์ธ์—์„œ๋งŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

  • BindingExposedChainIDs ([]enum): ๋ฐ”์ธ๋”ฉ์ด ๋…ธ์ถœ๋˜๋Š” ๋ธ”๋ก์ฒด์ธ๋“ค์˜ ์ฒด์ธ ID. ๋งŒ์•ฝ BindingType (enum)์ด Local๋กœ ์ •์˜๋œ ๊ฒฝ์šฐ, BindingExposedChainIDs ๊ฐ’์€ ๋น„์–ด์žˆ์–ด๋„ ๋œ๋‹ค.

  • ProviderDeposit (int64): ์œ ํšจํ•œ ๋ฐ”์ธ๋”ฉ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์‹œ์Šคํ…œ์˜ MinProviderDeposit์ด ์ •์˜ํ•˜๋Š” ๊ฐ’ ๋ณด๋‹ค ๋งŽ์€ ์ˆ˜๋Ÿ‰์˜ ์•„์ด๋ฆฌ์Šค ํ† ํฐ์„ ๋ณด์ฆ๊ธˆ(deposit)์œผ๋กœ ์˜ˆ์น˜ํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ์น˜๊ธˆ์ด ๋งŽ์„์ˆ˜๋ก ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ์‹ ๋ขฐ๋„๊ฐ€ ๋†’์€ ๊ฒƒ์„ ์•Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค

  • ServicePricing (string): ๊ฐ ๋ฉ”์†Œ๋“œ ๋ณ„๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ๋œ ์„œ๋น„์Šค์˜ ๊ฐ€๊ฒฉ ๋ชจ๋ธ. ์š”์ฒญ ๋ณ„ ๊ฐ€๊ฒฉ, ๋Œ€๋Ÿ‰ ์š”์ฒญ ํ• ์ธ, ํ• ์ธ ํ–‰์‚ฌ ๋“ฑ์ด ์žˆ์„ ๊ฒฝ์šฐ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค. ์„œ๋น„์Šค ๊ฐ€๊ฒฉ ์ง€๋ถˆ ์ˆ˜๋‹จ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ IRIS ํ† ํฐ์œผ๋กœ ์ •์˜๋˜๋‚˜, ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์›ํ•˜๋Š” ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์„ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ServiceLevel (string): ๋ฐ˜์‘ ์‹œ๊ฐ„(response time), ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€(availability) ๊ฐ™์€ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋ณด์žฅํ•˜๋Š” ์„œ๋น„์Šค ๋ ˆ๋ฒจ์˜ ์ •์˜

  • BindingExpiration (int64): ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์˜ ์œ ํšจ์„ฑ์ด ๋งŒ๋ฃŒ๋˜๋Š” ๋ธ”๋ก ๋†’์ด. ๋งˆ์ด๋„ˆ์Šค ๊ฐ’์€ '๋งŒ๋ฃŒ๋˜์ง€ ์•Š์Œ'์„ ๋œปํ•จ

UpdateServiceBindingTx ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • DefinitionHash ([]byte): ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋ฐ”์ธ๋”ฉ ํ•œ ์„œ๋น„์Šค ์ •์˜์˜ ํ•ด์‹œ๊ฐ’

  • ChainID (string): ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ID

  • ProviderAddress ([]byte): ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ๋ธ”๋ก์ฒด์ธ ์ฃผ์†Œ

  • ChangeSet (string): ํŠน์ • ๋ฐ”์ธ๋”ฉ์˜ DefinitionHash, ChainID, ProviderAddress ๊ฐ’์˜ ๋ณ€๊ฒฝ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋‚˜์—ดํ•œ ๊ฐ’

iService ์ •์˜์™€ ๋ฐ”์ธ๋”ฉ

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ServicePricing,ServiceLevel ๊ทธ๋ฆฌ๊ณ  BindingExpiration์˜ ๊ฐ’์„ ์–ธ์ œ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ServiceLevel๊ณผ BindingExpiration๊ฐ’์„ ๋ฐ”๊ฟ€ ๊ฒฝ์šฐ ์†Œ๋Ÿ‰์˜ ์˜ˆ์น˜๊ธˆ์ด BindingExpirationUpdateSlash ์™€ServiceLevelUpdateSlash์˜ ๋กœ์ง์— ๋”ฐ๋ผ ์Šฌ๋ž˜์‹ฑ ๋  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ BindingExpiration์˜ ๋ธ”๋ก ๋†’์ด ๊ฐ’์ด ํ˜„์žฌ ๋ธ”๋ก ๋†’์ด๋ณด๋‹ค ๋‚ฎ๊ฒŒ ์„ค์ •๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์€ ์ฆ‰์‹œ ๋ฌดํšจ์ฒ˜๋ฆฌ๋œ๋‹ค.

ProviderDeposit ๊ฐ’์˜ ๋ณ€๊ฒฝ์€ ์–ธ์ œ๋‚˜ ํ˜„์žฌ ์˜ˆ์น˜๊ธˆ์— ์˜ˆ์น˜๊ธˆ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ๋งŒ์•ฝ ์˜ˆ์น˜๊ธˆ์ด MinProviderDeposit๊ฐ’ ๋ณด๋‹ค ๋‚ฎ์•„์งˆ ๊ฒฝ์šฐ, ๋ชจ๋“  ๋ฐ”์ธ๋”ฉ ํ–‰์œ„๋Š” ์ตœ์†Œ ์˜ˆ์น˜๊ธˆ ๊ฐ’์„ ๋„˜์„ ๋•Œ๊นŒ์ง€ ๋น„ํ™œ์„ฑํ™”๋œ๋‹ค. ๋งŒ์•ฝ ํŠน์ • ๋ฐ”์ธ๋”ฉ์ด ๋ฌดํšจ์ฒ˜๋ฆฌ๋˜์—ˆ๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ๊ฒฝ์šฐ, ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๋ณธ์ธ์˜ ์˜ˆ์น˜๊ธˆ์„ ์ž๋™์œผ๋กœ ๋Œ๋ ค๋ฐ›๊ฒŒ ๋œ๋‹ค.

BindingType๋Š” Local ๊ฐ’์—์„œ Global๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐ˜๋Œ€๋กœ Global์—์„œ Local๋กœ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์•ฝ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋ณธ์ธ์˜ ๋ฐ”์ธ๋”ฉ์„ Global์—์„œ Local๋กœ ๋ณ€๊ฒฝ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์„ ์šฐ์„  ๋ฌดํšจ์ฒ˜๋ฆฌ ํ•œ ํ›„ ์ƒˆ๋กœ์šด Local๋ฐ”์ธ๋”ฉ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

ProviderAdress ๊ฐ’์€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†๋‹ค. ๋งŒ์•ฝ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ํŠน์ • ๋ฐ”์ธ๋”ฉ์„ ์ƒˆ๋กœ์šด ์ฃผ์†Œ๋กœ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ์กด ๋ฐ”์ธ๋”ฉ์„ ๋ฌดํšจ์ฒ˜๋ฆฌํ•œ ํ›„ ๋ณ€๊ฒฝ๋œ ProviderAddress๊ฐ’์ด ์ž…๋ ฅ๋œ ์ƒˆ๋กœ์šด ๋ฐ”์ธ๋”ฉ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์œ„ ๋‘ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋ฉด, ServiceBinding ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ƒ์„ฑ/๋ณ€๊ฒฝ๋œ๋‹ค.

ServiceBinding ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • DefinitionHash ([]byte)

  • ChainID (string)

  • ProviderAddress ([]byte)

  • ServiceLevel (string)

  • ServicePricing (string)

  • BindingExpiration (int64)

  • IsValid (enum): True ๋˜๋Š” False

์„œ๋น„์Šค ์š”์ฒญ(Service Invocation)

์„œ๋น„์Šค ์š”์ฒญ ๋„์•ˆ

์†Œ๋น„์ž์™€ ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์„œ๋กœ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ์†Œํ†ตํ•œ๋‹ค. ์—”๋“œํฌ์ธํŠธ๋Š” ์š”์ฒญ ํ…Œ์ด๋ธ”(request table) ๊ณผ ์‘๋‹ต ํ…Œ์ด๋ธ”(response table) ํ˜•ํƒœ๋กœ ์กด์žฌํ•œ๋‹ค. ๋ชจ๋“  ์„œ๋น„์Šค ์š”์ฒญ์€ ์š”์ฒญ ํ…Œ์ด๋ธ”์— ํ•ฉ์‚ฐ๋˜๋ฉฐ, ์„œ๋น„์Šค ์ œ๊ณต์ž๋“ค์€ ์ด ํ…Œ์ด๋ธ”์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์š”์ฒญ ํ…Œ์ด๋ธ”์— ์˜ฌ๋ผ์˜จ ์„œ๋น„์Šค ์š”์ฒญ ์ค‘ ๋ณธ์ธ์ด ๋Œ€์ƒ์ธ ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ดํ›„ ๊ฒฐ๊ณผ(๋˜๋Š” ์—๋Ÿฌ)๋ฅผ ์‘๋‹ต ํ…Œ์ด๋ธ”์— ํ•ฉ์‚ฐํ•œ๋‹ค. ์†Œ๋น„์ž๋Š” ์ด ์‘๋‹ต ํ…Œ์ด๋ธ”์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•œ๋‹ค.

Multicast ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ, ๋ชจ๋“  ๋ฐ”์ธ๋”ฉ์€ ํ•˜๋‚˜์˜ ์š”์ฒญ ํ…Œ์ด๋ธ”์„ ๊ณต์œ ํ•œ๋‹ค. Unicast ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ ๊ฐ ๋ฐ”์ธ๋”ฉ ๋ณ„๋กœ ์ƒˆ๋กœ์šด ์š”์ฒญ ํ…Œ์ด๋ธ”์ด ์ƒ์‚ฐ๋˜๊ณ  ์œ ์ง€๋˜๋ฉฐ, ๊ฐ ์†Œ๋น„์ž ๋ณ„๋กœ ๋‹ค๋ฅธ ์‘๋‹ต ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜๊ณ  ์œ ์ง€๋œ๋‹ค.

ServiceRequest๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • ChainID (string): ์†Œ๋น„์ž ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ID

  • ConsumerAddress ([]byte): ์†Œ๋น„์ž์˜ ๋ธ”๋ก์ฒด์ธ ์ฃผ์†Œ

  • DefinitionHash ([]byte): ์„œ๋น„์Šค ์ •์˜์˜ ํ•ด์‰ฌ๊ฐ’

  • MethodID (int): ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์†Œ๋“œ์˜ ID

  • InputValue (string): ๊ตฌ์กฐํ™”๋œ ์ธํ’‹ ๊ฐ’

  • BindingHash ([]byte): ํƒ€๊ฒŸ ๋ฐ”์ธ๋”ฉ์˜ ํ•ด์‰ฌ ๊ฐ’ (Unicast์ธ ๊ฒฝ์šฐ ํ•ด๋‹น๋จ) ์„ ํƒ ์‚ฌํ•ญ

  • MaxServiceFee (int64): ํŠน์ • Multicast์š”์ฒญ์— ๋Œ€ํ•ด์„œ ์†Œ๋น„์ž๊ฐ€ ์ง€๋ถˆ ํ•  ์˜์‚ฌ๊ฐ€ ์žˆ๋Š” ์ตœ๋Œ€ ์ˆ˜์ˆ˜๋ฃŒ ๊ฐ’ ์„ ํƒ ์‚ฌํ•ญ

  • Timeout (int): ์†Œ๋น„์ž๊ฐ€ ์ •์˜ํ•œ ์ตœ๋Œ€ ์‘๋‹ต ๋Œ€๊ธฐ ๊ธฐ๊ฐ„(๋ธ”๋ก ์ˆ˜๋กœ ๊ณ„์‚ฐ)

PostServiceRequestTx ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค:

  • Requests ([]ServiceRequest): ๊ฒŒ์‹œํ•  ์„œ๋น„์Šค ์š”์ฒญ

  • RequestDeposits ([]int64): ์†Œ๋น„์ž๊ฐ€ ๊ฐ ์š”์ฒญ๋งˆ๋‹ค ์˜ˆ์น˜ํ•ด์•ผ ํ•˜๋Š” ์˜ˆ์น˜๊ธˆ(IRIS ํ† ํฐ์œผ๋กœ ๊ณ„์‚ฐ). ์ด ๊ฐ’์€ MinRequestDeposit์— ์ •์˜๋˜์–ด์žˆ๋Š” ๊ฐ’ ๋ณด๋‹ค ๋†’์•„์•ผ ํ•œ๋‹ค. ์ด ์š”์ฒญ ์˜ˆ์น˜๊ธˆ(request deposit)์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›์€ ์†Œ๋น„์ž๊ฐ€ ํ•ด๋‹น ์‚ฌ์‹ค์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ์žฅ๋ คํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค (ConfirmServiceResponseTx ์ฐธ๊ณ )

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ฐ ์†Œ๋น„์ž ์š”์ฒญ์˜ ChainID ์™€ ConsumerAddress, ๋ฐ”์ธ๋”ฉ ํƒ€์ผ“์˜ ์œ ํšจ์„ฑ, ์˜ˆ์น˜๊ธˆ ์ถฉ์กฑ ์—ฌ๋ถ€, ์†Œ๋น„์ž ์ž”๊ณ ๊ฐ€ ํ•ด๋‹น ์„œ๋น„์Šค ์˜ˆ์น˜๊ธˆ๊ณผ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ง€๋ถˆํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ํŠธ๋žœ์žญ์…˜์˜ ์š”์ฒญ(request) ์ˆ˜๊ฐ€ MaxRequestPostBatch์— ์ •์˜๋œ ๊ฐ’ ๋ณด๋‹ค ๋‚ฎ์€์ง€ ๊ฒ€์ฆํ•œ๋‹ค.

์„œ๋น„์Šค ์š”์ฒญ์ด ๊ฒ€์ฆ๋œ ํ›„ ์š”์ฒญ ํ…Œ์ด๋ธ”์— ๊ฒŒ์‹œ๋œ๋‹ค. ์ด๋•Œ ์ˆ˜์ˆ˜๋ฃŒ(Multicast ์š”์ฒญ์˜ ๊ฒฝ์šฐ MaxServiceFee)๋Š” ์†Œ๋น„์ž ์ž”๊ณ ์—์„œ ๊ณต์ œ๋˜๊ณ  ์—์Šคํฌ๋กœ์— ๋ณด๊ด€๋œ๋‹ค.

GetServiceRequest ์ฟผ๋ฆฌ(query)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • DefinitionHash ([]byte): ์„œ๋น„์Šค ์ •์˜์˜ ํ•ด์‰ฌ๊ฐ’

  • BindingHash ([]byte): ํŠน์ • ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ํ•ด์‰ฌ๊ฐ’. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์˜ ์œ ํšจ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ์š”์ฒญ ๊ฐ’์ด ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ChainID์™€ ProviderAddress์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

  • BeginHeight (uint64): ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ ์š”์ฒญ(request)์„ ์ „๋‹ฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ธ”๋ก ๋†’์ด. BatchSize์™€ MaxRequestBatch์˜ ๊ฐ’ ์ค‘ ์ž‘์€ ์ˆซ์ž๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

  • BatchSize (int): ์ตœ๋Œ€ ์š”์ฒญ ์‘๋‹ต ์ˆ˜

ServiceResponse ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • RequestHash ([]byte): ๋งค์นญ ๋œ ์š”์ฒญ์˜ ํ•ด์‰ฌ๊ฐ’

  • BindingHash ([]byte): ์ œ๊ณต์ž ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ์˜ ํ•ด์‰ฌ๊ฐ’

  • OutputValue ([]byte): ๊ตฌ์กฐํ™”๋œ ์•„์›ƒํ’‹ ๊ฒฐ๊ณผ(output result). (์ƒํ™ฉ์— ๋”ฐ๋ผ ์•”ํ˜ธํ™”๋  ์ˆ˜ ์žˆ๋‹ค) ์„ ํƒ ์‚ฌํ•ญ

  • ErrorMsg (string): ๊ตฌ์กฐํ™”๋œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์„ ํƒ ์‚ฌํ•ญ

PostServiceResponseTx ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • Responses ([]ServiceResponse): ์‘๋‹ต ํ…Œ์ด๋ธ”์— ๊ฒŒ์‹œํ•  ์„œ๋น„์Šค ์‘๋‹ต

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ชจ๋“  ์‘๋‹ต์˜ ChainID์™€ ProviderAddress๊ฐ€ ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ์ •๋ณด์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ํŠธ๋žœ์žญ์…˜์˜ ์‘๋‹ต์ˆ˜๊ฐ€ MaxResponsePostBatch์˜ ๊ฐ’ ๋ณด๋‹ค ๋‚ฎ์€์ง€ ๊ฒ€์ฆํ•œ๋‹ค. ๊ฒ€์ฆ๋œ ์š”์ฒญ์€ ์†Œ๋น„์ž์—๊ฒŒ ์ „๋‹ฌ๋˜๊ธฐ ์œ„ํ•ด ์‘๋‹ต ํ…Œ์ด๋ธ”์— ๊ฒŒ์‹œ๋œ๋‹ค.

GetServiceResponse ์ฟผ๋ฆฌ(Query)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • RequestHash ([]byte): ๊ธฐ์กด ์š”์ฒญ(original request)์˜ ํ•ด์‰ฌ๊ฐ’. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ฟผ๋ฆฌ ์š”์ฒญ์ž๊ฐ€ ๊ธฐ์กด ์š”์ฒญ์˜ ChainID์™€ ConsumerAddress๊ฐ€ ๋™์ผํ•œ์ง€ ๊ฒ€์ฆํ•œ๋‹ค.

  • BeginHeight (uint64): ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์†Œ๋น„์ž์—๊ฒŒ ์š”์ฒญ(request)์„ ์ „๋‹ฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ธ”๋ก ๋†’์ด. BatchSize์™€ MaxResponseGetBatch ๊ฐ’ ์ค‘ ์ž‘์€ ์ˆซ์ž๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

  • BatchSize (int): ์ตœ๋Œ€ ์š”์ฒญ ์‘๋‹ต ์ˆ˜

ConfirmServiceResponseTx ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • ResponseHash ([][]byte): ํ™•์ธํ•  ์š”์ฒญ(response)์˜ ํ•ด์‰ฌ๊ฐ’

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ConfirmServiceResponseTx๋ฅผ ์š”์ฒญํ•œ ์œ ์ €๊ฐ€ ํ™•์ธ ๋Œ€์ƒ ์š”์ฒญ(response)์„ ์ƒ์„ฑํ•œ ์œ ์ €์ธ์ง€ ํ™•์ธํ•˜๋ฉฐ, ํŠธ๋žœ์žญ์…˜์˜ ์š”์ฒญ ์ˆ˜๊ฐ€ MaxResponseConfirmBatch์˜ ๊ฐ’ ๋ณด๋‹ค ๋‚ฎ์€ ์ง€๋ฅผ ๊ฒ€์ฆํ•œ๋‹ค.

Timeout์— ์ง€์ •๋œ ๊ฐ’ ๋ฐ–(Multicast ์š”์ฒญ์˜ ๊ฒฝ์šฐ ์ถ”๊ฐ€์ ์ธ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉฐ MaxServiceFee๊ฐ€ ์†Œ์ง„๋œ ๊ฒฝ์šฐ)์˜ ์š”์ฒญ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฑฐ์ ˆํ•œ๋‹ค. Unicast์š”์ฒญ์„ ๋ฐ›์€ ์†Œ๋น„์ž๋Š” ์š”์ฒญ์„ ๋ฐ›์€ ์ฆ‰์‹œ ์ฒ˜๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค. ๋ฐ˜๋ฉด, Multicast์˜ ๊ฒฝ์šฐ ์†Œ๋น„์ž๋Š” ์ „๋‹ฌ๋ฐ›์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— Timeout ๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค.

์†Œ๋น„์ž๊ฐ€ Unicast ์š”์ฒญ์„ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ, ์„œ๋น„์Šค ๋น„์šฉ์€ ์†Œ๋Ÿ‰์˜ ์ˆ˜์ˆ˜๋ฃŒ(ํ•ด๋‹น ์ˆ˜์ˆ˜๋ฃŒ๋Š” ServiceFeeTaxRate์—์„œ ์ •์˜๋œ๋‹ค)๋ฅผ ๊ณต์ œํ•œ ํ›„ ์—์Šคํฌ๋กœ์—์„œ ํ’€๋ ค ์‹œ์Šคํ…œ ๋ฆฌ์ €๋ธŒ(system reserve) ์— ์ถ”๊ฐ€๋œ๋‹ค. ํ•ด๋‹น ์š”์ฒญ์— ์—ฐ๊ด€์ด ์žˆ๋Š” ์˜ˆ์น˜๊ธˆ์€ ์†Œ๋น„์ž์—๊ฒŒ ๋ฐ˜๋‚ฉ๋œ๋‹ค.

๋ฐ˜๋ฉด Multicast์˜ ๊ฒฝ์šฐ๋Š” ์กฐ๊ธˆ ๋” ์ƒํ™ฉ์ด ๋ณต์žกํ•˜๋‹ค. ํŠน์ • ์š”์ฒญ์ด ํ™•์ธ๋  ๊ฒฝ์šฐ, MaxServiceFee์™€ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ๋น„์šฉ์— ๋น„๋ก€ํ•˜๋Š” ์˜ˆ์น˜๊ธˆ์˜ ์ผ๋ถ€๋งŒ ์†Œ๋น„์ž์—๊ฒŒ ๋ฐ˜๋‚ฉ๋œ๋‹ค. ๋งŒ์•ฝ ๋ชจ๋“  ์š”์ฒญ์ด ํ™•์ธ๋œ๋‹ค๋ฉด ์—์Šคํฌ๋กœ์— ๋ณด๊ด€๋˜์–ด์žˆ๋Š” ์ž”๊ณ ๊ฐ€ ์†Œ๋น„์ž์—๊ฒŒ ๋ฐ˜๋‚ฉ๋œ๋‹ค.

๋งŒ์•ฝ ์š”์ฒญ์ด ํŠน์ • ์‘๋‹ต ์—†์ด ๊พธ์ค€ํ•œ ํƒ€์ž„์•„์›ƒ(timeout)์„ ํ•œ๋‹ค๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—์Šคํฌ๋กœ์— ๋‚จ์•„์žˆ๋Š” ์ž”๊ณ ์™€ ์š”์ฒญ ์˜ˆ์น˜๊ธˆ์„ ์ „๋ถ€ ์†Œ๋น„์ž์—๊ฒŒ ๋Œ๋ ค์ค€๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ์†Œ๋น„์ž๊ฐ€ ํŠน์ • ์‘๋‹ต์„ ์ง€์ •๋œ(ResponseConfirmTimeout + ์‘๋‹ต ์ „์†ก ๋‹น์‹œ์˜ ๋ธ”๋ก์ฒด์ธ ๋†’์ด๋ฅผ ๋”ํ•œ ๊ฐ’) ๊ธฐ๊ฐ„ ์•ˆ์— ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ResponseConfirmDelayPenaltyRate์— ๋ช…์‹œ๋œ ์†Œ๋Ÿ‰์˜ ๋ฒŒ๊ธˆ์„ ์ง€๋ถˆํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฒŒ๊ธˆ์„ ์ œ์™ธํ•œ ์˜ˆ์น˜๊ธˆ์€ ์†Œ๋น„์ž์—๊ฒŒ ํ™˜๋ถˆ๋˜๊ณ , ๊ด€๋ จ ์„œ๋น„์Šค ๋น„์šฉ์€ ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ ์ •์ƒ์ ์œผ๋กœ ์ง€๊ธ‰๋œ๋‹ค.

๋ถ„์Ÿ ํ•ด๊ฒฐ

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

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ๋ถ„์Ÿ ํ•ด๊ฒฐ ์ ˆ์ฐจ๋Š” ์„œ๋น„์Šค ์š”์ฒญ(service invocation) ์ ˆ์ฐจ์™€ ์œ ์‚ฌํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค. ๋‹ค๋งŒ ๊ธฐ์กด ์„œ๋น„์Šค ์š”์ฒญ ์ ˆ์ฐจ์™€ ๋‹ฌ๋ฆฌ ์†Œ๋น„์ž๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž์—๊ฒŒ Complaint๋ฅผ ๋ณด๋‚ด๊ณ , ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” Resolution์œผ๋กœ ์‘๋‹ตํ•œ๋‹ค. ๋ถ„์Ÿํ•ด๊ฒฐ ์ ˆ์ฐจ์˜ ์ธํ„ฐ๋ž™์…˜์€ ์ปดํ”Œ๋ ˆ์ธ ํ…Œ์ด๋ธ”(complaint table) ๊ณผ ํ•ด๊ฒฐ์ฑ… ํ…Œ์ด๋ธ”(resolution table) ์ด๋ผ๋Š” ๊ธ€๋กœ๋ฒŒ ์—”๋“œํฌ์ธํŠธ(endpoint)๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค.

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

Complaint๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • ResponseHash ([]byte): ๋ถ„์Ÿ ๋Œ€์ƒ์ธ ์‘๋‹ต(response)์˜ ํ•ด์‰ฌ๊ฐ’

  • Problem (string): ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ์‘๋‹ต์— ๋Œ€ํ•œ ๋ถˆ๋งŒ์˜ ์„ค๋ช…

  • PreferredDisposal (enum): Refund ๋˜๋Š” Redo

Resolution ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • ComplaintHash ([]byte): ์‘๋‹ตํ•˜๋Š” ๋ถ„์Ÿ Complaint์˜ ํ•ด์‰ฌ๊ฐ’

  • Disposal (enum): Refund ๋˜๋Š” Redo

  • Refund (uint64): ํ™˜๋ถˆํ•  ์„œ๋น„์Šค ๋น„์šฉ์˜ ๊ฐ’ ์„ ํƒ ์‚ฌํ•ญ

  • OutputValue ([]byte): ๊ตฌ์กฐํ™”๋œ ์•„์›ƒํ’‹ ๊ฒฐ๊ณผ(output result). (์ƒํ™ฉ์— ๋”ฐ๋ผ ์•”ํ˜ธํ™”๋  ์ˆ˜ ์žˆ๋‹ค) ์„ ํƒ ์‚ฌํ•ญ

์œ„์— ์„ค๋ช…๋œ ๋ถ„์Ÿ ํ•ด๊ฒฐ ์ ˆ์ฐจ๋Š” ๋ฒ•์  ์œ ํšจ์„ฑ์„ ๊ฐ€์ง€์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„์ด๋ฆฌ์Šค๋Š” ์ด๋Ÿฐ ์ ˆ์ฐจ๊ฐ€ ๊ฐ€์žฅ ํ”ํ•œ ๋ถ„์Ÿ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœํŒŒ์ผ๋ง

iService ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ์ ๋“ค์ด ์žˆ๋‹ค. ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ์†Œ๋น„์ž๋“ค์ด ์ ํ•ฉํ•œ ์„œ๋น„์Šค ์ œ๊ณต์ž๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ์†Œ๋น„์ž๋Š” ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„œ๋น„์Šค ์ œ๊ณต์ž๋“ค์˜ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์›ํ•˜์ง€๋งŒ, ์†Œ๋น„์ž ์‚ฌ์šฉ๋ฅ ์ด ์ €์กฐํ•œ ๊ฒฝ์šฐ ์„œ๋น„์Šค ์ œ๊ณต์ž์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ถ€์กฑ์œผ๋กœ ์„ฑ๋Šฅ ์ง€ํ‘œ๊ฐ€ ์ œ๊ณต๋  ์ˆ˜ ์—†์„ ์ˆ˜ ์žˆ๋‹ค.

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

์†Œ๋น„์ž์˜ ์„œ๋น„์Šค ์š”์ฒญ๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์„œ๋น„์Šค ํ”„๋กœํŒŒ์ผ๋ง ์š”์ฒญ์€ ์„œ๋น„์Šค ๋น„์šฉ๊ณผ ์˜ˆ์น˜๊ธˆ์—์„œ ๋ฉด์ œ๋˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ๋ฃŒ๋Š” ์ง€๋ถˆํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ํ”„๋กœํŒŒ์ผ๋ง ์š”์ฒญ์€ ์ง€์ •๋œ ํŠน์ • ์ฃผ์†Œ์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด๋ฅผ ์ธ์ง€ํ•˜์—ฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.

ํ”„๋กœํŒŒ์ผ๋ง ํ™œ๋™์€ ์‹ ๊ทœ ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ ๊ทœ์น™์ ์ด๊ฒŒ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ดํ›„ ์†Œ๋น„์ž ์‚ฌ์šฉ๋ฅ ์ด ๋†’์•„์ง€๋Š” ์„œ๋น„์Šค๋Š” ์‹ค์ œ ์†Œ๋น„์ž ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ”„๋กœํŒŒ์ผ๋ง ํ™œ๋™์ด ์ค„์–ด๋“ค๊ฒŒ ํ•œ๋‹ค.

ํ”„๋กœํŒŒ์ผ๋ง ํ™œ๋™์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ˆ˜์ˆ˜๋ฃŒ(transaction fees)๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์Šคํ…œ์˜ ์˜ˆ์น˜๊ธˆ์—์„œ ์ง€๊ธ‰๋˜๋ฉฐ, ์ถ”ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ์žฌ๋‹จ์ด ๊ฐœ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฟผ๋ฆฌ(Query)

์ƒ๋‹จ์— ์„ค๋ช…๋œ ๋ชจ๋“  ์„œ๋น„์Šค๋Š” ABCI์˜ ์ฟผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค(query interface)[3]๋ฅผ ํ†ตํ•ด ์š”์ฒญ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ฟผ๋ฆฌ๋“ค์€ ์ฟผ๋ฆฌ ์—ฐ๊ฒฐ(Query connection) ์„ ํ†ตํ•ด์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ํ•ฉ์˜ ํ”„๋กœ์„ธ์Šค์— ์ฐธ๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ƒ๋‹จ์— GetServiceRequest ๊ณผ GetServiceResponse ๊ฐ™์€ ์ฟผ๋ฆฌ๋“ค์ด ์ž‘๋™ํ•˜๋Š”์ง€ ์„ค๋ช…๋˜์–ด์žˆ๋‹ค.

๋‹ค์Œ์€ (ํฌ๊ด„์ ์ด์ง€ ์•Š์€) ์ฟผ๋ฆฌ๋“ค์— ๋Œ€ํ•œ ์š”์•ฝ์ด๋‹ค Below is a non-exhaustive summary of our currently planned queries:

์„œ๋น„์Šค ์˜ค๋ธŒ์ ํŠธ(Service object)

์˜ค๋ธŒ์ ํŠธ ํ”ํžˆ ์ด์šฉ๋˜๋Š” ํ•„ํ„ฐ ๊ถŒํ•œ
์„œ๋น„์Šค ์ •์˜(service definition) Name, keywords, source (chain ID), messaging type, with active bindings... ๋ชจ๋‘ ๊ฐ€๋Šฅ
(ํŠน์ • ์ •์˜์— ๋Œ€ํ•œ) ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ Location (local or remote), pricing, service level, expiration... ๋ชจ๋‘ ๊ฐ€๋Šฅ
์„œ๋น„์Šค ์š”์ฒญ(service request) Service definition and binding, blockchain height, batch size ์š”์ฒญ ๊ด€๊ณ„์ž
์„œ๋น„์Šค ์‘๋‹ต(service response) Service request, blockchain height, batch size ์š”์ฒญ/์‘๋‹ต ๊ด€๋ จ ์†Œ๋น„์ž

์„ฑ๋Šฅ ์ง€ํ‘œ

๋ถ„์•ผ ์ง€ํ‘œ ๊ถŒํ•œ
์„œ๋น„์Šค ์ œ๊ณต์ž (์ฃผ์†Œ) ์„œ๋น„์Šค ์ œ๊ณต ํšŸ์ˆ˜ (๊ณผ๊ฑฐ/ํ˜„์žฌ ์ œ๊ณต ์ค‘), ์‘๋‹ต ์‹œ๊ฐ„ (์ตœ์†Œ, ์ตœ๋Œ€, ํ‰๊ท ), ์ฒ˜๋ฆฌ๋œ ์š”์ฒญ (๋กœ์ปฌ, ์›๊ฒฉ), ๋ฏธ์ฒ˜๋ฆฌ ์š”์ฒญ , ๋ฐ›์€ ์ปดํ”Œ๋ ˆ์ธ, ๋ฌด์‹œํ•œ ์ปดํ”Œ๋ ˆ์ธ, ... ๋ชจ๋‘ ๊ฐ€๋Šฅ
์„œ๋น„์Šค ์ œ๊ณต์ž (๋ฐ”์ธ๋”ฉ) ํ™œ์„ฑํ™” ์‹œ๊ฐ„, ์‘๋‹ต ์‹œ๊ฐ„ (์ตœ์†Œ, ์ตœ๋Œ€, ํ‰๊ท ), ์ฒ˜๋ฆฌ๋œ ์š”์ฒญ (๋กœ์ปฌ, ์›๊ฒฉ), ๋ฏธ์ฒ˜๋ฆฌ ์š”์ฒญ, ๋ฐ›์€ ์ปดํ”Œ๋ ˆ์ธ, ๋ฌด์‹œํ•œ ์ปดํ”Œ๋ ˆ์ธ, ... ๋ชจ๋‘ ๊ฐ€๋Šฅ
์†Œ๋น„์ž ์„œ๋น„์Šค ์ด์šฉ ํšŸ์ˆ˜, ์š”์ฒญ ํšŸ์ˆ˜, ํ™•์ธํ•œ ์š”์ฒญ (ํ™•์ธ ๊ธฐ๊ฐ„ ๋‚ด / ํ™•์ธ ๊ธฐ๊ฐ„ ์ดˆ๊ณผ), ์š”์ฒญํ•œ ์ปดํ”Œ๋ ˆ์ธ, ํ™•์ธํ•œ ํ•ด๊ฒฐ์ฑ…(resolution), ... ๋ชจ๋‘ ๊ฐ€๋Šฅ
์†Œ๋น„์ž (์„œ๋น„์Šค, ๋ฐ”์ธ๋”ฉ) ์š”์ฒญ ํšŸ์ˆ˜, ํ™•์ธํ•œ ์š”์ฒญ (ํ™•์ธ ๊ธฐ๊ฐ„ ๋‚ด / ํ™•์ธ ๊ธฐ๊ฐ„ ์ดˆ๊ณผ), ์š”์ฒญํ•œ ์ปดํ”Œ๋ ˆ์ธ, ํ™•์ธํ•œ ํ•ด๊ฒฐ์ฑ…(resolution), ... ๋ชจ๋‘ ๊ฐ€๋Šฅ

IBC ํ™•์žฅ

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๊ฐ€ ์ฝ”์Šค๋ชจ์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์˜ ๊ฐ€์žฅ ํฐ ์žฅ์  ์ค‘ ํ•˜๋‚˜๋Š” ์š”์ฒญ๊ณผ ์ „๊ฐœ๊ฐ€ ์ƒํƒœ๊ณ„ ๋‚ด์— ์žˆ๋Š” '๋ธ”๋ก์ฒด์ธ์˜ ์ธํ„ฐ๋„ท'์—์„œ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•„์ด๋ฆฌ์Šค์˜ ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์„œ๋น„์Šค ์ •์˜๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๋ชจ๋“  ์กด์— ์ „ํŒŒ๋œ๋‹ค;

  2. ๊ธ€๋กœ๋ฒŒ ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ์€ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๋ชจ๋“  ์กด์— ์ „ํŒŒ๋œ๋‹ค;

  3. ํŠน์ • ์›๊ฒฉ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋Œ€์ƒ์ธ ์„œ๋น„์Šค ์š”์ฒญ๊ณผ ์ปดํ”Œ๋ ˆ์ธ์€ ํ•ด๋‹น ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์œผ๋กœ ๋ผ์šฐํŒ… ๋œ๋‹ค;

  4. ํŠน์ • ์›๊ฒฉ ์†Œ๋น„์ž๊ฐ€ ๋Œ€์ƒ์ธ ์‘๋‹ต๊ณผ ํ•ด๊ฒฐ์ฑ…(resolution)์€ ํ•ด๋‹น ์†Œ๋น„์ž๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์œผ๋กœ ๋ผ์šฐํŒ… ๋œ๋‹ค;

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ CreateServiceDefinitionTx๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ด์›ƒ ์ฒด์ธ๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ IBCPacket์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— ServiceDefinition ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋จผ์ € ๊ฒ€์ฆํ•˜๊ณ  ๋กœ์ปฌ ํ™˜๊ฒฝ์— ์ €์žฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด์žˆ๋‹ค.

๊ฐ ์ด์›ƒ ์ฒด์ธ์€ ๋ฆด๋ ˆ์ด ๊ณผ์ •์—์„œ ํ•ด๋‹น ํŒจํ‚ท์ด ํฌํ•จ๋œ IBCPacketTx ๋ฅผ ์ „๋‹ฌ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋งŒ์•ฝ IBCPacketTx๋ฅผ ์ „๋‹ฌ๋ฐ›์€ ์ฒด์ธ์— ์ „๋‹ฌ๋ฐ›์€ ์„œ๋น„์Šค ์ •์˜๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ ์ƒํƒœ์ธ ๊ฒฝ์šฐ, ์ˆ˜์‹ ์ž ์ฒด์ธ์€ ์ƒˆ๋กœ IBCPacket์„ ์ƒ์„ฑํ•ด IBCPacketTx๋ฅผ ์ „๋‹ฌ๋ฐ›์€ ์ฒด์ธ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์ฒด์ธ์—๊ฒŒ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ IBCPacket ์„ ์ „๋‹ฌํ•œ๋‹ค. ๋งŒ์•ฝ ์„œ๋น„์Šค ์ •์˜๊ฐ€ ์ˆ˜์‹ ์ž ์ฒด์ธ์— ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ์ˆ˜์‹ ์ž ์ฒด์ธ์€ ์„œ๋น„์Šค ์ •์˜๋ฅผ ์ „ํŒŒํ•˜์ง€ ์•Š๋Š”๋‹ค.

์œ„์™€ ๋น„์Šทํ•˜๊ฒŒ ServiceBinding์˜BindingType์ด Global๋กœ ์„ค์ •๋˜์–ด ์ƒ์„ฑ๋˜์—ˆ๊ฑฐ๋‚˜ ๊ธฐ์กด Local์—์„œ Global๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ”์ธ๋”ฉ์ด ํฌํ•จ๋œ IBCPacket์ด ๊ฐ ์ด์›ƒ ์ฒด์ธ ๋Œ€์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๊ณ  ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ๋ชจ๋“  ์ฒด์ธ์— ์ „ํŒŒ๋œ๋‹ค.

์œ„์— ์„ค๋ช…๋œ IBCPacket์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • Header (IBCPacketHeader): ํŒจํ‚ท ํ—ค๋”

  • Payload (ServiceDefinition or ServiceBinding): ์„œ๋น„์Šค ์ •์˜ ๋˜๋Š” ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ์˜ ๋ฐ”์ดํŠธ(byte)

IBCPacketHeader์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค:

  • SrcChainID (string): ํ•ด๋‹น ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ID

  • DstChainID (string): ํ•ด๋‹น ํŒจํ‚ท์˜ ๋„์ฐฉํ•  ๋ธ”๋ก์ฒด์ธ์˜ ์ด์›ƒ ์ฒด์ธ ID

  • Number (int): ๋ชจ๋“  ํŒจํ‚ท์— ๋Œ€ํ•œ ๊ณ ์œ  ๋ฒˆํ˜ธ

  • Status (enum): NoAck

  • Type (string): "iris-service-definition" ๋˜๋Š” "iris-service-binding"

ํ•˜๋‹จ์—์„œ๋Š” ์ธํ„ฐ์ฒด์ธ ์„œ๋น„์Šค ์š”์ฒญ์ด ์–ด๋–ป๊ฒŒ IBC๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋Š” ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์ด๋‹ค.

Unicast ์„œ๋น„์Šค ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํƒ€๊ฒŸ ๋ฐ”์ธ๋”ฉ์ด Local์ธ์ง€ ํ™•์ธ์„ ํ•œ๋‹ค. ๋งŒ์•ฝ Local์ด ๋งž๋Š” ๊ฒฝ์šฐ, ServiceRequest๋Š” ์ƒ๋‹จ 2.2์ ˆ์—์„œ ์„ค๋ช…๋œ ์š”์ฒญ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€๊ฐ€ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ Local์ด ์•„๋‹Œ ๊ฒฝ์šฐ, ServiceRequest๊ฐ€ ํฌํ•จ๋œIBCPacket์ด ๋ณ„๋„๋กœ ์ƒ์„ฑ๋œ๋‹ค.

ServiceRequest๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • Header (IBCPacketHeader): ํŒจํ‚ท ํ—ค๋”

  • Payload (ServiceRequest): ์„œ๋น„์Šค ์š”์ฒญ์˜ ๋ฐ”์ดํŠธ(byte)

์ƒ๋‹จ์˜ IBCPacketHeader๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค:

  • SrcChainID (string): ํ•ด๋‹น ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜๋Š” ์ฒด์ธ์˜ ID

  • DstChainID (string): ์›๊ฒฉ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ID (์˜ˆ์‹œ, ServiceRequest.ServiceBinding.ChainID)

  • Number (int): ๋ชจ๋“  ํŒจํ‚ท์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ

  • Status (enum): AckPending

  • Type (string): "iris-service-request"

  • MaxHeight (int): ํ˜„์žฌ ๋ธ”๋ก ๋†’์ด + ServiceRequest.Timeout๊ฐ’

์›๊ฒฉ ์š”์ฒญ์ด ๋ชฉ์ ์ง€ ์ฒด์ธ์— ๋„์ฐฉํ•˜๋Š” ๊ฒฝ์šฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํƒ€๊ฒŸ ๋ฐ”์ธ๋”ฉ์„ ์œ„ํ•ด ํ•ด๋‹น๋˜๋Š” ์—”๋“œํฌ์ธํŠธ(์š”์ฒญ ํ…Œ์ด๋ธ”)์— ํ•ด๋‹น ์š”์ฒญ(request) ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด ์›๊ฒฉ ์š”์ฒญ์— ๋Œ€ํ•œ ํ™•์ธ์€ IBCPacket ํ˜•ํƒœ์˜ ํ™•์ธ์„œ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์ด ์‹œ์ž‘๋œ ์ฒด์ธ์œผ๋กœ ๋Œ์•„๊ฐ€ ํ•ด๋‹น ์ฒด์ธ์˜ ์—”๋“œํฌ์ธํŠธ(์—ฌ๊ธฐ์˜ ๊ฒฝ์šฐ ์‘๋‹ต ํ…Œ์ด๋ธ”)์— ์ถ”๊ฐ€๋˜์–ด ์š”์ฒญํ•œ ์†Œ๋น„์ž์—๊ฒŒ ๋Œ์•„๊ฐ„๋‹ค.

Multicast ์„œ๋น„์Šค๋Š” ๊ธฐ์กด Unicast ์„œ๋น„์Šค์˜ ์ด๋™ ํ˜•ํƒœ์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ์š”์ฒญ์ด ์‹œ์ž‘๋œ ์ฒด์ธ์—์„œ 1๊ฐœ ์ด์ƒ์˜ IBCPacket์ด ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์—์„œ ๋‹ค๋ฅด๋‹ค.

์›๊ฒฉ ์ปดํ”Œ๋ ˆ์ธ(complaint)๊ณผ ํ•ด๊ฒฐ์ฑ…(resolution)์€ ๊ธฐ์กด ์š”์ฒญ-์‘๋‹ต ํ˜•ํƒœ์™€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค๋ช…์„ ์ƒ๋žตํ•œ๋‹ค.

๋‹ค์Œ์€ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜-์˜์กด(application-dependent) IBCPacket ์ข…๋ฅ˜๋‹ค:

์ข…๋ฅ˜ iService ์˜ค๋ธŒ์ ํŠธ
"iris-service-definition" ์„œ๋น„์Šค ์ •์˜(ServiceDefinition)
"iris-service-binding" ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ(ServiceBinding)
"iris-service-request" ์„œ๋น„์Šค ์š”์ฒญ(ServiceRequest)
"iris-service-response" ์„œ๋น„์Šค ์‘๋‹ต(ServiceResponse)
"iris-complaint" ์ปดํ”Œ๋ ˆ์ธ(Complaint)
"iris-resolution" ํ•ด๊ฒฐ์ฑ…(Resolution)

์ ์šฉ์‚ฌ๋ก€

๋‹ค์Œ ๋ถ€๋ถ„์—์„œ๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์ด์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•œ๋‹ค.

ํ”„๋ผ์ด๋ฒ„์‹œ ๋ณดํ˜ธ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ๋ถ„์‚ฐํ™” AI

์šฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ์— ์ œ์‹œํ•˜๋Š” ์„œ๋น„์Šค๋Š” ์ƒํ•˜์ด ๊ธฐ๋ฐ˜ ์Šคํƒ€ํŠธ์—… Bianjie AI๊ฐ€ ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ์ง„ํ–‰ํ•œ ์„œ๋น„์Šค ์ธํ”„๋ผ๋‹ค. ํ˜„์žฌ Bianjie AI๋Š” ์ด ์„œ๋น„์Šค๋ฅผ BEAN (Blockchain Edge Analytics Network)์— ์‘์šฉํ•˜์—ฌ ๋ถ„์„ ๋ชจ๋ธ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋™์ข…์  ์•”ํ˜ธํ™”(homomorphic encryption)๋Š” ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด์ง€๋งŒ, ๋Š๋ฆฐ ์†๋„ ๋•Œ๋ฌธ์— ํ˜„์‹ค์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

BEAN์€ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ์กฐ๊ธˆ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ํ’€์–ด๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค. BEAN์€ ๊ธฐ์กด ๋ถ„์‚ฐํ™” AI ์—ฐ๊ตฌ ์ž๋ฃŒ[14]๊ฐ€ ์ œ์‹œํ•˜๋Š” ๋ชจ๋ธ ํ‰ํ–‰ํ™”(model parallelism)์™€ ์„œ๋น„์Šค ์ง€ํ–ฅ ์•„ํ‚คํ…์ฒ˜(SOA) ๋””์ž์ธ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ถ„์‚ฐํ™” ๋ถ„์„ ์„œ๋น„์Šค๋ฅผ ๋ธ”๋ก์ฒด์ธ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ๋„์ž…ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

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

์ด ์™ธ์— ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  1. ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋ถ„๋งŒ ๋ธ”๋ก์ฒด์ธ์—์„œ ๊ตํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ํ–ฅ์ƒ์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค
  2. ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ ๊ฐ์‚ฌ(audit) ์‹ค์šฉ์ ์ด๋‹ค (์˜๋ฃŒ ๋ถ„์•ผ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜)

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

์ด๋Ÿฐ ์„œ๋น„์Šค ๊ณ„์ธต์„ ์ด์šฉํ•œ ์˜คํ”„์ฒด์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ์˜ˆ์‹œ ์ค‘ ํ•˜๋‚˜๋Š” '์ง„๋‹จ ๊ด€๋ จ ๊ทธ๋ฃน(DRG, Diagnosis Related Group)' ๋ถ„์„ ์„œ๋น„์Šค์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ๋ณ‘์›์ด DRG ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋ฉด, ์š”์ฒญ๋œ ์˜๋ฃŒ์ •๋ณด๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ์ œ๊ณตํ•œ ์†Œ๋น„์ž NLP ํด๋ผ์ธ์–ธํŠธ(์˜ˆ๋ฅผ ๋“ค์–ด SQL/ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜ NLP)๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์ „๋‹ฌ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ์ „๋‹ฌ๋˜๋Š” DRG ๋ฐ์ดํ„ฐ๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž์˜ ์›์น™์— ๋”ฐ๋ผ ์˜คํ”„์ฒด์ธ์—์„œ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐœ์ธ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ๋ณด์กดํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋‹ค.

BEAN์˜ ๊ฒฝ์šฐ ์œ„์— ์žˆ๋Š” ์‚ฌ๋ก€ ์™ธ์—๋„ ๋ถ„์‚ฐํ™” ๋ถ„์„(distributed analytics), ์„œ๋น„์Šค ์ œ๊ณต์ž์™€ ์„œ๋น„์Šค ์†Œ๋น„์ž์˜ ์—ฐ๊ฒฐ, ์•ˆ์ „ํ•œ ๊ฑฐ๋ž˜ ์žฅ๋ถ€ ๊ธฐ๋ก, ๋ถ„์‚ฐ ์ปดํ“จํŒ… ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์ด์šฉ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋˜๊ณ  ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฑฐ๋ž˜์†Œ

๋‹ค์ˆ˜์˜ AI+๋ธ”๋ก์ฒด์ธ ์„œ๋น„์Šค๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ, ๋Œ€๋‹ค์ˆ˜์˜ ํ”„๋กœ์ ํŠธ๋Š” ๋ฐ์ดํ„ฐ ๊ฑฐ๋ž˜์†Œ์™€ ๋ถ„์„ API ๊ฑฐ๋ž˜์†Œ๋ฅผ ์ œ๊ณตํ•  ๊ฒƒ์„ ์—ผ๋‘ํ•˜๊ณ  ์žˆ๋‹ค. IRIS์˜ ์ธํ”„๋ผ์˜ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ์„œ๋น„๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ๊ณต์œ  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ณ  IRIS ์„œ๋น„์Šค ์ œ๊ณต์ž SDK๋ฅผ ์ด์šฉํ•ด ๋ž˜ํ•‘ ๋ถ„์„ API(wrapping analytics API)๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ถ„์‚ฐํ™” ์ „์ž์ƒ๊ฑฐ๋ž˜

IRIS ์ธํ”„๋ผ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ERP ๊ฐ™์€ ๊ธฐ์กด ์ธ๋ฒคํ† ๋ฆฌ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ ์‹ ๋ขฐ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค์˜ ์ธํ„ฐ์ฒด์ธ ์ฟผ๋ฆฌ(query)๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์กด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ํ™˜๊ฒฝ์€ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ํฐ ์žฅ์ ์œผ๋กœ ์ž‘์šฉ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋œ๋‹ค. ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ์•„๋งˆ์กด์ด๋‚˜ ์•Œ๋ฆฌ๋ฐ”๋ฐ” ๊ฐ™์€ ๊ธฐ์กด ์ค‘์•™ํ™” ์ „์ž์ƒ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ๊ณผ ์œ ์‚ฌํ•œ ๋ถ„์‚ฐํ™” ์ „์ž์ƒ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ๊ณผ ์ปจ์†Œ์‹œ์—„ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฐํ•ฉ

๋‹ค์ˆ˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋ฉด ์ปจ์†Œ์‹œ์—„ ๋ธ”๋ก์ฒด์ธ๊ณผ ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฐ ๊ฐ•์ ์„ ๊ฒฐํ•ฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ํฐ ๊ฐ•์ ์ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์‹œ์Šคํ…œ์€ ๋†’์€ ์„ฑ๋Šฅ, ์šฐ์ˆ˜ ๋ณด์•ˆ ๊ทธ๋ฆฌ๊ณ  ๊ฒฝ์ œ์  ์ธ์„ผํ‹ฐ๋ธŒ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

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

IRIS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ธํ”„๋ผ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์˜ ๊ณ ์งˆ์ ์ธ ์„ฑ๋Šฅ, ๋ณด์•ˆ, ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์ธก๋ฉด์˜ ๋‹จ์ ์„ ๊ฐ€์ง€์ง€ ์•Š๊ณ ๋„ ๋Œ€๋Ÿ‰์˜ ์ž๋ฐœ์  ๊ณต๋™ ์ž‘์—…์ด ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

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

ํ† ํฐ ๊ฒฝ์ œํ•™

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ์™€ ๊ฐ™์ด ๋ฉ€ํ‹ฐ ํ† ํฐ ๋ชจ๋ธ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ƒํƒœ๊ณ„ ๋‚ด์— ์žˆ๋Š” ํ† ํฐ๋“ค์€ ๋‹ค๋ฅธ ์กด์—์„œ ๋ณด๊ด€์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์•„์ด๋ฆฌ์Šค ํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด์„œ ์กด ๊ฐ„ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ˜„์žฌ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์šด์˜์—์„œ ์ด์šฉ๋  ํ† ํฐ์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค:

  • ์Šคํ…Œ์ดํ‚น ํ† ํฐ
  • ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ

์Šคํ…Œ์ดํ‚น ํ† ํฐ

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ์˜ ์Šคํ…Œ์ดํ‚น ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋””์ž์ธ์„ ์‘์šฉํ•œ ๊ณ ์œ  ์Šคํ…Œ์ดํ‚น ํ† ํฐ์„ ์ด์šฉํ•œ๋‹ค. ์ด ํ† ํฐ์˜ ๋ช…์นญ์€ IRIS๋‹ค. ํ˜„์žฌ๋กœ์จ IRIS ํ† ํฐ์˜ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  • ๊ฒ€์ฆ์ธ(validator)๊ณผ ์œ„์ž„์ž(delegator)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋œ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ํ•ฉ์˜ ๊ธฐ๋Šฅ

  • ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ๊ฑฐ๋ฒ„๋„Œ์Šค์˜ ํˆฌํ‘œ๊ถŒ์„ ๋ถ€์—ฌํ•˜๋Š” ๊ธฐ๋Šฅ

์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์ด ์กด์žฌํ•œ๋‹ค:

  • ๋„คํŠธ์›Œํฌ ์ˆ˜์ˆ˜๋ฃŒ ์ด ํ† ํฐ์€ ์ŠคํŒธ ๋ฐฉ์ง€ ์šฉ๋„์™€ ์›์žฅ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐธ๋ฆฌ๋ฐ์ดํ„ฐ์—๊ฒŒ ๊ฒฝ์ œ์  ์ธ์„ผํ‹ฐ๋ธŒ๋กœ ์ง€๊ธ‰๋˜๋Š” ์šฉ๋„

  • ์„œ๋น„์Šค ์ˆ˜์ˆ˜๋ฃŒ ์ด ํ† ํฐ์€ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ iService๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ์ œ๊ณต์ž๋“ค์—๊ฒŒ ์ง€๊ธ‰๋˜๋Š” ์šฉ๋„๋กœ ์ด์šฉ๋œ๋‹ค. ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ ๊ฒฐ์ œ์šฉ ํ† ํฐ์ด๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ์˜ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ๋œ ๋ชจ๋“  ํ† ํฐ(์˜ˆ, ํฌํ†ค]๊ณผ IRIS ํ† ํฐ์„ ์ง€์›ํ•  ์˜ˆ์ •์ด๋‹ค

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ๋œ ๋ชจ๋“  ํ† ํฐ์„ ์ง€์›ํ•จ์œผ๋กœ์จ ๋„คํŠธ์›Œํฌ ์ฐธ์—ฌ์ž๋“ค์—๊ฒŒ ๋”์šฑ ํŽธ๋ฆฌํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”์Šค๋ชจ์Šค์˜ network fee token์˜ ๊ฒฝ์šฐ, ๊ฐ ๋ฐธ๋ฆฌ๋ฐ์ดํ„ฐ๋Š” config ํŒŒ์ผ์— ๋ณธ์ธ์ด ๊ฐ ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์— ๋Œ€ํ•œ ๊ฐ€์น˜๋ฅผ ์ •์˜ํ•œ๋‹ค. ์›ํ•œ๋‹ค๋ฉด ํฌ๋ก (cron) ํ”„๋กœ์„ธ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณธ์ธ์ด ์„ ํƒํ•œ ์‹ค์‹œ๊ฐ„ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์— ๋Œ€ํ•œ ๊ฐ€์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋Š” service fee token ์„ค๊ณ„ ๋˜ํ•œ ๋น„์Šทํ•œ ๋ฉ€ํ‹ฐ ํ† ํฐ ๋ชจ๋ธ์ด ์ง€์›๋  ์˜ˆ์ •์ด๋‹ค. ์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๋ณธ์ธ์ด ์›ํ•˜๋Š” ํ† ํฐ์œผ๋กœ ์„œ๋น„์Šค ๋น„์šฉ์„ ์ง€๋ถˆ๋ฐ›์„ ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ๊ฐ์ž์˜ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ์ฐธ๊ฐ€์ž๊ฐ€ ์•”ํ˜ธํ™”ํ ๊ฐ€๊ฒฉ ๋ณ€๋™์„ฑ์— ๋…ธ์ถœ๋˜๋Š” ํ™•๋ฅ ์„ ๋‚ฎ์ถ”๊ธฐ ์œ„ํ•ด ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ์€ ๋‹ค์–‘ํ•œ ๊ฑฐ๋ž˜์†Œ์—์„œ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ œ๊ณตํ•˜๋Š” iService๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ์ข…์˜ '์˜ค๋ผํด(oracle)' ์„œ๋น„์Šค๋ฅผ ์ถ”ํ›„์— ์ถœ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

์Šคํ…Œ์ดํ‚น ํ† ํฐ๊ณผ ์ˆ˜์ˆ˜๋ฃŒ ํ† ํฐ์˜ ๊ธฐ๋Šฅ๊ณผ ๋””์ž์ธ์€ ๋ฒ•์  ๊ทœ์ œ ์ค€์ˆ˜ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ถ”ํ›„์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.

์ดˆ๊ธฐ ํ† ํฐ ๋ถ„๋ฐฐ

์ œ๋„ค์‹œ์Šค์—์„œ ์ด 2,000,000,000๊ฐœ์˜ IRIS ํ† ํฐ์ด ์ƒ์„ฑ๋œ๋‹ค. IRIS ํ† ํฐ์˜ ๋ถ„๋ฐฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜ˆ์ •๋˜์–ด์žˆ๋‹ค:

  • ํ”„๋ผ์ด๋น— ์„ธ์ผ: 25%

  • Bianjie ๊ฐœ๋ฐœํŒ€: 15% (4๋…„์— ๊ฑธ์ณ์„œ ๋งค์›” 1/48์ด ์–ธ๋ฝ)

  • ํ…๋”๋ฏผํŠธ ๊ฐœ๋ฐœํŒ€: 10% (2๋…„์— ๊ฑธ์ณ์„œ ๋งค์›” 1/24์ด ์–ธ๋ฝ)

  • ์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ: 15% (์•„์ด๋ฆฌ์Šค ์žฌ๋‹จ ์šด์˜์„ ์œ„ํ•ด ๋ณด์œ )

  • ์ƒํƒœ๊ณ„ ๊ฐœ๋ฐœ: 30% (์•„์ด๋ฆฌ์Šค ํ—ˆ๋ธŒ์— ์—ฐ๊ฒฐ๋˜๋Š” ์กด๊ณผ ํ† ํฐ ์Šค์™‘; ์ž ์žฌ์  ์‚ฌ์šฉ์ž ํ›„์›; ์šฐ์ˆ˜ ํŒŒํŠธ๋„ˆ ์ง€์›; ํผ๋ธ”๋ฆญ ์„ธ์ผ ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ)

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

IRIS์˜ ํ”„๋ผ์ด๋น— ์„ธ์ผ๋กœ ๋ฐ›์€ ์ˆ˜์ต๊ธˆ์€ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด์šฉ๋  ์˜ˆ์ •์ด๋‹ค:

  • ์žฌ๋‹จ ์šด์˜๋น„: 10% (์„œ๋น„์Šค ์ œ๊ณต์ž, ๋ฒ•์  ์ž๋ฌธ, ์ปจ์„คํŒ…, ๊ฐ์‚ฌ ๊ฐ™์€ ์™ธ๋ถ€ ์„œ๋น„์Šค ๋น„์šฉ ํฌํ•จ)

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๋น„: 50% (๋ฉ”์ธ๋„ท ๊ฐœ๋ฐœ๊ณผ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ด€๋œ ๋น„์šฉ)

  • ๊ฐœ๋ฐœ ์ง€์›: 10% (ํ•ด์ปคํ†ค ์ง€์›, ๋ด‰์‚ฌ์ž ์ง€์›, ๊ต์œก ํ›ˆ๋ จ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ)

  • R&D ์ง€์›: 10% (์ปจํผ๋Ÿฐ์Šค, ์—ฐ๊ตฌ ํ”„๋กœ๊ทธ๋žจ, ๋Œ€ํ•™ ํ™œ๋™)

  • ๋งˆ์ผ€ํŒ… ๋ฐ ํ™๋ณด: 20% (์‚ฌ์—… ๊ฐœ๋ฐœ, ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”„๋กœ๊ทธ๋žจ, ์—ฌํ–‰๋น„, ํ™๋ณด, ์ถœํŒ, ๋“ฑ์— ํ•„์š”ํ•œ ๋น„์šฉ)

๋กœ๋“œ๋งต

์•„์ด๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ์˜ ๊ณ„ํš์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ด ์ •๋ณด๋Š” ์˜ˆ์ธก์„ฑ ์ง€ํ‘œ์ด๋ฉฐ ์–ธ์ œ๋‚˜ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ํŒ๊ตฌ(PANGU) (2018๋…„ 1์›” ~ 2019๋…„ 3์›”) ์•„์ด๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋‹จ๊ณ„๋Š” ์•„์ด๋ฆฌ์Šค ํ—ˆ๋ธŒ ์šด์˜์— ์ง‘์ค‘๋œ๋‹ค. ์•„์ด๋ฆฌ์Šค๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ณต๊ฐœํ•  ์˜ˆ์ •์ด๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์•„์ด๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ๋Š” ์„œ๋น„์Šค ์ •์˜, ์„œ๋น„์Šค ๋ฐ”์ธ๋”ฉ, ์„œ๋น„์Šค ์š”์ฒญ, ์ฟผ๋ฆฌ ๊ฐ™์€ ์•„์ด๋ฆฌ์Šค์˜ ์„œ๋น„์Šค ๊ณ„์ธต์˜ ๊ธฐ์ดˆ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ์ง‘์ค‘ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์•ฝ 1-2๊ฐœ์˜ ํŒŒํŠธ๋„ˆ์‚ฌ๋ฅผ ํ†ตํ•ด iService๋ฅผ ๊ณต๊ฐœํ•  ์˜ˆ์ •์ด๋‹ค.

  • ๋ˆ„์™€(NUWA) (2019๋…„ 4์›” ~ 2019๋…„ 9์›”) ์ด ๋‹จ๊ณ„์—์„œ๋Š” IRIS SDK์˜ ๋ฒ ํƒ€ ๋ฒ„์ „์„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๊ณต๊ฐœํ•  ๊ณ„ํš์ด๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ IRISnet ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ์—์„œ iService ๊ธฐ๋Šฅ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—…๊ทธ๋ ˆ์ด๋“œ๋  ์˜ˆ์ •์ด๋‹ค. ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠนํ™” ๋ธ”๋ก์ฒด์ธ๋“ค๊ณผ ํ˜‘๋ ฅํ•˜์—ฌ ์•„์ด๋ฆฌ์Šค ํ—ˆ๋ธŒ์˜ ์กด์œผ๋กœ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๊ฒŒ ์ง€์›ํ•˜๊ณ  ์ฝ”์Šค๋ชจ์Šค ํ—ˆ๋ธŒ์™€ ์—ฐ๊ฒฐ๋  ๊ณ„ํš์„ ์ถ”์ง„ํ•  ์˜ˆ์ •์ด๋‹ค.

  • ์ฟ ์•„ํ‘ธ(KUAFU) (2019๋…„ 10์›” ~ 2019๋…„ 12์›”) ์„ธ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ๊ฑฐ๋ฒ„๋„Œ์Šค ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์ˆœ์ฐจ์  ์—…๊ทธ๋ ˆ์ด๋“œ์— ์ง‘์ค‘ํ•  ์˜ˆ์ •์ด๋‹ค.

  • ํ˜ธ์šฐ์ด(HOUYI) (2020๋…„ ์ดํ›„) ๋„ค ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋ฅผ ๋”์šฑ ํ˜์‹ ์ ์ด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•  ์˜ˆ์ •์ด๋‹ค. ์ด ์™ธ์—๋„ ๊ฐœ๋ฐœ์ž ์ง€์› ํ™œ๋™์„ ๋Š˜๋ฆฌ๊ณ  IRIS SDK์™€ ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ์˜ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์˜ˆ์ •์ด๋‹ค.

ํŒ€

Bianjie๋Š” ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์ฝ”์–ด ๊ฐœ๋ฐœํŒ€์ด๋‹ค. 2016๋…„์— ์ƒํ•˜์ด์˜ ์Šคํƒ€ํŠธ์—…์œผ๋กœ ์„ค๋ฆฝ๋œ Bianjie ํŒ€์€ ๋ถ„์‚ฐํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์˜ค๋žœ ๊ฒฝ๋ ฅ์„ ์ž๋ž‘ํ•œ๋‹ค. Bianjie๋Š” ์˜๋ฃŒ ๊ธฐ๊ด€๊ณผ ๊ธˆ์œต ๊ธฐ๊ด€์— AI์™€ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ์ ์šฉํ•œ ํ˜์‹ ์ ์ธ ์ œํ’ˆ๊ณผ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ง‘์ค‘ํ•ด์™”๋‹ค. Bianjie๋Š” ์•„์ด๋ฆฌ์Šค ์™ธ์—๋„ BEAN (Blockchain Edge Analytics Network)๋ผ๋Š” ์ฝ”์–ด ์ œํ’ˆ์„ ๊ฐœ๋ฐœ์ค‘์ด๋‹ค. BEAN์€ ์˜๋ฃŒ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ—ˆ๊ฐ€ํ˜• ๋ธ”๋ก์ฒด์ธ์œผ๋กœ, ์ž์—ฐ์–ด์ฒ˜๋ฆฌ, ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‘์šฉํ•ด ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ๋ณด์กดํ•˜๋Š” ์˜๋ฃŒ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์ œ๊ณตํ•œ๋‹ค. Bianjie๋Š” ์ฝ”์Šค๋ชจ์Šค ๋„คํŠธ์›Œํฌ์˜ ์ค‘๊ตญ ์„œ๋น„์Šค/์šด์˜ ํŒŒํŠธ๋„ˆ์ด๋‹ค.

ํ…๋”๋ฏผํŠธ (Tendermint ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ํ˜„์žฌ ์ฝ”์Šค๋ชจ์Šค๋ฅผ ์ œ์ž‘ ์ค‘์— ์žˆ์Œ), Wancloud (Wanxiang Blockchain์˜ ๊ณ„์—ด์‚ฌ) ๋“ฑ์ด ํ˜„์žฌ Bianjie์™€ ํ•จ๊ป˜ ๊ธฐ์ˆ ์  ํŒŒํŠธ๋„ˆ๋กœ ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ์˜ ์ธํ”„๋ผ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋‹ค.

ํ…๋”๋ฏผํŠธ๋Š” ์•„์ด๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ ํŒ€์—๊ฒŒ ๊ธฐ์ˆ ์  ๊ณ ๋ฌธ๊ณผ ๊ฐœ๋ฐœ ์ง€์›์„ ์ œ๊ณตํ•˜์—ฌ ์•„์ด๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ํ…๋”๋ฏผํŠธ ABCI์™€ ์ฝ”์Šค๋ชจ์Šค IBC ํ™œ์šฉ๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. Wancloud๋Š” ์ฝ”์Šค๋ชจ์Šค์™€ ์•„์ด๋ฆฌ์Šค ์ƒํƒœ๊ณ„์˜ ์ „๋žต์  ํŒŒํŠธ๋„ˆ๋กœ์„œ ์•„์‹œ์•„ ์ง€์—ญ์˜ ์ฝ”์Šค๋ชจ์Šค/์•„์ด๋ฆฌ์Šค ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

ํ•ต์‹ฌ ๋ฉค๋ฒ„

Haifeng Xi

Haifeng์€ ์‹œ๋‹ˆ์–ด ๊ธฐ์ˆ ์ž์ด์ž ์‚ฌ์—…๊ฐ€๋‹ค. ๊ทธ๋Š” University of Maryland์—์„œ ์ „์ž์ปดํ“จํ„ฐ๊ณตํ•™ ์„์‚ฌ ํ•™์œ„๋ฅผ ์ทจ๋“ํ–ˆ๋‹ค. ์•„์ด๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Haifeng์€ Wanxiang Blockchain์˜ Wancloud์—์„œ CTO๋ฅผ ํ–ˆ์œผ๋ฉฐ, ๊ทธ ์™ธ์—๋„ ๋ฏธ๊ตญ ๊ธˆ์œต ๊ธฐ์—… Tudor Investment์™€ RBS Sempra์—์„œ ์‹œ๋‹ˆ์–ด ์•„ํ‚คํ…ํŠธ, NASDAQ ์ƒ์žฅ๊ธฐ์—…์„ ํฌํ•จํ•œ 3๊ฐœ์˜ ์ค‘๊ตญ ๊ธฐ์—…์—์„œ CTO ์ง์œ„๋ฅผ ์—ญ์ž„ํ–ˆ๋‹ค.

Harriet Cao

Harriet ์€ ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ์Šค๋งˆํŠธ ์„œ๋น„์Šค์™€ ๋ถ„์‚ฐํ™” AI ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•˜๋Š” ์ƒํ•˜์ด ๊ธฐ๋ฐ˜ Bianjie AI์˜ ์ฐฝ๋ฆฝ์ž๋‹ค. Harriet์€ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ ์—์„œ ์ˆ˜์ฐจ๋ก€ ์ˆ˜์ƒํ–ˆ์œผ๋ฉฐ, 2010 INFORMS Daniel H. Wageris Prize๋ฅผ ๋ฐ›๊ธฐ๋„ ํ–ˆ๋‹ค. Bianjie AI๋ฅผ ์ฐฝ๋ฆฝํ•˜๊ธฐ ์ „, ๊ทธ๋Š” IBM Research์—์„œ 16๋…„ ๋™์•ˆ ์ผํ–ˆ์œผ๋ฉฐ, IBM Research Shanghai Lab์˜ ๋””๋ ‰ํ„ฐ, IBM Global Labs์˜ ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฆฌ๋“œ ๋“ฑ์˜ ์—ญํ• ์„ ๋งก์•˜๋‹ค. Harriet์€ Carnegie Mellon University์˜ ๋กœ๋ด‡๊ณตํ•™ ์„์‚ฌ ํ•™์œ„์™€ ์นญํ™”๋Œ€ํ•™๊ต์˜ ์ž๋™ํ™” ์ปจํŠธ๋กค ์„์‚ฌ ํ•™์œ„๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.

Jae Kwon

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

Tom Tao

2016๋…„์— Wanxiang์— ํ•ฉ๋ฅ˜ํ•œ Tom์€ Wanxiang Blockchain Group์˜ ์ปจ์„คํŒ… ์„œ๋น„์Šค, Wancloud BaaS ํ”Œ๋žซํผ๊ณผ ChainBase ์•ก์…€๋ ˆ๋ ˆ์ดํ„ฐ/์ธํ๋ฒ ์ดํ„ฐ ์„œ๋น„์Šค๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋‹ค. Tom Tao๋Š” Wanxiang์„ ํ•ฉ๋ฅ˜ํ•˜๊ธฐ ์ „์— ์„ธ๊ณ„์ ์ธ ๊ธฐ์—…์—์„œ ์„œ๋น„์Šค ๊ด€๋ฆฌ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋งค๋‹ˆ์ง€๋จผํŠธ ์—ญํ• ์„ ๋ฌด๋ ค 18๋…„ ๋™์•ˆ ํ–ˆ๋‹ค. ๊ทธ๋Š” 2013๋…„๋ถ€ํ„ฐ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค, IoT ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค ํ”Œ๋žซํผ, ๊ทธ๋ฆฌ๊ณ  ์•ก์…€๋ ˆ๋ ˆ์ดํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ค‘๊ตญ ์‹œ์žฅ์— ์†Œ๊ฐœํ•˜๋ฉฐ ๊ธฐ์ˆ ์  ํŠธ๋ Œ๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋”ฐ๋ผ์žก๋Š” ์—ญํ• ์„ ํ–ˆ๋‹ค.

๊ทธ๋Š” Nankai University์—์„œ ์ „๊ธฐ๊ณตํ•™ ํ•™์‚ฌ, ๊ทธ๋ฆฌ๊ณ  Fudan University์—์„œ ๋ฌผ๋ฆฌํ•™ ์„์‚ฌ ํ•™์œ„๋ฅผ ์ˆ˜๋ฃŒํ–ˆ๋‹ค.

์–ด๋“œ๋ฐ”์ด์ €

Dr. Shuo Bai

Bai ๋ฐ•์‚ฌ๋Š” ํ˜„ ChainaLedger Technical Committee ์œ„์›์žฅ์ด์ž ์ „ ์ƒํ•˜์ด ์ฆ๊ถŒ ๊ฑฐ๋ž˜์†Œ์˜ ์ด ์•„ํ‚คํ…ํŠธ์˜€๋‹ค. ๊ทธ๋Š” ์ค‘๊ตญ ์—…๊ณ„์˜ ์‹œ๋‹ˆ์–ด ๋ธ”๋ก์ฒด์ธ ์ „๋ฌธ๊ฐ€์ด๋ฉฐ, Peking Univeristy์—์„œ ๋ฐ•์‚ฌ ํ•™์œ„๋ฅผ ์ˆ˜๋ฃŒํ•œ ํ›„ ํ•™์ˆ , ์—ฐ๊ตฌ, ๊ฐœ๋ฐœ ๋“ฑ์˜ ์ „๋ฌธ ๋ถ„์•ผ์—์„œ ํ™œ๋™์„ ํ–ˆ๋‹ค. ๋˜ํ•œ Chinese Academy of Sciences์™€ Institute of Computing Technology์˜ ์ˆ˜์„ ๊ณผํ•™์ž, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋””๋ ‰ํ„ฐ ๋“ฑ ๊ณ ์œ„ ์ง์œ„์—์„œ ์ผ์„ ํ–ˆ๋‹ค. ๊ทธ๋Š” 2000๋…„๋ถ€ํ„ฐ China National Internet Emergency Center (CNCERT/CC) ์„ค๋ฆฝ์„ ์ฃผ๋„ํ•˜์˜€๋‹ค.

๊ทธ๋Š” ํ•™์ˆ ์  ์ด๋ก  ์—ฐ๊ตฌ ์™ธ์—๋„ ๊ธˆ์œต ๊ฑฐ๋ž˜์†Œ, ์ปจ์†Œ์‹œ์—„ ๋ธ”๋ก์ฒด์ธ, ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ  ๋ถ„์•ผ์— ์ „๋ฌธ์„ฑ๊ณผ ๊ฒฝํ—˜์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.

Jim Yang

Jim Yang ์€ ํ…๋”๋ฏผํŠธ์—์„œ ์ „๋žต์„ ๋งก๊ณ  ์žˆ๋‹ค. ๋ชจ๋ฐ”์ผ ๋ฉ”์‹œ์ง• ์ŠคํŠœ๋””์˜ค ChatX๋ฅผ ์„ค๋ฆฝํ–ˆ์œผ๋ฉฐ, ๊ทธ ์™ธ์—๋„ ๋ ˆ๋“œํ–‡(Red Hat)์— ์ธ์ˆ˜๋œ Identyx์˜ ๊ณต๋™ ์„ค๋ฆฝ์ž์ด์ž ๋Œ€ํ‘œ๋ฅผ ์—ญ์ž„ํ–ˆ๋‹ค. Identyx๋Š” ์˜คํ”ˆ์†Œ์Šค ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹ ์› ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๋‹ค.

Zaki Manian

Zaki Manian, Trusted IoT Alliance ์ „๋ฌด์ด์‚ฌ๋กœ์จ ๋ธ”๋ก์ฒด์ธ๊ณผ ์•”ํ˜ธํ™”ํ ๊ธฐ์ˆ ์— ํฐ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Š” ์•”ํ˜ธํ•™๊ณผ ๋ถ„์‚ฐํ™” ํ•ฉ์˜ ์‹œ์Šคํ…œ์— ๋†’์€ ์ „๋ฌธ์„ฑ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ฝ”์Šค๋ชจ์Šค ํ”„๋กœ์ ํŠธ์˜ ์–ด๋“œ๋ฐ”์ด์ € ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

Adrian Brink

Adrian Brink, ํ…Œ์กฐ์Šค, ์ฝ”์Šค๋ชจ์Šค, ํด์นด๋‹ท ๋“ฑ ๋‹ค์ˆ˜์˜ ์ง€๋ถ„์ฆ๋ช… ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์˜ ๊ฒ€์ฆ์ธ์„ ์šด์˜ํ•˜๋Š” Cryptium Labs์˜ ์„ค๋ฆฝ์ž๋‹ค. ๊ทธ๋Š” ๊ณผ๊ฑฐ ํ…๋”๋ฏผํŠธ์™€ ์ฝ”์Šค๋ชจ์Šค์—์„œ ํŒŒํŠธ๋„ˆ์‹ญ ๋””๋ ‰ํ„ฐ์™€ ์ฝ”์–ด ๊ฐœ๋ฐœ์ž๋กœ ์ผํ–ˆ๋‹ค.

Michael Yuan

Dr. Michael Yuan๋Š” ์‚ฌ์ด๋ฒ„๋งˆ์ผ์ฆˆ ์žฌ๋‹จ์˜ ์ด์‚ฌ๋‹ค. ๊ทธ๋Š” University of Texas at Austin ์šฐ์ฃผ๋ฌผ๋ฆฌํ•™ ๋ฐ•์‚ฌ ํ•™์œ„๋ฅผ ์ˆ˜๋ฃŒํ–ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊ทธ๋Š” ๋ฌด๋ ค 5๊ฐœ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ด€๋ จ ์ฑ…์˜ ์ €์ž๋กœ์จ Prentice Hall, Addison-Wesley ๊ทธ๋ฆฌ๊ณ  O'Reilly ๊ฐ™์€ ์œ ๋ช… ์ถœํŒ์‚ฌ๋ฅผ ํ†ตํ•ด ์ถœํŒ๋˜์—ˆ๋‹ค. Michael Yuan ๋ฐ•์‚ฌ๋Š” ํŒŒ์ด์–ดํญ์Šค, Fedora, JBoss ๋“ฑ ๋‹ค์ˆ˜์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ํ™œ๋™ํ–ˆ์œผ๋ฉฐ, ๋ชจ๋ฐ”์ผ ๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†Œํ”„ํŠธ์›จ์–ด ์ „๋ฌธ๊ฐ€์ด๋‹ค. ๊ทธ๋Š” ๋ฏธ๊ตญ ์ •๋ถ€์˜ ์Šคํฐ์„œ๋ฅผ ๋ฐ›์€ ๋‹ค์ˆ˜์˜ ์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ด๋Œ๊ธฐ๋„ ํ–ˆ๋‹ค.

Yubo Ruan

Yubo๋Š” IRISnet์— ํˆฌ์žํ•œ ํŽ€๋“œ ์ค‘ ํ•˜๋‚˜์ธ 8 Decimal Capital์˜ ์ฐฝ๋ฆฝ์ž๋‹ค. 8 Decimal Capital์€ IRISnet ์™ธ์—๋„ 0x, Kyber, Ontology, Fcoin, Zilliqa, ICON, Wanchain, Bibox, BiShiJie ๋“ฑ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์ ํŠธ์— ํˆฌ์žํ–ˆ๋‹ค. Yubo๋Š” ๋ณด์Šคํ„ด์— ์œ„์น˜ํ•œ Skylight Investment์˜ ๊ณต๋™ ์ฐฝ๋ฆฝ์ž์ด๋ฉฐ, Skylight Investment๋Š” ๋‰ด์š•๊ฑฐ๋ž˜์†Œ์— ์ƒ์žฅ๋œ New Oriental์˜ ํˆฌ์ž๋ฅผ ๋ฐ›๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ณผ๊ฑฐ์— ๊ทธ๋Š” Alisimba(TopHacker Group์— ์ธ์ˆ˜) ๋“ฑ 2๊ฐœ์˜ ๊ธฐ์—…์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฐฝ๋ฆฝํ–ˆ์œผ๋ฉฐ, 4๊ฐœ์˜ ํŠนํ—ˆ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Š” 2017 AACYF 30 under 30์˜ ์ˆ˜์ƒ์ž์ด๋ฉฐ, 2012๋…„ iENA ๊ตญ์ œ ๋ฐœ๋ช…์ž ๋Œ€ํšŒ์—์„œ ์€์ƒ์„ ์ˆ˜์ƒํ–ˆ๋‹ค.

๋ ˆํผ๋Ÿฐ์Šค