1. ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ํŽซ์‹œํŒ… P2P๊ฑฐ๋ž˜ ํ”Œ๋žซํผ ๊ฐœ๋ฐœํ•˜๊ธฐ โ€“ ๊ฐœ๋ฐœ๋™๊ธฐ
2. ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ํŽซ์‹œํŒ… P2P๊ฑฐ๋ž˜ ํ”Œ๋žซํผ ๊ฐœ๋ฐœํ•˜๊ธฐ โ€“ Bluemix ํ™˜๊ฒฝ ๊ตฌ์ถ•
3. ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ํŽซ์‹œํŒ… P2P๊ฑฐ๋ž˜ ํ”Œ๋žซํผ ๊ฐœ๋ฐœํ•˜๊ธฐ โ€“ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜

์•ˆ๋…•ํ•˜์„ธ์š”. ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ์—์„œ IBM๊ณผ ์‚ฐํ•™์—ฐ๊ณ„๋ฅผ ๋งบ์–ด “์˜คํ”ˆ์†Œ์Šค ๋ธ”๋ก์ฒด์ธ์„ ์ด์šฉํ•œ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ํ•จ๊ป˜ํ•œ ๋ด๋“œ๋ฆด๊ฐœํŒ€์ž…๋‹ˆ๋‹ค:) 

“์˜คํ”ˆ์†Œ์Šค ๋ธ”๋ก์ฒด์ธ์„ ์ด์šฉํ•œ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ”๋ผ๋Š” ์ฃผ์ œ๋Š” ์žˆ๋Š”๋ฐ ๊ณผ์—ฐ ์–ด๋– ํ•œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ์ง€ ํŒ€์›๋“ค๊ณผ ์ •๋ง ๋งŽ์€ ํšŒ์˜๋ฅผ ํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์„ ํ•˜์˜€๋Š”๋ฐ์š”.

 

๋ธ”๋ก์ฒด์ธ์˜ P2P๊ฑฐ๋ž˜์— ์žˆ์–ด์„œ์˜ ์žฅ์ ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์—๋Š” ์–ด๋– ํ•œ ๊ฒƒ์ด ์žˆ์„๊นŒ ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•˜๋‹ค๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ณต์œ ๊ฒฝ์ œ์˜ P2P๊ฑฐ๋ž˜๊ฐ€ ๋– ์˜ฌ๋ž์Šต๋‹ˆ๋‹ค!

 

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

 

 

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

 

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

 

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

 

๊ฐ„๋‹จํ•˜๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ flow๋กœ ๋ธ”๋ก์ฒด์ธ์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์— ๋“ค์–ด๊ฐˆ ์›์žฅ์—๋Š” ์ •์˜ํ•ด ๋‘” 3๊ฐ€์ง€ ๊ตฌ์กฐ์ฒด(์ง‘, ํŽซ์‹œํ„ฐ, ๊ฑฐ๋ž˜)๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง‘์ด๋‚˜ ํŽซ์‹œํ„ฐ ์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ž˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์„ ๊ฒฝ์šฐ, invoke๋ฅผ ํ†ตํ•˜์—ฌ ํ•ด๋‹น ์›์žฅ์ด ๋ธ”๋ก์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Query๋ฅผ ํ†ตํ•˜์—ฌ ๋ธ”๋ก์„ ์กฐํšŒ ๋ฐ ๊ฒ€์ƒ‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ฒด์ธ์ฝ”๋“œ์™€ ์›น์ฝ”๋“œ๋Š” ์•„๋ž˜๋ฅผ ์ฐธ๊ณ ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:)
https://github.com/liil93/chaincode
https://github.com/yoo4471/BlockChain

 

๊ฐœ๋ฐœํ™˜๊ฒฝ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Webserver : Flask(python framework)
Database : sqlite3
Cloud service : IBM Bluemix

๋‹ค์Œ ๊ธ€์—์„œ๋Š” ๋ณธ๊ฒฉ์ ์ธ ํ™˜๊ฒฝ ๊ตฌ์ถ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

ํ† ๋ก  ์ฐธ๊ฐ€

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