다중서명이란?
다중서명(Multisignature, Multisig)은 두 개 이상의 고유한 디지털 서명 결합하여 승인 또는 접근 권한을 부여하는 암호화 기술이다.
다중서명 사용은 특히 가상화폐 지갑에서 인기를 끌고 있다. 다중서명을 사용하는 지갑이 하나의 키만 사용하는 지갑보다 더 안전하기 때문이다.
다중서명 지갑이란?
다중서명 지갑(Multisig wallet)은 거래를 승인하기 위해 두 개 이상의 디지털 서명이 필요한 가상화폐 지갑이다. 여러 당사자의 승인을 요구함으로써 추가적인 보호층을 제공한다. 이는 특정 키 세트로만 열 수 있는 자물쇠와 같다.
다중서명 지갑에는 다양한 유형이 있다. 가장 일반적으로 사용되는 두 가지 유형은 거래를 승인하는 데 필요한 서명 수에 차이가 있다:
- 첫 번째 유형은 모든 당사자가 거래를 승인해야 한다.
- 두 번째 유형은 미리 정의된 수의 당사자만 거래를 승인하면 된다(예: 4명 중 3명, 7명 중 5명).
다중서명 지갑은 어떻게 작동하나?
다중서명 지갑은 스마트 계약을 사용해 권한이 있는 서명자가 누구인지, 거래를 승인하는 데 필요한 서명 수는 몇인지에 대해 규칙을 설정한다. 다중서명 지갑을 만들 때 사용자는 다음 매개변수를 정의해야 한다:
- 권한이 있는 서명자의 수
- 필요한 서명의 수
- 권한 있는 서명자의 공개 키
다중서명 지갑이 생성되면 권한이 있는 서명자는 거래가 시작될 때 알림을 받게 된다. 서명자는 서명을 제공하여 거래를 승인할 수 있다.
다중서명 스마트 계약은 스마트 계약 생성 시 제공된 공개 키와 비교하여 서명의 유효성을 검사한다. 모든 조건이 충족될 때만 트랜잭션을 실행한다.
다중서명 지갑의 장점
다중서명 지갑이 기존 단일서명 지갑에 비해 갖는 장점은 다음과 같다:
- 보안 강화: 다중서명 지갑은 더 높은 수준의 보안을 제공한다. 거래를 승인하는 데 여러 개의 개인 키가 필요하기 때문에 해커가 다중 서명 지갑에 보관된 자금에 접근하기가 훨씬 더 어려워진다.
- 단일 실패 지점 감소: 단일 서명 지갑에는 지갑의 개인 키라는 단일 실패 지점(single point of failure)이 있다. 하지만 다중 서명 지갑에서는 여러 개인 키 소유자에게 위험이 분산된다. 2대3 또는 3대5 다중서명 지갑에서는 권한 있는 서명자가 키를 분실하더라도, 다른 키 보유자가 거래를 성공적으로 승인할 수 있다. 이러한 위험의 예로, 고객 예치금을 보관하는 콜드 스토리지 지갑의 유일한 키 보유자였던 가상화폐 거래소 QuadrigaCX의 설립자가 갑자기 사망한 사건이 있다.
- 기관 사용: 다중서명 지갑은 여러 개인 또는 팀이 대량의 가상화폐를 관리하는 가상화폐 거래소 및 금융 서비스 제공업체와 같은 기관에 실용적인 솔루션을 제공한다. 여러 명의 인증된 서명자를 보유하면 보안이 강화될 뿐만 아니라 협업을 촉진하고 조직 내 마찰을 줄일 수 있다.
- 사용자 맞춤화 가능성: 다중 서명 지갑의 핵심은 스마트 계약이다. 스마트 계약 기술을 사용하면 다중서명 지갑을 프로그래밍할 수 있다. 예를 들어, 사용자는 거래를 승인하기 위해 2-3개의 서명만 필요하도록 다중서명 지갑을 구성할 수 있다. 또한 새로운 서명자를 추가하거나 기존 서명자를 제거할 수도 있다.
- 커뮤니티 사용: 다중서명 지갑은 커뮤니티 프로젝트에서 유용하다. 대부분의 가상화폐 프로젝트에는 개발과 투자에 사용되는 커뮤니티 자금이 있다. 이러한 경우 다중서명 지갑을 사용하면 여러 프로젝트 리더와 커뮤니티 대표에게 권한을 분산할 수 있다.
다중서명 지갑의 단점
- 사용자 친화적이지 않음: 다중서명 지갑은 기존의 단일 서명 지갑보다 사용하기가 더 복잡하다. 사용자는 다중서명 스마트 계약을 설정, 구성, 관리하기 위해 기술적 전문 지식이 필요하다. 더 중요한 것은 스마트 계약 매개변수를 올바르게 구성하지 않으면 자금에 접근할 수 없는 등 의도하지 않은 결과를 초래할 수 있다는 점이다. 또한, 권한 있는 서명자 간의 조율도 번거로울 수 있다.
- 비용: 다중서명 지갑은 블록체인에 배포되는 스마트 계약이므로, 사용자는 스마트 계약을 설정하고 변경하기 위해 가스비를 지불해야 한다.
- 느린 트랜잭션 시간: 권한 있는 서명자가 여러 명일 때의 단점은 트랜잭션 승인 속도가 느려진다는 것이다. 이 문제는 서명자가 서로 다른 시간대에 있을 때 더욱 심화된다. 서명자의 부재로 거래가 지연될 수 있으며, 이는 조직에 심각한 운영상의 위험이 초래할 수 있다.
- 제한된 채택: 다중서명 지갑은 기존의 단일서명 지갑만큼 대중적이지 않다. 즉, 모든 가상화폐 플랫폼과 서비스가 다중서명 거래를 지원하는 것은 아니므로 특정 상황에서는 다중서명 지갑의 사용성이 제한될 수 있다.
다중 서명 사용 예시
다음은 다중 서명 지갑의 몇 가지 사용 사례다:
- 가상화폐 거래소: 많은 가상화폐 거래소는 고객 자금의 보안을 강화하기 위해 다중 서명 지갑을 사용한다. 다중 서명 지갑은 보안이 강화되고 단일 실패 지점이 제거되기 때문에 가상화폐 거래소에서 사용하기에 이상적이다.
- 에스크로(Escrow) 서비스: 다중서명 지갑은 자산을 안전하고 투명하게 에스크로하는 방법을 제공한다. 제3자 중재자를 권한 있는 서명자로 추가하여, 특정 조건이 충족될 때만 지갑에 보관된 자금을 해제할 수 있다.
- 커스터디(Custody) 서비스: 마찬가지로 수탁기관은 고객 자금을 보호하기 위해 출금이나 자산 이체 시 여러 번의 승인이 필요한 다중서명 지갑을 사용한다.
- 탈중앙화 자율 조직(DAO): 가상화폐 DAO는 프로젝트 개발에 필요한 자금을 관리할 책임이 있다. 다중서명 지갑을 사용하면 중앙화된 주체가 커뮤니티 자금을 통제할 수 없다.
결론
다중서명 지갑은 높은 수준의 보안과 사용자 맞춤화 기능 덕분에 가상화폐 조직 내에서 인기 있는 도구가 되었다.
해킹과 사기가 만연한 가상화폐 세계에서 다중서명 지갑은 업계 참여자들이 원하는 추가적인 보호층을 제공한다.