ํญ๋ชฉ | ์ํ | ์ค๋ช |
---|---|---|
์ง๊ฐ ์ฃผ์ (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ยทG
G
: ํ์๊ณก์ ์์ ๊ณ ์ ๋ ์์ฑ์ ยท
: ํ์๊ณก์ ์์ ์ ๊ณฑ์ ์ฐ์ฐ
โ๏ธ 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 n
uโ = zยทw mod n
,uโ = rยทw mod n
P = uโยทG + uโยทQ
xโ = Pโ
, ํ์ธ:r โก xโ mod n
๊ฒฐ๊ณผ๊ฐ ์ผ์นํ๋ฉด โ ์๋ช ์ ํด๋น ๊ณต๊ฐํค๋ก ์ ํจํจ
๐ ์ ์๋ณ์กฐ๊ฐ ๋ถ๊ฐ๋ฅํ๊ฐ?
๊ณต๊ฒฉ ์๋ | ๋ถ๊ฐ๋ฅํ ์ด์ |
---|---|
๐ฅ ๊ณต๊ฐํค๋ก ์๋ช ์์ฑ | ํ์๊ณก์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (ECDLP) ๋๋ฌธ์ ๋ถ๊ฐ๋ฅ |
๐งช ์๋ช ์์กฐ | s = kโปยน(z + rd) ๊ตฌ์กฐ๋ฅผ ์ญ์ฐํ ์ ์์ |
๐ ์๋ช ์ฌ์ฌ์ฉ | k ๊ฐ ์ฌ์ฌ์ฉ๋๋ฉด ๊ฐ์ธํค d ์ ์ถ๋จ (์ค์ ๋ก ๋๋ ์ฌ๋ก ์กด์ฌ) |
๐ ์ํ์ ๋น์
์๋ช ์ **”ํผ์ฆ ์กฐ๊ฐ ๋ ๊ฐ๊ฐ ๋ง์์ผ๋ง ๋ฌธ์ด ์ด๋ฆฌ๋ ์๋ฌผ์ ”**์ ๊ฐ์ต๋๋ค.
ํผ์ฆ์ ๋ง์ถ๋ ํค๋ ๊ฐ์ธํค, ํผ์ฆ ๊ทธ๋ฆผ์ ๊ณต๊ฐํค.
ํผ์ฆ๋ง ๋ณด๊ณ ๋ ํค๋ฅผ ๋ณต์ํ ์ ์์ต๋๋ค.
๐ ๋ธ๋ก์ฒด์ธ์์ ?
- ํธ๋์ญ์
=
msg
- ์ฌ์ฉ์๋ ๊ฐ์ธํค๋ก
msg
์ ์๋ช โsignature
- ์ฒด์ธ ๋
ธ๋๋ ๊ณต๊ฐํค๋ก
msg
,signature
๋ฅผ ๊ฒ์ฆ โ ์์ ์ ์ธ์ฆ
๐ก ๊ฐ์ธํค ๋ ธ์ถ ์์ด๋ ์๋ช ์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ ํจ์ฑ์ ์ฆ๋ช
โ ์์ฝ
ํญ๋ชฉ | ๋ด์ฉ |
---|---|
์๋ช ์๋ฆฌ | ํ์๊ณก์ ์ํธ(ECDSA), ์ผ๋ฐฉํฅ ํจ์ ๊ธฐ๋ฐ |
์๋ณ์กฐ ๋ฐฉ์ง | ๊ฐ์ธํค ์์ด ์๋ช ์์กฐ ๋ถ๊ฐ |
๊ณต๊ฐํค ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ | ๋ชจ๋ ์ฌ๋์ด ์๋ช ์ ์ ๋น์ฑ ๊ฒ์ฆ ๊ฐ๋ฅ |
์ํ์ ๋ณด์ฅ | ํ์๊ณก์ ์ด์ฐ ๋ก๊ทธ ๋ฌธ์ (ECDLP)์ ๋์ด๋์ ๊ธฐ๋ฐ |
๋ต๊ธ ๋จ๊ธฐ๊ธฐ