Wheelset์šฉ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ: Hyperledger Fabric ๊ฒฝํ—˜

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

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

๋ฌธ์ œ: ๋ธ”๋ก์ฒด์ธ์€ ์•„์ง ํ™•์žฅ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

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

๋ฐฑ์„œ์™€ ๋ฏธ๋””์–ด์˜ ์Šฌ๋กœ๊ฑด์€ ๋‹ค์Œ ๊ฐœ๋ฐœ์ด ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ด๋ผ๊ณ  ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

์ˆจ์–ด ์žˆ์Œ

๊ฑฐ๋ž˜๊ฐ€ ์‹œ์ž‘๋œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์‹œ์Šคํ…œ์˜ ์ตœ์ข… ์Šน์ธ๊นŒ์ง€์˜ ์ง€์—ฐ์€ ๊ฒ€์ฆ ๋ฐ ์ฃผ๋ฌธ์˜ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ฉ”์‹œ์ง€์˜ ์†๋„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ธ”๋ก ํ˜•์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์„ ํ†ตํ•ด 1000000tps๋กœ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ 10MB ๋ธ”๋ก์„ ํ˜•์„ฑํ•˜๋Š” ๋ฐ 488๋ถ„์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•ด๋„ ๋” ์‰ฌ์›Œ์งˆ๊นŒ์š”?

์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๋ถ€๋ถ„๊ณผ ์ด๊ฒƒ์ด ๋ธ”๋ก ํ˜•์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์–ด๋–ป๊ฒŒ ๊ด€๋ จ๋˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด Hyperledger Fabric์—์„œ ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Wheelset์šฉ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ: Hyperledger Fabric ๊ฒฝํ—˜
์—ฌ๊ธฐ์—์„œ ๊ฐ€์ ธ์˜จ: hyperledger-fabric.readthedocs.io/en/release-1.4/arch-deep-dive.html#swimlane

(1) ํด๋ผ์ด์–ธํŠธ๋Š” ํŠธ๋žœ์žญ์…˜์„ ํ˜•์„ฑํ•˜๊ณ  ์ด๋ฅผ ์Šน์ธํ•˜๋Š” ํ”ผ์–ด์—๊ฒŒ ๋ณด๋‚ด๊ณ , ํ”ผ์–ด๋Š” ํŠธ๋žœ์žญ์…˜์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ (์ฒด์ธ์ฝ”๋“œ์— ์˜ํ•ด ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์„ ํ˜„์žฌ ์ƒํƒœ์— ์ ์šฉํ•˜์ง€๋งŒ ์›์žฅ์— ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Œ) RWSet(ํ‚ค ์ด๋ฆ„, ๋ฒ„์ „ ๋ฐ CouchDB์˜ ์ปฌ๋ ‰์…˜์—์„œ ๊ฐ€์ ธ์˜จ ๊ฐ’, (2) ๋ณด์ฆ์ธ์€ ์„œ๋ช…๋œ RWSet๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋‹ค์‹œ ๋ณด๋ƒ…๋‹ˆ๋‹ค. (3) ํด๋ผ์ด์–ธํŠธ๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  ํ”ผ์–ด(๋ณด์ฆ์ธ)์˜ ์„œ๋ช…์„ ํ™•์ธํ•œ ๋‹ค์Œ ํŠธ๋žœ์žญ์…˜์„ ์ฃผ๋ฌธ ์„œ๋น„์Šค์— ๋ณด๋ƒ…๋‹ˆ๋‹ค. , ๋˜๋Š” ํ™•์ธ ์—†์ด ์ „์†กํ•˜๋ฉด(ํ™•์ธ์€ ๋‚˜์ค‘์— ์ˆ˜ํ–‰๋จ) ์ฃผ๋ฌธ ์„œ๋น„์Šค๊ฐ€ ๋ธ”๋ก์„ ํ˜•์„ฑํ•˜๊ณ  (4) ๋ณด์ฆ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ”ผ์–ด์—๊ฒŒ ๋‹ค์‹œ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ํ”ผ์–ด๋Š” ์ฝ๊ธฐ ์„ธํŠธ์˜ ํ‚ค ๋ฒ„์ „์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฒ„์ „, ๋ชจ๋“  ๋ณด์ฆ์ธ์˜ ์„œ๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ธ”๋ก์„ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์ด ์ „๋ถ€๋Š” ์•„๋‹™๋‹ˆ๋‹ค. "์ฃผ๋ฌธ์ž๊ฐ€ ๋ธ”๋ก์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค"๋ผ๋Š” ๋‹จ์–ด ๋’ค์—๋Š” ๊ฑฐ๋ž˜ ์ˆœ์„œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฆฌ๋”๊ฐ€ ํŒ”๋กœ์–ด์—๊ฒŒ ๋ณด๋‚ด๋Š” 3๊ฐœ์˜ ์—ฐ์† ๋„คํŠธ์›Œํฌ ์š”์ฒญ๋„ ์ˆจ๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋”๋Š” ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ํŒ”๋กœ์–ด์—๊ฒŒ ๋ณด๋‚ด๊ณ  ํ›„์ž๋Š” ๊ทธ๋“ค์˜ ๋กœ๊ทธ๋Š” ์„ฑ๊ณต์ ์ธ ๋ณต์ œ ํ™•์ธ์„ ๋ฆฌ๋”์—๊ฒŒ ๋ณด๋‚ด๊ณ , ๋ฆฌ๋”๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ปค๋ฐ‹ํ•˜๊ณ , ํŒ”๋กœ์›Œ์—๊ฒŒ ์ปค๋ฐ‹ ํ™•์ธ์„ ๋ณด๋‚ด๊ณ , ํŒ”๋กœ์›Œ๋Š” ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ํฌ๊ธฐ์™€ ์‹œ๊ฐ„์ด ์ž‘์„์ˆ˜๋ก ์ฃผ๋ฌธ ์„œ๋น„์Šค๊ฐ€ ํ•ฉ์˜๋ฅผ ์ˆ˜๋ฆฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋” ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.. Hyperledger Fabric์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ธ”๋ก ํ˜•์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. BatchTimeout - ๋ธ”๋ก ํ˜•์„ฑ ์‹œ๊ฐ„ ๋ฐ BatchSize - ๋ธ”๋ก ํฌ๊ธฐ(ํŠธ๋žœ์žญ์…˜ ์ˆ˜ ๋ฐ ๋ธ”๋ก ์ž์ฒด์˜ ํฌ๊ธฐ(๋ฐ”์ดํŠธ)). ๋งค๊ฐœ๋ณ€์ˆ˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•œ๊ณ„์— ๋„๋‹ฌํ•˜๋ฉด ์ฆ‰์‹œ ์ƒˆ ๋ธ”๋ก์ด ๋ฐœํ–‰๋ฉ๋‹ˆ๋‹ค. Orderer ๋…ธ๋“œ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ BatchTimeout ๋ฐ BatchSize๋ฅผ ๋Š˜๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ RWSets์˜ ๋ฒ„์ „์ด ๊ด€๋ฆฌ๋˜๋ฏ€๋กœ ๋ธ”๋ก์„ ๋” ํฌ๊ฒŒ ๋งŒ๋“ค์ˆ˜๋ก MVCC ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. ๋˜ํ•œ BatchTimeout์ด ์ฆ๊ฐ€ํ•˜๋ฉด UX๊ฐ€ ์‹ฌ๊ฐํ•˜๊ฒŒ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์Œ ๊ณ„ํš์€ ํ•ฉ๋ฆฌ์ ์ด๊ณ  ๋ช…๋ฐฑํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก ์™„๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๊ฑฐ๋ž˜ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•

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

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

์žฌ์‹œ๋„๋Š” ์ง€์ˆ˜ ์ „๋žต์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋Ÿฌ๋ฉด ๋Œ€๊ธฐ ์‹œ๊ฐ„๋„ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ์ž‘์€ ์ œํ•œ ๋‚ด์—์„œ ๋ฌด์ž‘์œ„ ์žฌ์‹œ๋„๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ผ์ •ํ•œ ์žฌ์‹œ๋„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ณ€ํ˜•์—์„œ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์„ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์‹œ์Šคํ…œ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋น„๋™๊ธฐ์‹์œผ๋กœ ๋งŒ๋“ค์–ด BatchTimeout์œผ๋กœ ์„ค์ •ํ•˜๋Š” 15์ดˆ, 30์ดˆ ๋˜๋Š” 10000000์ดˆ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ๊ฑฐ๋ž˜๋กœ ์ธํ•ด ์‹œ์ž‘๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ธ”๋ก์ฒด์ธ์— ๊ธฐ๋ก๋˜๊ฑฐ๋‚˜ ๊ธฐ๋ก๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์‰ฌ์šด ์˜ต์…˜์€ ์‚ฌ์šฉ์ด ๊ฐ„ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— CouchDB์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” UI์™€ REST API๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ๋ณต์ œ ๋ฐ ์ƒค๋”ฉ์„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Fabric์ด ์›”๋“œ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ CouchDB ์ธ์Šคํ„ด์Šค์— ๋ณ„๋„์˜ ์ปฌ๋ ‰์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

{
 Status string // ะกั‚ะฐั‚ัƒั ั‚ั€ะฐะฝะทะฐะบั†ะธะธ: "pending", "done", "failed"
 TxID: string // ID ั‚ั€ะฐะฝะทะฐะบั†ะธะธ
 Error: string // optional, ัะพะพะฑั‰ะตะฝะธะต ะพะฑ ะพัˆะธะฑะบะต
}

์ด ๋ฌธ์„œ๋Š” ํŠธ๋žœ์žญ์…˜์ด ํ”ผ์–ด์—๊ฒŒ ์ „์†ก๋˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ธฐ๋ก๋˜๋ฉฐ, ์ด๊ฒƒ์ด ์ƒ์„ฑ ์ž‘์—…์ธ ๊ฒฝ์šฐ ์—”ํ„ฐํ‹ฐ ID๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜๋˜๊ณ (๋™์ผํ•œ ID๊ฐ€ ํ‚ค๋กœ ์‚ฌ์šฉ๋จ) Status, TxID ๋ฐ Error ํ•„๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋™๋ฃŒ๋กœ๋ถ€ํ„ฐ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ์ˆ˜์‹ ๋˜๋ฉด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

Wheelset์šฉ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ: Hyperledger Fabric ๊ฒฝํ—˜

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

์šฐ๋ฆฌ๋Š” ํŠธ๋žœ์žญ์…˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด BoltDB๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•ด์•ผ ํ•˜๊ณ  ํŠนํžˆ ์ด ์ƒํ˜ธ ์ž‘์šฉ์ด ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์ƒํ•  ๋•Œ ๋…๋ฆฝํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€์˜ ๋„คํŠธ์›Œํฌ ์ƒํ˜ธ ์ž‘์šฉ์— ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜๊ณ  ์‹ถ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ CouchDB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ตฌ์„ฑํ‘œ๋ฅผ ๊ตฌํ˜„ํ•˜๋“  ์•„๋‹ˆ๋ฉด ๋‹จ์ง€ ์„ธ๊ณ„ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋“  ๊ด€๊ณ„์—†์ด CouchDB์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ CouchDB์—์„œ b-ํŠธ๋ฆฌ ๋…ธ๋“œ์˜ ํฌ๊ธฐ๋Š” 1279๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋””์Šคํฌ์˜ ์„นํ„ฐ ํฌ๊ธฐ๋ณด๋‹ค ํ›จ์”ฌ ์ž‘์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํŠธ๋ฆฌ๋ฅผ ์ฝ๊ณ  ์žฌ์กฐ์ •ํ•˜๋ ค๋ฉด ๋” ๋งŽ์€ ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ ์˜ ํฌ๊ธฐ๊ฐ€ ํ‘œ์ค€์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ํ˜•์‹ 4ํ‚ฌ๋กœ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. btree_chunk_size๋Š” 4096๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. CouchDB ๊ตฌ์„ฑ ํŒŒ์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค. BoltDB์˜ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ˆ˜๋™ ๊ฐœ์ž… ํ•„์š” ์—†์Œ.

๋ฐฐ์••: ๋ฒ„ํผ ์ „๋žต

๊ทธ๋Ÿฌ๋‚˜ ๋งŽ์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ด์ƒ์œผ๋กœ ๋‹ค์ด์–ด๊ทธ๋žจ์— ํ‘œ์‹œ๋œ ๊ฒƒ ์™ธ์—๋„ XNUMX๊ฐœ์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ Intellij Idea๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ทน๋„๋กœ ์ง€๋ฃจํ•œ ์‹œ์Šคํ…œ์—์„œ๋„ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ†ต์‹  ์‹œ์Šคํ…œ(์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž)์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๋Ÿ‰ ๋ฌธ์ œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ด…์‹œ๋‹ค.

์ ํ•˜: ์šฐ๋ฆฌ๋Š” T์ดˆ ์•ˆ์— ์ตœ๋Œ€ X๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋Š” ๋ชจ๋“  ์š”์ฒญ์€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๋งค์šฐ ๊ฐ„๋‹จํ•˜์ง€๋งŒ UX๋Š” ์žŠ์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ์–ด: ์†Œ๋น„์ž๋Š” ๋ถ€ํ•˜์— ๋”ฐ๋ผ ์ƒ์‚ฐ์ž์˜ tps๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์˜์ง€๋Š” ์•Š์ง€๋งŒ ๋กœ๋“œ ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ์˜๋ฌด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์˜ ๋ธ”๋ก์ฒด์ธ์€ ์ˆ˜๋งŽ์€ ๊ธฐ์กด ์‹œ์Šคํ…œ์— ํ†ตํ•ฉ๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์ด๊ฒƒ์ด ์šฉ๋‚ฉ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฒ„ํผ๋ง: ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์— ์ €ํ•ญํ•˜๋ ค๊ณ  ์• ์“ฐ๋Š” ๋Œ€์‹  ์ด ์ŠคํŠธ๋ฆผ์„ ๋ฒ„ํผ๋งํ•˜๊ณ  ํ•„์š”ํ•œ ์†๋„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ์ด๊ฒƒ์€ ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ตœ๊ณ ์˜ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. RabbitMQ์˜ ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„ํผ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Wheelset์šฉ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ: Hyperledger Fabric ๊ฒฝํ—˜

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

๊ธฐํƒ€ ๋„๊ตฌ

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

๋˜ํ•œ ์šฐ๋ฆฌ ํŒ€์€ Fabric ์ž‘์—…์„ ๊ฐ„๋‹จํ•˜๊ณ  ์ฆ๊ฒ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ํƒ์ƒ‰๊ธฐ, ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ž๋™ ๋„คํŠธ์›Œํฌ ์žฌ๊ตฌ์„ฑ (์กฐ์ง ์ถ”๊ฐ€/์ œ๊ฑฐ, RAFT ๋…ธ๋“œ), ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ธ์ฆ์„œ ํ•ด์ง€ ๋ฐ ์‹ ์› ์ œ๊ฑฐ. ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด Hyperledger Fabric์„ Quorum, ๊ธฐํƒ€ ๊ฐœ์ธ ์ด๋”๋ฆฌ์›€ ๋„คํŠธ์›Œํฌ(PoA ๋˜๋Š” PoW)๋กœ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•˜๊ณ  ์‹ค์ œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํฌ๊ฒŒ ์ค„์ด๋ฉด์„œ๋„ ๋™์‹œ์— ์ผ๋ฐ˜ UX๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ์ž์™€ ํ†ตํ•ฉ ์‹œ์Šคํ…œ ์ธก๋ฉด ๋ชจ๋‘) ). ๊ตฌ์„ฑํ‘œ์—์„œ Fabric์„ Ethereum์œผ๋กœ ๊ต์ฒดํ•  ๋•Œ ์žฌ์‹œ๋„ ์„œ๋น„์Šค/๋ฐ์ฝ”๋ ˆ์ดํ„ฐ์˜ ๋…ผ๋ฆฌ๋งŒ MVCC ์ถฉ๋Œ ์ฒ˜๋ฆฌ์—์„œ ์›์ž nonce ์ฆ๊ฐ€ ๋ฐ ์žฌ์ „์†ก์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ฒ„ํผ๋ง ๋ฐ ์ƒํƒœ ์ €์žฅ์„ ํ†ตํ•ด ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ๋ธ”๋ก ํ˜•์„ฑ ์‹œ๊ฐ„์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ˆ˜์ฒœ ๊ฐœ์˜ ์ฃผ๋ฌธ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ธ”๋ก์ด ๋„ˆ๋ฌด ์ž์ฃผ ํ˜•์„ฑ๋˜์–ด ์ฃผ๋ฌธ ์„œ๋น„์Šค๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๊ฒƒ์ด ์ œ๊ฐ€ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€ ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€์˜ ์—…๋ฌด์— ๋„์›€์ด ๋œ๋‹ค๋ฉด ๊ธฐ์˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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