| ํญ๋ชฉ | ์ํ | ์ค๋ช |
|---|---|---|
| ์ง๊ฐ ์ฃผ์ (Account Address) | โ ๊ณต๊ฐ | ๋๊ตฌ๋ ํ์ธ ๊ฐ๋ฅ |
| ์์ก (Balance) | โ ๊ณต๊ฐ | ์ฃผ์๋ณ๋ก ๋ชจ๋ ์ด๋ ๊ฐ๋ฅ |
| ํธ๋์ญ์ ๋ด์ญ (History) | โ ๊ณต๊ฐ | ์กยท์์ ๊ธฐ๋ก์ด ํฌ๋ช ํ๊ฒ ๋ ธ์ถ๋จ |
| ๊ฐ์ธํค (Private Key) | โ ๋น๊ณต๊ฐ | ์ฌ์ฉ์๋ง ๋ณด์ , ์ง๊ฐ ์ธ๋ถ์ ์ ๋ ๋ ธ์ถ X |
| ํธ๋์ญ์ ์๋ช (Signature) | โ ๊ณต๊ฐ๋์ง๋ง ์์กฐ ๋ถ๊ฐ | ์ํ์ ์ผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅํ์ง๋ง ์๋ณธ ๊ฐ์ธํค ์ ์ถ ๋ถ๊ฐ |
โ๏ธ ์๋ช ์ ์ญํ = ์์ ์ฆ๋ช + ์๋ณ์กฐ ๋ฐฉ์ง
- ์ฌ์ฉ์๋ ํธ๋์ญ์ ์ ๋ง๋ค๊ณ ๊ฐ์ธํค๋ก ์๋ช ํฉ๋๋ค.
- ์ด ์๋ช ๋ ํธ๋์ญ์ ์ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ ํ๋ฉ๋๋ค.
- ๋
ธ๋๋ค์ ์๋ช
์ ๊ฒ์ฆํฉ๋๋ค:
- “์ด ์ฃผ์์ ์ฃผ์ธ์ด ์ค์ ๋ก ๋ณด๋ธ ๊ฒ ๋ง๋๊ฐ?”
- “๊ฑฐ๋๊ฐ ์๋ณ์กฐ๋์ง ์์๋๊ฐ?”
๐ ํต์ฌ: ๊ณต๊ฐํค ๊ธฐ๋ฐ ์ํธํ(ECDSA, EdDSA ๋ฑ)์ ํตํด ์๋ช ์ ๊ณต๊ฐ๋๋๋ผ๋ ๊ฐ์ธํค๋ ๋ ธ์ถ๋์ง ์๊ณ , ์ ๋น์ฑ์ ๋๊ตฌ๋ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
๐ ์ ์ด ๊ตฌ์กฐ๊ฐ ๊ฐ๋ ฅํ๊ฐ?
- ๊ฐ์ธํค ์์ด๋ ๊ฑฐ๋ ์์ฑ ๋ถ๊ฐ๋ฅ
- ์ฃผ์์ ํธ๋์ญ์ ์ด ๋ชจ๋ ๊ณต๊ฐ๋์ด๋, ์๋ฌด๋ ์น์ธ ์์ด ์ ์ก ๋ถ๊ฐ
- ํ์ค์ํ ๊ตฌ์กฐ์์๋ ๋ณด์์ด ์ ์ง๋จ (โ ์ ๋ขฐ ์๋ ํ๊ฒฝ์์์ ์ ๋ขฐ)
๐ ์์: ์ด๋๋ฆฌ์ ์ฃผ์ 0xabc...
- ๋๊ตฌ๋: ์ด ์ฃผ์์ ETH, ํ ํฐ ์์ก๊ณผ ํธ๋์ญ์ ๋ด์ญ ํ์ธ ๊ฐ๋ฅ
- ์ค์ง ๊ฐ์ธํค ๋ณด์ ์๋ง: ETH ์ ์ก์ด๋ ์ค๋งํธ ๊ณ์ฝ ํธ์ถ ๊ฐ๋ฅ
โ ์์ฝ
| ๊ฐ๋ | ํต์ฌ ๋ด์ฉ |
|---|---|
| ๐ ์กฐํ๋ ๋๊ตฌ๋ | ์์ก, ๊ฑฐ๋, ์ฃผ์๋ ์์ ๊ณต๊ฐ |
| โ๏ธ ์ ์ก์ ์๋ช ํ์ | ๊ฐ์ธํค ๊ธฐ๋ฐ ์๋ช ์์ด๋ ์ ์ก ๋ถ๊ฐ |
| ๐ ๋ณด์์ ํต์ฌ | ์๋ช ์ ๊ณต๊ฐ๋์ด๋ ์์กฐ/๋ณต์ ๊ฐ ๋ถ๊ฐ๋ฅ |
| ๐ ๊ฐ์ธํค ์ ์ถ์ | ์ฆ์ ์์ฐ ํ์ทจ ๊ฐ๋ฅ โ ์ ๋ ๋ณด์ ํ์ |
๐ง 1. ๊ธฐ๋ณธ ๊ฐ๋ ์์ฝ
| ์์ | ์ญํ |
|---|---|
| ๊ฐ์ธํค (private key) | ๋น๋ฐ ํค, ๋ณธ์ธ๋ง ์๊ณ ์์ |
| ๊ณต๊ฐํค (public key) | ๊ฐ์ธํค๋ก๋ถํฐ ์์ฑ, ๋ชจ๋์๊ฒ ๊ณต๊ฐ |
| ์๋ช (signature) | ๊ฐ์ธํค๋ก ๋ฉ์์ง๋ฅผ โ์๋ช โ |
| ๊ฒ์ฆ (verification) | ๊ณต๊ฐํค๋ก ์๋ช ์ด ์ ๋นํ์ง ํ์ธ |
๐ ๊ณต๊ฐํค๋ ๋๊ตฌ๋ ์๊ณ ์์ง๋ง, ๊ฐ์ธํค๊ฐ ์์ผ๋ฉด ์๋ช ์์ฑ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๐ 2. ECDSA ์๋ช ์ ํต์ฌ ๊ตฌ์กฐ
Elliptic Curve Digital Signature Algorithm
(Ethereum, Bitcoin ๋ฑ์์ ์ฌ์ฉ)
๐งฎ Step 1: ํค ์์ฑ
- ๊ฐ์ธํค
d๋ ์์์ ์ ์ (๋น๋ฐ) - ๊ณต๊ฐํค
Q = dยทGG: ํ์๊ณก์ ์์ ๊ณ ์ ๋ ์์ฑ์ ยท: ํ์๊ณก์ ์์ ์ ๊ณฑ์ ์ฐ์ฐ
โ๏ธ Step 2: ์๋ช ์์ฑ (Sign)
๋ฉ์์ง m์ ๋ํด:
- ํด์ ๊ณ์ฐ:
z = HASH(m)โSHA-256๋ฑ - ๋ฌด์์ ์ ์
k์์ฑ (์ ๋ ์ฌ์ฌ์ฉ ๊ธ์ง!) - ๊ณ์ฐ:
R = kยทG โ (xโ, yโ)r = xโ mod n(์๋ช ์ ์ฒซ ๋ฒ์งธ ๊ฐ)s = kโปยน ยท (z + rยทd) mod n(๋ ๋ฒ์งธ ๊ฐ)
- ๊ฒฐ๊ณผ: ์๋ช (r, s)
๐ k, d ์์ด s๋ฅผ ๋ง๋ค ์ ์์ โ ์๋ณ์กฐ ๋ถ๊ฐ
๐ Step 3: ์๋ช ๊ฒ์ฆ (Verify)
- ๋ฉ์์ง ํด์:
z = HASH(m) - ๊ณ์ฐ:
w = sโปยน mod nuโ = zยทw mod n,uโ = rยทw mod nP = uโยทG + uโยทQxโ = Pโ, ํ์ธ:r โก xโ mod n
๊ฒฐ๊ณผ๊ฐ ์ผ์นํ๋ฉด โ ์๋ช ์ ํด๋น ๊ณต๊ฐํค๋ก ์ ํจํจ
๐ ์ ์๋ณ์กฐ๊ฐ ๋ถ๊ฐ๋ฅํ๊ฐ?
| ๊ณต๊ฒฉ ์๋ | ๋ถ๊ฐ๋ฅํ ์ด์ |
|---|---|
| ๐ฅ ๊ณต๊ฐํค๋ก ์๋ช ์์ฑ | ํ์๊ณก์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (ECDLP) ๋๋ฌธ์ ๋ถ๊ฐ๋ฅ |
| ๐งช ์๋ช ์์กฐ | s = kโปยน(z + rd) ๊ตฌ์กฐ๋ฅผ ์ญ์ฐํ ์ ์์ |
| ๐ ์๋ช ์ฌ์ฌ์ฉ | k๊ฐ ์ฌ์ฌ์ฉ๋๋ฉด ๊ฐ์ธํค d ์ ์ถ๋จ (์ค์ ๋ก ๋๋ ์ฌ๋ก ์กด์ฌ) |
๐ ์ํ์ ๋น์
์๋ช ์ **”ํผ์ฆ ์กฐ๊ฐ ๋ ๊ฐ๊ฐ ๋ง์์ผ๋ง ๋ฌธ์ด ์ด๋ฆฌ๋ ์๋ฌผ์ ”**์ ๊ฐ์ต๋๋ค.
ํผ์ฆ์ ๋ง์ถ๋ ํค๋ ๊ฐ์ธํค, ํผ์ฆ ๊ทธ๋ฆผ์ ๊ณต๊ฐํค.
ํผ์ฆ๋ง ๋ณด๊ณ ๋ ํค๋ฅผ ๋ณต์ํ ์ ์์ต๋๋ค.
๐ ๋ธ๋ก์ฒด์ธ์์ ?
- ํธ๋์ญ์
=
msg - ์ฌ์ฉ์๋ ๊ฐ์ธํค๋ก
msg์ ์๋ช โsignature - ์ฒด์ธ ๋
ธ๋๋ ๊ณต๊ฐํค๋ก
msg,signature๋ฅผ ๊ฒ์ฆ โ ์์ ์ ์ธ์ฆ
๐ก ๊ฐ์ธํค ๋ ธ์ถ ์์ด๋ ์๋ช ์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ ํจ์ฑ์ ์ฆ๋ช
โ ์์ฝ
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์๋ช ์๋ฆฌ | ํ์๊ณก์ ์ํธ(ECDSA), ์ผ๋ฐฉํฅ ํจ์ ๊ธฐ๋ฐ |
| ์๋ณ์กฐ ๋ฐฉ์ง | ๊ฐ์ธํค ์์ด ์๋ช ์์กฐ ๋ถ๊ฐ |
| ๊ณต๊ฐํค ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ | ๋ชจ๋ ์ฌ๋์ด ์๋ช ์ ์ ๋น์ฑ ๊ฒ์ฆ ๊ฐ๋ฅ |
| ์ํ์ ๋ณด์ฅ | ํ์๊ณก์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (ECDLP)์ ๋์ด๋์ ๊ธฐ๋ฐ |
๋ต๊ธ ๋จ๊ธฐ๊ธฐ