ํค๋ฐ๋ผ ์ด๋ฐดํธ (์งํ์ค)!
๐ Hedera์ ํค์ ์๋ช : ECDSA secp256k1์ Ed25519
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ
Hedera๋ Ethereum๊ณผ ๋์ผํ ECDSA secp256k1 ๊ณก์ ์ ์ฌ์ฉํฉ๋๋ค. ์๋ก์ด ๊ณ์ ์ ์์ฑํ ๋๋ ECDSA ํค์ ์์ฑ ์ ๊ณต๊ฐํค์์ ํ์๋ EVM ์ฃผ์(EVM Address)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฒ์๋ถํฐ EVM ๋๊ตฌ์ ํธํ๋๋ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๐ ํค์ ์๋ช
Hedera์์๋ ECDSA secp256k1๊ณผ Ed25519 ํค๋ฅผ ์ง์ํฉ๋๋ค. ํค๋ ์ง์๋๋ ์ ํ์ ๊ณต๊ฐํค์ด๊ฑฐ๋ ์ค๋งํธ ์ปจํธ๋ํธ์ ID์ผ ์ ์์ต๋๋ค. ๊ฐ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์๋ก ๊ณ ์ ํ ๊ณต๊ฐํค์ ๊ฐ์ธํค ์์ ์์ฑํฉ๋๋ค.
๊ณต๊ฐํค(Public Key)๋ ๋ค๋ฅธ ๋คํธ์ํฌ ์ฌ์ฉ์์ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, Network Explorer ๋๋ REST API์์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐ๋ฉด ๊ฐ์ธํค(Private Key)๋ ์์ ์๊ฐ ๋น๋ฐ๋ก ๋ณด๊ดํด์ผ ํ๋ฉฐ, ๊ณ์ ์ด๋ ํ ํฐ ๋ฑ์ ์ํฐํฐ๋ฅผ ์์ ํ ์ ์๋ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.
๊ฐ์ธํค๋ฅผ ๋ถ์คํ ๊ฒฝ์ฐ, ํด๋น ํค๋ฅผ ์์ฑํ ๋ ์ฐ๊ฒฐ๋ Recovery Phrase์ ์ ๊ทผํ ์ ์๋ค๋ฉด ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
ํค๋ ์ํฐํฐ์ ์ค์ ๋ ์ดํ์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํค๋ฅผ ์
๋ฐ์ดํธํ๋ ค๋ฉด ํ์ฌ ํค๋ก ํธ๋์ญ์
์ ์๋ช
ํด์ผ ํฉ๋๋ค.
๐ ํค ์ ํ: ECDSA vs Ed25519
๐ข ECDSA secp256k1 — ๊ถ์ฅ
ECDSA secp256k1์ Hedera์ ๋ชจ๋ ์ ๊ท ๊ณ์ ๊ณผ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ถ์ฅ๋๋ ํค ์ ํ์
๋๋ค.
Ethereum ๋ฐ ๊ด๋ฒ์ํ EVM ์ํ๊ณ์์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ์ํธํ ๊ณก์ ์ด๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ ์ ๊ณตํฉ๋๋ค.
ECDSA ๊ณ์ ์ ๊ณต๊ฐํค์์ EVM ์ฃผ์(EVM Address from Public Key)๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. EVM ์ฃผ์๋ ECDSA ๊ณต๊ฐํค์ Keccak-256 ํด์๊ฐ์์ ์ค๋ฅธ์ชฝ 20๋ฐ์ดํธ๋ฅผ ๊ฐ์ ธ์ ์์ฑํ๋ฉฐ, Ethereum Yellow Paper์ ์ค๋ช
๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ณ์ฐ๋ฉ๋๋ค.
Recovery ID๋ ๊ณต์์ ์ธ ๊ณต๊ฐํค์ ์ผ๋ถ๊ฐ ์๋๋ฏ๋ก ํด์ ๊ณ์ฐ์ ํฌํจ๋์ง ์์ต๋๋ค.
๋ฉ์ธ๋ท์์๋ ํด๋น EVM ์ฃผ์์ ๋์ํ๋ ๊ณ์ ID๊ฐ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ํ์๋ฉ๋๋ค.
0.0.<evmAddress>
EVM Address from Public Key๋ฅผ
์ฌ์ฉํ๋ฉด Solidity ์ค๋งํธ ์ปจํธ๋ํธ, msg.sender ๊ฒ์ฆ
๋ฐ
MetaMask, Hardhat, Foundry์ ๊ฐ์ EVM ๊ธฐ๋ฐ ๋๊ตฌ์ ์์ ํ ํธํ์ฑ์ ์ ๊ณตํฉ๋๋ค.
ECDSA ํค๋ EVM ํธํ ๋คํธ์ํฌ์ฉ์ผ๋ก ๊ตฌ์ถ๋ ์ง๊ฐ๊ณผ dApp์์๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ต Ed25519 — ์ง์๋์ง๋ง ์ ๊ท ๊ฐ๋ฐ์๋ ๋น๊ถ์ฅ
Ed25519๋ Hedera์์ ์ง์๋๋ ํค ์ ํ์
๋๋ค.
ํ์ง๋ง
Ed25519๋ EVM
Address from Public Key๋ฅผ ์์ฑํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์
Ed25519 ๊ณ์ ์ EVM ๋๊ตฌ, MetaMask ๋๋ Solidity์ ๊ธฐ๋ณธ ECRECOVER ๊ธฐ๋ฅ์ ์ง์ ์ฌ์ฉํ ์
์์ต๋๋ค.
๋ค๋ง Ed25519 ๊ณ์ ์ HIP-632 ์์คํ
์ปจํธ๋ํธ ํจ์์ธ isAuthorized์ isAuthorizedRaw๋ฅผ ํตํด ์ค๋งํธ ์ปจํธ๋ํธ์ ์ํธ์์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด Ed25519 ์๋ช
์ ์จ์ฒด์ธ์์ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
Ed25519๋ HCS ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
, Hedera ๋ค์ดํฐ๋ธ ์ํฌํ๋ก ๋ฐ EVM ํธํ์ฑ์ด ํ์ํ์ง ์์ ํ๊ฒฝ์ ์ ํฉํฉ๋๋ค.
๐ ECDSA secp256k1์ Ed25519 ๋น๊ต
๊ถ์ฅ ์ฌํญ
• ECDSA secp256k1: ✅ ๋ชจ๋ ์ ๊ท ๊ณ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ถ์ฅ
• Ed25519: ์ง์๋์ง๋ง ์ ๊ท ๊ฐ๋ฐ์๋ ๊ถ์ฅ๋์ง ์์
EVM Address (Alias)
• ECDSA secp256k1: ๊ฐ๋ฅ. ๊ณ์ ์์ฑ ์ setECDSAKeyWithAlias()๋ฅผ ์ฌ์ฉํด ์ค์ ํ๋ฉฐ, ECDSA ๊ณต๊ฐํค์ Keccak-256 ํด์์์ ํ์๋ฉ๋๋ค.
• Ed25519: ๋ถ๊ฐ๋ฅ. Ed25519 ๊ณ์ ์๋ EVM ์ฃผ์๊ฐ ์์ต๋๋ค.
์ค๋งํธ ์ปจํธ๋ํธ ํธํ์ฑ
• ECDSA secp256k1: ์์ ํ ํธํ์ฑ์ ์ ๊ณตํฉ๋๋ค. msg.sender, ECRECOVER, Solidity ๋ฐ EVM ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
• Ed25519: ์ ํ์ ์ผ๋ก ์ง์๋ฉ๋๋ค. ์จ์ฒด์ธ ์๋ช
๊ฒ์ฆ์ ์ํด HIP-632 ์์คํ
์ปจํธ๋ํธ ํจ์์ธ isAuthorized ๋ฐ isAuthorizedRaw๊ฐ ํ์ํฉ๋๋ค. ECRECOVER ๋๋ ํ์ค EVM ๋๊ตฌ์๋ ํธํ๋์ง ์์ต๋๋ค.
์ง๊ฐ ์ง์
• ECDSA
secp256k1: MetaMask, HashPack ๋ฐ ๋ชจ๋ EVM ํธํ
์ง๊ฐ
• Ed25519:
HashPack ๋ฐ Hedera
๋ค์ดํฐ๋ธ ์ง๊ฐ๋ง
์ง์
ํ์ฉ ์ฌ๋ก
• ECDSA secp256k1: ๋ชจ๋ ํ์ฉ ์ฌ๋ก์ ์ ํฉํ๋ฉฐ, ํนํ dApp, DeFi, ์ค๋งํธ ์ปจํธ๋ํธ ๋ฐ EVM ํธํ ํตํฉ์ ์ ํฉํฉ๋๋ค.
• Ed25519: HCS ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
, Hedera ๋ค์ดํฐ๋ธ ์ํฌํ๋ก ๋ฐ EVM ํธํ์ฑ์ด ํ์ํ์ง ์์ ํ๊ฒฝ์ ์ ํฉํฉ๋๋ค.
๐งฉ Hedera์ Key Structure
Hedera๋ ๋ค์๊ณผ ๊ฐ์ ํค ๊ตฌ์กฐ๋ฅผ ์ง์ํฉ๋๋ค.
1️ Simple Key
• ํ๋์ ๊ณ์ ์ ๋จ์ผ ํค๊ฐ ์ค์ ๋๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์
๋๋ค.
• ์: Account Key {Key 1}, ๊ณ์ ์ ๋ํ ํธ๋์ญ์
์ ์๋ช
ํ๊ธฐ ์ํด ํ๋์ ํค๋ง ํ์ํฉ๋๋ค.
2️ Key List
• Key List์ ํฌํจ๋ ๋ชจ๋ ํค๊ฐ ํธ๋์ญ์
์ ์๋ช
ํด์ผ ํ๋ ๊ตฌ์กฐ์
๋๋ค.
• ์: Account Key KeyList (3/3) {Key 1, Key 2,
Key 3}, Key List์ ํฌํจ๋ ์ธ ๊ฐ์ ํค๊ฐ ๋ชจ๋ ๊ณ์ ์ ํธ๋์ญ์
์ ์๋ช
ํด์ผ ํฉ๋๋ค.
3️ Threshold Key
• ์ ์ฒด ํค ๊ฐ์ด๋ฐ ์ค์ ๋ Threshold ์๋งํผ์ ํค๊ฐ ์๋ช
ํ๋ฉด ๋๋ ๊ตฌ์กฐ์
๋๋ค.
• ์: Account Key ThresholdKey (1/3) {Key 1, Key 2, Key 3}, ์ธ
๊ฐ์ ํค
์ค ํ๋์
ํค๋ง ๊ณ์ ์
ํธ๋์ญ์
์ ์๋ช
ํ๋ฉด
๋ฉ๋๋ค.
๐ Key Structure๋ ์ค์ฒฉํ ์ ์์ต๋๋ค
Hedera์ Key
Structure๋ ์๋ก ์ค์ฒฉ(Nested)ํ ์
์์ต๋๋ค.
์ฆ, Key
List ์์ Threshold Key๋ฅผ ๋ฃ๊ฑฐ๋,
Threshold Key ์์ Key
List๋ฅผ ๋ฃ๋
๋ฑ ๋์ฑ
๋ณต์กํ ํค
์์คํ
์ ๊ตฌ์ฑํ
์ ์์ต๋๋ค.
Hedera์์ ์์ ๊ฐ์ Key Structure๋ฅผ ์ง์ํ๋ ๋ชจ๋ ํธ๋์ญ์
์ ํ์ ์ค์ ๋ ํค ๊ตฌ์กฐ์ ๋ฐ๋ผ ์๋ช
์ ์๊ตฌํฉ๋๋ค.
๋ฐ๋ผ์ ํธ๋์ญ์
์ด ์ฑ๊ณตํ๋ ค๋ฉด ์ ๊ณต๋ ์๋ช
์ด ํด๋น ๊ณ์ ์ ์ ์๋ Key Structure์ ์๊ตฌ ์กฐ๊ฑด๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
๐ https://docs.hedera.com/learn/core-concepts/keys#comparison
๐ ์ง๊ธ ํค๋ฐ๋ผ ์ปค๋ฎค๋ํฐ์ ์ฐธ์ฌํ์๊ณ ์ต์ ๋ด์ค๋ถํฐ ์ค์ฌ์ฉ ๊ฐ์ด๋๊น์ง, ์ง์ ์ํตํ๋ฉฐ ๊ฒฝํํด๋ณด์ธ์!
๐ก ์นด์นด์ค (PIN:
0916): https://open.kakao.com/o/gmfIGP0
๐ฒ Telegram (KR): https://t.me/HashgraphKorea
๐ฌ X: https://x.com/HederaKimchi
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ

๋๊ธ
๋๊ธ ์ฐ๊ธฐ