์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๋ฅผ ์œ„ํ•œ ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ

์•ˆ๋…•ํ•˜์„ธ์š”, ๋…์ž ์—ฌ๋Ÿฌ๋ถ„, ์ œ ์ด๋ฆ„์€ Nikolai Nefedov์ž…๋‹ˆ๋‹ค. ์ €๋Š” IBM ๊ธฐ์ˆ  ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์ธ Hyperledger Fabric์„ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํด๋ž˜์Šค)์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ์˜ ์ˆ˜์ค€์€ IT ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์„ ๊ฐ–์ถ˜ ์ค€๋น„๋˜์ง€ ์•Š์€ ๋…์ž๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Hyperledger Fabric์€ Linux Foundation์˜ ์ปจ์†Œ์‹œ์—„์ธ Hyperledger ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ถ„๊ธฐ ์ค‘ ํ•˜๋‚˜์ธ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. Hyperledger Fabric์€ ์›๋ž˜ Digital Assets์™€ IBM์—์„œ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. Hyperledger Fabric ํ”Œ๋žซํผ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๊ธฐ์—… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ค‘์ ์„ ๋‘” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”Œ๋žซํผ์€ ๋น ๋ฅธ ๊ฑฐ๋ž˜ ์†๋„์™€ ๋‚ฎ์€ ๋น„์šฉ, ๋ชจ๋“  ์ฐธ๊ฐ€์ž์˜ ์‹๋ณ„์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ ์€ ๊ฑฐ๋ž˜ ํ™•์ธ ์„œ๋น„์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ํ˜•์„ฑํ•˜๊ณ  ์ธ์ฆ ๊ธฐ๊ด€์„ ์‚ฌ์šฉํ•˜๊ณ  ์ฐธ์—ฌ์ž๋ฅผ ์Šน์ธํ•จ์œผ๋กœ์จ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋‚ด ๊ธฐ์‚ฌ๋Š” ๋Œ€ํ•™์— ์ž…ํ•™ํ•˜๋Š” ํ•™์ƒ๋“ค์„ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” Hyperledger Fabric์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ๊ธฐ์‚ฌ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

Hyperledger Fabric์˜ ์ผ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

Hyperledger Fabric์€ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ์— ์„ค์น˜๋œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋œ ๋ถ„์‚ฐํ˜• ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค. Hyperledger Fabric ๊ตฌ์„ฑ ์š”์†Œ๋Š” DockerHub์—์„œ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” Docker ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. Hyperledger Fabric์€ Kubernetes ํ™˜๊ฒฝ์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šค๋งˆํŠธ ๊ณ„์•ฝ(Hyperledger Fabric ์ปจํ…์ŠคํŠธ์˜ ์ฒด์ธ์ฝ”๋“œ)์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด Golang์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค(Hyperledger Fabric์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ). ๋งž์ถคํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ Node.js๋ฅผ ํ•ด๋‹น Hyperledger Fabric SDK์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ผ๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ

๊ทธ๋ฆผ 1. Hyperledger Fabric์˜ ์ผ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜

์‚ฌ์šฉ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Submitting Client)์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์—์„œ ์ž‘์—…ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜๋ ค๋ฉด ์ธ์ฆ์„ ๊ฑฐ์ณ ๋„คํŠธ์›Œํฌ์—์„œ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ž‘์—…์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”ผ์–ด(๋…ธ๋“œ)๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  • Endorsing Peer๋Š” ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค(์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ฝ”๋“œ ์‹คํ–‰). ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ฒ€์ฆํ•˜๊ณ  ์‹คํ–‰ํ•œ ํ›„ ๋…ธ๋“œ๋Š” ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์„œ๋ช…๊ณผ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • Ordering Service๋Š” ์—ฌ๋Ÿฌ ๋…ธ๋“œ์˜ ๋ถ„์‚ฐ ์„œ๋น„์Šค๋กœ ๋ถ„์‚ฐ ์›์žฅ์˜ ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ํ˜•์„ฑํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰์„ ์œ„ํ•œ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Ordering Service๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ƒˆ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์œ„ํ•ด Committing Peers๋กœ ์ด๋™๋จ).
  • ์ปค๋ฏธํŒ… ํ”ผ์–ด - ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๊ณ  ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ƒˆ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋…ธ๋“œ(์ฃผ๋ฌธ ์„œ๋น„์Šค์— ์˜ํ•ด ํ˜•์„ฑ๋จ). ๋ชจ๋“  ์ปค๋ฐ‹ ํ”ผ์–ด์—๋Š” ๋ถ„์‚ฐ ์›์žฅ์˜ ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Committing Peer๋Š” ์ƒˆ ๋ธ”๋ก์„ ๋กœ์ปฌ์— ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ์œ ํšจ์„ฑ์„ ์œ„ํ•ด ๋ธ”๋ก ๋‚ด์˜ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ณด์ฆ ์ •์ฑ…์€ ๊ฑฐ๋ž˜์˜ ์œ ํšจ์„ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ •์ฑ…์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ •์ฑ…์€ ํŠธ๋žœ์žญ์…˜์ด ์œ ํšจํ•œ ๊ฒƒ์œผ๋กœ ์ธ์‹๋˜๊ธฐ ์œ„ํ•ด ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ํ•„์ˆ˜ ๋…ธ๋“œ ์ง‘ํ•ฉ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(Lerger)๋Š” WorlldState(State DataBase๋ผ๊ณ ๋„ ํ•จ)์™€ BlockChain์˜ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ์€ ๋ถ„์‚ฐ ์›์žฅ ๊ฐœ์ฒด์— ๋ฐœ์ƒํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ๊ธฐ๋ก์„ ์ €์žฅํ•˜๋Š” ๋ธ”๋ก ์ฒด์ธ์ž…๋‹ˆ๋‹ค.

WorlldState๋Š” ๋ชจ๋“  ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ฐœ์ฒด์˜ ํ˜„์žฌ(๊ทน๋‹จ) ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

WorldState๋Š” ๊ธฐ๋ณธ ๋ฒ„์ „์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. LevelDB ๋˜๋Š” ๋” ๋ณต์žกํ•œ CouchDB๋Š” ํ‚ค-๊ฐ’ ์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: ์ด๋ฆ„ - Ivan, ์„ฑ - Ivanov, ์‹œ์Šคํ…œ ๋“ฑ๋ก ๋‚ ์งœ - 12.12.21/17.12.1961/XNUMX, ๋‚ ์งœ ์ถœ์ƒ - XNUMX๋…„ XNUMX์›” XNUMX์ผ ๋“ฑ WorldState ๋ฐ ๋ถ„์‚ฐ ์›์žฅ์€ ์ง€์ •๋œ ์ฑ„๋„์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์›์—์„œ ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Hyperledger Fabric์€ ๋ชจ๋“  ์ฐธ๊ฐ€์ž๋ฅผ ์•Œ๊ณ  ์ธ์ฆํ•˜๋Š” ๋„คํŠธ์›Œํฌ์ด๋ฏ€๋กœ ์—ฌ๊ธฐ์—๋Š” ์ „์šฉ ์ธ์ฆ ๊ธฐ๊ด€์ธ CA(Certification Authority)๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CA๋Š” X.509 ํ‘œ์ค€ ๋ฐ ๊ณต๊ฐœ ํ‚ค ์ธํ”„๋ผ(PKI)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฉค๋ฒ„์‹ญ ์„œ๋น„์Šค๋Š” ๊ฐ์ฒด๊ฐ€ ํŠน์ • ์กฐ์ง ๋˜๋Š” ์ฑ„๋„์— ์†ํ•˜๋Š”์ง€ ํšŒ์›์ด ํ™•์ธํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

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

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

์ผ๋ฐ˜์ ์ธ ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์‹œ๋‚˜๋ฆฌ์˜ค

๋‹ค์Œ์œผ๋กœ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ ๋Œ€ํ•™์— ์ž…ํ•™ํ•˜๋Š” ํ•™์ƒ์„ ๋“ฑ๋กํ•˜๊ณ  ๊ธฐ๋กํ•˜๋„๋ก ์„ค๊ณ„๋œ Hyperledger Fabric ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋„คํŠธ์›Œํฌ๋Š” ๋Œ€ํ•™ A์™€ ๋Œ€ํ•™ B๊ฐ€ ์†Œ์œ ํ•œ ๋‘ ์กฐ์ง์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์กฐ์ง์—๋Š” ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ž์ฒด Committing ๋ฐ Endorsing Peer๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ฐ˜์ ์ธ ์ฃผ๋ฌธ ์„œ๋น„์Šค, ํšŒ์› ์„œ๋น„์Šค ๋ฐ ์ธ์ฆ ๊ธฐ๊ด€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

1) ๊ฑฐ๋ž˜ ๊ฐœ์‹œ

Hyperledger Fabric SDK๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํŠธ๋žœ์žญ์…˜ ์š”์ฒญ์„ ์‹œ์ž‘ํ•˜๊ณ  ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ํ†ตํ•ด ๋…ธ๋“œ์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์š”์ฒญ์€ ๋ถ„์‚ฐ ์›์žฅ(Ledger)์—์„œ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ•™์ƒ ํšŒ๊ณ„ ์‹œ์Šคํ…œ์˜ ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ์˜ ์˜ˆ๋ฅผ ๊ณ ๋ คํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ํ˜ธ์ถœ๋œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ๋ณด์ฆ ์ •์ฑ…์— ํฌํ•จ๋œ ๋Œ€ํ•™ A์™€ B์˜ ๋…ธ๋“œ์— ํŠธ๋žœ์žญ์…˜ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋…ธ๋“œ A๋Š” ์‹ ์ž…์ƒ์„ ๋“ฑ๋กํ•˜๋Š” ๋Œ€ํ•™์— ์œ„์น˜ํ•œ ๋…ธ๋“œ์ด๊ณ , ๋…ธ๋“œ B๋Š” ๋‹ค๋ฅธ ๋Œ€ํ•™์— ์œ„์น˜ํ•œ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์ด ๋ถ„์‚ฐ ์›์žฅ์— ์ €์žฅ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋”ฐ๋ผ ํŠธ๋žœ์žญ์…˜์„ ์Šน์ธํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ A์˜ ์‚ฌ์šฉ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Hyperledger Fabric SDK ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Endorsement ์ •์ฑ…(์Šน์ธ ์ •์ฑ…)์„ ์ˆ˜์‹ ํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋…ธ๋“œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ์›์žฅ์— ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ธฐ ์œ„ํ•ด ํŠน์ • ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ(์ฒด์ธ์ฝ”๋“œ ํ•จ์ˆ˜)๋ฅผ ํ˜ธ์ถœ(ํ˜ธ์ถœ)ํ•˜๋ผ๋Š” ์š”์ฒญ์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ SDK๋Š” ํŠธ๋žœ์žญ์…˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜๋Š” API์˜ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์„œ๋ช…์„ ์ถ”๊ฐ€ํ•˜๊ณ  gRPC๋ฅผ ํ†ตํ•ด ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ํ†ตํ•ด ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•œ ๋…ธ๋“œ(๋ณด์ฆ ํ”ผ์–ด)๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 2. ํŠธ๋žœ์žญ์…˜ ๊ฐœ์‹œ

2) ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ์‹คํ–‰

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

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 3. ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ ์‹คํ–‰

3) ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜

์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ›„ Endorsing Peer๋Š” ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ์™€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ, ์ธ์ฆ์„œ๋กœ ์„œ๋ช…๋œ RW ์„ธํŠธ๋ฅผ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ถ„์‚ฐ ์›์žฅ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ Endorsing Peer์˜ ์„œ๋ช…์„ ํ™•์ธํ•˜๊ณ  ์ „์†ก๋œ ์›๋ณธ ํŠธ๋žœ์žญ์…˜ ๋ฐ์ดํ„ฐ์™€ ๋ฐ˜ํ™˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ํŠธ๋žœ์žญ์…˜์ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ). ํŠธ๋žœ์žญ์…˜์ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ผ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ทธ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ์ฝ๊ธฐ ์„ธํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ์ด ํŠธ๋žœ์žญ์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ถ”๊ฐ€๋กœ Endorsing ์ •์ฑ…์ด ๊ตฌํ˜„๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Endorsement Policy ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ๊ฒฝ์šฐ Hyperledger Fabric ํ”Œ๋žซํผ์€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ํŠธ๋žœ์žญ์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ๋…ธ๋“œ(Comitting Peers)์˜ ์ •์ฑ… ํ™•์ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 4. ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜

4) Ordering Peer์—๊ฒŒ RW ์„ธํŠธ ๋ณด๋‚ด๊ธฐ

ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ด€๋ จ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ํŠธ๋žœ์žญ์…˜์„ ์ฃผ๋ฌธ ์„œ๋น„์Šค๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” RW ์„ธํŠธ, ๋ณด์ฆ ํ”ผ์–ด์˜ ์„œ๋ช… ๋ฐ ์ฑ„๋„ ID๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ฃผ๋ฌธ ์„œ๋น„์Šค - ์ด๋ฆ„์— ๋”ฐ๋ผ ์ด ์„œ๋น„์Šค์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋“ค์–ด์˜ค๋Š” ํŠธ๋žœ์žญ์…˜์„ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์ƒˆ ๋ธ”๋ก์„ ํ˜•์„ฑํ•˜๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ธ”๋ก์„ ๋ชจ๋“  ์ปค๋ฐ‹ ๋…ธ๋“œ๋กœ ๋ณด์žฅํ•˜์—ฌ ๋ถ„์‚ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(์ปค๋ฐ‹ ํ”ผ์–ด)๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์ฃผ๋ฌธ ์„œ๋น„์Šค ์ž์ฒด๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฃผ๋ฌธ ์„œ๋น„์Šค๋Š” ์‹œ์Šคํ…œ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ด๋ฏ€๋กœ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์˜ ํด๋Ÿฌ์Šคํ„ฐ์ž…๋‹ˆ๋‹ค. Ordering Service๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ํŠน์ • ์ฑ„๋„ ID๋กœ ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋“ค์–ด์˜ค๋Š” ํŠธ๋žœ์žญ์…˜์„ ํŠน์ • ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๊ณ  ๋ถ„์‚ฐ ์›์žฅ์˜ ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ Ordering Service๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ฑ„๋„์— ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ordering Service์—๋Š” ์˜ฌ๋ฐ”๋ฅธ(๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€) ํŠธ๋žœ์žญ์…˜ ๋Œ€๊ธฐ์—ด์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” Kafka ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(ํฌ์ธํŠธ 7 ์ฐธ์กฐ).

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 5. Ordering Peer์— RW ์„ธํŠธ ์ „์†ก

5) ์ƒ์„ฑ๋œ ๋ธ”๋ก์„ Committing Peer์—๊ฒŒ ์ „์†ก

Ordering Service์—์„œ ํ˜•์„ฑ๋œ ๋ธ”๋ก์€ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ์— ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ๋ฐ›์€ ๊ฐ ๋…ธ๋“œ๋Š” Endorsing Policy ์ค€์ˆ˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ชจ๋“  Endorsing Peer๊ฐ€ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ(Write Set)๋ฅผ ๋ฐ›์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์›๋ž˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋จ(์ฆ‰, - ์ฝ๊ธฐ ์„ธํŠธ - ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘ ์ดํ›„ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด WorldState์—์„œ ์ฝ์€ ๋ฐ์ดํ„ฐ). ๋ชจ๋“  ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋ฉด ํŠธ๋žœ์žญ์…˜์ด ์œ ํšจํ•œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํŠธ๋žœ์žญ์…˜์ด ์œ ํšจํ•˜์ง€ ์•Š์Œ ์ƒํƒœ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 6. ์ƒ์„ฑ๋œ ๋ธ”๋ก์„ Committing Peer์—๊ฒŒ ์ „์†ก

6) ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋ธ”๋ก ์ถ”๊ฐ€

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

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
๊ทธ๋ฆผ 7. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋ธ”๋ก ์ถ”๊ฐ€

์ฃผ๋ฌธ ์„œ๋น„์Šค

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

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
kafka.apache.org์—์„œ ๊ฐ€์ ธ์˜ด

  • ๊ทธ๋ฆผ 8. ์ฃผ๋ฌธ ์„œ๋น„์Šค ์ฃผ์ œ ๊ตฌ์กฐ*

์œ ์šฉํ•œ ๋งํฌ

Youtube - Hyperledger ํ”„๋กœ์ ํŠธ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค์šฉ ๋ธ”๋ก์ฒด์ธ ๊ตฌ์ถ•
ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ ๋ฌธ์„œ
ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ: ํ—ˆ๊ฐ€๋œ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ ๋ถ„์‚ฐ ์šด์˜ ์ฒด์ œ

๊ฐ์‚ฌ์˜ ๋ง

๊ธฐ์‚ฌ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€ ๋™๋ฃŒ๋“ค์—๊ฒŒ ๊นŠ์€ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•ฉ๋‹ˆ๋‹ค.
๋‹ˆ์ฝœ๋ผ์ด ๋งˆ๋ฆฌ๋‚˜
์ด๊ณ ๋ฅด ์นดํฌํ”„
๋“œ๋ฏธํŠธ๋ฆฌ ๊ณ ๋ฅด๋ฐ”์ดˆํ”„
์•Œ๋ ‰์‚ฐ๋” ์ ฌ์ดˆํ”„
์˜ˆ์นดํ…Œ๋ฆฌ๋‚˜ ๊ตฌ์„ธ๋ฐ”

์ถœ์ฒ˜ : habr.com

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