# 페더슨 커밋먼트 (Pedersen Commitment)

페더슨 커밋먼트(Pedersen Commitment)는 1991년 토르벤 페더슨(Torben Pryds Pedersen)이 제안한 커밋먼트 방식으로, 값 v와 무작위 값 r에 대해 C = v·G + r·H를 계산합니다. 값을 완벽하게 숨기면서도 커밋먼트끼리 더할 수 있어, 금액을 숨기는 비밀 거래(Confidential Transactions)의 핵심 도구가 되었습니다.

## 자세히 알아보기

G와 H는 같은 군의 두 생성원이며, 누구도 H = x·G를 만족하는 x를 알아서는 안 됩니다. 그래서 H는 보통 G나 특정 문자열을 해시해 곡선 점으로 보내는 방식으로 만들어 '숨긴 관계가 없음'을 보장합니다(nothing-up-my-sleeve).

성질은 두 가지입니다. ① 완전 은닉(perfectly hiding): r이 균일하게 무작위이면 C는 어떤 v에 대해서도 똑같이 분포하므로, 무한한 계산 능력이 있어도 v를 알아낼 수 없습니다. ② 계산적 구속(computationally binding): 같은 C를 다른 (v′, r′)로 열려면 G와 H 사이의 이산 로그를 풀어야 하므로 현실적으로 불가능합니다. 단, 양자 컴퓨터가 이산 로그를 풀게 되면 구속성이 깨집니다.

가장 유용한 성질은 덧셈 동형성입니다. C(v₁, r₁) + C(v₂, r₂) = C(v₁ + v₂, r₁ + r₂). 따라서 입력 커밋먼트의 합과 출력 커밋먼트의 합을 비교하면, 금액을 공개하지 않고도 '입력 = 출력 + 수수료'를 검증할 수 있습니다. 다만 음수 금액으로 돈을 만들어 내는 것을 막으려면 불릿프루프 같은 범위 증명을 함께 써야 합니다.

'페더슨 해시'라는 이름의 해시 함수(Zcash Sapling 등)는 같은 아이디어를 응용한 별개의 구성이므로 혼동하지 않아야 합니다.

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

Monero의 RingCT, Grin·Beam 같은 Mimblewimble 체인, Blockstream의 Liquid 사이드체인이 금액을 페더슨 커밋먼트로 숨깁니다. 블록 탐색기는 커밋먼트(곡선 점)만 볼 수 있고 실제 금액은 알 수 없습니다. 반면 Ethereum·Tron 위의 USDT·USDC는 금액이 그대로 공개되므로 동결·압류 내역까지 누구나 추적할 수 있습니다.

## 쉽게 말하면

금액을 적은 종이를 불투명한 봉투에 넣고 봉인하는 것과 같습니다. 봉투들을 열지 않고도 '들어온 봉투의 합 = 나간 봉투의 합'을 저울로 확인할 수 있습니다.

---
출처: https://achivx.kr/glossary/pedersen-commitment-%ED%8E%98%EB%8D%94%EC%8A%A8-%EC%BB%A4%EB%B0%8B%EB%A8%BC%ED%8A%B8/ · ACHIVX 용어 사전 · 수정일 2026-10-20
