๐ ๊ฐ์
์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ํ์ฉ ์ฌ๋ก์๋ ๋นํธ์ฝ์ธ์ด ์๋ค.
๋นํธ์ฝ์ธ ๋ธ๋ก์ฒด์ธ์ ๋์ ์ค์๊ธฐ๊ด์ ์ค์ฌ ์์ด ์ก์์ ํ๋ ๊ฒ์ ๊ทธ์น๋ค.
๋นํ๋ฆญ ๋ถํ ๋ฆฐ์ ํ์ค์ํ์ ๊ฐ๋ ์ ์ก๊ธ ์ธ์ ๋ค๋ฅธ ๋ถ์ผ์ ์ ์ฉํ๊ณ ์ ํ๋ค.
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
๋๊ธ