ECDSA (Elliptic Curve Digital Signature Algorithm)

암호학수정일

ECDSA(Elliptic Curve Digital Signature Algorithm, 타원곡선 전자서명 알고리즘)는 DSA를 타원곡선 위로 옮긴 전자서명 방식으로, Bitcoin·Ethereum·Tron 등 대부분의 블록체인에서 트랜잭션 서명에 사용됩니다. NIST FIPS 186-5와 SEC 1에 표준화되어 있습니다.

자세히 알아보기

개인 키 d, 공개 키 Q = d·G, 곡선 위수 n이 있을 때 메시지 해시 z에 대한 서명은 다음처럼 만듭니다. ① 1~n−1 사이의 비밀 난수 k를 고르고 R = k·G를 계산합니다. ② r = R의 x좌표 mod n. ③ s = k⁻¹(z + r·d) mod n. 서명은 (r, s) 한 쌍입니다. 검증자는 공개 키 Q로 u₁ = z·s⁻¹, u₂ = r·s⁻¹을 구한 뒤 u₁·G + u₂·Q의 x좌표가 r과 같은지 확인합니다.

가장 중요한 주의점은 난수 k입니다. 같은 k로 두 메시지에 서명하면 두 식을 연립해 개인 키 d가 바로 계산됩니다. 2010년 게임기 서명 키 유출, 2013년 일부 안드로이드 Bitcoin 지갑의 난수 결함 사건이 이 유형입니다. k가 조금만 치우쳐도 격자(lattice) 공격으로 키가 복구될 수 있습니다. 그래서 오늘날에는 개인 키와 메시지로부터 k를 결정적으로 유도하는 RFC 6979 방식을 쓰는 것이 권장됩니다.

ECDSA 서명은 가변성(malleability)이 있습니다. (r, s)가 유효하면 (r, n − s)도 유효하므로 제3자가 서명을 바꿔 트랜잭션 ID를 변경할 수 있습니다. 이를 막기 위해 Bitcoin은 'low-S' 규칙을, Ethereum은 EIP-2(Homestead)에서 s ≤ n/2 조건을 도입했습니다. 또한 ECDSA는 슈노르 서명과 달리 서명을 선형으로 합치기 어려워 다자간 서명·임계값 서명 구현이 복잡합니다.

블록체인·암호화폐에서는

Bitcoin(레거시·SegWit 출력)과 Ethereum, Tron은 secp256k1 위 ECDSA로 트랜잭션에 서명합니다. Ethereum은 (r, s)에 복구 식별자 v를 붙여 서명만으로 공개 키를 되살릴 수 있게 하며(ecrecover), 덕분에 트랜잭션에 공개 키를 따로 넣지 않습니다. 거래소 출금, 지갑 전송, USDT 컨트랙트의 transfer 호출 모두 이 서명이 '키 소유자가 승인했다'는 유일한 증거입니다.

쉽게 말하면

매번 새로 뽑은 일회용 비밀 숫자를 섞어 찍는 도장입니다. 같은 비밀 숫자를 두 번 쓰면 도장 원판 자체가 드러나 버립니다.

예시

Ethereum 서명은 r(32바이트), s(32바이트), v(1바이트)로 총 65바이트이며, s는 EIP-2에 따라 곡선 위수의 절반 이하여야 합니다.

최근 스테이블코인 동결·소각 기록

전체 기록 보기 → · 2026년 10월 12일~18일 주간 리포트 →
시각 (KST)네트워크행위금액주소원문
2026-10-20 10:24이더리움동결109,000 USDT0x89012a…24919b원문 ↗
2026-10-20 10:23이더리움동결94,866.74 USDT0xd74feb…646b5e원문 ↗
2026-10-20 10:18트론동결802,490.31 USDTTLhouDRQ…oStg4z원문 ↗
2026-10-20 10:18트론동결609,924.27 USDTTP6jUy5q…kQXn6k원문 ↗
2026-10-20 10:18트론동결640,020.18 USDTTJhpBRFX…8eCxJu원문 ↗

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.