๋ธ”๋ก์ฒด์ธ์œผ๋กœ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰ํ•˜๊ธฐ  

Hyperledger Composer๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœํ•œ ๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰ํ•˜๊ธฐ

Last updated

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

By Ishan Gulhane

Overview

์ฃผ์˜: ์ด ์ฝ”๋“œ ํŒจํ„ด์€ ๋ธ”๋ก์ฒด์ธ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ๋ฆฌ์ฆˆ ์ค‘ ๋‘ ๋ฒˆ์งธ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ ์ „์ฒด์— ๋Œ€ํ•œ ๊ฐœ์š”๋Š” ๋‚˜์˜ ์ฒซ๋ฒˆ์งธ ๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œํ•˜๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ „์ฒด ์‹œ๋ฆฌ์ฆˆ ์ค‘ ์ฒซ๋ฒˆ์งธ ๊ณผ์ •์—์„œ๋Š” Hyperledger Composer๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ์ƒ์„ฑํ•˜๊ธฐ์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ ์•ž์„œ ๊ท€ํ•˜๊ฐ€ ๋งŒ๋“  ๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์–ด๋–ป๊ฒŒ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค.

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

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

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

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

Flow

  1. Install and instantiate the chaincode.
  2. Query and invoke the chaincode.
  3. View the transactions and the chaincode logs.

Components

Hyperledger Fabric v1.0

๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค์šฉ ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ํ† ๋Œ€๊ฐ€ ๋˜๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ๊ตฌํ˜„.

Hyperledger Composer

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

Technologies

Blockchain

์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๋ณด์•ˆ ๊ธฐ๋ก์ด๋‚˜ ๋ธ”๋ก์„ ์œ ์ง€ํ•˜๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.

Node.js

์„œ๋ฒ„์‚ฌ์ด๋“œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค JavaScript ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค.

Platform as a Service

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

Related Blogs

[IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 3

2ํŽธ์— ์ด์–ด IBM Blockchain Platform(์ดํ•˜ IBP) Extension for VS Code ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. 3ํŽธ์—์„œ๋Š” IBP Extension for VS Code๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์•„๋ž˜ ์ˆœ์„œ์— ๋”ฐ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ๋ถ€๋ถ„์€ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค) 1. ์ฒด์ธ์ฝ”๋“œ(SmartContract) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ 2. ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ 3. ์ฒด์ธ์ฝ”๋“œ ํŒจํ‚ค์ง€ 4. local Fabric ๊ตฌ๋™ 5. local Fabric์— ์ฒด์ธ์ฝ”๋“œ ์„ค์น˜(install) 6. local Fabric์— ์ฒด์ธ์ฝ”๋“œ ๋ฐฐํฌ(instantiate)...

๊ณ„์† ์ฝ๊ธฐ [IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 3

[IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 2

1ํŽธ์— ์ด์–ด IBM Blockchain Platform(์ดํ•˜ IBP) Extension for VS Code ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. 2ํŽธ์—์„œ๋Š” IBP Extension for VS Code์˜ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์•„๋ž˜ ์ด๋ฏธ์ง€๋“ค์€ IBP Extension for VS Code๋ฅผ ์ด์šฉํ•ด์„œ Fabric Network๋ฅผ ๊ตฌ๋™ํ•˜๊ณ  ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋””ํ”Œ๋กœ์ดํ•œ ์ตœ์ข… ์ƒํƒœ์˜ ๋ชจ์Šต์„ ์บก์ณํ•œ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค. IBP for VS code์˜ ๋ ˆ์ด์•„์›ƒ(Side Bar) ๊ตฌ์„ฑ์€ ํฌ๊ฒŒ 4๊ฐœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์”ฉ ์ฒœ์ฒœํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค....

๊ณ„์† ์ฝ๊ธฐ [IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 2

[IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 1

IBM Blockchain Platform(์ดํ•˜ IBP) Extension for VS Code๋ฅผ ์ด์šฉํ•ด์„œ ์ฒด์ธ์ฝ”๋“œ(SmartContract)๋ฅผ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ HyperLedger Fabric์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์•Œ๊ณ ๊ณ„์‹  ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๋ฉฐ… IBM์—์„œ๋Š” BaaS(blockchain-as-a-service) ํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค๋ฅผ IBM Blockchain Platform(์ดํ•˜ IBP)์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์˜คํผ๋ง ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™๊ฐ€๋Šฅํ•œ IBP๋Š” ๊ทผ๋ณธ์ ์œผ๋กœ Hyperledger Fabric ์Šคํƒ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ IBP๊ฐ€ HyperLedger Fabric์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๊ธฐ...

๊ณ„์† ์ฝ๊ธฐ [IBM Blockchain Platform] ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๋†’์ด๊ธฐ – 1

Related Links

๊ฐœ๋ฐœ ํŠœํ† ๋ฆฌ์–ผ: ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ To-Do ๋ฆฌ์ŠคํŠธ ์•ฑ ๋งŒ๋“ค๊ธฐ(์˜๋ฌธ)

๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ณ , ์ฝ๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ์ถ”๊ฐ€ํ•˜๊ณ , ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์›น๊ธฐ๋ฐ˜์˜ To-Do ๋ฆฌ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.