โ€œ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋งŒ๋“ค๊ธฐโ€๋ผ๋Š” ์ฑ…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์šฉ๊ฐ€์ด๋“œ"

โ€œ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋งŒ๋“ค๊ธฐโ€๋ผ๋Š” ์ฑ…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์šฉ๊ฐ€์ด๋“œ"
์ €๋Š” XNUMX๋…„ ๋„˜๊ฒŒ "Creating Solidity Smart Contracts for the Ethereum Blockchain"์ด๋ผ๋Š” ์ฑ…์„ ์ง‘ํ•„ํ•ด ์™”์Šต๋‹ˆ๋‹ค. Practical Guide', ์ด์ œ ์ด ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ๊ณ , ์ฑ…์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ๋ฆฌํ„ฐ ๋‹จ์œ„๋กœ ๊ฒŒ์‹œ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

๋‚ด ์ฑ…์ด ์—ฌ๋Ÿฌ๋ถ„์ด ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ Solidity ์Šค๋งˆํŠธ ์—ฐ๋ฝ์ฒ˜ ๋ฐ ๋ถ„์‚ฐ DApp์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์‹ค์Šต์ด ํฌํ•จ๋œ 12๊ฐœ์˜ ์ˆ˜์—…์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ๋…์ž๋Š” ์ž์‹ ์˜ ๋กœ์ปฌ Ethereum ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ฒŒ์‹œํ•˜๊ณ  ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , ์˜ค๋ผํด์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์‹ค ์„ธ๊ณ„์™€ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ณ , Rinkeby ํ…Œ์ŠคํŠธ ๋””๋ฒ„๊ทธ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฑ…์€ ๋ธ”๋ก ์ฒด์ธ ๋ถ„์•ผ์˜ ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์— ๊ด€์‹ฌ์ด ์žˆ๊ณ  ํฅ๋ฏธ๋กญ๊ณ  ์œ ๋งํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜์žˆ๋Š” ์ง€์‹์„ ๋น ๋ฅด๊ฒŒ ์–ป๊ณ  ์žํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์„ ๋Œ€์ƒ์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.

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

์ฐจ๋ก€์†Œ๊ฐœ์šฐ๋ฆฌ ์ฑ…์€ ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์˜ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‹ถ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด ๋„คํŠธ์›Œํฌ๋ฅผ ์œ„ํ•œ Solidity ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋ถ„์‚ฐ DApp์„ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹ค์šฉ์ ์ธ ๊ธฐ์ˆ ์„ ์–ป๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฑ…์„ ์ฝ๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด ์ฑ…์„ ํ™œ์šฉํ•˜์—ฌ ์ˆ˜์—…์— ์„ค๋ช…๋œ ์‹ค์ œ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž‘์—…ํ•˜๋ ค๋ฉด Debian ๋˜๋Š” Ubuntu OS๊ฐ€ ์„ค์น˜๋œ ๋กœ์ปฌ ์ปดํ“จํ„ฐ, ๊ฐ€์ƒ ๋˜๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Raspberry Pi๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ณจ ๋‘ ๋ฒˆ์งธ ์ˆ˜์—… โ€” Ubuntu ๋ฐ Debian ์„œ๋ฒ„์—์„œ ์ด ๊ณผ์ •์˜ ์ถ”๊ฐ€ ์ž‘์—…์„ ์œ„ํ•ด ๊ฐœ์ธ Ethereum ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ์˜ ์ž‘๋™์„ ๋ณด์žฅํ•˜๋Š” geth์™€ ๋–ผ ๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ๋ชฌ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ค์น˜ ๊ธฐ๋Šฅ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ์ˆ˜์—… ์ €๋ ดํ•œ Raspberry Pi ๋งˆ์ดํฌ๋กœ์ปดํ“จํ„ฐ์—์„œ Ethereum์„ ์‹คํ—˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์ณ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. Raspberry Pi์— Rasberian ์šด์˜ ์ฒด์ œ(OS), ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ๋ฅผ ๊ตฌ๋™ํ•˜๋Š” Geth ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฐ Swarm ๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ๋ชฌ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

XNUMX๊ณผ ์ด๋”๋ฆฌ์›€ ๋„คํŠธ์›Œํฌ์˜ ๊ณ„์ • ๋ฐ ์•”ํ˜ธํ™”ํ ๋‹จ์œ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Geth ์ฝ˜์†”์—์„œ ํ•œ ๊ณ„์ •์—์„œ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ž๊ธˆ์„ ์ด์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์— ์ „๋…ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๊ณ , ์ž๊ธˆ ์ด์ฒด ๊ฑฐ๋ž˜๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , ๊ฑฐ๋ž˜ ์ƒํƒœ ๋ฐ ์˜์ˆ˜์ฆ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์„ฏ ๋ฒˆ์งธ ์ˆ˜์—…์—์„œ๋Š” Ethereum ๋„คํŠธ์›Œํฌ์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  Ethereum ๊ฐ€์ƒ ๋จธ์‹ ์— ์˜ํ•œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์‹คํ–‰์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Ethereum ํ”„๋ผ์ด๋น— ๋„คํŠธ์›Œํฌ์—์„œ ์ฒซ ๋ฒˆ์งธ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ƒ์„ฑ ๋ฐ ๊ฒŒ์‹œํ•˜๊ณ  ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Remix Solidity IDE๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ solc ๋ฐฐ์น˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ์†Œ์œ„ ABI(Application Binary Interface)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์—ฌ์„ฏ๋ฒˆ์งธ ์ˆ˜์—… Node.js๋ฅผ ์‹คํ–‰ํ•˜๋Š” JavaScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์ „๋…ํ•ฉ๋‹ˆ๋‹ค.

Ubuntu, Debian ๋ฐ Rasberian OS์— Node.js๋ฅผ ์„ค์น˜ํ•˜๊ณ  Ethereum ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ฒŒ์‹œํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜ ๊ณ„์ขŒ ๊ฐ„์— ์ž๊ธˆ์„ ์ด์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ณ„์ขŒ์— ์ž…๊ธˆํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ผ๊ณฑ ๋ฒˆ์งธ ์ˆ˜์—…์—์„œ๋Š” Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ์ธ๊ธฐ ์žˆ๋Š” Truffle ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. truffle-contract ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์•ฝ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๋Š” JavaScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Truffle์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿ ๋ฒˆ์งธ ์ˆ˜์—… Solidity ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ „์šฉ์ž…๋‹ˆ๋‹ค. ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜์™€ ๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜, ๋ถ€ํ˜ธ ์žˆ๋Š” ์ˆซ์ž, ๋ฌธ์ž์—ด, ์ฃผ์†Œ, ๋ณตํ•ฉ ๋ณ€์ˆ˜, ๋ฐฐ์—ด, ์—ด๊ฑฐํ˜•, ๊ตฌ์กฐ ๋ฐ ์‚ฌ์ „๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์•„ํ™‰ ๋ฒˆ์งธ ์ˆ˜์—…์—์„œ๋Š” ์ด๋”๋ฆฌ์›€ ๋ฉ”์ธ๋„ท์„ ์œ„ํ•œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ƒ์„ฑ์— ํ•œ ๊ฑธ์Œ ๋” ๊ฐ€๊นŒ์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Geth ๊ฐœ์ธ ๋„คํŠธ์›Œํฌ์™€ Rinkeby ํ…Œ์ŠคํŠธ๋„ท์—์„œ Truffle์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์•ฝ์„ ๊ฒŒ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Rinkeby ๋„คํŠธ์›Œํฌ์—์„œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๊ฒƒ์€ ๋ฉ”์ธ ๋„คํŠธ์›Œํฌ์— ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ฑฐ๊ธฐ์— ์žˆ์ง€๋งŒ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.

์ˆ˜์—…์˜ ์ผ๋ถ€๋กœ Rinkeby ํ…Œ์ŠคํŠธ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ž๊ธˆ์„ ์กฐ๋‹ฌํ•˜๊ณ , ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ฒŒ์‹œํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•™์Šต 10 Ethereum Swarm ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Ethereum ๋ธ”๋ก์ฒด์ธ์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋น„์šฉ์ด ์ ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค.

์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ๋กœ์ปฌ Swarm ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ์ผ ๋ฐ ํŒŒ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ, ๊ณต์šฉ Swarm ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•, Node.js์—์„œ Swarm์— ์•ก์„ธ์Šคํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•, Perl Net::Ethereum::Swarm ๋ชจ๋“ˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ˆ˜์—… ๋ชฉํ‘œ 11 โ€” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ Web3.py ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์ž‘์—…์„ ๋งˆ์Šคํ„ฐํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ปดํŒŒ์ผ ๋ฐ ๊ฒŒ์‹œํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ Web3.py๋Š” ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ Truffle ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

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

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

์˜ค๋Š˜๋‚  ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ (Blockchain), ์•”ํ˜ธํ™”ํ(Cryptocurrency or Crypto ํ†ตํ™”), ๋น„ํŠธ์ฝ”์ธ(Bitcoin), ICO(Initial Coin Offering), ์Šค๋งˆํŠธ ๊ณ„์•ฝ(Smart Contract), ๋ธ”๋ก์ฒด์ธ๊ณผ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ๊ฐœ๋…๊ณผ ์šฉ์–ด๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

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

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

๋ธ”๋ก ์ฒด์ธ์ด๋ž€?

๋ธ”๋ก์ฒด์ธ(Block Chain)์€ ์ผ์ •ํ•œ ๋ฐฉ์‹์œผ๋กœ ์„œ๋กœ ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ์ฒด์ธ์ž…๋‹ˆ๋‹ค. ์ฒด์ธ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—๋Š” ์ฒซ ๋ฒˆ์งธ ๋ธ”๋ก์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ๊ธฐ๋ณธ ๋ธ”๋ก(์ œ๋„ค์‹œ์Šค ๋ธ”๋ก) ๋˜๋Š” ์ œ๋„ค์‹œ์Šค ๋ธ”๋ก์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” ๋‘ ๋ฒˆ์งธ, ์„ธ ๋ฒˆ์งธ ๋“ฑ์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค.

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

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

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

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ

๋ธ”๋ก์ฒด์ธ์€ ๋ฐ์ดํ„ฐ ๋ฐ ์šด์˜(ํŠธ๋žœ์žญ์…˜)์˜ ๋ถ„์‚ฐ ์›์žฅ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋˜ ๋‹ค๋ฅธ ์ด๋ฆ„์€ ์›์žฅ์ž…๋‹ˆ๋‹ค.

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

๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ž‘์—…(ํŠธ๋žœ์žญ์…˜)์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๊ฐœ์ธ ํ‚ค์™€ ๊ณต๊ฐœ ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž์‹ ์˜ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•˜์—ฌ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

๊ฑฐ๋ž˜

๋ธ”๋ก์ฒด์ธ์€ ์ž‘์—…(ํŠธ๋žœ์žญ์…˜)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ธ”๋ก์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์ด๋ฏธ ์™„๋ฃŒ๋œ ์˜ค๋ž˜๋œ ํŠธ๋žœ์žญ์…˜์€ ๋กค๋ฐฑํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฑฐ๋ž˜๋Š” ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋ธ”๋ก์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

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

์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์—๋Š” ์†Œ์œ„ ์‹œ์Šคํ…œ ์ƒํƒœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋˜๋ฉด์„œ ์ƒํƒœ๋Š” ์ดˆ๊ธฐ ์ƒํƒœ์—์„œ ํ˜„์žฌ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๊ฑฐ๋ž˜๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

ํผ๋ธ”๋ฆญ ๋ฐ ํ”„๋ผ์ด๋น— ๋ธ”๋ก์ฒด์ธ

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

๋ธ”๋ก์ฒด์ธ์˜ ์‹ค์ œ ์ ์šฉ

๋ธ”๋ก์ฒด์ธ์€ ์–ด๋””์— ์œ ์šฉํ• ๊นŒ์š”?

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

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

์•”ํ˜ธํ™”ํ ์‹œ์Šคํ…œ ๋‚ด ๊ฑฐ๋ž˜๋Š” ์ต๋ช…์œผ๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์•”ํ˜ธํ™”ํ๋ฅผ ์ธ์ถœํ•˜๊ณ  ๋ฒ•์ •ํ™”ํ๋กœ ๊ตํ™˜ํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์•”ํ˜ธํ™”ํ ์ž์‚ฐ ์†Œ์œ ์ž์˜ ์‹ ์›์ด ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

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

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

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

๋ธ”๋ก์ฒด์ธ์˜ ๋ฌธ์ œ์ 

ํ•˜์ง€๋งŒ ๋ฌผ๋ก  ๋ชจ๋“  ๊ฒƒ์ด ๋ณด์ด๋Š” ๊ฒƒ๋งŒํผ ๋‹จ์ˆœํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค!

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

๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ๋…ธ๋“œ๊ฐ€ ์ „ ์„ธ๊ณ„์— ํฉ์–ด์ ธ ์žˆ๋Š” ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ์ด ์•„๋‹ˆ๋ผ ๊ฐœ์ธ์ด๋‚˜ ์กฐ์ง์— ์†ํ•œ ํ”„๋ผ์ด๋น— ๋ธ”๋ก์ฒด์ธ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๊ธฐ์„œ์˜ ์‹ ๋ขฐ ์ˆ˜์ค€์€ ์‹ ๋ขฐ ์ˆ˜์ค€๋ณด๋‹ค ๋†’์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ๋žŒ์ด๋‚˜ ์ด ์กฐ์ง์—์„œ.

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

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

์‹ค์ œ ์ ์šฉ์„ ๋ฐฉํ•ดํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์—๋Š” ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์†๋„์˜ ์ œํ•œ๊ณผ ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์€ ๊ฑฐ๋ž˜ ๋น„์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ถ„์•ผ์˜ ๊ธฐ์ˆ ์€ ํ™œ๋ฐœํžˆ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๊ธฐ์ˆ ์  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๊ฒƒ์ด๋ผ๋Š” ํฌ๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

๋ธ”๋ก์ฒด์ธ ์ฒด์ธ์ด ํ˜•์„ฑ๋˜๋Š” ๋ฐฉ์‹

์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ๋ธ”๋ก์ฒด์ธ์€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ๋‹จ์ˆœํ•œ ์ฒด์ธ์ž…๋‹ˆ๋‹ค. ๋จผ์ € ์ด ์ฒด์ธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ธ”๋ก์ด ํ˜•์„ฑ๋œ ๋‹ค์Œ ๋‘ ๋ฒˆ์งธ ๋ธ”๋ก์ด ์ถ”๊ฐ€๋˜๋Š” ์‹์ž…๋‹ˆ๋‹ค. ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ €์žฅ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ, ๊ฐ€์žฅ ์ตœ๊ทผ ๋ธ”๋ก์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์—์„œ. 1.1์—์„œ๋Š” ์ฒซ ๋ฒˆ์งธ ๋ธ”๋ก์ด ๋‹ค์Œ ๋ธ”๋ก์„ ์ฐธ์กฐํ•˜๋Š” ๋ธ”๋ก ์‹œํ€€์Šค์˜ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฒ„์ „์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

โ€œ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์„ ์œ„ํ•œ Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋งŒ๋“ค๊ธฐโ€๋ผ๋Š” ์ฑ…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์šฉ๊ฐ€์ด๋“œ"
์Œ€. 1.1. ๊ฐ„๋‹จํ•œ ๋ธ”๋ก ์ˆœ์„œ

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

๋ธ”๋ก ์œ„์กฐ ๋ฐฉ์ง€๋ฅผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ๋Š” ์ฒดํฌ์„ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ธ”๋ก์„ ๋ณดํ˜ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 1.2).

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

์ด์ œ ๊ณต๊ฒฉ์ž๋Š” ๋ธ”๋ก ๋ฐ์ดํ„ฐ์˜ ์ฒดํฌ์„ฌ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ธ”๋ก์„ ๊ฐ„๋‹จํžˆ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฒดํฌ์„ฌ์„ ํ™•์ธํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒดํฌ์„ฌ์„ ๊ณ„์‚ฐํ•˜๋ ค๋ฉด MD-5, SHA-1, SHA-256 ๋“ฑ๊ณผ ๊ฐ™์€ ํ•ด์‹ฑ ํ•จ์ˆ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ๋ธ”๋ก์— ๋Œ€ํ•ด ๋˜๋Œ๋ฆด ์ˆ˜ ์—†๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฐ’(์˜ˆ: ์ผ์ •ํ•œ ๊ธธ์ด์˜ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด)์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์€ ํ•ด์‹œ ํ•จ์ˆ˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ๋‚ด์šฉ์ด ์•ฝ๊ฐ„ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ํ•ด์‹œ ๊ฐ’๋„ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜ ๊ฐ’์„ ๋ถ„์„ํ•˜์—ฌ ๊ณ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌํ•œ ๋ณดํ˜ธ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๊นŒ? ๋ถˆํ–‰ํ•˜๊ฒŒ๋„.

์ด ๋ฐฉ์‹์—์„œ ์ฒดํฌ์„ฌ(ํ•ด์‹œ ํ•จ์ˆ˜)์€ ๊ฐœ๋ณ„ ๋ธ”๋ก๋งŒ ๋ณดํ˜ธํ•  ๋ฟ ์ „์ฒด ๋ธ”๋ก์ฒด์ธ์„ ๋ณดํ˜ธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ๋ฉด ๊ณต๊ฒฉ์ž๋Š” ๋ธ”๋ก์˜ ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฒด์ธ์—์„œ ๋ธ”๋ก์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์ƒˆ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค.

์ „์ฒด ์ฒด์ธ์„ ์ „์ฒด์ ์œผ๋กœ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์ด์ „ ๋ธ”๋ก์˜ ๋ฐ์ดํ„ฐ ํ•ด์‹œ๋ฅผ ๊ฐ ๋ธ”๋ก์— ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆผ 1.3).

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

์ด ๋ฐฉ์‹์—์„œ๋Š” ๋ธ”๋ก์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋ชจ๋“  ํ›„์† ๋ธ”๋ก์˜ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ ๊ฒƒ ๊ฐ™๋‚˜์š”?

์‹ค์ œ ๋ธ”๋ก์ฒด์ธ์—์„œ๋Š” ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์œ„์ ์ธ ์–ด๋ ค์›€์ด ์ถ”๊ฐ€๋กœ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ด ๋ธ”๋ก๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ดํ›„์˜ ๋ชจ๋“  ๋ธ”๋ก์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•˜๋ฉด ์ด๋Š” ๋งค์šฐ ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๋ธ”๋ก์€ ์ด์ „ ๋ธ”๋ก์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒด์ธ ๋‚ด ๋ชจ๋“  ๋ธ”๋ก์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ

์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ์€ ๋ถ„์‚ฐ DApp์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”Œ๋žซํผ๊ณผ ๋‹ฌ๋ฆฌ ์ด๋”๋ฆฌ์›€์€ Solidity ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์œ„ ์Šค๋งˆํŠธ ๊ณ„์•ฝ(์Šค๋งˆํŠธ ๊ณ„์•ฝ)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํ”Œ๋žซํผ์€ ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹๋งค๊ฑฐ์ง„์˜ ์ฐฝ๋ฆฝ์ž์ธ Vitalik Buterin์— ์˜ํ•ด 2013๋…„์— ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ 2015๋…„์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ต์œก ๊ณผ์ •์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ณต๋ถ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜ํ–‰ํ•  ๋ชจ๋“  ๊ฒƒ์€ ํŠนํžˆ ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ ๋ฐ Solidity ์Šค๋งˆํŠธ ๊ณ„์•ฝ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฑ„๊ตด ๋˜๋Š” ๋ธ”๋ก ์ƒ์„ฑ ๋ฐฉ๋ฒ•

์ฑ„๊ตด์€ ๋ธ”๋ก์ฒด์ธ ์ฒด์ธ์— ์ƒˆ๋กœ์šด ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋‹ค์†Œ ๋ณต์žกํ•˜๊ณ  ์ž์› ์ง‘์•ฝ์ ์ธ ํ”„๋กœ์„ธ์Šค์ด๋ฉฐ ์ „ํ˜€ "์•”ํ˜ธํ™”ํ ์ฑ„๊ตด"์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ฑ„๊ตด์€ ๋ธ”๋ก์ฒด์ธ์˜ ๊ธฐ๋Šฅ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. Ethereum ๋ธ”๋ก์ฒด์ธ์— ํŠธ๋žœ์žญ์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ด ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก ์ถ”๊ฐ€์— ๊ด€์—ฌํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ ์กฐ์ง์„ ์ฑ„๊ตด์ž๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์ฑ„๊ตด์ž ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์ง€์ •ํ•œ ํŠน์ • ํ•ด์‹œ ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ๋ธ”๋ก์— ๋Œ€ํ•ด Nonce๋ผ๋Š” ํ•ด์‹ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋”๋ฆฌ์›€์—์„œ ์‚ฌ์šฉํ•˜๋Š” Ethash ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ˆœ์ฐจ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด์„œ๋งŒ Nonce ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฑ„๊ตด์ž ๋…ธ๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ Nonce ๊ฐ’์„ ์ฐพ์œผ๋ฉด ์ด๊ฒƒ์ด ์†Œ์œ„ ์ž‘์—… ์ฆ๋ช…(PoW, Proof-of-work)์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด๋”๋ฆฌ์›€ ๋„คํŠธ์›Œํฌ์— ๋ธ”๋ก์ด ์ถ”๊ฐ€๋˜๋ฉด ์ฑ„๊ตด์ž๋Š” ๋„คํŠธ์›Œํฌ ํ†ตํ™”์ธ Ether๋กœ ํŠน์ • ๋ณด์ƒ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์—์„œ๋Š” ๋ณด์ƒ์ด 5Ether์ด์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์ค„์–ด๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์ˆ˜์—… ์š”์•ฝ

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

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

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

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

2๊ณผ. Ubuntu ๋ฐ Debian OS์—์„œ ์ž‘์—… ํ™˜๊ฒฝ ์ค€๋น„์šด์˜ ์ฒด์ œ ์„ ํƒ
ํ•„์š”ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ค์น˜
์šฐ๋ถ„ํˆฌ์— Geth์™€ Swarm ์„ค์น˜ํ•˜๊ธฐ
๋ฐ๋น„์•ˆ์— Geth์™€ Swarm ์„ค์น˜ํ•˜๊ธฐ
์˜ˆ๋น„ ์ค€๋น„
Go ๋ฐฐํฌํŒ ๋‹ค์šด๋กœ๋“œ
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
Go ๋ฒ„์ „ ํ™•์ธ
Geth ๋ฐ Swarm ์„ค์น˜
ํ”„๋ผ์ด๋น— ๋ธ”๋ก์ฒด์ธ ์ƒ์„ฑ
Genesis.json ํŒŒ์ผ ์ค€๋น„
์—…๋ฌด์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ
๊ณ„์ • ๋งŒ๋“ค๊ธฐ
๋…ธ๋“œ ์ดˆ๊ธฐํ™” ์‹œ์ž‘
๋…ธ๋“œ ์‹œ์ž‘ ์˜ต์…˜
์šฐ๋ฆฌ ๋…ธ๋“œ์— ์—ฐ๊ฒฐ
์ฑ„๊ตด ๊ด€๋ฆฌ ๋ฐ ์ž”์•ก ํ™•์ธ
Geth ์ฝ˜์†” ์ข…๋ฃŒ
์ˆ˜์—… ์š”์•ฝ

3๊ณผ. Raspberry Pi 3์—์„œ ์ž‘์—… ํ™˜๊ฒฝ ์ค€๋น„Raspberry Pi 3 ์ž‘์—… ์ค€๋น„
Rasberian ์„ค์น˜
์—…๋ฐ์ดํŠธ ์„ค์น˜
SSH ์•ก์„ธ์Šค ํ™œ์„ฑํ™”
๊ณ ์ • IP ์ฃผ์†Œ ์„ค์ •
ํ•„์š”ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ค์น˜
Go ์„ค์น˜
Go ๋ฐฐํฌํŒ ๋‹ค์šด๋กœ๋“œ
ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
Go ๋ฒ„์ „ ํ™•์ธ
Geth ๋ฐ Swarm ์„ค์น˜
ํ”„๋ผ์ด๋น— ๋ธ”๋ก์ฒด์ธ ์ƒ์„ฑ
๊ณ„์ขŒ ๋ฐ ์ž”์•ก ํ™•์ธ
์ˆ˜์—… ์š”์•ฝ

4๊ณผ. ๊ณ„์ขŒ ๋ฐ ๊ณ„์ขŒ ๊ฐ„ ์ž๊ธˆ ์ด์ฒด๊ณ„์ • ๋ณด๊ธฐ ๋ฐ ์ถ”๊ฐ€
๊ณ„์ • ๋ชฉ๋ก ๋ณด๊ธฐ
๊ณ„์ • ์ถ”๊ฐ€
geth ๊ณ„์ • ๋ช…๋ น ์˜ต์…˜
๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ
์ด๋”๋ฆฌ์›€์˜ ์•”ํ˜ธํ™”ํ
์ด๋”๋ฆฌ์›€ ํ†ตํ™” ๋‹จ์œ„
์šฐ๋ฆฌ๋Š” ๊ณ„์ •์˜ ํ˜„์žฌ ์ž”์•ก์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค
ํ•œ ๊ณ„์ขŒ์—์„œ ๋‹ค๋ฅธ ๊ณ„์ขŒ๋กœ ์ž๊ธˆ ์ด์ฒด
eth.sendTransaction ๋ฉ”์„œ๋“œ
๊ฑฐ๋ž˜ ์ƒํƒœ ๋ณด๊ธฐ
๊ฑฐ๋ž˜ ์˜์ˆ˜์ฆ
์ˆ˜์—… ์š”์•ฝ

5๊ณผ. ์ฒซ ๋ฒˆ์งธ ๊ณ„์•ฝ ๊ฒŒ์‹œ์ด๋”๋ฆฌ์›€์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ
์Šค๋งˆํŠธ ๊ณ„์•ฝ ์‹คํ–‰
์ด๋”๋ฆฌ์›€ ๊ฐ€์ƒ ๋จธ์‹ 
ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ Remix Solidity IDE
์ปดํŒŒ์ผ ์‹คํ–‰ ์ค‘
๊ณ„์•ฝ ํ•จ์ˆ˜ ํ˜ธ์ถœ
๊ฐœ์ธ ๋„คํŠธ์›Œํฌ์— ๊ณ„์•ฝ ๊ฒŒ์‹œ
ABI ์ •์˜ ๋ฐ ๊ณ„์•ฝ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ
๊ณ„์•ฝ์„œ์˜ ๊ณต๊ฐœ
๊ณ„์•ฝ์„œ ๋ฐœํ–‰ ๊ฑฐ๋ž˜ ์ƒํƒœ ํ™•์ธ
๊ณ„์•ฝ ํ•จ์ˆ˜ ํ˜ธ์ถœ
๋ฐฐ์น˜ ์ปดํŒŒ์ผ๋Ÿฌ solc
์šฐ๋ถ„ํˆฌ์— solc ์„ค์น˜
๋ฐ๋น„์•ˆ์— solc ์„ค์น˜ํ•˜๊ธฐ
HelloSol ๊ณ„์•ฝ ์ปดํŒŒ์ผ
๊ณ„์•ฝ์„œ์˜ ๊ณต๊ฐœ
Rasberian์— solc ์„ค์น˜
์ˆ˜์—… ์š”์•ฝ

๊ฐ•์˜ 6. ์Šค๋งˆํŠธ ๊ณ„์•ฝ๊ณผ Node.jsNode.js ์„ค์น˜
์šฐ๋ถ„ํˆฌ์— ์„ค์น˜
๋ฐ๋น„์•ˆ์— ์„ค์น˜
Ganache-cli ์„ค์น˜ ๋ฐ ์‹คํ–‰
์›น3 ์„ค์น˜
์†”ํฌ ์„ค์น˜
Rasberian์— Node.js ์„ค์น˜
์ฝ˜์†”์—์„œ ๊ณ„์ • ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” ์Šคํฌ๋ฆฝํŠธ
์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ฒŒ์‹œ๋ฅผ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ
๋งค๊ฐœ๋ณ€์ˆ˜ ์‹คํ–‰ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ
์‹œ์ž‘ ์˜ต์…˜ ๊ฐ€์ ธ์˜ค๊ธฐ
๊ณ„์•ฝ์„œ ํŽธ์ง‘
๊ณ„์ • ์ฐจ๋‹จ ํ•ด์ œ
ABI ๋ฐ ๊ณ„์•ฝ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ ๋กœ๋“œ
ํ•„์š”ํ•œ ๊ฐ€์Šค๋Ÿ‰ ์ถ”์ •
๊ฐ์ฒด ์ƒ์„ฑ ๋ฐ ๊ณ„์•ฝ ๊ฒŒ์‹œ ์‹œ์ž‘
๊ณ„์•ฝ ๊ฒŒ์‹œ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ธฐ๋Šฅ ํ˜ธ์ถœ
๊ฒŒ์‹œ๋œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
Web3 ๋ฒ„์ „ 1.0.x๋กœ ์ž‘์—…ํ•˜๊ธฐ
๊ณ„์ • ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
๊ณ„์•ฝ์„œ์˜ ๊ณต๊ฐœ
๊ณ„์•ฝ ํ•จ์ˆ˜ ํ˜ธ์ถœ
ํ•œ ๊ณ„์ขŒ์—์„œ ๋‹ค๋ฅธ ๊ณ„์ขŒ๋กœ ์ž๊ธˆ ์ด์ฒด
๊ณ„์•ฝ ๊ณ„์ขŒ๋กœ ์ž๊ธˆ ์ด์ฒด
HelloSol ์Šค๋งˆํŠธ ๊ณ„์•ฝ ์—…๋ฐ์ดํŠธ
๊ณ„์ • ์ž”์•ก์„ ๋ณด๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ๋งŒ๋“ค๊ธฐ
call_contract_get_promise.js ์Šคํฌ๋ฆฝํŠธ์— getBalance ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์Šค๋งˆํŠธ ๊ณ„์•ฝ ๊ณ„์ •์„ ์ถฉ์ „ํ•ฉ๋‹ˆ๋‹ค
์ˆ˜์—… ์š”์•ฝ

๋ ˆ์Šจ 7. ํŠธ๋Ÿฌํ”Œ ์†Œ๊ฐœํŠธ๋Ÿฌํ”Œ ์„ค์น˜
HelloSol ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํŒŒ์ผ ์ƒ์„ฑ
๊ณ„์•ฝ ๋””๋ ‰ํ† ๋ฆฌ
์นดํƒˆ๋กœ๊ทธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
๋””๋ ‰ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ
ํŠธ๋Ÿฌํ”Œ-config.js ํŒŒ์ผ
HelloSol ๊ณ„์•ฝ ์ปดํŒŒ์ผ
๊ณ„์•ฝ์„œ ๊ฒŒ์‹œ ์‹œ์ž‘
ํŠธ๋Ÿฌํ”Œ ํ”„๋กฌํ”„ํŠธ์—์„œ HelloSol ๊ณ„์•ฝ ํ•จ์ˆ˜ ํ˜ธ์ถœ
Node.js๋ฅผ ์‹คํ–‰ํ•˜๋Š” JavaScript ์Šคํฌ๋ฆฝํŠธ์—์„œ HelloSol ๊ณ„์•ฝ ํ•จ์ˆ˜ ํ˜ธ์ถœ
ํŠธ๋Ÿฌํ”Œ ๊ณ„์•ฝ ๋ชจ๋“ˆ ์„ค์น˜
๊ณ„์•ฝ ํ•จ์ˆ˜ getValue ๋ฐ getString ํ˜ธ์ถœ
๊ณ„์•ฝ ํ•จ์ˆ˜ setValue ๋ฐ setString ํ˜ธ์ถœ
๊ณ„์•ฝ ์ˆ˜์ • ๋ฐ ์žฌ๊ณต์‹œ
Web3 ๋ฒ„์ „ 1.0.x๋กœ ์ž‘์—…ํ•˜๊ธฐ
HelloSol ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋ณ€๊ฒฝ
๊ณ„์•ฝ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ
ํŠธ๋คผํ”Œ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ธฐ
๊ฒฌ๊ณ ์„ฑ ํ…Œ์ŠคํŠธ
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ
์ˆ˜์—… ์š”์•ฝ

8๊ฐ•. Solidity ๋ฐ์ดํ„ฐ ์œ ํ˜•๋ฐ์ดํ„ฐ ์œ ํ˜• ํ•™์Šต ๊ณ„์•ฝ
๋ถ€์šธ ๋ฐ์ดํ„ฐ ์œ ํ˜•
๋ถ€ํ˜ธ ์—†๋Š” ์ •์ˆ˜ ๋ฐ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜
๊ณ ์ • ์†Œ์ˆ˜์  ์ˆ˜
์ฃผ์†Œ
๋ณตํ•ฉ ์œ ํ˜•์˜ ๋ณ€์ˆ˜
๊ณ ์ • ํฌ๊ธฐ ๋ฐฐ์—ด
๋™์  ๋ฐฐ์—ด
๋ฆฌ์ŠคํŒ…
๊ตฌ์กฐ
์‚ฌ์ „ ๋งคํ•‘
์ˆ˜์—… ์š”์•ฝ

Lesson 9. ํ”„๋ผ์ด๋น— ๋„คํŠธ์›Œํฌ์™€ Rinkeby ๋„คํŠธ์›Œํฌ๋กœ ๊ณ„์•ฝ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜Truffle์—์„œ ๊ฐœ์ธ Geth ๋„คํŠธ์›Œํฌ๋กœ ๊ณ„์•ฝ ๊ฒŒ์‹œ
๊ฐœ์ธ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ ์ค€๋น„
๊ทผ๋กœ ๊ณ„์•ฝ ์ค€๋น„
Truffle ๋„คํŠธ์›Œํฌ๋กœ ๊ณ„์•ฝ ์ปดํŒŒ์ผ ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ geth ์‹œ์ž‘
์†ก๋กœ๋ฒ„์„ฏ ์œ ๋ฌผ ์–ป๊ธฐ
Truffle์—์„œ Rinkeby ํ…Œ์ŠคํŠธ๋„ท์œผ๋กœ ๊ณ„์•ฝ ๊ฒŒ์‹œ
Rinkeby์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก Geth ๋…ธ๋“œ ์ค€๋น„
๋…ธ๋“œ ๋™๊ธฐํ™”
๊ณ„์ • ์ถ”๊ฐ€
Ether๋กœ Rinkeby ๊ณ„์ • ์ถฉ์ „ํ•˜๊ธฐ
Rinkeby ๋„คํŠธ์›Œํฌ๋กœ ๊ณ„์•ฝ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ์ž‘
Rinkeby ๋„คํŠธ์›Œํฌ์—์„œ ๊ณ„์•ฝ ์ •๋ณด ๋ณด๊ธฐ
Rinkeby Network์šฉ ํŠธ๋Ÿฌํ”Œ ์ฝ˜์†”
๊ณ„์•ฝ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋” ์‰ฌ์šด ๋ฐฉ๋ฒ•
Node.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์•ฝ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
Rinkby์šฉ Truffle ์ฝ˜์†”์—์„œ ๊ณ„์ • ๊ฐ„ ์ž๊ธˆ ์ด์ฒด
์ˆ˜์—… ์š”์•ฝ

๊ฐ•์˜ 10. ์ด๋”๋ฆฌ์›€ ์Šค์›œ(Ethereum Swarm) ๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ ์ €์žฅ์ด๋”๋ฆฌ์›€ ์Šค์›œ์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?
Swarm ์„ค์น˜ ๋ฐ ์‹คํ–‰
ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž‘์—…
Ethereum Swarm์— ํŒŒ์ผ ์—…๋กœ๋“œ
Ethereum Swarm์—์„œ ํŒŒ์ผ ์ฝ๊ธฐ
์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ณด๊ธฐ
ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๋กœ๋“œ
๋‹ค์šด๋กœ๋“œํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ํŒŒ์ผ ์ฝ๊ธฐ
๊ณต๊ฐœ Swarm ๊ฒŒ์ดํŠธ์›จ์ด ์‚ฌ์šฉ
Node.js ์Šคํฌ๋ฆฝํŠธ์—์„œ Swarm์— ์•ก์„ธ์Šค
Perl Net::Ethereum::Swarm ๋ชจ๋“ˆ
Net::Ethereum::Swarm ๋ชจ๋“ˆ ์„ค์น˜
๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ
์ˆ˜์—… ์š”์•ฝ

๊ฐ•์˜ 11. Python์—์„œ Ethereum ์ž‘์—…์„ ์œ„ํ•œ Web3.py ํ”„๋ ˆ์ž„์›ŒํฌWeb3.py ์„ค์น˜
ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๋ฐ ์„ค์น˜
easysolc ๋ชจ๋“ˆ ์„ค์น˜
Web3.py๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์•ฝ ๊ฒŒ์‹œ
๊ณ„์•ฝ์„œ ํŽธ์ง‘
๊ณต๊ธ‰์ž์— ์—ฐ๊ฒฐ
๊ณ„์•ฝ์„œ ๋ฐœํ–‰ ์‹คํ–‰
์ปจํŠธ๋ž™ํŠธ ์ฃผ์†Œ์™€ abi๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅ
๊ณ„์•ฝ ๊ฒŒ์‹œ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
๊ณ„์•ฝ ๋ฐฉ๋ฒ• ํ˜ธ์ถœ
JSON ํŒŒ์ผ์—์„œ ์ปจํŠธ๋ž™ํŠธ์˜ ์ฃผ์†Œ์™€ abi ์ฝ๊ธฐ
๊ณต๊ธ‰์ž์— ์—ฐ๊ฒฐ
๊ณ„์•ฝ ๊ฐ์ฒด ์ƒ์„ฑ
๊ณ„์•ฝ ๋ฐฉ๋ฒ• ํ˜ธ์ถœ
ํŠธ๋Ÿฌํ”Œ๊ณผ Web3.py
์ˆ˜์—… ์š”์•ฝ

12๊ณผ. ์˜ค๋ผํด์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด ์™ธ๋ถ€ ์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋ธ”๋ก์ฒด์ธ ์ •๋ณด ์ค‘๊ฐœ์ž๋กœ์„œ์˜ ์˜ค๋ผํด
๋ฐ์ดํ„ฐ ์†Œ์Šค
์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ฝ”๋“œ
๋ธ”๋ก์ฒด์ธ์— ํ™˜์œจ์„ ๊ธฐ๋กํ•˜๋Š” ์˜ค๋ผํด
USDํ™˜์œจOracle ๊ณ„์•ฝ
์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ํ™˜์œจ ์—…๋ฐ์ดํŠธ
์›น ์†Œ์ผ“ ๊ณต๊ธ‰์ž ์‚ฌ์šฉ
RateUpdate ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘
RateUpdate ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ
์Šค๋งˆํŠธ ๊ณ„์•ฝ์—์„œ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ ์‹œ์ž‘
์ˆ˜์—… ์š”์•ฝ

์ถœ์ฒ˜ : habr.com

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