Skip to content

Latest commit

ย 

History

History
354 lines (226 loc) ยท 29 KB

e2_smart_contract_intall.md

File metadata and controls

354 lines (226 loc) ยท 29 KB

Chapter 2. ์Šค๋งˆํŠธ ๊ณ„์•ฝ

์Šค๋งˆํŠธ ๊ณ„์•ฝ (๋˜๋Š” ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™)์€ ๋ธ”๋ก์ฒด์ธ์— ์ž‘์„ฑ๋œ ๋””์ง€ํ„ธ ๊ณ„์•ฝ์ด๋ผ์„œ ์ž„์˜๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†๊ณ  ๊ทธ ํšจ๋ ฅ์ด ์ž๋™์œผ๋กœ ๊ฐ•์ œ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋”๋ฆฌ์›€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ํ•„์š”ํ•œ Geth, Solidity๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

1. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด๋ž€

์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋””์ง€ํ„ธ ํ˜•์‹์ด๋‹ค

์Šค๋งˆํŠธ ๊ณ„์•ฝ(Smart Contract)์€ 1994๋…„ Nick Szabo๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ์†Œ๊ฐœํ•œ ๊ฐœ๋…์œผ๋กœ, ๋ง ๊ทธ๋Œ€๋กœ '์Šค๋งˆํŠธ'ํ•˜๊ฒŒ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ณ„์•ฝ์„ ๋งํ•œ๋‹ค.

๋ณธ๋ž˜ ๊ณ„์•ฝ์ด๋ž€ **'์Œ๋ฐฉ์˜ ์˜๋ฌด๋‚˜ ๊ถŒ๋ฆฌ์— ๋Œ€ํ•œ ์•ฝ์†'**์„ ์˜๋ฏธํ•˜๊ณ  ๋ณดํ†ต ๋ฌธ์„œ์— ์”Œ์—ฌ์ง€์ง€๋งŒ, ์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋””์ง€ํ„ธ ํ˜•์‹์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ๊ทธ ์•ฝ์†์ด ์ž๋™์œผ๋กœ ์ดํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐœ๋…์ด ๋ฐœ์ „ํ•˜์—ฌ ํ˜„์žฌ๋Š” ๋ธ”๋ก์ฒด์ธ์— ์˜ฌ๋ ค์ ธ ์‹คํ–‰๋˜๋Š” ๋‹จ๊ณ„์— ์ด๋ฅด๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ์ด๋”๋ฆฌ์›€(Ethereum)์€ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”Œ๋žซํผ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

๋ธ”๋ก์ฒด์ธ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ผ๋‹จ ์˜ฌ๋ ค์ง€๋ฉด ์ž„์˜๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†์œผ๋ฉฐ ๊ทธ ํšจ๋ ฅ์ด ์ž๋™์œผ๋กœ ๊ฐ•์ œ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

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

์ค‘๊ฐ„๊ฑฐ๋ž˜์ƒ์ด ์—†๋‹ค

๋˜ํ•œ ์ค‘๊ฐ„๊ฑฐ๋ž˜์ƒ ์—†์ด (์Šค๋งˆํŠธํ•˜๊ฒŒ) ๊ณ„์•ฝ์„ ์ฒด๊ฒฐํ•˜๊ณ  ๊ทธ์™€ ์ˆ˜๋ฐ˜๋˜๋Š” ์˜๋ฌด๋ฅผ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

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

๋ธ”๋ก์ฒด์ธ์—์„œ์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ

์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์ฒ˜์Œ ์–ธ๊ธ‰๋œ 1990๋…„ ์ดˆ๋ฐ˜์€ ๋ธ”๋ก์ฒด์ธ์ด ์กด์žฌํ•˜์ง€ ์•Š๋˜ ์‹œ๊ธฐ์˜€๋‹ค. 2009๋…„์— ๋น„ํŠธ์ฝ”์ธ์ด ๋“ฑ์žฅํ•˜๊ณ , ๋น„ํŠธ์ฝ”์ธ ์•ˆ์—์„œ์˜ ๋ธ”๋ก์ฒด์ธ์ด ์ง„ํ™”ํ•ด์„œ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์‹คํ–‰ํ•˜๋Š” ํ”Œ๋žซํผ์œผ๋กœ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๊ณ  ๋น„ํŠธ์ฝ”์ธ์ด ํ”Œ๋žซํผ์ด๋ผ๋Š” ๋ง์€ ์•„๋‹ˆ๋‹ค! ๋น„ํŠธ์ฝ”์ธ์€ ๋ธ”๋ก์ฒด์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†๋‹ค. ๋น„ํŠธ์ฝ”์ธ์€ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

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

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

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

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

2. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ์‚ฌ์šฉ์‚ฌ๋ก€

์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋‹ค์–‘ํ•œ ์‚ฐ์—… ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ช‡ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•ด๋ณด์ž.

์ž๋™์ฐจ ์‚ฌ๋ก€

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

์ž๋™์ฐจ๋Š” ์ƒ์‚ฐ๋ถ€ํ„ฐ ํ๊ธฐ๊นŒ์ง€ ์œ ํ†ต์ฑ„๋„์„ ๊ฑฐ์ณ ์ˆœํ™˜๋˜๋Š”๋ฐ, ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™์„ ํ†ตํ•ด ๊ฐ ๋‹จ๊ณ„์˜ ์ž๋™์ฐจ ์†Œ์œ ์ž๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. IBM์—์„œ๋Š” ํ•˜์ดํผ๋ ˆ์ €์˜ ๋ธ”๋ก์ฒด์ธ์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋™์ฐจ ๋ฆฌ์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ์‚ฌ๋ก€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค (https://github.com/IBM-Blockchain-Archive/car-lease-demo)

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

์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋ฒ•์ ์ธ ๊ณ„์•ฝ๊ณผ ๊ฐ™์ง€๋งŒ, ํ•„์š”ํ•œ ์ž…๋ ฅ ๊ฐ’์„ ๋ฐ›์•„, ๊ณ„์•ฝ์— ๋ช…์‹œ๋œ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅธ ํ–‰์œ„๋ฅผ ์ดํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๋ฌผ๋ฅ˜ ์‚ฌ๋ก€

์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋ฌผ๋ฅ˜ ๋ฐ ๊ณต๊ธ‰๋ง ๊ด€๋ฆฌ ๋ถ„์•ผ์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๋ฌผ๋ฅ˜๋Š” ์ œ์กฐ์‚ฌ์—์„œ ๊ณ ๊ฐ๊นŒ์ง€ ์ƒํ’ˆ์ด ๋ฐฐ๋‹ฌ๋˜๋ฉด์„œ ๋งŽ์€ ๊ธฐ๊ด€, ๋ฐœ์†ก์ž(shippers), DHL ๊ฐ™์€ 3PLs (Third-Party Logistics Providers), ์šด์†ก์ธ(carriers), ์ˆ˜ํƒ์ž(consignees)๊ฐ€ ๊ด€์—ฌ๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ด๋“ค ๊ฐ„์— ๋งŽ์€ ๊ฑฐ๋ž˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๊ด€๋ จ ๋ฌธ์„œ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค ์„ ํ•˜์ฆ๊ถŒ(BOL-Bills Of Landing), ์‹ ์šฉ์žฅ(invoices), ๋ฐฐ์†ก ์ฆ๋ช…(POD-Proof Of Delivery) ๋“ฑ์ด ์ƒ์„ฑ๋˜๋Š” ๋ฌธ์„œ๋“ค์˜ ์˜ˆ์ด๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ •๋ณด๊ฐ€ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต์œ ๋˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

์„œ๋กœ ์•Œ์ง€ ๋ชปํ•˜๋Š” ๋‹น์‚ฌ์ž๋ผ๋ฆฌ ๊ฑฐ๋ž˜๋ฅผ ์„ฑ์‚ฌ์‹œํ‚ค๋ ค๋ฉด, ์ค‘์•™์—์„œ ๋งค๊ฐœํ•˜๋Š” ์ œ 3์˜ ๊ธฐ๊ด€์ด ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค. ์˜จ๋ผ์ธ์‡ผํ•‘์˜ ๊ฒฝ์šฐ, ๊ฒฐ์ œํ›„ ๋ฐฐ์†ก, ๊ฑฐ๋ž˜์ทจ์†Œ ๋“ฑ์˜ ๊ฒฝ์šฐ ์ด๋ฅผ ์ค‘์•™๊ธฐ๊ด€์„ ๋ฏฟ๊ณ  ์‹ ๋ขฐํ•ด์•ผ ๋˜์ง€๋งŒ ์ค‘๊ฐ„๋งค๊ฐœ์ž ์—†์ด ๊ฑฐ๋ž˜๊ฐ€ ์™„์„ฑ์ด ๋œ๋‹ค.

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

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

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

์ถœ์ฒ˜: https://developer.ibm.com/articles/cl-coffee-with-blockchain-introduction-to-how-blockchain-works/ alt text

3. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์˜ ํ”Œ๋žซํผ๋“ค

์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์€ ๋งŽ์ด ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๋ช‡ ๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ณด์ž.

  • ์ด๋”๋ฆฌ์›€: Solidity๋ผ๋Š” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ž‘์„ฑํ•˜๊ณ  ์ด๋”๋ฆฌ์›€๊ฐ€์ƒ ๋จธ์‹ (EVM)์—์„œ ์‹คํ–‰๋œ๋‹ค. ํ˜„์žฌ ๋ธ”๋ก์ฒด์ธ ์‹œ์žฅ์„ ์ฃผ๋„ํ•˜๊ณ  ์žˆ๋Š” ํ”Œ๋žซํผ์ด๊ณ , ์ฑ…์—์„œ๋Š” ์ด ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • **ํ•˜์ดํผ๋ ˆ์ €(HYPERLEDGER)**๋Š” 2015๋…„ ๋ฆฌ๋ˆ…์Šค์žฌ๋‹จ์—์„œ ํ•˜์ดํผ๋ ˆ์ € ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ๊ณ , ์ด๋”๋ฆฌ์›€๊ณผ ๋”๋ถˆ์–ด ๋ธ”๋ก์ฒด์ธ์„ ์ฃผ๋„ํ•˜๋Š” ์ปจ์†Œ์‹œ์—„์ด๋‹ค. ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€์ ์ธ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ๋ชฉ์ ์ด๊ณ , ํ•˜์œ„ ํ”„๋กœ์ ํŠธ์ธ ๋ธ”๋ก์ฒด์ธ ์ต์Šคํ”Œ๋กœ๋Ÿฌ(Blockchain Explorer), ํŒจ๋ธŒ๋ฆญ(Fabric), ์ด๋กœํ•˜(Iroha), ์˜์šฐํˆฌ์Šค ๋ ˆ์ดํฌ(Sawtooth Lake)๋“ฑ์ด ์žˆ๋‹ค.
  • ์ด์˜ค์—์Šค์•„์ด์˜ค https://eos.io/ 2017๋…„ ๋ธ”๋ก์›(Block.one)์—์„œ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜์—ฌ 2018๋…„ 6์›” ์˜คํ”ˆ์†Œ์Šค๋กœ ๋ฐœํ‘œํ–ˆ๋‹ค. ICO(Initial Coin Offering) ์—ญ์‚ฌ ์ƒ ์ตœ๋Œ€ ํŽ€๋“œ ์ด 41์–ต5000๋งŒ๋‹ฌ๋Ÿฌ(์›ํ™” ์•ฝ 4์กฐ4630์–ต์›)๋ฅผ ๋ชจ์ง‘ํ•˜์˜€๋‹ค. PoS์˜ ์ผ์ข…์ธ ์œ„์ž„ ์ง€๋ถ„ ์ฆ๋ช…๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋™๋˜์–ด, ์ด๋”๋ฆฌ์›€์— ๋น„ํ•ด ๋น ๋ฅด๊ณ , ๊ฐœ์Šค ์‚ฌ์šฉ๋ฃŒ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€๋ถˆํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ถ€๋‹ดํ•œ๋‹ค.

๋” ์•Œ์•„๋ณด๊ธฐ: ICO

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

๊ทธ ์™ธ์—๋„ ๋ฐ”์ด๋‚ธ์Šค์˜ BSC(Binance Smart Chain), R3์˜ Corda, Tezos, Stellar, ConsenSys์˜ Quorum ๋“ฑ ๋งŽ์€ ํ”Œ๋žซํผ์ด ์ œ๊ณต๋˜๊ณ  ์žˆ๋‹ค.

์ด๋“ค ํ”Œ๋žซํผ ์ค‘์—์„œ ๋Œ€ํ‘œ์ ์ธ ์ด๋”๋ฆฌ์›€๊ณผ ํ•˜์ดํผ๋ ˆ์ €๋ฅผ ๋น„๊ตํ•ด๋ณด์ž.

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

์ด๋”๋ฆฌ์›€์€ ๋น„ํŠธ์ฝ”์ธ๊ณผ ๋”๋ถˆ์–ด ์ž‘์—… ์ฆ๋ช… ํ•ฉ์˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ , ์ด๋”๋ฆฌ์›€์˜ ์บ์Šคํผ์—์„œ๋Š” ์ง€๋ถ„ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ดํผ๋ ˆ์ €๋Š” PBFT(Practical Byzantine Fault Tolerance)๋ฅผ ์ ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋”๋ฆฌ์›€์€ ์•”ํ˜ธํ™”ํ ์ด๋”(Ether)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ํ•˜์ดํผ๋ ˆ์ €๋Š” ์ž์ฒด ํ†ตํ™”๊ฐ€ ์—†๋‹ค๊ฐ€, 2.0์—์„œ๋Š” ํŒจ๋ธŒ๋ฆญ ํ† ํฐ์ด๋ผ๋Š” ๋ฐœํ–‰ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

๊ตฌ๋ถ„ ๋น„ํŠธ์ฝ”์ธ ์ด๋”๋ฆฌ์›€ ํ•˜์ดํผ๋ ˆ์ € ํŒจ๋ธŒ๋ฆญ
์•”ํ˜ธํ™”ํ ๋น„ํŠธ์ฝ”์ธ ์ด๋”(ether) ์ž์ฒด ์ฝ”์ธ ์—†๋‹ค (๋ฒ„์ „2.0์—์„œ 'ํŒจ๋ธŒ๋ฆญ ํ† ํฐ(FabToken)'์ด๋ผ๋Š” ํ† ํฐ ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ถ”๊ฐ€)
๋„คํŠธ์›Œํฌ ๊ณต์ค‘๋ง ๊ณต์ค‘๋ง์ด๋‚˜ ํ—ˆ๊ฐ€ํ˜• ๋„คํŠธ์›Œํฌ ๊ฐ€๋Šฅ ํ—ˆ๊ฐ€ํ˜•
ํ•ฉ์˜ ์ž‘์—… ์ฆ๋ช… ์ž‘์—… ์ฆ๋ช… (์ง€๋ถ„ ์ฆ๋ช…์œผ๋กœ ๋ณ€๊ฒฝ) PBFT
์Šค๋งˆํŠธ ๊ณ„์•ฝ ํ•ด๋‹น ์—†๋‹ค ๊ตฌํ˜„ ๊ฐ€๋Šฅ (Solidity, Vyper, LLL) ๊ตฌํ˜„ ๊ฐ€๋Šฅ (chaincode)
์–ธ์–ด C++ Golang, C++, Python Golang, Java

๋” ์•Œ์•„๋ณด๊ธฐ: ๊ณต์ค‘๋ง๊ณผ ํ—ˆ๊ฐ€๋ง

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

4. ์ด๋”๋ฆฌ์›€

4.1 ์ด๋”๋ฆฌ์›€์ด ๋ญ์ง€?

์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์œผ๋กœ๋Š” ํ˜„์žฌ ์ด๋”๋ฆฌ์›€์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

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

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

์•”ํ˜ธํ™”ํ **์ด๋”(Ether)**๋ผ๊ณ  ํ•˜๋Š” ๋‚ด๋ถ€์—์„œ ์“ฐ๋Š” ํ™”ํ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ธˆ์ „ ๊ฑฐ๋ž˜์™€ ๊ฐ€์Šค(gas)๋ผ๊ณ  ํ•˜๋Š” ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋น„์šฉ์— ์“ฐ์ด๊ณ  ์žˆ๋‹ค. ๊ฐ€์Šค๋ฅผ ๋ถ€๋‹ดํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ถˆํ•„์š”ํ•œ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์–ด ํ•ดํ‚น ๋˜๋Š” ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ๋Œ€๋Ÿ‰์œผ๋กœ ์ „์†กํ•˜๋Š” DDoS ๊ณต๊ฒฉ์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

4.2 ๋น„ํŠธ์ฝ”์ธ๊ณผ ๋น„๊ต

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

๋ธ”๋ก ์ƒ์„ฑ์‹œ๊ฐ„์„ ๋น„๊ตํ•˜๋ฉด, ๋น„ํŠธ์ฝ”์ธ์ด ์•ฝ 10๋ถ„์ด๊ณ  ์ด๋”๋ฆฌ์›€์€ ์•ฝ 14์ดˆ์ด๊ณ  (https://ethstats.net/), ์ด๋Ÿฌํ•œ ์ฐจ์ด๋Š” ๋Œ€๋‹จํ•œ ๊ธฐ์ˆ ์ด ์ ์šฉ๋˜์–ด์„œ ๊ทธ๋ ‡๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ๊ทธ ์‹œ๊ฐ„์— ๋ธ”๋ก์ด ์ƒ์„ฑ๋˜๋„๋ก ๊ทธ๋ ‡๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ ๋ธ”๋ก์˜ ํฌ๊ธฐ๋„ ์„œ๋กœ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. ๋น„ํŠธ์ฝ”์ธ์€ ๋ธ”๋ก์˜ ํฌ๊ธฐ๊ฐ€ 1MB์ด์ง€๋งŒ, ์ด๋”๋ฆฌ์›€์€ ๋ธ”๋ก์˜ gas limit์— ๋”ฐ๋ผ ๊ทธ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ํ˜„์žฌ gas limit์€ ์•ฝ 800๋งŒ https://ethstats.net/, ๋ธ”๋ก์˜ ํฌ๊ธฐ๋Š” ํ‰๊ท  ์•ฝ 20KB์ด๋‹ค (์ฐธ์กฐ: https://etherscan.io/chart/blocksize)

๊ตฌ๋ถ„ ๋น„ํŠธ์ฝ”์ธ ์ด๋”๋ฆฌ์›€
์ฃผ ์‚ฌ์šฉ ํ™”ํ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™
๋ฐœํ–‰ ์ตœ๋Œ€ 2,100๋งŒ ๋น„ํŠธ์ฝ”์ธ. ๋ชจ๋‘ ๋งˆ์ด๋‹์˜ ๋ณด์ƒ์œผ๋กœ ๋ฐœ๊ธ‰ 7,200๋งŒ ether๊ฐ€ ์‚ฌ์ „ ํŒ๋งค. ๋‚˜๋จธ์ง€๋Š” ๋งˆ์ด๋‹ ๋ณด์ƒ ๋ฐœ๊ธ‰.
๋ธ”๋ก์ฒด์ธ ๊ฑฐ๋ž˜๊ธฐ๋ก ๊ฑฐ๋ž˜๊ธฐ๋ก + ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ
๋ธ”๋ก ์ƒ์„ฑ ์‹œ๊ฐ„ ์•ฝ 10๋ถ„ ์•ฝ 14์ดˆ (์ง€๋ถ„์ฆ๋ช… PoS ์ ์šฉํ•˜๋ฉด ๋‹จ์ถ•)
๋ธ”๋ก ํฌ๊ธฐ currently 1 MB, ์•ฝ 500๊ฑฐ๋ž˜ ๋ธ”๋กํฌ๊ธฐ๋ผ๊ธฐ ๋ณด๋‹ค๋Š” Gas limit์— ๋”ฐ๋ผ ๊ฒฐ์ •, ์•ฝ 20KB
Smart Contract No Yes

4.3 ๋ฒ„์ „

2013๋…„ Vitalik Buterin์ด ์ฒ˜์Œ ์ œ์•ˆํ•œ ํ›„, ๊ณง 2014๋…„ 7~8์›” ํด๋ผ์šฐ๋“œ ํŒ๋งค๋กœ 6์ฒœ๋งŒ Ether๋ฅผ ๊ณต๋ชจํ•˜์˜€๊ณ , ๋งค๋…„ 20%์”ฉ ๋งˆ์ด๋‹ ๋ณด์ƒ์œผ๋กœ ๋ฐœ๋งค๋œ๋‹ค.

์—ฌ๋Ÿฌ ํšŒ์— ๊ฑธ์ณ ์‹œํ—˜๋ฒ„์ „์„ ์ถœ์‹œํ•˜์˜€๊ณ , 2015๋…„ 5์›” Olympic, Frontier์˜ ๋ฒ ํƒ€์— ํ•ด๋‹น๋˜๋Š” ์‹œํ—˜๋ฒ„์ „์ด ๋ฐœํ‘œ๋˜๊ณ , ๊ณง ์ด์–ด 2015๋…„ 7์›” Frontier๋ฅผ ๋ฐœํ‘œํ–ˆ๋‹ค. ์ด ๋ฒ„์ „์ด ์ตœ์ดˆ์˜ ๊ณต์‹ ๋ฒ„์ „์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

2016๋…„ 3์›” Homestead๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ๊ณ , ์•ˆ์ •ํ™”๋œ ํ”Œ๋žซํผ์ด๋‹ค. Byzantium์€ 4,370,000 ๋ธ”๋ก์—์„œ, Constantinople์€ 7,280,000 ๋ธ”๋ก์—์„œ ํ•˜๋“œํฌํฌ๋ฅผ ๊ฑฐ์ณ Metropolis๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฒ„์ „์ด๋‹ค.

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

Serenity๋Š” ์ด๋”๋ฆฌ์›€ 2.0์œผ๋กœ ๋ถˆ๋ฆฌ์šฐ๊ณ  ์žˆ๊ณ  2014๋…„๋ถ€ํ„ฐ ์ž‘์—…ํ•ด ์˜ค๋˜ ์บ์Šคํผ(Casper) ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ์ง€๋ถ„ ์ฆ๋ช… PoS (Proof of Stake)๋ฅผ ์ ์šฉํ•˜๊ณ , ๋ถ„์‚ฐ์ €์žฅ๊ธฐ๋ฒ•์ธ ์ƒค๋”ฉ(Sharding), ์ƒˆ๋กœ์šด ๊ฐ€์ƒ ๋จธ์‹ (eWASM) ๋“ฑ์ด ์ œ๊ณต๋œ๋‹ค.

๋ฒ„์ „ ๋ฒ„์ „์˜ ๋ช…์นญ ๋ฐœํ‘œ ์‹œ์  ์„ค๋ช…
0 Olympic 2015๋…„ 5์›” ์ด๋”๋ฆฌ์›€ 0.9, Frontier๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์ „์˜ ์‹œํ—˜ ๋ฒ„์ „
1 Frontier 2015๋…„ 7์›” ์ด๋”๋ฆฌ์›€ 1.0, ์ตœ์ดˆ์˜ ๊ณต์‹ ๋ฒ„์ „. 0๋ฒˆ์งธ Genesis block ์ƒ์„ฑ.
2 Homestead 2016๋…„ 3์›” 1,150,00 ๋ธ”๋ก์—์„œ ํ•˜๋“œํฌํฌ๋œ ๋‘ ๋ฒˆ์งธ ์ •์‹ ๋ฒ„์ „. ์ƒ๋‹นํžˆ ์•ˆ์ •ํ™”๋œ ๋ฒ„์ „.
3 Metropolis 2017๋…„ 10์›” Byzantium, Constantinople์„ ๊ฑฐ์ณ์„œ ์™„์„ฑ.
4 Serenity 2020๋…„ 12์›” ์ •์ƒ๊ฐ€๋™ ์‹œ์ž‘ ์ด๋”๋ฆฌ์›€ 2.0์œผ๋กœ ๋ถˆ๋ฆฌ์šฐ๊ณ  ์žˆ๊ณ  ์ง€๋ถ„ ์ฆ๋ช…์„ ์ ์šฉํ•œ๋‹ค.

๋” ์•Œ์•„๋ณด๊ธฐ: ํฌํฌ(Fork)

**ํ•˜๋“œ ํฌํฌ(Hard Fork)**๋Š” ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์ด๊ณ , ์‚ฌ์šฉ์ž๋Š” ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ํ•˜๋“œ ํฌํฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ฒด์ธ์ด ๋ฉ”์ธ์—์„œ ๋ถ„๊ธฐ๊ฐ€ ๋œ๋‹ค. ์œ„ ํ‘œ์—์„œ ๋ณด๋Š” ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ Frontier, Homestead ๋ชจ๋‘ ํ•˜๋“œ ํฌํฌ์ด๋‹ค. Metropolis ์—ญ์‹œ Byzantium, Constantinople๋ผ๋Š” ํ•˜๋“œ ํฌํฌ๋ฅผ ํ•˜๊ณ  ๋‚œ ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค. ๋˜ํ•œ ํ•˜๋“œ ํฌํฌ๋กœ ์ธํ•ด ETH, ETC ํ™”ํ๊ฐ€ ๋ถ„๋ฆฌ๋œ ๊ฒฝ์šฐ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด์— **์†Œํ”„ํŠธ ํฌํฌ(Soft Fork)**๋Š” ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜์ด ์œ ์ง€๋˜๋ฉฐ, ์ฒด์ธ์ด ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋”๋ฆฌ์›€์˜ ํ†ต์ƒ์ ์ธ ํ”„๋กœํ† ์ฝœ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์†Œํ”„ํŠธ ํฌํฌ์ด๋‹ค.

4.4 ์ด๋” ๊ฐ€์ƒํ™”ํ

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

๋น„ํŠธ์ฝ”์ธ์—์„œ๋Š” Unspent Transaction Output (UTXO)๋ฅผ ํ†ตํ•˜์—ฌ ๊ณ„์ •์˜ ์ž”๊ณ ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋ฐ˜๋ฉด์—, ์ด๋”๋ฆฌ์›€์—์„œ๋Š” ๊ณ„์ •์— ์ž”๊ณ ๋ฅผ ์ตœ์‹ ํ™”ํ•ด์„œ ์ €์žฅํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋ณ„๋„๋กœ ์ž”๊ณ ๋ฅผ ํ•ฉ์‚ฐํ•ด์„œ ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋”๋ฆฌ์›€์—์„œ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ๋จธํด ํŠธ๋ฆฌ(Merkle Patricia Trie)๋ฅผ ์‚ฌ์šฉํ•ด ์ž”๊ณ ๋ฅผ ์ €์žฅํ•œ๋‹ค.

์ด๋”๋ฆฌ์›€์— ๋”ฐ๋ฅด๋ฉด ํ™”ํ๋Š” ๋ฌดํ•œ์ • ๋ฐœํ–‰๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • ์ฒ˜์Œ ํŒ๋งค๋œ 6์ฒœ๋งŒ ์ด๋”(ether), ๋งค๋…„ ์ดˆ๊ธฐ ๊ณต๊ธ‰๋ถ„์˜ ์•ฝ 25%์ด ๋ฐœํ–‰๋˜๊ณ  ์žˆ๋‹ค.
  • ํ–ฅํ›„ PoS ์•Œ๊ณ ๋ฆฌ์ฆ˜ Casper์—์„œ๋Š” ๋งˆ์ด๋‹ ๋ณด์ƒ์ด ์ ๊ฒŒ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋”๋ฆฌ์›€(Ethereum, ETH))๊ณผ ์ด๋”๋ฆฌ์›€ ํด๋ž˜์‹(Ethereum Classic, ETC)๋Š” ๋‹ค๋ฅธ ํ™”ํ์ด๋‹ค. 2016๋…„ 7์›” ๊ณต๊ฒฉ์œผ๋กœ ํ•˜๋“œ ํฌํฌ ๋˜๋ฉด์„œ ๊ฐˆ๋ผ์ง„ ํ™”ํ๊ฐ€ ETH์ด๊ณ  ๊ณต์‹์ ์œผ๋กœ ํ†ต์šฉ๋˜๊ณ  ์žˆ๋‹ค.

์•„๋ž˜ ํ‘œ์—์„œ ์ต์ˆ™ํ•œ ํ™”ํ๋‹จ์œ„ ์›จ์ด(wei), ์Šค์ž๋ณด(szabo), ํ”ผ๋‹ˆ(finney)๊ฐ€ ๋ณด์ธ๋‹ค.

1998๋…„์— b-money๋ฅผ ์ œ์•ˆํ•œ Wei Dai, 2004๋…„ ๋น„ํŠธ์ฝ”์ธ์— ์•ž์„œ PoW๋ฅผ ๊ณ ์•ˆํ•œ Hal Finney, ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ 1996๋…„ ์ฒ˜์Œ ์–ธ๊ธ‰ํ–ˆ๋˜ NickSzabo์˜ ์ด๋ฆ„์—์„œ ๋”ฐ์˜จ ํ™”ํ ๋ช…์นญ์ด๋‹ค.

์›จ์ด(wei)๋Š” ์ด๋”๋ฆฌ์›€์—์„œ์˜ ๊ฐ€์žฅ ์ž‘์€ ํ™”ํ ๋‹จ์œ„์ด๊ณ  10์˜ 18์Šน์›จ์ด๊ฐ€ 1 ์ด๋”๊ฐ€ ๋œ๋‹ค.

ํ”ผ๋‹ˆ๋Š” ์›จ์ด์˜ 10์˜ 15์Šน, ์Šค์ž๋ณด๋Š” 10์˜ 12์Šน์ด๋‹ค.

Unit Wei Value Wei
wei 1 wei 1
Kwei (babbage) 1e3 wei 1,000
Mwei (lovelace) 1e6 wei 1,000,000
Gwei (shannon) 1e9 wei 1,000,000,000
microether (szabo) 1e12 wei 1,000,000,000,000
milliether (finney) 1e15 wei 1,000,000,000,000,000
ether 1e18 wei 1,000,000,000,000,000,000

4.5 ๊ธฐ์ˆ  ์Šคํƒ

์ด๋”๋ฆฌ์›€์˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ์‚ดํŽด๋ณด์ž. ์ด ์ฑ…์—์„œ ์ด๋”๋ฆฌ์›€์„ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ๋””์•ฑ์„ ๋งŒ๋“ค๋ฉด์„œ ๋‹ค์Œ์˜ ๊ธฐ์ˆ  ๋“ฑ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

  • ๋„คํŠธ์›Œํฌ: geth ๋ช…๋ น์–ด๋กœ ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ P2P๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

  • ์Šค๋งˆํŠธ ๊ณ„์•ฝ: ์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ์†”๋ฆฌ๋””ํ‹ฐ(Solidity), ๋ฐ”์ดํผ(Vyper, Serpent์˜ ํ›„์†), LLL๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์ด ์ปจํŠธ๋ž™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ๊ธฐ์กด์˜ ์„œ๋ฒ„๊ฐ€ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ด๋Ÿฐ ์ž‘์—…๋“ค์ด P2P๋„คํŠธ์›Œํฌ ๋ธ”๋ก์ฒด์ธ ์ƒ์—์„œ ์‹คํ–‰๋œ๋‹ค.

  • evm(Ethereum Virtual Machine): ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ด๋”๋ฆฌ์›€์˜ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ(runtime environment)์ด๋‹ค.

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: (1) web3.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ JSON RPC. contract ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค. (2) web3.py๋Š” ๊ฐ™์€ ๊ธฐ๋Šฅ์˜ ์ด๋”๋ฆฌ์›€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๋Š” ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ: ๋ธ”๋ก์ฒด์ธ์„ ์„œ๋ฒ„๋กœ ๊ฐ„์ฃผํ•ด์„œ, ๊ทธ ์„œ๋ฒ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋˜๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ์ž์‹ ์˜ ๋กœ์ปฌ์ปดํ“จํ„ฐ์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. geth ๋‹จ๋ง ๋˜๋Š” nodejs๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Swarm: ์ด๋”๋ฆฌ์›€์˜ ๋ถ„์‚ฐ ์ €์žฅ์†Œ์ด๋‹ค. ์œ ์‚ฌํ•˜๊ฒŒ ์ €์žฅ์†Œ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” IPFS (P2P๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐํ˜• ํŒŒ์ผ ์ €์žฅ์†Œ), BigchainDB (๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๊ฐ€ ์žˆ๋‹ค.

  • Whisper: ๋ถ„์‚ฐํ˜• P2P ๋ฉ”์‹œ์ง€ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๋ธ”๋ก์ฒด์ธ ์ƒ์—์„œ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์ต๋ช…์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค.

4.6 Geth, Solidity ์„ค์น˜

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ

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

์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ช…๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์œˆ๋„์šฐ์—์„œ๋Š” C:\Users\jsl\Code\20171111\
  • ๋ฆฌ๋ˆ…์Šค๋Š” home/user/Code/jsl

์•ž์œผ๋กœ ๋ช…๋ น์ฐฝ์—์„œ ํ”„๋กœ์ ํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ ํ”„๋กฌํ”„ํŠธ๋Š” pjt_dir> ๋ผ๊ณ  ํ‘œ๊ธฐํ•œ๋‹ค.

pjt_dir ์•„๋ž˜์— ๋‹ค์Œ ๋””๋ ‰ํ† ๋ฆฌ, ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. ์ด ๊ฐ€์šด๋ฐ package.json, node_modules, eth๋Š” ์ƒ์„ฑ์ด ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

  • 'src' ๋””๋ ‰ํ† ๋ฆฌ์—๋Š” ์†”๋ฆฌ๋”ํ‹ฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ €์žฅ,
  • 'scripts'๋Š” html ํŒŒ์ผ์„ ์ €์žฅ,
  • npm์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด node_moudles, package.json์ด ์ƒ์„ฑ,
  • eth๋Š” ๋ธ”๋ก์ฒด์ธ์„ ์ƒ์„ฑํ•˜๋ฉด ๋งŒ๋“ค์–ด์ง€๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ด๋‹ค.
pjt_dir> dir (๋ฆฌ๋ˆ…์Šค๋Š” ls -l)
ํŒŒ์ผ -----> _gethNow.sh ๋˜๋Š” _gethNow.bat ๋“ฑ ์ผ๊ด„์‹คํ–‰ ํŒŒ์ผ
๋””๋ ‰ํ† ๋ฆฌ --> sripts\
๋””๋ ‰ํ† ๋ฆฌ --> src\
                ---> Hello.sol
                ---> HelloDeploy.js ๋“ฑ ์†Œ์Šค์ฝ”๋“œ ํŒŒ์ผ
ํŒŒ์ผ ------> package.json
๋””๋ ‰ํ† ๋ฆฌ ---> node_modules\
๋””๋ ‰ํ† ๋ฆฌ ---> eth\ ๋ธ”๋ก์ฒด์ธ ์„ค์ • ํŒŒ์ผ ๋“ฑ์„ ์ €์žฅ

Ethereum ์„ค์น˜

Geth๋Š” ์ด๋”๋ฆฌ์›€(Ethereum)์„ Go ์–ธ์–ด๋กœ ๊ตฌํ˜„ ๋˜๋ฉฐ,

  • ๋งฅ์—์„œ๋Š” ํŒจํ‚ค์ง€์„ค์น˜๊ด€๋ฆฌ์ž์˜ brew๋ฅผ ์ด์šฉํ•ด ์„ค์น˜ํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค.
brew install ethereum
  • ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ์˜ ์„ค์น˜

๋‹ค์Œ๊ณผ ๊ฐ™์ด ppa๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ๋‚˜์„œ ์„ค์น˜ํ•œ๋‹ค.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ethereum/ethereum
sudo add-apt-repository ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum
  • ์œˆ๋„์šฐ์— Geth๋ฅผ ์„ค์น˜ํ•ด๋ณด์ž

https://geth.ethereum.org/downloads/ ์— ์ ‘์†ํ•œ ํ›„, geth ์„ค์น˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค. 32๋น„ํŠธ ๋˜๋Š” 64๋น„ํŠธ ์•Œ๋งž์€ ๋ฒ„์ „์„ ์„ ํƒํ•ด์„œ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค.

alt text

์„ค์น˜ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ C:\Program Files\Geth๋ฅผ ์„ค์ •ํ•œ๋‹ค.

alt text

๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ:

  • ์ œ์–ดํŒ์˜ 'ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘' ์ฐฝ์„ ์—ฐ๋‹ค. (์ œ์–ดํŒ -> ์‹œ์Šคํ…œ ๋ฐ ๋ณด์•ˆ -> ์‹œ์Šคํ…œ -> ๊ณ ๊ธ‰ ์‹œ์Šคํ…œ ์„ค์ • -> ํ™˜๊ฒฝ ๋ณ€์ˆ˜)
  • ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ 'Path'๋ฅผ ์„ ํƒํ•˜๊ณ  'ํŽธ์ง‘'์„ ํด๋ฆญํ•œ๋‹ค.
  • ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ , Geth ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. (์˜ˆ: C:\Program Files\Geth)

์„ค์น˜ํ•˜๊ณ  ๋‚˜๋ฉด, geth ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ธ”๋ก์ฒด์ธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. geth ์™ธ์—๋„ ๊ฐ™์€ Go๋กœ ๊ตฌํ˜„ํ•œ Erigon, C#์œผ๋กœ ๊ตฌํ˜„๋œ Nethermind, ์ž๋ฐ”๋กœ ๊ตฌํ˜„๋œ Hyperledger Besu ๋“ฑ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Solidity ์„ค์น˜

์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ์†”๋ฆฌ๋””ํ‹ฐ(Solidity) ๋˜๋Š” Python์„ ๋‹ฎ์€ ๋ฐ”์ดํผ(Vyper)๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์†”๋ฆฌ๋””ํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ฏ€๋กœ Solidity๋ฅผ ์„ค์น˜ํ•ด๋ณด์ž.

  • ๋ฆฌ๋ˆ…์Šค๋Š” ๋ช…๋ น์ฐฝ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•ด์„œ Solidity ์„ค์น˜ํ•œ๋‹ค.
sudo apt get install solc
  • ๋งฅ์—์„œ๋Š” ํŒจํ‚ค์ง€์„ค์น˜๊ด€๋ฆฌ์ž์˜ brew๋ฅผ ์„ค์น˜ํ•˜๋Š” ํŽธ์ด ํŽธ๋ฆฌํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด Solidity๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
brew install solidity (@4 ํŠน์ • ๋ฒ„์ „์„ ์ •ํ•ด์„œ ์„ค์น˜ํ•˜๋ ค๋ฉด solidity@4)
  • Soldity๋ฅผ ์ง์ ‘ ์ปดํŒŒ์ผํ•ด์„œ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ˆ™๋ จ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ปดํŒŒ์ผํ•ด์„œ ์„ค์น˜ํ•˜๋ ค๋ฉด, git clone์œผ๋กœ ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  make ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด go-ethereum/build/์— ์„ค์น˜๋œ๋‹ค.
$ git clone https://github.com/ethereum/go-ethereum        
$ cd go-ethereum
$ make geth
$ ./build/bin/geth
$ make all (๋ชจ๋‘ ๋นŒ๋“œํ•˜๋ ค๋ฉด)
  • ์œˆ๋„์šฐ์—์„œ๋Š” ๋งค์šฐ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„์ „์— ๋งž์ถ”์–ด, https://github.com/ethereum/solidity/releases ๋กœ ๊ฐ€์„œ Solidity๋ฅผ ์„ค์น˜ํ•œ๋‹ค. ํŠน์ • ๋ฒ„์ „์„ ์›ํ•œ๋‹ค๋ฉด ์ขŒ์ƒ๋‹จ์˜ 'Tags'์—์„œ ๋‚ด๋ ค๋ฐ›์„ ๋ฒ„์ „์„ ์„ ํƒํ•˜์—ฌ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค.

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

์—ฌ๊ธฐ์„œ๋Š” C:\\Program Files\\solidity-windows\์— Solidity ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•˜๊ณ , ์ด ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด๋‘๋ฉด ํŽธ๋ฆฌํ•œ๋ฐ ์œ„์—์„œ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์ œ์–ดํŒ์˜ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ๋ณ€์ˆ˜์˜ 'Path'์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

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

๊ทธ๋ฆฌ๊ณ  Python์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด pip install py-solcํ•˜์—ฌ ์ผ์ข…์˜ Wrapper๋ฅผ ์„ค์น˜ํ•˜๋ฉด, ์„ค์น˜๋œ solidity๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฝ์œ ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

4.7 ํ”„๋กฌํ”„ํŠธ์˜ ํ‘œ๊ธฐ

๋ธ”๋ก์ฒด์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ฉ€ํ‹ฐ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋œ๋‹ค. ํ˜„์žฌ๋Š” geth, solidity๋ฅผ ์„ค์น˜ํ•˜์˜€๊ณ , ๋‚˜๋จธ์ง€๋Š” ์ฐจ์ธฐ ๋ฐฐ์šฐ๊ฒŒ ๋œ๋‹ค. ์–ธ์–ด๋ณ„๋กœ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์–ด, ์ฑ…์—์„œ๋Š” ํ”„๋กฌํ”„ํŠธ์— ์–ธ์–ด๋ช…์„ ํ‘œ๊ธฐํ•ด์„œ ํ˜ผ๋ž€์„ ๋œ๊ณ ์ž ํ•œ๋‹ค.

ํ”„๋กฌํ”„ํŠธ ํ‘œ๊ธฐ ํ”„๋กฌํ”„ํŠธ์˜ ์‹คํ–‰ ํ™˜๊ฒฝ
pjt_dir> ๋ช…๋ น์ฐฝ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ์˜ ํ”„๋กฌํ”„ํŠธ ์˜ˆ: C:\Users\jsl\Code\201711111>
geth> pjt_dir> ์—์„œ geth attach http://localhost:8345 ํ•˜๋ฉด ์ƒ๊ธฐ๋Š” geth ์ฝ˜์†”์˜ ํ”„๋กฌํ”„ํŠธ
node> pjt_dir> ์—์„œ nodeํ•˜๋ฉด ์ƒ๊ธฐ๋Š” node ์ฝ˜์†”์˜ ํ”„๋กฌํ”„ํŠธ
javascript> ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ˜์†”์˜ ํ”„๋กฌํ”„ํŠธ
>>> Python ๊ณ ์œ  ํ”„๋กฌํ”„ํŠธ

์—ฐ์Šต๋ฌธ์ œ

  1. ๋ณดํ†ต ๊ณ„์•ฝ์€ ๋ฌธ์„œ๋กœ ์ž‘์„ฑ๋˜์ง€๋งŒ, ์Šค๋งˆํŠธ ๊ณ„์•ฝ์€ ๋ธ”๋ก์ฒด์ธ์—์„œ ์ž‘์„ฑ๋˜๊ณ  ์‹คํ–‰๋œ๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  2. ์Šค๋งˆํŠธ ๊ณ„์•ฝ์ด๋ผ๋Š” ์šฉ์–ด๋Š” ์–ธ์ œ, ๋ˆ„๊ฐ€ ์ฒ˜์Œ ์–ธ๊ธ‰ํ–ˆ๋Š”์ง€ ์ ์œผ์‹œ์˜ค.
  3. ๋น„ํŠธ์ฝ”์ธ๋„ ๋ธ”๋ก์ฒด์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  4. ์ž๋™์ฐจ ์ƒ๋ช… ์ฃผ๊ธฐ์— ์Šค๋งˆํŠธ ๊ณ„์•ฝ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  5. ์ปคํ”ผ์˜ ๋ฌผ๋ฅ˜/์œ ํ†ต์— ๋ธ”๋ก์ฒด์ธ์„ ์ ์šฉํ•œ ์‚ฌ๋ก€๋ฅผ ์กฐ์‚ฌํ•ด ๋ณด๊ณ , ์–ด๋–ค ์ ์ด ๊ฐœ์„ ๋˜์—ˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  6. ๋ธ”๋ก์ฒด์ธ์ด ๋‹ค์–‘ํ•œ ์‚ฐ์—…์— ์ ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ํˆฌํ‘œ์—๋„ ์ ์šฉ๋˜๊ณ  ์žˆ๋Š”๋ฐ, ์ ์šฉ ์ „๊ณผ ๋น„๊ตํ•˜๋ฉด ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  7. 2017๋…„ ๊ฒฝ๊ธฐ๋„ ์ง€์—ญ๊ณต๋™์ฒด์˜ ์˜ˆ์‚ฐ ๋ฐฐ๋ถ„ ํˆฌํ‘œ์— ์ฃผ๋ฏผ๋“ค์ด ์˜จ๋ผ์ธ์œผ๋กœ ์ง์ ‘ ์ฐธ์—ฌํ–ˆ๋Š”๋ฐ, ์ด ๋•Œ ๋ธ”๋ก์ฒด์ธ์„ ์ ์šฉํ•˜์˜€๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  8. ๋Œ€ํ‘œ์ ์ธ ์Šค๋งˆํŠธ ๊ณ„์•ฝ ํ”Œ๋žซํผ์œผ๋กœ ์ด๋”๋ฆฌ์›€๊ณผ ํ•˜์ดํผ๋ ˆ์ €๋ฅผ ๊ผฝ์„ ์ˆ˜ ์žˆ๋‹ค. ์ œ๊ณตํ•˜๋Š” ๋„คํŠธ์›Œํฌ์˜ ์„ฑ๊ฒฉ, ํ•ฉ์˜ ๋ฐฉ์‹์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  9. ํ•˜์ดํผ๋ ˆ์ € ํ”Œ๋žซํผ์—๋Š” ์•”ํ˜ธํ™”ํ๊ฐ€ ์—†๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  10. ๋™์ผํ•œ ํ•ฉ์˜ ๋ฐฉ์‹์ธ ์ž‘์—… ์ฆ๋ช…์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋น„ํŠธ์ฝ”์ธ๊ณผ ์ด๋”๋ฆฌ์›€์˜ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๋Š” ์‹œ๊ฐ„์— ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  11. ์ด๋”๋ฆฌ์›€ 2.0์€ ์ด์ „ ๋ฒ„์ „๊ณผ ํ•ฉ์˜ ๋ฐฉ์‹์— ์žˆ์–ด ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  12. ํ•˜๋“œ ํฌํฌ์™€ ์†Œํ”„ํŠธ ํฌํฌ์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  13. ETC๋Š” ETH์™€ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
  14. ํ•˜๋“œ ํฌํฌ๊ฐ€ ์–ธ์ œ, ์™œ ์ผ์–ด๋‚ฌ๋Š”์ง€ ๋ช‡ ๊ฐ€์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
  15. Ether๋ฅผ ๊ธฐ์ค€์œผ๋กœ Wei, Finney์˜ ๋‹จ์œ„๋ฅผ ์ ์œผ์‹œ์˜ค.
  16. CBDC๋Š” Central Bank Digitial Currency์˜ ์ค„์ž„๋ง์ด๋‹ค. ์ค‘์•™์€ํ–‰์ด ๋ฐœํ–‰ํ•˜๋Š” ๋””์ง€ํ„ธ ํ™”ํ๋ฅผ ๋งํ•˜๊ณ  ํ•œ๊ตญ์€ ๋””์ง€ํ„ธ ์„ ๋„ ๊ตญ๊ฐ€๋กœ์„œ ์ด๋ฏธ ๊ฒฐ์ œ์— ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  17. Geth์˜ ๋ช…์นญ์€ go ethereum์˜ ์ค„์ž„๋ง์ด๋‹ค. OX๋กœ ๋‹ตํ•˜์‹œ์˜ค.
  18. P2P๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐํ˜• ํŒŒ์ผ ์ €์žฅ์†Œ๋ฅผ ์ ์œผ์‹œ์˜ค.
  19. Code/myProect/ ๋””๋ ‰ํ† ๋ฆฌ์™€ src, scripts, eth, node_modules ๋“ฑ ๊ทธ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  dir ๋ช…๋ น์–ด๋กœ ์ถœ๋ ฅํ•˜์‹œ์˜ค.
  20. solc --version์„ ์‹คํ–‰ํ•˜์—ฌ, ์„ค์น˜๋œ ๋ฒ„์ „์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.
  21. geth -h๋กœ geth์˜ ๋„์›€๋ง์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.