수탁 지갑 설계의 핵심 원칙: 단일 실패 지점 없음
기업이 사용자의 자산을 보관할 때 핵심 원칙은 하나다: 어떤 한 요소가 실패해도 전체가 무너지지 않는 구조. 이것은 추상적인 원칙이 아니라 각 레이어에 구체적으로 적용되어야 한다.
레이어별 단일 실패 지점과 실제 사고 사례:
- 키 관리 — 하나의 키가 전부 통제 → MPC / 멀티시그로 해결 → 실패 사례: Ronin Bridge ($625M)
- 지갑 구조 — 전 자산 단일 지갑 → Hot/Warm/Cold 분리로 해결 → 실패 사례: Mt. Gox ($460M)
- 인프라 — 단일 서버/리전 → 멀티리전 배포로 해결 → 실패 사례: AWS us-east-1 장애 (2021)
- 승인 프로세스 — 단일 승인자 → N-of-M 승인 체계로 해결 → 실패 사례: FTX (CEO 단독 통제)
- 코드 — 단일 감사 → Slither + 수동 + 외부감사로 해결 → 실패 사례: Euler Finance ($197M)
“왜 이렇게까지 해야 하느냐”는 질문이 나오면, 위 사고 사례를 하나씩 짚으며 “이 회사도 자기들은 괜찮다고 생각했다”고 이해하면 된다. 특히 FTX — 세계 2위 거래소도 승인 체계 하나 없어서 무너졌다.
Hot/Warm/Cold 분리 구조
단순한 온도 비유가 아니라, 각 티어의 서명 키 접근 경로가 본질적으로 다르다.
Hot Wallet Tier
- 키 저장: 암호화된 keystore (서버 메모리 복호화)
- 서명 경로: API → KMS 복호화 → 메모리 서명 → 즉시 삭제
- 접근 제어: 서비스 계정 + IP 화이트리스트
- 자산 한도: 일일 출금량 × 2~3일분 (코드 강제)
- 자동화: 100% — 인간 개입 없이 출금 처리
- 위험 모델: 서버 침투 시 hot wallet 한도까지만 탈취 가능
Warm Wallet Tier
- 키 저장: HSM (Hardware Security Module) 또는 MPC shard
- 서명 경로: 승인 요청 → 2-of-3 서명 수집 → HSM 서명
- 자산 한도: 전체의 5~15%
- 자동화: 반자동 — 스위프 요청은 자동, 승인은 수동
- 위험 모델: 2명 이상의 서명자 동시 침해 필요
Cold Wallet Tier
- 키 저장: 에어갭 장비 / 하드웨어 월렛 / 오프라인 MPC
- 서명 경로: 물리적 접근 → 다중 인원 동시 참여 → 오프라인 서명
- 자산 한도: 전체의 80~90%
- 자동화: 0% — 모든 과정 수동
- 위험 모델: 물리적 침입 + 다수 키홀더 동시 협박 필요
Mt. Gox 해킹의 핵심 실패는 모든 BTC가 사실상 하나의 hot wallet에 있었다는 것이다. 이 구조를 지켰다면 최대 손실이 hot wallet 한도인 2~3일치 출금량으로 제한됐을 것이다.
자동 스위프 메커니즘
Hot Wallet의 잔액을 자동으로 유지하는 스위프 봇은 단순한 편의 기능이 아니다. 공격 시 최대 피해를 제한하는 핵심 보안 장치다.
Hot Wallet 잔액(B)의 세 가지 상태:
- B > maxBalance (200 ETH): Hot → Warm 자동 전송. 공격받아도 100 ETH만 노출.
- minBalance ≤ B ≤ maxBalance (정상 범위): 아무 동작 없음.
- B < minBalance (50 ETH): Warm에 보충 요청 (멀티시그 승인 필요).
MPC (Multi-Party Computation) 원리
MPC는 개인 키를 여러 부분(shard)으로 분산해 저장하고, 서명 시 각 파티가 자신의 shard만으로 부분 서명을 만든다. 완전한 개인 키가 한 곳에 존재하지 않는다.
Shamir’s Secret Sharing
t-of-n 임계값 방식이다. n개의 shard 중 t개가 있으면 원본 비밀을 복원할 수 있다. t-1개로는 아무 정보도 얻지 못한다.
예: 3-of-5 멀티시그에서 5개의 shard를 만들고 5곳에 분산 저장한다. 3곳 이상이 협력해야 서명이 가능하다. 2곳이 해킹당해도 키는 안전하다.
Threshold Signature vs 멀티시그
멀티시그: N개의 서명이 온체인에 기록된다. 외부에서 “이 트랜잭션은 N명의 서명자가 있다”는 것이 보인다. 가스 비용이 증가한다.
Threshold Signature (MPC): 온체인에는 일반 단일 서명처럼 보인다. 복잡성이 오프체인에 있다. 가스 비용이 단일 서명과 동일하다. 프라이버시가 향상된다.
실제 커스터디 사고 분석
Ronin Bridge 해킹 ($625M)
9-of-9 validator 중 5개 키를 단일 벤더(Sky Mavis)가 관리. 공격자가 Sky Mavis 인프라에 침투해 5개 키를 동시에 탈취. 5-of-9 임계값을 충족시켜 $625M 탈취. 핵심 실패: 키가 “분산되어 있다”고 했지만 실제로는 단일 조직이 과반수를 통제.
FTX 붕괴
CEO가 수탁 자산에 대한 단독 접근권을 가짐. 수탁 자산과 운영 자금의 혼용을 감지하는 독립적 감사 체계 없음. N-of-M 승인 체계 자체가 없었음. 기술적 해킹이 아닌 “승인 프로세스 부재”로 인한 내부 실패.
Mt. Gox ($460M)
대부분의 BTC가 단일 hot wallet에 보관. Cold wallet과의 분리 없음. 수년에 걸친 소액 탈취가 감지되지 않음. Hot/Cold 분리만 했어도 피해를 크게 제한할 수 있었다.
N-of-M 승인 체계
FTX 사태에서 확인된 것처럼, CEO 단독 통제는 기술적 해킹보다 위험할 수 있다. 기업형 수탁 지갑에서 N-of-M 승인 체계는 필수다:
- 소액 출금: 1-of-3 (자동 처리)
- 중간 금액: 2-of-5 (운영팀 승인)
- 대액 출금: 3-of-7 (C-Level 포함)
- Cold Wallet 접근: 4-of-7 + 물리적 인증
핵심 요약
- Hot/Warm/Cold 분리의 핵심은 공격 시 최대 피해를 hot wallet 한도로 제한하는 것이다
- MPC는 개인 키가 한 곳에 존재하지 않으면서도 서명이 가능한 기술이다. 온체인에는 단일 서명처럼 보인다
- Ronin Bridge: 키 분산이 실제가 아닌 명목상이었다
- FTX: 기술적 해킹이 아니라 승인 체계 부재로 무너졌다
- Mt. Gox: Hot/Cold 분리만 있었어도 피해를 크게 제한할 수 있었다
- N-of-M 승인 체계는 선택이 아닌 필수다. 단독 통제는 최악의 리스크다