
MPC 지갑이란 무엇인가? 다자간 연산(MPC) 보안
누구도 마스터키를 단독으로 갖지 못하도록 개인키를 분산
개인키의 딜레마
모든 암호화폐 지갑은 하나의 비밀로 귀결됩니다: 개인키입니다. 이를 가진 사람이 자금을 통제합니다. 그게 전부입니다.
이 설계는 이론적으로는 우아합니다. 실제로는 이것이 서서히 진행되는 재앙을 만들어냈습니다. Chainalysis는 채굴된 전체 비트코인의 약 20% — 현재 가격 기준 1,400억 달러 이상 — 가 개인키에 대한 접근을 잃은 소유자들의 지갑에 남아 있다고 추정합니다. 샌프란시스코의 프로그래머 Stefan Thomas는 7,002 BTC가 담긴 IronKey 드라이브에 두 번의 비밀번호 입력 기회만 남아 있습니다. 그 이후에는 드라이브가 영구적으로 스스로를 암호화해 버립니다. 그는 몇 년 동안 어느 쪽도 시도해보지 않았습니다.
그래서 여러분은 스스로 키를 백업합니다. 24개의 단어로 된 시드 문구를 금속판에 적어 금고에 넣고, 어쩌면 여러 장소에 나눠 보관합니다. 여러분은 스스로 은행이 되며 — 동시에 스스로 단일 실패 지점이 됩니다. 화재, 잊어버린 금고 비밀번호, iCloud에 부주의하게 올린 사진 한 장, 그리고 모든 것이 끝납니다.
대안은요? 그 키를 커스터디언에게 맡기는 것입니다. 거래소 말입니다. 이는 2022년 11월 FTX가 붕괴하며 하룻밤 사이에 80억 달러의 고객 예치금이 증발하기 전까지는 작동했습니다. 그 전에는 Mt. Gox가 있었습니다. QuadrigaCX도 있었습니다. 이 패턴이 반복되는 것은 그 구조가 그렇게 요구하기 때문입니다: 하나의 키, 하나의 위치, 잘못될 수 있는 하나의 지점입니다.
10년 동안 그것이 유일한 두 가지 선택지였습니다 — 스스로 리스크를 관리하거나, 신뢰해야 하는 누군가에게 외주를 맡기는 것입니다. MPC는 그 이분법을 깨뜨립니다.
MPC가 실제로 하는 일
다자간 연산(Multi-Party Computation)은 1980년대 스탠퍼드의 Andrew Yao가 개발한 암호학의 한 분야입니다. 그 핵심 인사이트는: 여러 당사자가 각자의 사적인 입력값을 서로에게 절대 드러내지 않으면서도 그 입력값들에 대한 함수를 함께 계산할 수 있다는 것입니다. 이를 지갑에 적용하면, 개인키는 암호화된 조각들 — share(셰어) — 로 나뉘어 별도의 기기와 서버에 분산됩니다. 완전한 키는 어디에서도 조립되지 않습니다. 여러분의 휴대폰에도 없습니다. 서버에도 없습니다. 메모리에도 없습니다. 어디에도 없습니다.
이를 세 명 중 두 명의 담당자가 동시에 열쇠를 돌려야 하는 은행 금고처럼 생각해 보세요. 다만 그 "열쇠"는 독립적인 연산을 수행하는 수학적 셰어들이고, "금고 문"은 블록체인이 특이한 일이 일어났는지도 모른 채 받아들이는 유효한 디지털 서명입니다.
이것을 threshold signing(임계값 서명)이라고 부릅니다. 2-of-3 구성이란 세 개의 셰어가 존재하며, 그중 어느 두 개든 협력해 트랜잭션을 승인할 수 있다는 뜻입니다. 하나는 여러분의 휴대폰에, 하나는 플랫폼의 서버에, 하나는 암호화된 오프라인 백업에 있습니다. 휴대폰이 도난당하더라도, 공격자는 정확히 하나의 셰어만 갖게 됩니다 — 단독으로는 수학적으로 아무 소용이 없습니다. 남은 두 셰어는 지갑 주소를 바꾸거나 자금을 이동시키지 않고도 대체 기기 셰어를 생성할 수 있습니다.
이 연산은 밀리초 단위로 일어납니다. "확인"을 누르면 셰어들이 분산된 수학 연산을 수행하고, 표준 트랜잭션이 블록체인에 도달합니다. 눈에 보이는 지연이 없습니다. 온체인에 추가되는 서명도 없습니다. 다른 어떤 지갑과도 구별되는 흔적이 없습니다.
단일 키 문제, 시각화하기
MPC가 무엇을 바꾸는지 가장 쉽게 이해하는 방법은 이를 전통적인 지갑과 나란히 놓고 보는 것입니다.
전통적인 지갑 — 하드웨어든, 소프트웨어든, 종이든 상관없이 — 은 하나의 개인키를 한 곳에 보관합니다. 그것이 보안 모델 전체입니다. 그 단일 복사본이 침해되면, 공격자는 지갑 안의 모든 자산에 대해 완전하고 되돌릴 수 없는 통제권을 갖게 됩니다. 그 복사본이 파괴되면 접근권도 함께 사라집니다. 블록체인은 여러분의 의도를 알지 못합니다; 오직 유효한 서명만을 인식할 뿐입니다.
MPC 지갑은 그 리스크를 여러 독립적인 시스템에 분산시킵니다. 하나의 셰어가 침해되었나요? 다른 것들 없이는 무용지물입니다. 하나의 셰어가 파괴되었나요? 남은 셰어들이 대체용을 재생성합니다. 지갑 주소는 그대로 유지되고, 자금은 이동하지 않으며, 예전 셰어는 암호학적으로 무효화됩니다. 이는 근본적으로 다른 아키텍처입니다 — 개별 구성 요소가 실패하지 않기를 바라는 것이 아니라 실패할 것이라는 가정 위에 세워진 아키텍처입니다.
MPC는 멀티시그가 아닙니다
다중서명(멀티시그) 지갑을 사용해 본 적이 있다면 MPC가 낯설지 않게 들릴 수 있습니다. 둘 다 단일 실패 지점을 없앱니다. 하지만 메커니즘은 완전히 다르며, 그 차이는 예상보다 더 중요합니다.
멀티시그는 블록체인 계층에서 작동합니다. 2-of-3 멀티시그 지갑은 세 개의 독립적인 개인키를 보유합니다. 트랜잭션에 서명할 때, 두 명의 키 보유자가 각각 완전한 서명을 만들고, 둘 다 온체인에 올라갑니다. 블록체인은 임계값이 충족되었는지 검증합니다. 채굴자든, 블록 익스플로러든, 누구든 보면 이것이 멀티시그 설정임을 알 수 있습니다.
MPC는 블록체인 아래에서 작동합니다. 하나의 키에 대한 세 개의 셰어가 오프체인에서 협력해 하나의 표준 서명을 만들어냅니다. 블록체인은 MPC가 개입했다는 사실을 전혀 알지 못합니다. 그저 평범한 주소에서 온 평범한 트랜잭션으로 볼 뿐입니다.
그 구분에는 실질적인 결과가 따릅니다. 멀티시그 지원은 체인마다 크게 다릅니다 — 비트코인의 구현은 이더리움과 다르고, 솔라나는 또 다르게 처리하며, 많은 L2 롤업은 네이티브 지원이 제한적이거나 전혀 없습니다. MPC는 표준적인 ECDSA나 EdDSA 서명을 만들어내므로 어떤 체인에서든 수정 없이 작동합니다. 가스 비용도 갈립니다: 멀티시그 트랜잭션은 여러 서명을 담기 때문에 콜데이터가 더 커지고 이더리움에서 수수료가 더 높습니다(때로는 2~3배). MPC 트랜잭션은 어떤 단일 키 트랜잭션과도 크기가 동일합니다.
프라이버시도 또 다른 차이입니다. 멀티시그 지갑의 구조는 온체인에서 공개적으로 보이기 때문에, 고액 멀티시그 주소를 특별히 노리는 정교한 공격자들에게 표적이 될 수 있습니다. MPC 지갑은 일반 지갑과 구별되지 않습니다.
그다음은 키 로테이션입니다. 대부분의 멀티시그 구성에서 서명자를 변경하려면 새 컨트랙트를 배포하거나 새 주소로 마이그레이션해야 합니다 — 방해가 크고 수수료 부담이 큰 과정입니다. MPC 셰어는 새로 고침(refresh)될 수 있습니다: 현재 셰어 집합에서 새 셰어를 도출하고, 예전 셰어를 무효화하는 것을 모두 지갑 주소를 바꾸거나 블록체인을 건드리지 않고 할 수 있습니다. 직원이 회사를 떠났나요? 셰어를 로테이션하고 넘어가면 됩니다. 마이그레이션도 없고, 다운타임도 없습니다.
실제로 누가 이것을 사용하는가
Fireblocks가 가장 먼저 떠오르는 이름입니다. 이들의 MPC 인프라는 1,800개 이상의 기관 고객 — BNY Mellon, BNP Paribas 같은 은행들, 헤지펀드, 결제 처리업체, 거래소들 — 을 아우르며 누적 6조 달러 이상의 이전 거래량을 처리했습니다. 이러한 기관들이 크립토를 이동시킬 때, 각 트랜잭션을 승인하는 것은 바로 MPC 임계값 서명입니다. 서랍에 잠긴 하드웨어 지갑을 든 한 사람이 아닙니다.
소비자 쪽에서는 Zengo가 MPC가 복잡하게 느껴질 필요가 없음을 보여줬습니다. 이들의 모바일 지갑은 2-of-2 MPC 방식을 사용합니다 — 하나의 셰어는 기기에, 하나는 Zengo의 서버에 있으며 — 사용자는 시드 문구를 전혀 접하지 않습니다. 적어둘 24개의 단어도 없고, 구매할 하드웨어 기기도 없습니다. 생체 인증, 평범해 보이는 앱, 그리고 얼굴 매핑으로 뒷받침되는 복구 키트입니다. 2019년 이후 백만 명 이상의 사용자가 있었고, 단 한 건의 계정도 해킹당하거나 동결되지 않았습니다.
기관의 흐름은 가파릅니다. 2024년 Fireblocks 업계 조사에 따르면 기관 크립토 업체의 67%가 MPC 기반 커스터디를 채택했거나 적극적으로 검토하고 있으며, 이는 2년 전 38%에서 증가한 것입니다. 보험 요건과 신탁 의무가 이러한 전환의 많은 부분을 이끌고 있습니다 — 규제 감시 아래에서 다른 사람의 돈을 관리하는 누구에게든 단일 키 모델은 시작조차 할 수 없는 선택입니다.
크로스체인 인프라도 MPC에 크게 의존하고 있습니다. Wormhole 같은 브릿지와 Axelar 같은 프로토콜은 체인 간 자산 전송을 승인하기 위해 MPC로 보안된 검증자 네트워크를 사용합니다. 수억 달러가 이더리움에서 L2로 이동할 때, 다른 체인 쪽의 민팅을 승인하는 것은 단일 검증자의 개인키가 아니라 분산된 임계값 서명입니다.
GaiaEx가 MPC를 적용하는 방식
GaiaEx는 출시 후 기존 커스터디 모델에 MPC를 나중에 덧붙인 것이 아니라, 처음부터 아키텍처에 MPC를 내장했습니다.
계정을 생성하면 키 생성과 즉각적인 셔딩(sharding)이 시작됩니다. 하나의 셰어는 여러분의 기기에 놓이고; 나머지는 GaiaEx의 지리적으로 분산된 인프라 전역에 배포됩니다. 어떤 시점에도 단일 서버가 — 또는 회사로서의 GaiaEx가 — 여러분의 키를 재구성하거나 자금을 이동시킬 만큼 충분한 셰어를 갖고 있지 않습니다. 이는 정책적인 결정이 아닙니다. 수학적인 제약입니다.
트레이딩 중에는 임계값 서명 연산이 200밀리초 미만으로 실행됩니다. 여러분이 주문이나 출금을 확인하면, 관련 셰어들이 협력해 표준 블록체인 트랜잭션을 만들어냅니다. MPC 계층은 보이지 않습니다 — 추가 확인 단계도 없고, 인지 가능한 지연도 없으며, 분산 서명이 발생했다는 온체인 흔적도 없습니다.
기기 분실 시 복구는 시드 문구 없이 이루어집니다. 남은 셰어들이 GaiaEx의 복구 프로토콜을 통해 여러분의 신원을 확인하고, 새로운 기기 셰어를 생성하며, 예전 것을 무효화합니다. 여러분의 지갑 주소는 그대로 유지됩니다. 자금은 이동하지 않습니다. 이 전체 과정은 24개의 단어를 어디에 적어뒀는지 기억하려고 애쓰는 불안한 몇 시간이 아니라, 몇 분이면 끝납니다.




