다중서명 지갑이란? Gnosis Safe 사용법
다중서명 지갑(Multi-Signature Wallet)은 암호화폐 보안 분야에서 가장 중요한 도구 중 하나입니다. 여러 승인자가 공동으로 서명해야 트랜잭션을 실행할 수 있어, 단일 장애점 리스크를 근본적으로 제거합니다. 개인 대규모 자산 보호, 팀 재무 관리, DAO 국고 거버넌스 등 다중서명 지갑은 필수적인 보안 인프라입니다. 이 글에서는 다중서명 지갑의 원리와 실전을 종합적으로 분석합니다.
1. 다중서명 지갑 기초
1.1 다중서명 지갑이란
다중서명 지갑은 여러 개인키의 서명이 있어야 트랜잭션을 실행할 수 있는 스마트 컨트랙트 지갑입니다. 일반 지갑(하나의 개인키 서명만 필요)과 달리, 다중서명 지갑은 서명 임계값(Threshold)을 설정하여, 지정된 수의 서명자가 확인한 후에만 트랜잭션이 실행됩니다.
일반적 설정 예시:
- 2/3 다중서명: 3명의 서명자 중 2명의 확인 필요
- 3/5 다중서명: 5명의 서명자 중 3명의 확인 필요
- 4/7 다중서명: 7명의 서명자 중 4명의 확인 필요
1.2 왜 다중서명 지갑이 필요한가
단일 서명 지갑의 리스크:
| 리스크 시나리오 | 결과 |
|---|---|
| 개인키 분실 | 모든 자산 영구 손실 |
| 개인키 도난 | 공격자가 모든 자산 이전 가능 |
| 강압에 의한 서명 | 트랜잭션 실행을 막을 수 없음 |
| 인적 실수 | 잘못된 트랜잭션을 되돌릴 수 없음 |
| 내부자 비리 | 한 사람이 팀 자산을 이전 가능 |
다중서명 지갑의 해결책:
- 단일 개인키 유출로는 자산 손실 없음
- 일부 서명자와 연락이 안 되어도 작업 가능(임계값만 충족하면)
- 모든 트랜잭션에 다수가 검토하여, 인적 실수 감소
- 한 사람의 자금 도주 방지
1.3 다중서명 vs 기타 보안 솔루션
| 솔루션 | 보안성 | 편의성 | 적합 시나리오 |
|---|---|---|---|
| 단일서명 핫월렛 | 낮음 | 높음 | 소액 일상 사용 |
| 하드웨어 지갑 | 중-높음 | 중간 | 개인 대규모 보관 |
| 다중서명 지갑 | 높음 | 낮음-중간 | 팀/대규모/DAO |
| MPC 지갑 | 높음 | 중간 | 기관급 솔루션 |
2. Safe(구 Gnosis Safe)
2.1 플랫폼 개요
Safe(전신 Gnosis Safe)는 현재 가장 주류인 다중서명 지갑 솔루션으로, 1,000억 달러 이상의 암호자산을 관리합니다. 블록체인에 배포된 스마트 컨트랙트 지갑입니다.
핵심 특징:
- 충분한 감사: 여러 차례 보안 감사를 거쳤으며, DeFi 분야에서 가장 성숙한 다중서명 솔루션
- 멀티체인 지원: 이더리움, BSC, Polygon, Arbitrum, Optimism 등 20+ 체인 지원
- 모듈화 설계: 확장 모듈과 커스텀 기능 지원
- DApp 통합: 내장 Transaction Builder와 WalletConnect, 모든 DApp과 상호작용 가능
- 오픈소스 코드: 컨트랙트와 프론트엔드 코드 모두 오픈소스
2.2 Safe 다중서명 지갑 생성
1단계: Safe 접속
app.safe.global열기- 개인 지갑 연결(서명자 중 하나로)
- 다중서명 지갑을 배포할 네트워크 선택
2단계: 서명자 설정
- "Create New Safe" 클릭
- Safe 이름 입력(로컬 표시용)
- 모든 서명자의 주소 추가
- 서명 임계값 설정(예: 2/3 또는 3/5)
임계값 선택 권장:
| 서명자 수 | 권장 임계값 | 시나리오 |
|---|---|---|
| 2명 | 2/2 | 부부/파트너 공동 관리 |
| 3명 | 2/3 | 소규모 팀 |
| 5명 | 3/5 | 중규모 팀 |
| 7명 | 4/7 | 대규모 DAO |
3단계: 컨트랙트 배포
- 서명자 리스트와 임계값 확인
- 배포 가스비 지불(온체인 트랜잭션)
- 트랜잭션 확인 대기
- Safe 지갑 생성 완료
2.3 일상 사용
자산 수신: Safe 지갑은 자체 주소가 있어, 누구나 해당 주소로 토큰을 전송할 수 있으며, 다중서명 확인이 불필요합니다.
트랜잭션 발의:
- Safe 인터페이스에서 "New Transaction" 클릭
- 트랜잭션 유형 선택(토큰 전송, 컨트랙트 상호작용 등)
- 트랜잭션 상세 정보 입력
- 트랜잭션 제출(이것이 서명자 중 한 명의 확인)
트랜잭션 확인:
- 다른 서명자가 Safe에 로그인
- "Transactions" → "Queue"에서 대기 중인 트랜잭션 확인
- 트랜잭션 상세 정보 검토
- "Confirm" 클릭하여 확인
- 마지막으로 확인하는 서명자가 동시에 트랜잭션을 실행(가스비 지불)
2.4 DApp과 상호작용
Safe는 여러 방법으로 DApp과 상호작용할 수 있습니다:
Transaction Builder:
- Safe에서 "Apps" → "Transaction Builder" 열기
- 대상 컨트랙트 주소와 함수 호출 입력
- 트랜잭션 구성 및 다중서명 승인에 제출
WalletConnect:
- Safe에서 "Apps" → "WalletConnect" 열기
- 대상 DApp에서 WalletConnect 연결 선택
- Safe로 QR 코드 스캔
- DApp의 트랜잭션 요청이 Safe의 서명 대기 큐에 들어감
Safe Apps: Safe에는 여러 일반적 DApp의 직접 통합이 내장:
- Uniswap, 1inch 등 DEX
- Aave, Compound 등 대출 프로토콜
- 토큰 승인 관리 도구
- CSV 일괄 전송 도구
3. 다중서명 지갑의 대표적 사용 시나리오
3.1 DAO 국고 관리
대부분의 DAO가 다중서명 지갑으로 국고 자금을 관리합니다:
- 핵심 기여자가 서명자 역할
- 자금 지출에 다수 승인 필요
- 온체인 거버넌스 투표와 연계하여 커뮤니티 결의 실행
3.2 팀/회사 재무
암호화폐 프로젝트 팀이 다중서명으로 회사 자금을 관리:
- 급여 지급에 다수 승인 필요
- 투자와 구매 결정에 공동 서명 필요
- 단일 관리자의 자금 도주 방지
3.3 개인 자산 보호
고액 자산 개인이 자신을 위해 다중서명 설정:
- 다른 기기의 지갑을 여러 서명자로 사용
- 예: 스마트폰 지갑 + PC 지갑 + 하드웨어 지갑의 2/3 다중서명
- 하나의 기기를 분실하거나 도난당해도 자산은 안전
3.4 스마트 컨트랙트 관리
DeFi 프로토콜의 관리자 권한이 보통 다중서명 지갑에 위임:
- 컨트랙트 업그레이드에 다중서명 승인 필요
- 파라미터 조정에 다수 확인 필요
- 긴급 정지 기능의 권한 부여
4. 다중서명 지갑 보안 모범 사례
4.1 서명자 선택
- 다양성: 모든 서명자가 동일 유형의 지갑을 사용하지 않기
- 독립성: 서명자 간 상호 독립(같은 회사 직원이 아닌 것이 바람직)
- 기술 능력: 서명자가 기본적인 암호화폐 조작 능력 보유
- 응답 속도: 서명자가 합리적 시간 내에 서명 요청에 응답 가능
4.2 임계값 설정
- 1/N은 설정하지 않기: 단일 서명과 다름없음
- N/N은 설정하지 않기: 한 명이라도 응답 불가하면 자금이 잠김
- 권장 설정: (N/2 + 1) / N, 예: 3/5, 4/7
- 중복 고려: 1-2개의 여분 서명자 자리 확보
4.3 서명자 지갑 보안
각 서명자의 지갑 보안도 동일하게 중요:
- 최소 한 명의 서명자가 하드웨어 지갑 사용
- 각 서명자가 독립적으로 자신의 개인키/니모닉 보관
- 여러 서명자의 키를 동일 장소에 보관하지 않기
- 정기적으로 모든 서명자가 정상 작동 가능한지 확인
4.4 운영 보안
- 모든 트랜잭션 검토: 다른 서명자가 발의한 트랜잭션을 맹목적으로 확인하지 않기
- 공식 인터페이스 사용: app.safe.global을 통해서만 작업
- 교차 검증: 대규모 트랜잭션 요청은 다른 채널(전화, 대면 등)로 확인
- 테스트 트랜잭션: 새로 설정된 다중서명은 소액으로 먼저 테스트
5. 기타 다중서명 솔루션
5.1 비트코인 다중서명
비트코인은 다중서명 기능을 네이티브로 지원합니다(P2SH/P2WSH):
| 도구 | 특징 |
|---|---|
| Electrum | 비트코인 다중서명 지갑 생성 지원 |
| Sparrow Wallet | 비트코인 전용, 다중서명 지원 |
| Caravan (Unchained) | 전문 비트코인 다중서명 솔루션 |
| Casa | 상업화된 비트코인 다중서명 서비스 |
5.2 Squads(Solana)
Squads는 Solana의 다중서명 솔루션입니다:
- Solana 생태계 전용 설계
- SOL과 SPL 토큰 관리
- 프로그램(Program) 관리 지원
5.3 MPC 지갑
MPC(다자간 계산)는 다중서명의 대안입니다:
- 개인키를 분할 계산하며, 여러 독립 서명이 아님
- 온체인에서 일반 트랜잭션처럼 보임(가스비 더 낮음)
- 대표 프로젝트: Fireblocks, ZenGo
MPC vs 다중서명 비교:
| 특성 | 다중서명 지갑 | MPC 지갑 |
|---|---|---|
| 구현 방식 | 스마트 컨트랙트 | 암호학 프로토콜 |
| 가스비 | 비교적 높음(다수 서명) | 일반 트랜잭션과 동일 |
| 온체인 가시성 | 다중서명 구조 보임 | 일반 주소처럼 보임 |
| 성숙도 | 매우 성숙 | 비교적 새로움 |
| 유연성 | 높음(업그레이드 가능 모듈) | 중간 |
| 적용 체인 | 스마트 컨트랙트 지원 체인 | 모든 체인 |
6. Safe 고급 기능
6.1 지출 한도(Spending Limits)
일/주/월 자동 지출 한도 설정:
- 한도 내에서 단일 서명자도 트랜잭션 실행 가능
- 한도를 초과하면 다중서명 승인 필요
- 일상 운영 지출에 적합
6.2 일괄 트랜잭션
Transaction Builder로 일괄 작업:
- 여러 건의 전송을 한 번에 실행
- DeFi 작업을 일괄 수행
- 가스비와 서명 횟수 절약
6.3 위임 서명
Safe의 모듈 시스템을 통해, 특정 작업을 자동화 시스템에 위임:
- 정기 결제(예: 월 급여)
- 자동화 DeFi 전략
- 조건 발동 트랜잭션
6.4 복구 메커니즘
Safe는 소셜 복구(Social Recovery)를 지원합니다:
- 가디언(Guardian) 설정
- 충분한 수의 가디언이 확인하면, 서명자 변경 가능
- 서명자 개인키 분실 문제 해결
7. 자주 묻는 질문
Q1: 다중서명 지갑의 가스비가 더 높나요? 네. 각 서명자의 확인이 모두 온체인 트랜잭션이므로, 가스비는 일반 트랜잭션의 수배입니다. 단, 마지막 확인자가 트랜잭션을 실행할 때 가장 많은 가스를 소모합니다. Layer 2에서 사용하면 비용을 크게 줄일 수 있습니다.
Q2: 서명자 중 한 명과 연락이 안 되면 어떻게 하나요? 그래서 N/N 임계값을 설정하면 안 됩니다. 2/3 다중서명이면 한 명과 연락이 안 되어도 정상 작동 가능합니다.
Q3: 다중서명 지갑이 해킹당할 수 있나요? 다중서명 지갑의 스마트 컨트랙트는 충분한 감사를 거쳐, 컨트랙트 자체가 공격당할 확률은 극히 낮습니다. 더 큰 리스크는 서명자의 개인 지갑이 공격당하는 것입니다 -- 충분한 수의 서명자가 공격당하면, 다중서명 보안이 무력화됩니다.
Q4: 서명자와 임계값을 변경할 수 있나요? 가능합니다. 이 자체가 다중서명 트랜잭션이며, 현재 서명자 중 임계값을 충족하는 수의 확인이 필요합니다.
Q5: Safe 웹사이트가 폐쇄되면 어떻게 하나요? Safe는 블록체인에 배포된 스마트 컨트랙트이므로, Safe 웹사이트가 폐쇄되어도 컨트랙트는 여전히 존재합니다. 다른 인터페이스를 통해 또는 컨트랙트와 직접 상호작용할 수 있습니다.
8. 다중서명 지갑과 거래소의 관계
대규모 암호자산을 보유한 개인이나 팀의 경우:
권장 아키텍처:
- 거래소 계정: 일상 거래와 법정화폐 입출금용
- 다중서명 콜드 스토리지: 장기 보유 대규모 자산용
- 개인 핫월렛: 일상 DeFi 작업용
- 다중서명 DeFi 지갑: 팀 DeFi 작업용
거래소에서 다중서명 지갑으로 입금:
- Safe에서 지갑 주소 확인
- 거래소에서 해당 주소로 출금 요청
- 다중서명 확인 불필요(자산 수신일 뿐)
- 블록체인 탐색기에서 입금 확인
마무리
다중서명 지갑은 암호화폐 보안의 최고 수준 중 하나입니다. Safe(Gnosis Safe)는 가장 성숙한 다중서명 솔루션으로, 1,000억 달러 이상의 자산을 보호하고 있습니다. DAO 국고 관리, 팀 재무, 개인 대규모 자산 보호 등 다중서명 지갑은 단일 서명 지갑을 훨씬 넘어서는 보안 보장을 제공합니다.
핵심 권장사항: 관리하는 암호자산의 가치가 감수할 수 있는 손실 범위를 넘어선다면, 다중서명 지갑을 고려해야 합니다. 추가적인 운영 복잡성은 충분히 가치 있는 보안 투자입니다.
안드로이드 사용자는 APK를 직접 다운로드할 수 있습니다. VPN 불필요.