ํ—ค๋ฐ๋ผ ์ด๋ฐดํŠธ (์ง„ํ–‰์ค‘)!

๐Ÿ–ผ️[๋ฌด๋ฃŒ] ๋‚˜๋งŒ์˜ NFT ํ”„๋กœํ•„ PFP๋กœ ์ง€๊ฐ‘์„ ๊พธ๋ฏธ๊ณ , ์ง„์ •ํ•œ ์›น3๋ฅผ ๊ฒฝํ—˜ํ•ด ๋ณด์„ธ์š”!✨๐Ÿงต

๐Ÿ” Hedera์˜ ํ‚ค์™€ ์„œ๋ช…: ECDSA secp256k1์™€ Ed25519

 

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

๐Ÿ“บ https://www.youtube.com/@HederaKimchi

๋Œ“๊ธ€