스마트 컨트랙트 지갑 설명: 기능, 장점, 위험
스마트 컨트랙트 지갑이란 무엇일까요? 시드 문구 지갑과의 차이, 복구와 일괄 처리 같은 기능이 주는 이점, 먼저 확인해야 할 위험을 알아보세요.
스마트 컨트랙트 지갑은 하나의 개인 키가 아니라 블록체인 위의 프로그램으로 제어되는 암호화폐 계정입니다. 컨트랙트 코드가 누가 어떤 규칙에 따라 트랜잭션을 승인할 수 있는지 결정하므로, 여러 승인자, 지출 한도, 계정 복구, 스테이블코인으로 수수료 지불 같은 기능이 가능해집니다.
대부분의 사람은 보안이 전적으로 하나의 시드 문구에 달린 일반 지갑으로 시작합니다. 잃어버리면 자금이 사라지고, 유출되면 도난당합니다. 스마트 컨트랙트 지갑은 이 단일 실패 지점을 없애는 것을 목표로 합니다. 이 가이드는 작동 방식, 기존 지갑과의 비교, 그리고 자금을 옮기기 전에 확인할 가치가 있는 위험을 설명합니다.
일반 지갑의 작동 방식
Ethereum과 비슷한 체인에서 일반 지갑은 외부 소유 계정(EOA)이라고 불립니다. 보통 12개 또는 24개 단어의 시드 문구에서 파생된 하나의 개인 키로 제어됩니다. 그 키를 가진 사람은 누구나 한도도 없고 되돌릴 수도 없이 어떤 트랜잭션이든 서명할 수 있습니다. 기본 내용은 공개 키와 개인 키 설명을 읽어 보세요.
이 단순함이 곧 약점이기도 합니다. 두 번째 승인자를 추가하거나, 일일 한도를 설정하거나, 키를 잃어버렸을 때 계정을 복구할 방법이 없습니다.
스마트 컨트랙트 지갑의 작동 방식
스마트 컨트랙트 지갑은 그 자체가 특정 주소에 배포된 컨트랙트입니다. 자금은 컨트랙트가 보관하며, 컨트랙트는 규칙을 충족하는 트랜잭션만 실행합니다. 그런 규칙은 예를 들어 다음과 같습니다.
- 지정된 키 세 개 중 두 개가 모든 송금을 승인해야 한다.
- 일정 금액을 넘는 송금에는 시간 지연이 필요하다.
- 신뢰할 수 있는 '가디언' 그룹이 분실된 키를 교체할 수 있다.
- 특정 앱은 제한된 기간 동안 한도까지만 지출할 수 있다.
지갑이 코드이기 때문에 토큰 승인과 스왑을 한 번에 하는 것처럼 여러 작업을 하나의 트랜잭션으로 묶을 수 있고, 다른 사람이 대신 가스비를 내도록 할 수도 있습니다.
계정 추상화와 ERC-4337
계정 추상화는 모든 계정을 프로그래밍 가능하게 만든다는 더 넓은 개념입니다. Ethereum에서는 ERC-4337 표준이 2023년에 메인넷에 적용되었습니다. 이 표준은 핵심 프로토콜을 바꾸지 않고 '사용자 오퍼레이션'과 '번들러'라는 별도의 시스템을 통해 스마트 컨트랙트 지갑이 작동하도록 합니다. '페이마스터'는 가스비를 후원하거나 사용자가 스테이블코인 같은 토큰으로 수수료를 내도록 할 수 있습니다. 자세한 내용은 계정 추상화 설명에서 다룹니다.
2025년 Ethereum의 Pectra 업그레이드는 EIP-7702를 도입해 일반 계정이 일시적으로 스마트 컨트랙트 코드에 위임할 수 있게 했습니다. 계정 추상화에 관한 설명 글에서 이를 더 깊이 다룹니다.
일반 지갑과 스마트 컨트랙트 지갑 비교
| 항목 | 일반 지갑(EOA) | 스마트 컨트랙트 지갑 |
|---|---|---|
| 제어 주체 | 하나의 개인 키 | 프로그래밍 가능한 규칙, 하나 이상의 키 |
| 키 분실 시 복구 | 시드 문구 백업으로만 가능 | 가디언이나 백업 키로 가능 |
| 여러 승인자 | 아니요 | 예 |
| 지출 한도 | 아니요 | 지원되는 경우 예 |
| 일괄 트랜잭션 | 아니요 | 예 |
| 다른 토큰으로 가스비 지불 | 아니요 | 페이마스터로 가능 |
| 모든 EVM 체인에서 즉시 작동 | 예 | 체인마다 배포 필요 |
| 주요 위험 | 시드 문구 도난 또는 분실 | 컨트랙트 버그, 업그레이드, 잘못된 구성 |
스마트 컨트랙트 지갑의 일반적인 유형
멀티시그 지갑
멀티시그는 서로 다른 키의 여러 서명을 요구합니다. Safe(구 Gnosis Safe)는 널리 쓰이는 예로, DAO, 프로젝트 트레저리, 대규모 자산을 보유한 개인에게 인기가 있습니다. 공동 자금에 멀티시그 지갑을 사용하는 방법을 참고하세요.
소셜 복구 지갑
주 키를 잃어버렸을 때 다른 기기, 친구, 서비스 같은 신뢰할 수 있는 가디언 그룹이 접근 권한을 되찾도록 도와주는 지갑입니다. 가디언의 작동 방식과 선택 방법은 소셜 복구 지갑 설명을 읽어 보세요.
일반 사용자용 '스마트 계정'
많은 최신 앱이 내부적으로 스마트 계정을 사용해 패스키나 이메일로 로그인하고 ETH 없이도 수수료를 낼 수 있게 합니다. 편리할 수 있지만 누가 키를 관리하는지, 복구 절차는 어떤지 확인하세요.
위험과 트레이드오프
스마트 컨트랙트 지갑은 일부 문제를 해결하는 동시에 다른 문제를 만듭니다.
- 1코드 위험. 지갑 컨트랙트의 버그로 자금이 잠기거나 노출될 수 있습니다. 오랜 실적과 공개 감사가 있는 지갑을 선택하세요.
- 2업그레이드 위험. 일부 지갑은 업그레이드가 가능합니다. 업그레이드 키가 탈취되면 내 지갑도 탈취된 것입니다. 어떤 업그레이드에 내 승인이 필요한지 알아 두세요.
- 3복구 위험. 공모하거나, 해킹당하거나, 연락이 끊긴 가디언은 접근 권한을 훔치거나 막을 수 있습니다.
- 4체인별 사용 가능 여부. 스마트 컨트랙트 지갑은 각 네트워크에 존재해야 합니다. 지갑이 배포되지 않은 체인에서 내 주소로 토큰을 보내면 추가 절차가 필요하거나, 일부 구성에서는 복구할 수 없을 수도 있습니다.
- 5호환성. 일부 앱과 거래소는 서명 검증이나 입금 처리 등에서 컨트랙트 지갑을 다르게 처리합니다.
- 6서명 피싱. 악성 트랜잭션을 승인하면 컨트랙트 지갑도 여전히 취약합니다. 안전하게 트랜잭션 서명하기의 안내를 따르세요.
안전하게 선택하고 사용하는 방법
- 오랜 공개 실적과 공개된 감사 보고서가 있는 지갑을 고르세요.
- 업그레이드, 복구, 지원 네트워크에 관한 문서를 읽으세요.
- 큰 금액을 옮기기 전에 복구 테스트를 포함해 소액으로 시험해 보세요.
- 자금을 받기 전에 지갑이 어떤 네트워크에 배포되어 있는지 확인하세요.
- 하드웨어 지갑 같은 서명 기기를 안전하게 보관하고 백업하세요.
- 연결된 앱과 권한을 주기적으로 검토하세요.
결론
스마트 컨트랙트 지갑은 '하나의 키가 모든 것을 통제한다'는 방식을 여러 승인자, 한도, 복구처럼 직접 설계할 수 있는 규칙으로 대체합니다. 특히 큰 금액이나 공동 자금의 경우 셀프 커스터디를 더 안전하고 쉽게 만들 수 있습니다. 그 대가는 지갑의 코드와 구성이라는 새로운 종류의 위험이므로, 검증된 지갑을 선택하고 복구 및 업그레이드 규칙을 이해하며, 신뢰하기 전에 테스트하세요.
자주 묻는 질문
스마트 컨트랙트 지갑이란 무엇인가요?
스마트 컨트랙트 지갑은 하나의 개인 키가 아니라 블록체인에 배포된 코드로 제어되는 암호화폐 계정입니다. 컨트랙트가 누가 어떤 조건에서 트랜잭션을 승인할 수 있는지 정의하므로, 여러 서명자, 지출 한도, 소셜 복구, 네이티브 코인이 아닌 토큰으로 수수료 지불 같은 기능이 가능해집니다.
스마트 컨트랙트 지갑은 일반 지갑보다 안전한가요?
그럴 수 있습니다. 하나의 시드 문구라는 단일 실패 지점을 없애고 복구와 한도 설정을 가능하게 하기 때문입니다. 하지만 스마트 컨트랙트 위험이 추가됩니다. 지갑 코드의 버그, 악의적인 업그레이드, 잘못 구성된 복구 설정이 자금을 위험에 빠뜨릴 수 있습니다. 감사를 받고 널리 쓰이는 지갑을 선택하고 복구 규칙을 이해하세요.
스마트 컨트랙트 지갑은 모든 체인에서 주소가 같나요?
반드시 그렇지는 않습니다. 지갑이 컨트랙트이기 때문에 네트워크마다 따로 배포해야 합니다. 일부 지갑은 여러 체인에서 같은 주소로 배포할 수 있지만 그렇지 않은 지갑도 있습니다. 지갑이 배포되지 않은 네트워크에서 내 지갑 주소로 자금을 보내면 문제가 생길 수 있으니 송금 전에 확인하세요.
계정 추상화란 무엇인가요?
계정 추상화는 사용자 계정이 프로그래밍 가능한 스마트 컨트랙트처럼 작동하도록 하는 개념입니다. Ethereum에서는 ERC-4337 표준이 핵심 프로토콜을 바꾸지 않고 스마트 컨트랙트 지갑을 가능하게 하며, 2025년 업그레이드로 일반 계정이 일시적으로 스마트 컨트랙트 코드를 사용할 수 있는 방법이 추가되었습니다.
