๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ก work work work/blockchain

[์ด๋”๋ฆฌ์›€] ์ด๋”๋ฆฌ์›€ ์ž…๋ฌธ ๋ฐ”์ด๋ธ” - inflearn ๊ฐ•์˜ ์ •๋ฆฌ(1) : ์ด๋”๋ฆฌ์›€ ๊ธฐ์ดˆ, ์šฉ์–ด์ •๋ฆฌ, ์ด๋”๋ฆฌ์›€ ๊ตฌ์กฐ, ์ง€๊ฐ‘, ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ

by hanwitjus 2022. 6. 9.

๐Ÿ“Š ๊ฐœ์š”

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ํ™œ์šฉ ์‚ฌ๋ก€์—๋Š” ๋น„ํŠธ์ฝ”์ธ์ด ์žˆ๋‹ค.

๋น„ํŠธ์ฝ”์ธ ๋ธ”๋ก์ฒด์ธ์€ ๋ˆ์„ ์ค‘์•™๊ธฐ๊ด€์˜ ์ค‘์žฌ ์—†์ด ์†ก์ˆ˜์‹  ํ•˜๋Š” ๊ฒƒ์— ๊ทธ์นœ๋‹ค. 

 

๋น„ํƒˆ๋ฆญ ๋ถ€ํ…Œ๋ฆฐ์€ ํƒˆ์ค‘์•™ํ™”์˜ ๊ฐœ๋…์„ ์†ก๊ธˆ ์™ธ์˜ ๋‹ค๋ฅธ ๋ถ„์•ผ์— ์ ์šฉํ•˜๊ณ ์ž ํ–ˆ๋‹ค. 

ex. ์ค‘์•™ํ™”๋œ ํ†ต์ œ๊ถŒํ•œ ์—†์ด ์ „์„ธ๊ณ„์ ์œผ๋กœ ์šด์˜๋  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ

 

๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์ด๋”๋ฆฌ์›€์ด๋‹ค.

 

 

โšœ๏ธ ์ด๋”๋ฆฌ์›€

: ํผ๋ธ”๋ฆญ ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ ์ปดํ“จํŒ… ํ”Œ๋žซํผ

(์ „์„ธ๊ณ„์˜ ์ˆ˜๋งŽ์€ ์ž‘์€ ์ปดํ“จํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ํ•˜๋‚˜์˜ ํฐ ์ปดํ“จํ„ฐ)

 

 

 

์ด๊ฒƒ์€ ๊ธฐ์กด์˜ ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ์•„ํ‚คํ…์ณ์˜ ๋ชจ์Šต์ด๋‹ค.

HTML/CSS/JavaScript๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋ก ํŠธ๋‹จ๊ณผ Ruby, Python, Java๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„๋‹จ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์บ์‹œ์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š”

์ค‘์•™ํ™”๋œ ํ•˜๋‚˜์˜ ์›น ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๊ณ  ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด ํ•˜๋‚˜์˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค.

 

 

 

 

 

ํ•˜์ง€๋งŒ ์ด๋”๋ฆฌ์›€๊ณผ ๊ฐ™์€ ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(Dapp)์€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์˜ ์ž์ฒด ์ธ์Šคํ„ด์Šค์™€ ํ†ต์‹ ํ•œ๋‹ค.

๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐํ•  ์ค‘์•™ ์„œ๋ฒ„๊ฐ€ ์—†๋‹ค.

๊ทธ๋ž˜์„œ ์ด์ƒ์ ์ธ ํƒˆ์ค‘์•™ํ™”์˜ ๋ฐฐ๊ฒฝ์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ์ „์ฒด ๋ธ”๋ก์ฒด์ธ์„ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค.

 

๋ธ”๋ก์ฒด์ธ์˜ 2๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ

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

๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์ง€ ์•Š๋„๋ก Proof of Work(์ž‘์—…์ฆ๋ช…) ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•œ๋‹ค.

 

2) ์ฝ”๋“œ : Solidity๋ผ๋Š” ์–ธ์–ด๋กœ ๋…ผ๋ฆฌ/์‘์šฉํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ(์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ) ์ž‘์„ฑ -> ์ด๋”๋ฆฌ์›€ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ -> ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ๋ธ”๋ก์ฒด์ธ์— ๋ฐฐํฌ

 

์ฆ‰, ๋ธ”๋ก์ฒด์ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ EVM์—์„œ ์‹คํ–‰ํ•จ.

 

 

 

โšœ๏ธ ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ(Smart Contract, ์Šค๋งˆํŠธ ๊ณ„์•ฝ)

:  ์†”๋ฆฌ๋””ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ

 

์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ์˜ ์žฅ์ ์€ ๋ธ”๋ก์ฒด์ธ์— ๋ฐฐํฌ๋˜๋ฉด ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž„.

 

 

โšœ๏ธ ์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ(Address)

์ฃผ์†Œ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๊ณผ์ •

 

๊ฐœ์ธํ‚ค ์ƒ์„ฑ -> ๊ฐœ์ธ ํ‚ค๋กœ๋ถ€ํ„ฐ ๊ณต๊ฐœํ‚ค ์ƒ์„ฑ -> keccak256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ณต๊ฐœํ‚ค์˜ ํ•ด์‹œ๊ฐ’ ๊ณ„์‚ฐ

-> ์ƒ์„ฑ๋œ ํ•ด์‹œ๊ฐ’์˜ ๋’ค์ชฝ 20๋ฐ”์ดํŠธ๋ฅผ ์ทจํ•˜์—ฌ ์ด๋”๋ฆฌ์›€ ์ฃผ์†Œ ์ƒ์„ฑ

 

 

โšœ๏ธ ์ง€๊ฐ‘

: ์ด๋”๋ฆฌ์›€ ๊ณ„์ •์„ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋Ÿฌ๊ทธ์ธ or ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์—ฌ๋Ÿฌ ๊ณ„์ • ๊ด€๋ฆฌ, ํŠธ๋žœ์žญ์…˜์— ์„œ๋ช…, ์ž”๊ณ  ์ถ”์ ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ๋œ๋‹ค.

 

์ง€๊ฐ‘์˜ 2๊ฐ€์ง€ ์œ ํ˜•

1) ๋น„๊ฒฐ์ •์  ์ง€๊ฐ‘ : ์ž„์˜์˜ ๊ฐœ์ธํ‚ค/๊ณต๊ฐœํ‚ค ์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ์œ ํ˜•์˜ ์ง€๊ฐ‘. ๊ฐ ํ‚ค ์Œ ๊ฐ„์—๋Š” ์ƒ๊ด€๊ด€๊ณ„ ์—†์Œ

2) ๊ฒฐ์ •๋ก ์  ์ง€๊ฐ‘ : ๋ชจ๋“  ํ‚ค๊ฐ€ ์‹œ๋“œ(Seed)๋ผ๋Š” ๋‹จ์ผ ์ง€์ ์—์„œ ํŒŒ์ƒ

* Seed๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š๊ณ  ์ง€๊ฐ‘์„ ์‰ฝ๊ฒŒ ๋ฐฑ์—…ํ•˜๊ณ  ๋ณต์›ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

(๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ฐœ์ธํ‚ค๋ฅผ ๋ชจ๋ฅธ ์ฑ„ ๊ณต๊ฐœํ‚ค ์ƒ์„ฑ ๊ฐ€๋Šฅ)

 

 

 


Reference

https://www.inflearn.com/course/ethereum-bible/dashboard

 

 

 

LIST

๋Œ“๊ธ€