일반 지갑이 거래에 서명할 때마다 전체 개인 키가 작업이 진행되는 동안 메모리에 있어야 합니다. 휴대폰이나 서버, 하드웨어 기기 어디에 저장되어 있든 마찬가지입니다. 이처럼 키가 온전한 형태로 존재하는 순간은 공격의 표적이 됩니다. 다자간 연산(MPC) 지갑은 한 가지 아이디어를 바탕으로 설계되었습니다. 키를 더 잘 숨기는 것이 아니라, 키가 한곳에 모이는 순간 자체를 완전히 없애는 것입니다.
이 글은 시드 구문을 넘어서 시리즈의 2부입니다. 1부에서는 기존 키 관리 방식에 구조적인 단일 장애 지점이 생기는 이유를 살펴봤습니다. 이 글에서는 MPC 지갑이 암호학적 차원에서 실제로 어떻게 작동하는지, 그리고 현실적인 장단점은 무엇인지 알아봅니다.
MPC가 해결하려는 문제
하드웨어 지갑이든 소프트웨어 지갑이든 일반 지갑은 개인 키 하나를 생성합니다. 서명할 때는 그 키가 온전한 상태로 있어야 합니다. 바로 그 순간 공격자가 기기를 장악하면 키가 노출됩니다. 서명 기회는 반복해서 찾아옵니다. 외부로 보내는 거래를 할 때마다 취약한 순간이 다시 열립니다.
**샤미르의 비밀 공유(SSS)**는 이러한 위험을 분산하려는 초기 시도였습니다. 다항식 보간법을 사용해 비밀 정보를 N개의 조각으로 나누고, 그중 M개가 있으면 비밀 정보를 복원할 수 있습니다(M-of-N 임계값 방식). 2-of-3 설정에서는 세 조각 중 두 조각만 있으면 원본을 재구성할 수 있습니다. 문제는 거래에 서명하려면 SSS가 먼저 전체 개인 키를 단일 기기에서 재구성해야 한다는 점입니다. 이 재구성 순간 자체가 단일 장애 지점입니다. 그 순간 기기를 장악한 공격자는 키를 탈취할 수 있습니다. SSS는 키의 저장을 분산하지만 키를 사용한 연산은 분산하지 않습니다.
**다자간 연산(MPC)**은 여러 참여자가 서로의 비공개 입력을 공개하지 않은 채 각자의 입력을 사용해 하나의 함수를 공동으로 계산하는 암호학 분야입니다. 서명에 적용하면 어떤 기기도 전체 개인 키를 보유하지 않은 상태에서 유효한 블록체인 서명을 만들 수 있습니다. 서명할 때뿐 아니라 키를 생성할 때도 마찬가지입니다.
MPC의 핵심은 키를 여러 곳에 나눠 저장하는 것이 아닙니다. 연산 자체를 분산해 키가 온전한 형태로 존재하지 않게 하는 것입니다.
SSS와 TSS: 재구성 방식의 차이
샤미르의 비밀 공유와 임계값 서명 방식(TSS)의 차이를 이해하는 것은 중요합니다. 두 방식에 관한 홍보 문구가 혼용되는 경우가 많기 때문입니다.
서명 시 SSS: 각 참여자가 조각 하나씩 보유합니다. 서명하려면 충분한 수의 조각을 모아 한 기기에서 원래 개인 키를 재구성합니다. 그러면 해당 기기가 일반적인 방식으로 서명합니다. 키가 한곳에 존재하게 됩니다.
서명 시 TSS: 각 참여자는 키 조각을 보유하고 이를 사용해 부분 서명을 생성합니다. 그런 다음 라그랑주 보간법을 사용해 부분 서명들을 결합하면 체인에서 유효한 최종 서명이 만들어집니다. Web3Auth 문서에 따르면 참여자들은 “부분 서명을 동시에 생성하고, 이를 라그랑주 보간법으로 결합해 키를 재구성하지 않고도 최종 서명을 검증합니다.” 어떤 기기도 전체 키를 볼 수 없습니다.
**분산 키 생성(DKG)**은 이 방식을 한 단계 더 확장합니다. 진정한 TSS-MPC 설정에서는 키 쌍을 생성할 때조차 한데 모으지 않습니다. 참여자들이 상호작용 프로토콜을 실행하면 각자 키 쌍의 조각을 보유하게 됩니다. 공개 주소는 알려져 있지만 전체 개인 키는 어디에도 존재한 적이 없습니다.
구체적으로 비유하면, SSS는 동료 세 명에게 금고 비밀번호를 각각 3분의 1씩 알려주는 것과 같습니다. 금고를 열려면 한 방에 모여 같은 비밀번호를 입력해야 합니다. TSS는 각자에게 별도의 부분 잠금장치를 주고 함께 작동시켜 금고를 여는 방식과 같습니다. 어느 한 사람도 전체 비밀번호를 알 필요가 없습니다.
기본 SSS를 개선한 검증 가능한 비밀 공유(VSS)를 사용하면 참여자들이 비밀 정보를 재구성하지 않고도 각자 받은 조각이 유효한지 확인할 수 있습니다. 악의적인 분배자가 초래하는 위험은 줄어들지만 서명 시 재구성 취약점은 없어지지 않습니다.
키 조각 구성: 2-of-2, 2-of-3, 그리고 수학적 원리의 중요성
임계값은 보안 특성과 복구 옵션을 모두 결정합니다. 실제로 소비자용 MPC 지갑은 두 가지 구성을 사용합니다.
2-of-2: 두 참여자 모두 서명해야 합니다. 어느 쪽도 단독으로 거래를 실행할 수 없습니다. ZenGo는 이 모델을 사용합니다. 조각 하나는 사용자의 모바일 기기에, 다른 하나는 ZenGo 서버에 저장됩니다. 서명하려면 두 조각이 서로 통신해야 합니다. 구조가 단순하다는 장점이 있지만, 조각 하나라도 영구적으로 오프라인 상태가 되면 지갑을 사용할 수 없다는 단점이 있습니다. ZenGo는 세 가지 요소를 사용해 복구합니다. ZenGo 서버에 보관된 기기 조각의 암호화된 백업, 사용자의 개인 클라우드(iCloud 또는 Google Drive)에 저장된 복호화 코드, 생체 얼굴 스캔입니다.
2-of-3: 조각이 세 개 있으며, 그중 두 개로 서명할 수 있습니다. 이 구성은 중복성을 제공합니다. Binance Web3 Wallet은 이 모델에 따라 조각을 다음과 같이 분산합니다. (1) 사용자 기기, (2) Binance 서버, (3) iCloud 또는 Google Drive의 복구 비밀번호로 보호되는 암호화된 클라우드 백업입니다. 사용자가 휴대폰을 잃어버리면 조각 2와 3, 즉 서버와 클라우드 백업을 함께 사용해 조각 1 없이도 이전 거래에 공동 서명할 수 있습니다.
소비자 대상 MPC 지갑의 초기 사례 중 하나인 Coinbase의 MPC 지갑은 2023년 6월 기준 500만 개가 넘는 지갑을 생성했으며, 사용자 기기와 Coinbase 인프라, 백업 서비스에 조각을 분산합니다. Web3Auth의 2-of-3 모델은 OAuth 로그인 조각(Web3Auth 네트워크가 관리), 기기 조각, 백업 또는 2단계 인증(2FA) 조각을 사용합니다. GG19, GG20, EdDSA, DKLS19를 포함한 서명 프로토콜을 지원합니다.
OKX Wallet은 37개 블록체인에 MPC를 동시에 통합한 최초의 주요 거래소 지갑 중 하나이며, 세 부분으로 구성된 조각 구조를 사용합니다.
기관용 지갑에서는 예를 들어 3-of-5처럼 임계값을 높여 규정 준수나 거버넌스를 위한 서명자를 추가할 수 있습니다. 150개가 넘는 블록체인에서 10조 달러 이상의 디지털 자산 거래를 처리한 Fireblocks는 2-of-3 모델을 구현합니다. 이 모델에서는 별도의 하드웨어 기기 없이 콜드 서명 계층을 만들도록 조각 3을 인터넷과 분리된 모바일 기기에 저장할 수 있습니다.
키 갱신: SSS로는 구현할 수 없는 장점
다양한 SSS 방식과 비교했을 때 TSS-MPC가 운영 측면에서 제공하는 가장 중요한 장점 중 하나는 선제적 비밀 공유입니다. 키 갱신 또는 키 교체라고도 합니다.
참여자들은 전체 개인 키를 조립하지 않고도 동일한 공개 키와 블록체인 주소에 대응하는 새로운 조각을 공동으로 계산할 수 있습니다. 갱신 후에는 기존 조각이 암호학적으로 무의미해집니다. 갱신 전에 조각 하나를 탈취해도 공격자는 아무것도 얻을 수 없습니다.
실무적으로 조직은 온체인에서 자금을 옮기지 않고도 담당자를 교체하거나, 침해된 기기의 권한을 취소하거나, 인프라를 업데이트할 수 있습니다. 탈취된 조각이 악용될 수 있는 시간은 갱신 주기 사이의 간격으로 줄어듭니다.
Fireblocks의 MPC-CMP 프로토콜은 구형 GG18 표준의 9회에 비해 단 한 차례의 통신으로 서명을 완료합니다. 약 8배 빠른 속도이므로 대규모 환경에서도 잦은 키 갱신을 실용적으로 수행할 수 있습니다.
키 갱신은 조각이 생성된 뒤 고정되는 Shamir의 SSS와 온체인 서명 키가 고정된 기존 멀티시그에서는 사용할 수 없는 기능입니다.
셀프 커스터디의 미묘한 차이: MPC는 정말 비수탁형일까요?
마케팅 문구와 기술적 현실이 가장 자주 엇갈리는 지점입니다. 답은 누가 키 조각을 보유하고 있으며, 제공업체가 사라졌을 때 어떤 일이 일어나는지에 따라 달라집니다.
제공업체가 키 조각 하나를 보유하는 2-of-2 모델에서는 사용자의 기기 키 조각이 있어야 서명할 수 있으므로 제공업체가 단독으로 자금을 탈취할 수는 없습니다. 하지만 모든 거래를 차단할 수는 있습니다. 이는 조건부 셀프 커스터디입니다. 제공업체가 단독으로 사용자의 자금을 빼앗을 수는 없지만, 계정 해지나 규제 당국의 강제 조치로 사용자가 접근을 차단당할 수 있습니다. MPC 시스템에서 셀프 커스터디 여부는 이분법으로 나뉘지 않습니다.
2-of-3 모델에서는 어떤 당사자가 어떤 키 조각을 보유하는지에 따라 상황이 달라집니다. 사용자가 서로 독립적으로 키 조각 두 개(기기와 개인 클라우드 백업)를 보유하면, 복구 시 제공업체의 키 조각은 선택 사항이 됩니다. 그러나 대부분의 소비자용 MPC 지갑에서는 서명 과정마다 제공업체의 키 조각이 사용됩니다. 따라서 서버 장애나 계정 해지 상황에서는 기능적으로 수탁형에 가깝습니다.
사용자가 반드시 물어야 할 핵심 질문은 다음과 같습니다. 이 회사가 내일 문을 닫아도 내 자금에 계속 접근할 수 있을까요? 대부분의 소비자용 MPC 제품에서 솔직한 답은 다음과 같습니다. 제공업체와 무관하게 키 조각 두 개를 모두 복구할 방법이 있는 경우에만 가능합니다. ZenGo의 암호화된 키 조각 백업 모델은 회사가 문을 닫아도 사용할 수 있도록 설계되어 있습니다. 일부 제품은 이 점을 명확히 밝히지 않습니다.
고액 자산을 보유하는 경우 하드웨어 지갑과의 비교는 여전히 유효합니다. 하드웨어 기기는 공유 비밀 없이 오프라인에서 키를 생성하고 서명합니다. 보안 모델이 더 단순하며, 어떤 제공업체가 서비스를 계속 제공할지 신뢰할 필요가 없습니다. MPC 지갑은 복구 편의성과 여러 기기에서 더 나은 사용자 경험을 제공하는 대신 이러한 단순성을 포기합니다.
업체 종속은 대부분의 현행 MPC 제품에 구조적으로 내재한 특성이지 우연히 발생한 문제가 아닙니다. 독점 서명 프로토콜(MPC-CMP, GG20, DKLS19)을 사용하면 키 조각 형식을 제공업체 간에 옮길 수 없습니다. Fireblocks의 키 조각을 ZenGo로 가져오거나 그 반대로 가져올 수 없습니다. 시드 구문을 사용하면 호환되는 모든 지갑으로 옮길 수 있습니다. MPC에서는 이러한 보장이 사라집니다. 복구 구문으로 HD 지갑 간에 이동할 때처럼 사용자가 MPC 제품 간에 자유롭게 이전할 수 없습니다. 2026년 기준, 독점 서명 로직으로 인한 이러한 업체 종속은 SaaS 기반 MPC 지갑의 중대한 위험으로 지적되고 있습니다.
사용하기 전에 알아둘 위험
주요 소비자용 MPC 지갑에서 MPC 암호화 계층 자체를 통해 자금이 탈취된 사례는 없습니다. 프로토콜은 지금까지 안전하게 작동했습니다. 그러나 공격 대상이 될 수 있는 곳은 프로토콜 계층만이 아닙니다.
- 키 조각이 동시에 유출되는 경우: 2-of-2 또는 2-of-3 모델은 키 조각이 실제로 서로 독립된 시스템에 저장된 경우에만 효과가 있습니다. 제공업체 서버와 사용자 기기를 동시에 침해한 공격자는 자금을 탈취할 수 있습니다.
- 제공업체의 서비스 종료 또는 규제 당국의 압류: MPC는 사업 연속성 위험을 해결하지 않습니다. 제공업체 서버가 영구적으로 오프라인 상태가 되고 사용자에게 독립적인 복구 경로가 없다면 자금에 접근하지 못할 수 있습니다.
- 갱신 주기: 갱신 전에 탈취된 키 조각은 쓸모가 없어집니다. 하지만 복구할 때만 갱신하거나 갱신 빈도가 낮으면 노출 기간이 길어집니다.
- 거래소 지갑의 모호성: 거래소(Binance, OKX, Coinbase)가 제공하는 MPC 지갑은 셀프 커스터디와 수탁형 지갑의 경계를 흐립니다. 규제 당국의 강제 조치가 있으면 키 조각 하나를 보유한 거래소가 공동 서명을 거부할 수 있습니다. 셀프 커스터디를 하고 있다고 생각하는 사용자는 법원 명령 한 번으로 지갑 접근이 차단될 수 있습니다.
MPC, 패스키, 복구 방식 전반의 위협 모델을 더 폭넓게 살펴보려면 이 시리즈 5부에서 이러한 실패 유형을 나란히 비교합니다.
다음 단계
- 사용하는 MPC 지갑에서 각 키 조각을 누가 보유하는지 확인하세요. 기기 키 조각, 제공업체 키 조각, 클라우드 백업 키 조각은 서로 다릅니다. 각각의 역할을 파악하세요.
- 필요해지기 전에 복구를 시험하세요. 대부분의 MPC 지갑에는 모의 복구 모드가 있습니다. 이를 사용하세요.
- 제공업체가 서비스를 종료할 경우를 직접 문의하세요. 지갑에서 "키 내보내기" 또는 "자체 호스팅 복구" 기능을 제공한다고 공개했는지 확인하세요.
- 키 갱신 설정을 살펴보세요. 설정할 수 있다면 갱신 간격을 줄여 탈취된 키 조각의 노출 기간을 단축하세요.
- 보유 자산과 커스터디 모델이 적합한지 비교하세요. 자산이 많다면 공유 비밀이 없는 하드웨어 지갑이 여전히 더 단순하고 이식성이 높은 기준입니다. MPC는 복구 편의성을 제공하는 대신 이식성과 제공업체에 대한 의존성을 희생합니다.



