* ์ด ํฌ์ŠคํŒ…์€ ์•„๋ž˜ ์›๋ฌธ์„ ๋ฒˆ์—ญํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.
์›๋ฌธ:ย https://www.ibm.com/developerworks/cloud/library/cl-ibm-blockchain-101-quick-start-guide-for-developers-bluemix-trs/index.html

๋ธ”๋ก์ฒด์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ์ตœ๊ณ ์˜ ๋ฌด๋ฃŒ ํˆด, ๊ต์œก ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์›”๊ฐ„ ์š”์•ฝ์„ ๋ฐ›์•„ ๋ณด์‹ญ์‹œ์˜ค.
์ตœ์‹ ํŒ | ๊ตฌ๋…

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

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

IBM Cloud์—์„œ์˜ ๊ฐœ๋ฐœ — 30์ผ๊ฐ„ ๋ฌด๋ฃŒ

2GB์˜ ๋Ÿฐํƒ€์ž„ ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๋ฉ”๋ชจ๋ฆฌ, ์ตœ๋Œ€ 10๊ฐœ์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํ”„๋กœ๋น„์ €๋‹์— ๋Œ€ํ•œ ์•ก์„ธ์Šค, ๋ฌด๋ฃŒ ํ—ฌํ”„ ๋ฐ์Šคํฌ ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Bluemix๋ฅผ ์‹œํ—˜ ์‚ฌ์šฉํ•ด๋ณด๊ณ  Blockchain Starter Developer ํ”Œ๋žœ์„ ํ†ตํ•ด ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์ž‘์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ์ž‘ํ•ด ๋ณด์‹ญ์‹œ์˜ค.

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

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

***********************************************************************************************************************************************

1. ๋ธ”๋ก์ฒด์ธ์˜ ์šฉ์–ด ๋ฐ ๊ฐœ๋…

๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ถŒ์žฅ ์ปจํ…์ธ 

Blockchain Developer Center์˜ developerWorks ์ž์Šต์„œ, ๊ต์œก ๊ณผ์ •, ๋ธ”๋กœ๊ทธ, ์ปค๋ฎค๋‹ˆํ‹ฐ ์ง€์›์„ ํ†ตํ•ด ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜์‹ญ์‹œ์˜ค.

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

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

๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ ๊ด€๋ จ๋œ ์šฉ์–ด์™€ ๊ฐœ๋…์„ ์•Œ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

 

2. ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ

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

์˜ต์…˜ 1: Bluemix์˜ Blockchain ์„œ๋น„์Šค ์‚ฌ์šฉ

Bluemix์˜ Blockchain ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์‚ฌ์„ค ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ(Hyperledger Fabric์˜ ๋ณต์ œ๋ณธ)๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ๋„คํŠธ์›Œํฌ ํ”Œ๋žœ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค Hyperledger Fabric v0.6์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉฐ, ID ๋ฐ ๋ฉค๋ฒ„ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ธ์ฆ ๊ธฐ๊ด€์— 4-๋…ธ๋“œ ๋„คํŠธ์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ํ”Œ๋žœ์˜ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์šด์˜ ํ™˜๊ฒฝ๊ณผ ๋น„์šฉ์ž…๋‹ˆ๋‹ค.

Starter Developer Network ํ”Œ๋žœ(ํ˜„์žฌ ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค)์€ IBM Bluemix ์ธํ”„๋ผ(SoftLayer)์—์„œ ์‹คํ–‰๋˜๋Š” ๊ณต์œ ๋œ ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋žœ์€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.
High Security Business Network (HSBN) ํ”Œ๋žœ์€ IBM LinuxONEโ„ข z Systemsยฎ ์˜คํผ๋ง์˜ Secure Service Container์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฉ๋ฆฌ๋œ ๋‹จ์ผ ํ…Œ๋„ŒํŠธ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„ํš์€ ๊ฐ€์ž…์ž์—๊ฒŒ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์˜ต์…˜ 2: Docker Hub์˜ Hyperledger Fabric ์ด๋ฏธ์ง€ ์‚ฌ์šฉ

๋˜๋Š”, Docker Hub์—์„œ Hyperledger Fabric ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ž์ฒด ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ Docker์—์„œ Fabric์„ ์‹คํ–‰ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ Docker Toolbox๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, Mac OSX ๋˜๋Š” Windows๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋„ค์ดํ‹ฐ๋ธŒ Docker ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Docker(1.11 ์ด์ƒ)์„ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•œ ํ›„์— Fabric ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋จผ์ € Docker Hub์—์„œ Fabric ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

1

2

docker pull hyperledger/fabric-peer:latest

docker pull hyperledger/fabric-membersrvc:latest

Fabric์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ, Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Docker Toolbox ์„ค์น˜ ๋˜๋Š” ๋„ค์ดํ‹ฐ๋ธŒ Docker ๋Ÿฐํƒ€์ž„์—์„œ๋„ Compose๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

์˜ต์…˜ 3: IBM์—์„œ ์„œ๋ช…ํ•˜๊ณ  ์ง€์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉ

์„ธ ๋ฒˆ์งธ ๋Œ€์•ˆ์€ IBM์—์„œ ์„œ๋ช…ํ•˜๊ณ  ์ง€์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. IBM์—์„œ ์„œ๋ช…ํ•œ ์ด๋ฏธ์ง€๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”Œ๋žซํผ(x86, Power, z System)์—์„œ ๊ธฐ๋Šฅ์„ฑ, ์•ˆ์ •์„ฑ ๋ฐ ์„ฑ๋Šฅ์ด ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

3. ์ฒด์ธ์ฝ”๋“œ ์•ฑ ์ž‘์„ฑ, ๋ฐฐํฌ ๋ฐ ํ…Œ์ŠคํŠธ

์ฒด์ธ์ฝ”๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฒด์ธ์ฝ”๋“œ์— ์„ค์ •๋œ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์— ๋”ฐ๋ผ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Go(GoLang) ๋˜๋Š” Javaโ„ข ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ํŠธ๋žœ์žญ์…˜์„ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์›์žฅ์— ๊ฐ’์„ ์ฝ๊ณ  ์“ฐ๋Š” ์ฒด์ธ์ฝ”๋“œ์˜ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฒด์ธ์ฝ”๋“œ์˜ ์ž‘์„ฑ ๋ฐ ๋ฐฐํฌ์— ๋Œ€ํ•œ ์‹ฌํ™” ๊ณผ์ •์€ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ IBM Blockchain ํ•™์Šต ๊ฒฝ๋กœ: ์ฒซ ๋ฒˆ์งธ ์ฒด์ธ์ฝ”๋“œ ๋นŒ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์˜ต์…˜ 1: Bluemix๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒด์ธ์ฝ”๋“œ ์ž‘์„ฑ

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

Bluemix ๋„คํŠธ์›Œํฌ์— ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  Blockchain ๋Œ€์‹œ๋ณด๋“œ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ˜ํ”Œ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

“Hello Chaincode” ์•ฑ ์™ธ์— ์„ธ ๊ฐœ์˜ ๋ฐ๋ชจ – Marbles, Commercial paper, Car lease – ๋ฅผ Bluemix์— ์ง์ ‘ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Marbles ๋ฐ๋ชจ๊ฐ€ ๊ฐ€์žฅ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ , Car Lease ๋ฐ๋ชจ๊ฐ€ ๊ฐ€์žฅ ๊ณ ๊ธ‰ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

์˜ต์…˜ 2: Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒด์ธ์ฝ”๋“œ ์ž‘์„ฑ

Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฒด์ธ์ฝ”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ์ „์ฒด ํ”ผ์–ด ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•  ํ•„์š” ์—†์ด ์ฒด์ธ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊ทธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ๋„ ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์˜ 2๋‹จ๊ณ„, ์˜ต์…˜ 2์—์„œ ๊ฐ€์ ธ์˜จ Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋…ธ๋“œ๋กœ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ํŠธ๋žœ์žญ์…˜์„ ํ˜ธ์ถœํ•˜๋Š” CLI, gRPC API ๋˜๋Š” REST API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ HFC SDK๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ง€์นจ์€ Go ๋˜๋Š” Java์—์„œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ์˜ ์‹คํ–‰์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Marbles, Commercial paper ๋ฐ Car lease ์•ฑ์„ ๋กœ์ปฌ Docker ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Go์—์„œ ์ฒด์ธ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

 

4. ์ฒด์ธ์ฝ”๋“œ ์•ฑ์„ ํ˜ธ์ถœํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ์•ฑ์˜ ์ž‘์„ฑ ๋ฐ ๋ฐฐํฌ

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

HFC SDK๋ฅผ ์ด์šฉํ•˜๋Š” Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. registrar ๊ถŒํ•œ์ด ์žˆ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ์ž๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•˜์—ฌ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๋ฅผ ๋™์ ์œผ๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŠธ๋žœ์žญ์…˜์„ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค(๋ฐฐํฌ, ํ˜ธ์ถœ ๋ฐ ์ฟผ๋ฆฌ). ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์€ ์ต๋ช…, ๊ธฐ๋ฐ€์ด๋ฉฐ ์ž‘์„ฑ์ž ๊ถŒํ•œ ์—†์ด ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋ฏผ๊ฐํ•œ ๊ฐœ์ธ ํ‚ค ๋ฐ ์ธ์ฆ์„œ๋ฅผ ๋ธ”๋ก์ฒด์ธ ์™ธ๋ถ€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ™์€ ์ž„์˜์˜ ์œ„์น˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹จ์ˆœํ•œ ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜ 1: Bluemix๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์•ฑ ์ž‘์„ฑ

๋‹ค์Œ ์ง€์นจ์— ๋”ฐ๋ผ HFC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Bluemix์˜ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜์‹ญ์‹œ์˜ค.

Node.js๋ฅผ ์œ„ํ•œ Hyperledger Fabric ํด๋ผ์ด์–ธํŠธ(HFC) SDK ๊ตฌ์„ฑ

์˜ต์…˜ 2: Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์•ฑ ์ž‘์„ฑ

Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ HFC SDK๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

 

5. ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ๋ฐ ์•ฑ์˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ

๋Œ€์‹œ๋ณด๋“œ ๋ชจ๋‹ˆํ„ฐ๋Š” ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Bluemix์˜ ๋Œ€์‹œ๋ณด๋“œ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”ผ์–ด, ๋กœ๊ทธ, ์›์žฅ ์ƒํƒœ, API ๋ฐ ์ฒด์ธ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ 1: Bluemix๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ง

์˜ต์…˜ 2: Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ง

Blockchain Explorer๋Š” Hyperledger Docker ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

 

6. Hyperledger Fabric ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ฐธ์—ฌ ๋ฐ ์ง€์›

๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ Hyperledger Project์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. RocketChat์€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ์‚ฌ์šฉ๋˜๊ณ , Google Hangouts๋Š” ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ์Šคํฌ๋ฆฐ ๊ณต์œ ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๊ณ„ํš ๋ฐ ์šฐ์„  ์ˆœ์œ„ ์ง€์ •์€ JIRA์—์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ๋” ์ƒ์„ธํ•œ ์‹คํ–‰ ๋…ผ์˜ ๋ฐ ์˜์‚ฌ๊ฒฐ์ •์€ ๋ฉ”์ผ๋ง ๋ชฉ๋ก์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

Hyperledger Fabric์˜ ์œ ์ง€๋ณด์ˆ˜ ๋‹ด๋‹น์ž๋Š” ๊ฒ€ํ† ๋ฅผ ์œ„ํ•ด ์ œ์ถœ๋˜๋Š” ๋ชจ๋“  ํŒจ์น˜๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ Hyperledger Project์˜ Technical Steering Committee (TSC)์—์„œ ์ž‘์„ฑํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ ๋‚ด์—์„œ ์ „๋ฐ˜์ ์ธ ๊ธฐ์ˆ  ๋ฐฉํ–ฅ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

 

7. ๋„์›€๋ง ๋ฐ ์ง€์›

์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€๊ณผ ์ง€์›์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Blockchain service on Bluemix์—์„œ Blockchain ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:
    ๋จผ์ € ์ง€์› ๋ฐ ์•Œ๋ ค์ง„ ๋ฌธ์ œ ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ์„œ๋น„์Šค์™€ ๊ด€๋ จํ•˜์—ฌ ํ˜„์žฌ ํ™•์ธ๋œ ๋น„์ •์ƒ์ ์ธ ๋ถ€๋ถ„๊ณผ ํ•จ๊ป˜ Hyperledger Fabric ์ฝ”๋“œ์˜ ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์— ๋Œ€ํ•œ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. Hyperledger Fabric ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ:
    Hyperledger ์ฑ„๋„ ๊ฐ€์ด๋“œ์˜ Fabric ์ฑ„๋„์„ ์‚ดํŽด๋ณด๊ณ  ์งˆ๋ฌธ์— ๋งž๋Š” ํ† ๋ก  ๊ทธ๋ฃน์— ์ฐธ์—ฌํ•˜์‹ญ์‹œ์˜ค.
  3. ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ:
    GitHub ์ด์Šˆ๋ฅผ ํ†ตํ•ด Blockchain ๊ฐœ๋ฐœ ํŒ€์— ์—ฐ๋ฝํ•˜์‹ญ์‹œ์˜ค.

 

***********************************************************************************************************************************************

๋‹ค์Œ ๋‹จ๊ณ„

Hyperledger Fabric v1.0์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ๊ฐœ๋ฐœ ์ค‘์ด๋ฏ€๋กœ, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฉค๋ฒ„๋“ค์ด ์ฝ”๋“œ๋ฅผ ๊ธฐ์—ฌํ•˜๊ณ  ํŠน์ •ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ Fabric์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋น„๋””์˜ค์—์„œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.

Video(02:52/)

๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค

๊ด€๋ จ ์ฃผ์ œ

2 ๊ฐœ์˜ ๋Œ“๊ธ€"IBM Blockchain 101: ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ"

  1. […] ์›๋ฌธ ๋ณด๊ธฐ :ย IBM Blockchain 101: ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ […]

  2. […] ์›๋ฌธ ๋ณด๊ธฐ :ย IBM Blockchain 101: ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋น ๋ฅธ ์‹œ์ž‘ ๊ฐ€์ด๋“œ […]

ํ† ๋ก  ์ฐธ๊ฐ€

์ด๋ฉ”์ผ์€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ž…๋ ฅ์ฐฝ์€ * ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.