다중서명
용어심층multi-signature · 멀티시그 · multisig
다중서명은 자금 이동 트랜잭션에 여러 개의 개인키 서명을 요구해 단일 실패 지점을 없애는 방식으로, 보통 전체 N개 키 중 최소 M개의 승인을 요구하는 'M-of-N' 형태로 구성한다. 거래소·커스터디·DAO·기업 금고부터 개인 보관까지 폭넓게 쓰이는 지갑 보안의 기본 개념이다.
1.개요
다중서명(multi-signature, 줄여서 멀티시그/multisig)은 자금을 이동하는 트랜잭션에 여러 개의 개인키 서명을 요구하도록 설계한 방식이다. 일반적인 단일 서명 지갑은 개인키 하나만 있으면 자산을 옮길 수 있어, 그 키가 유출되거나 분실되면 자금 전체가 위험해진다. 다중서명은 이러한 단일 실패 지점(single point of failure)을 없애기 위해 둘 이상의 키가 함께 승인해야만 트랜잭션이 성립하도록 조건을 건다.
권한을 한 곳에 몰아두지 않고 여러 주체·기기·장소에 나누는 이 구조는 중앙화 거래소, 커스터디 업체, 탈중앙화 자율 조직, 기업 금고, 개인 보관에 이르기까지 폭넓게 쓰인다. 이 때문에 다중서명은 전자서명, 암호학, 지갑 보안을 잇는 기본 개념으로 자주 참조된다.
2.M-of-N 구성
다중서명은 보통 "M-of-N" 형태로 표현한다. 이는 전체 N개의 키 가운데 최소 M개가 서명해야 트랜잭션이 유효해진다는 뜻이다. 예를 들어 2-of-3 설정은 세 개의 키 중 두 개가 서명하면 자금을 이동할 수 있으며, 키 하나를 잃어버려도 나머지 두 개로 자산에 접근할 수 있다.
M과 N을 어떻게 정하느냐에 따라 보안과 편의의 균형이 달라진다.
- M을 높이면 더 많은 승인이 필요해 보안은 강해지지만, 서명자를 모으기 번거롭고 키를 여럿 잃으면 자금이 잠길 위험이 커진다.
- N을 늘리면 예비 키를 두어 분실에 대비할 수 있으나, 관리해야 할 키가 많아진다.
- 대표적 구성으로 개인·소규모 팀의 2-of-3, 기관·재단의 3-of-5나 4-of-7 같은 설정이 쓰인다.
한쪽 극단인 1-of-N은 아무 키나 하나면 되어 편의는 높지만 보안 이점이 없고, 반대쪽 극단인 N-of-N은 모든 키가 있어야 해 한 개만 잃어도 자금이 잠긴다. 그래서 실무에서는 그 사이의 임계값을 상황에 맞게 고른다.
3.작동 방식
비트코인에서는 스크립트 언어(OP_CHECKMULTISIG 등)를 통해 다중서명 조건을 지정하며, 이더리움 등에서는 스마트 컨트랙트 형태로 다중서명 지갑을 구현하는 경우가 많다. 트랜잭션은 요구된 수의 서명이 모두 모이기 전까지 확정되지 않으므로, 여러 당사자가 나눠 키를 보관하면 어느 한 사람이 독단으로 자금을 옮길 수 없다.
구현 방식은 크게 두 갈래로 나뉜다.
- 스크립트 기반(비트코인 계열): 지출 조건이 잠금 스크립트에 담기며, 규칙이 프로토콜 수준에서 단순하고 견고하다.
- 컨트랙트 기반(이더리움 계열): 서명자 추가·교체, 지출 한도, 시간 잠금 같은 복잡한 정책을 코드로 유연하게 짤 수 있으나, 컨트랙트 코드 자체에 결함이 있으면 새로운 위험이 된다.
어느 방식이든 핵심 원리는 권한 분산이다. 각 서명자는 자신의 개인키만 관리하며, 개별 키가 노출되더라도 요구 수량을 채우지 못하면 자금이 이동하지 않는다.
4.역사와 발전
다중서명 자체는 암호학에서 오래된 개념이지만, 공개 블록체인에서 널리 쓰이게 된 것은 비트코인을 거치면서다.
- 2011년: 표준화 제안(BIP 11)으로 M-of-N 다중서명이 표준 트랜잭션 형식으로 정의되었다.
- 2012년: P2SH(Pay-to-Script-Hash, BIP 16)가 도입되면서, 복잡한 다중서명 조건을 짧은 주소 하나로 감싸 실용적으로 쓸 수 있게 되었다.
- 2017년: 세그윗(SegWit) 적용으로 다중서명 스크립트를 더 효율적으로 처리하는 방식(P2WSH)이 더해졌다.
- 2021년: 탭루트(Taproot)와 슈노르(Schnorr) 서명이 도입되어, 여러 서명을 하나로 집계해 온체인에서는 단일 서명처럼 보이게 하는 더 저렴하고 사적인 다중서명이 가능해졌다.
이더리움 진영에서는 스마트 컨트랙트 지갑이 사실상 표준으로 자리잡아, 기업과 DAO 금고 관리에 폭넓게 쓰인다.
5.장점과 한계
5.1.장점
- 단일 실패 지점 제거: 키 하나가 유출·분실되어도 즉시 자금을 잃지 않는다.
- 권한 분산과 상호 견제: 여러 서명자의 동의가 필요해 내부자 한 명의 독단이나 부정을 막는다.
- 유연한 정책: M-of-N 비율로 보안과 편의를 조절하고, 예비 키로 복구 여지를 남긴다.
5.2.한계
- 복구·동결 위험: 서명자 사이 협조가 깨지거나 필요한 수의 키를 잃으면 자금이 영구히 잠길 수 있다.
- 운영 복잡성: 키 분산·백업, 서명 절차, 시드 구문 관리 등 설계와 운영 부담이 크다.
- 구현 위험: 특히 컨트랙트 기반 지갑은 코드 결함이 그대로 새로운 공격 표면이 된다.
따라서 키를 어디에 어떻게 분산하고 백업할지 설계하는 일이 다중서명의 실효성을 좌우한다.
6.활용 사례
- 거래소·커스터디: 중앙화 거래소와 커스터디 업체는 고객 자산을 담는 콜드 스토리지 지갑에 다중서명을 적용해, 내부자 한 명의 부정이나 단일 키 탈취로 인한 대규모 유출을 막는다.
- 기업·재단·DAO: 공동 자금을 다중서명 지갑에 두고, 정해진 수의 승인자가 동의해야만 지출이 집행되도록 통제한다. 탈중앙화 자율 조직의 트레저리(공동 금고) 관리가 대표적이다.
- 개인 보관: 서로 다른 위치·기기에 둔 키로 2-of-3 지갑을 구성하면, 도난이나 시드 구문 분실 같은 상황에서도 자산을 지킬 여지를 남긴다. 하드 월렛을 여러 대 나눠 쓰는 방식이 흔하다.
- 조건부 결제·중개: 거래 당사자와 중재자가 함께 키를 나눠 갖는 에스크로형 거래에도 응용된다.
7.다른 방식과의 비교
다중서명은 여러 키 관리 방식과 비교된다.
- 단일 서명: 키 하나로 간편하지만 단일 실패 지점을 그대로 안는다.
- 임계값 서명(TSS)·다자간 연산(MPC): 여러 참여자가 조각난 키로 협력해 하나의 서명을 만들어낸다. 온체인에는 단일 서명으로 나타나 수수료·프라이버시 면에서 이점이 있으나, 서명 생성 과정이 오프체인 프로토콜에 의존한다. 규칙이 블록체인에 직접 드러나는 스크립트·컨트랙트형 다중서명과는 신뢰 구조가 다르다.
- 슈노르 키 집계: 탭루트에서처럼 여러 키의 서명을 암호학적으로 합쳐 단일 서명처럼 검증하는 방식으로, 전통적 다중서명과 MPC의 중간 성격을 띤다.
어느 방식이든 "여러 승인 없이는 자금이 움직이지 않는다"는 목표는 같고, 그 조건을 온체인에서 강제하느냐 오프체인에서 만들어내느냐가 주된 차이다.
8.보안 고려사항과 사고 사례
다중서명은 보안을 높이지만 만능은 아니며, 구현·운영 단계의 허점이 실제 사고로 이어졌다.
- 컨트랙트 결함: 2017년 이더리움의 한 다중서명 지갑 컨트랙트에서 발견된 결함으로, 다수 지갑에 담긴 대량의 이더가 영구히 동결되는 사고가 있었다. 다중서명 개념이 아니라 이를 구현한 코드의 버그가 원인이었다.
- 서명 화면 조작: 2025년 한 대형 거래소에서 다중서명 지갑의 서명 화면이 조작되어 대규모 자산이 탈취되는, 역대 최대급 사고가 발생했다. 이는 다중서명 암호 자체의 결함이 아니라 서명자에게 보이는 내용을 속여, 정당한 서명자들이 조작된 트랜잭션에 서명하도록 유도한 공격으로 분석되었다.
이런 사례는 다중서명에서 키 개수만큼이나 서명 절차, 구현 코드, 서명자가 보는 화면의 무결성이 중요함을 보여준다. 컨트랙트 지갑에는 정형 검증 같은 검증 노력이 함께 요구된다.
9.앞으로의 과제
- 표준화와 호환: 체인·지갑마다 다중서명 구현이 달라, 서명자와 정책을 옮기거나 함께 쓰기 어렵다는 문제가 있다.
- 사용자 경험: 키 분산·백업·서명 절차가 복잡해 일반 사용자에게는 진입 장벽이 높다.
- MPC·계정 추상화와의 관계: 임계값 서명, 계정 추상화 기반 스마트 지갑 등 대안·보완 기술과 어떻게 역할을 나눌지가 과제로 남아 있다.
- 운영 리스크 관리: 서명자의 이탈·분실·담합에 대비한 거버넌스와 복구 설계는 여전히 어려운 문제다.
10.연표6건
- 2011이정표BIP 11로 M-of-N 다중서명이 표준 트랜잭션 형식으로 정의됨
- 2012설립비트코인 P2SH(BIP 16) 도입으로 다중서명이 실용화됨
- 2017이정표세그윗(SegWit) 적용으로 P2WSH 기반 다중서명 지원이 더해짐
- 2017사건이더리움의 한 다중서명 지갑 컨트랙트 결함으로 대량의 이더가 영구 동결됨
- 2021이정표탭루트·슈노르 서명 도입으로 서명 집계 기반의 효율적 다중서명이 가능해짐
- 2025사건대형 거래소 다중서명 지갑의 서명 화면이 조작되어 역대급 탈취 사고가 발생함
다중서명, 어렵지 않아요 열쇠 하나가 아니라 여럿이 함께 승인하는 지갑
1. 다중서명이 뭐예요?
다중서명(multi-signature, 줄여서 멀티시그/multisig)은 돈을 옮기는 거래에 여러 개의 개인키(지갑을 여는 비밀 열쇠) 서명을 함께 요구하도록 만든 방식이에요. 보통 쓰는 단일 서명 지갑은 개인키 하나만 있으면 자산을 옮길 수 있어요. 그래서 그 열쇠 하나가 새어 나가거나 사라지면 돈 전체가 위험해져요.
다중서명은 바로 이 '단일 실패 지점(single point of failure, 그 하나만 무너져도 전부 무너지는 약한 고리)'을 없애기 위한 방법이에요. 둘 이상의 열쇠가 같이 승인해야만 거래가 성립하도록 조건을 걸어 두는 거죠.
권한을 한 곳에 몰아두지 않고 여러 사람·기기·장소에 나눠 두는 이 구조는 아주 넓게 쓰여요. 중앙화 거래소, 커스터디(남의 자산을 대신 보관해 주는 업체), 탈중앙화 자율 조직, 기업 금고, 그리고 개인이 자기 자산을 지킬 때까지요. 그래서 다중서명은 전자서명, 암호학, 지갑 보안을 이어 주는 기본 개념으로 자주 등장해요.
이렇게 보면 쉬워요 · 은행 금고를 여는 데 열쇠 하나가 아니라 서로 다른 사람이 가진 열쇠 두세 개가 동시에 필요하도록 만든 거예요.
2. 'M-of-N'은 무슨 뜻이에요?
다중서명은 보통 'M-of-N' 형태로 말해요. 전체 N개의 열쇠 중에서 최소 M개가 서명해야 거래가 유효해진다는 뜻이에요. 예를 들어 2-of-3 설정은 열쇠 세 개 중 두 개만 서명하면 돈을 옮길 수 있어요. 이러면 열쇠 하나를 잃어버려도 나머지 두 개로 자산에 접근할 수 있죠.
M과 N을 어떻게 정하느냐에 따라 보안과 편의 사이의 균형이 달라져요.
- M을 높이면 더 많은 승인이 필요해서 보안은 강해져요. 하지만 서명할 사람을 여럿 모으기가 번거롭고, 열쇠를 여러 개 잃으면 돈이 잠겨 버릴 위험이 커져요.
- N을 늘리면 예비 열쇠를 두어 분실에 대비할 수 있어요. 대신 관리할 열쇠가 많아지죠.
- 대표적으로 개인·소규모 팀은 2-of-3, 기관·재단은 3-of-5나 4-of-7 같은 설정을 써요.
양 극단은 실무에서 거의 안 써요. 한쪽 극단인 1-of-N은 아무 열쇠나 하나면 되니 편하지만 보안 이점이 아예 없고, 반대쪽 극단인 N-of-N은 모든 열쇠가 있어야 해서 하나만 잃어도 돈이 잠겨요. 그래서 실제로는 그 사이의 적당한 기준값을 상황에 맞게 골라요.
이렇게 보면 쉬워요 · 2-of-3은 열쇠 세 개를 만들어 두고 '아무거나 두 개면 문이 열린다'로 정해 둔 거예요. 하나를 잃어도 괜찮은 이유죠.
3. 실제로 어떻게 작동해요?
비트코인에서는 스크립트 언어(OP_CHECKMULTISIG 같은 명령)로 다중서명 조건을 지정해요. 이더리움 같은 곳에서는 스마트 컨트랙트(조건이 맞으면 자동으로 실행되는 프로그램) 형태로 다중서명 지갑을 만드는 경우가 많아요. 거래는 요구된 수만큼의 서명이 다 모이기 전까지 확정되지 않아요. 그래서 여러 사람이 열쇠를 나눠 보관하면, 어느 한 사람이 혼자 마음대로 돈을 옮길 수 없어요.
구현 방식은 크게 두 갈래로 나뉘어요.
- 스크립트 기반(비트코인 계열): 돈을 쓰는 조건이 잠금 스크립트에 담겨요. 규칙이 프로토콜(네트워크의 기본 규약) 수준에서 단순하고 튼튼해요.
- 컨트랙트 기반(이더리움 계열): 서명자 추가·교체, 지출 한도, 시간 잠금 같은 복잡한 규칙을 코드로 유연하게 짤 수 있어요. 다만 그 컨트랙트 코드 자체에 결함이 있으면 그게 새로운 위험이 돼요.
어느 방식이든 핵심 원리는 같아요. 바로 '권한을 나눠 놓는 것'이죠. 각 서명자는 자기 개인키만 관리해요. 열쇠 하나가 남에게 노출되더라도 요구한 수량을 채우지 못하면 돈은 움직이지 않아요.
이렇게 보면 쉬워요 · 서명이 다 모이기 전까지 거래가 멈춰 있는 건, 결재 서류가 필요한 도장을 다 받기 전까지는 처리되지 않는 것과 같아요.
4. 언제부터 쓰기 시작했어요?
다중서명이라는 발상 자체는 암호학에서 오래된 개념이에요. 하지만 누구나 볼 수 있는 공개 블록체인에서 널리 쓰이게 된 건 비트코인을 거치면서예요.
- 2011년: 표준화 제안(BIP 11)을 통해 M-of-N 다중서명이 표준 거래 형식으로 정의됐어요.
- 2012년: P2SH(Pay-to-Script-Hash, BIP 16)가 도입되면서, 복잡한 다중서명 조건을 짧은 주소 하나로 감싸 실용적으로 쓸 수 있게 됐어요.
- 2017년: 세그윗(SegWit)이 적용되면서, 다중서명 스크립트를 더 효율적으로 처리하는 방식(P2WSH)이 더해졌어요.
- 2021년: 탭루트(Taproot)와 슈노르(Schnorr) 서명이 도입됐어요. 이 덕분에 여러 서명을 하나로 합쳐서, 블록체인에 기록될 때는 그냥 단일 서명처럼 보이게 만들 수 있게 됐어요. 더 저렴하고, 남에게 다중서명인지 잘 안 드러나는 사적인 방식이 가능해진 거죠.
이더리움 쪽에서는 스마트 컨트랙트 지갑이 사실상 표준으로 자리 잡았어요. 그래서 기업과 DAO의 금고 관리에 폭넓게 쓰이고 있어요.
5. 좋은 점과 아쉬운 점은?
먼저 좋은 점이에요.
- 단일 실패 지점 제거: 열쇠 하나가 새어 나가거나 사라져도 곧바로 돈을 잃지 않아요.
- 권한 분산과 상호 견제: 여러 서명자의 동의가 필요하니, 내부자 한 명이 혼자 마음대로 하거나 부정을 저지르는 걸 막을 수 있어요.
- 유연한 정책: M-of-N 비율로 보안과 편의를 조절하고, 예비 열쇠를 둬서 복구할 여지를 남겨요.
반대로 아쉬운 점도 있어요.
- 복구·동결 위험: 서명자들 사이 협조가 깨지거나, 필요한 수만큼의 열쇠를 잃으면 돈이 영영 잠겨 버릴 수 있어요.
- 운영 복잡성: 열쇠를 나눠 보관하고 백업하는 일, 서명 절차, 시드 구문(지갑을 되살리는 단어 열쇠) 관리 등 설계와 운영 부담이 커요.
- 구현 위험: 특히 컨트랙트 기반 지갑은 코드에 결함이 있으면 그게 곧 새로운 공격 표면(공격자가 파고들 수 있는 빈틈)이 돼요.
그래서 열쇠를 어디에 어떻게 나누고 백업할지 설계하는 일이 다중서명이 실제로 잘 작동하느냐를 좌우해요.
6. 어디에 쓰여요?
- 거래소·커스터디: 중앙화 거래소와 커스터디 업체는 고객 자산을 담는 콜드 스토리지(인터넷과 끊어 보관하는 지갑)에 다중서명을 적용해요. 내부자 한 명의 부정이나 열쇠 하나 탈취로 대규모 유출이 나는 걸 막기 위해서죠.
- 기업·재단·DAO: 공동 자금을 다중서명 지갑에 두고, 정해진 수의 승인자가 동의해야만 돈이 나가도록 통제해요. 탈중앙화 자율 조직의 트레저리(공동 금고) 관리가 대표적이에요.
- 개인 보관: 서로 다른 장소·기기에 둔 열쇠로 2-of-3 지갑을 구성하면, 도난이나 시드 구문 분실 같은 상황에서도 자산을 지킬 여지를 남길 수 있어요. 하드 월렛(자산 보관 전용 기기) 여러 대를 나눠 쓰는 방식이 흔해요.
- 조건부 결제·중개: 거래 당사자와 중재자가 함께 열쇠를 나눠 갖는 에스크로(믿을 만한 제3자가 돈을 잠시 맡아 두는 방식)형 거래에도 응용돼요.
7. 비슷한 방식들과 뭐가 달라요?
다중서명은 여러 열쇠 관리 방식과 곧잘 비교돼요.
- 단일 서명: 열쇠 하나로 간편하지만, 그 하나가 무너지면 끝이라는 단일 실패 지점을 그대로 안고 있어요.
- 임계값 서명(TSS)·다자간 연산(MPC): 여러 참여자가 조각난 열쇠를 가지고 협력해서 최종 서명 하나를 만들어내요. 블록체인에는 그냥 단일 서명 하나로 나타나서 수수료와 프라이버시 면에서 이점이 있어요. 다만 서명을 만드는 과정이 블록체인 바깥(오프체인) 프로토콜에 의존해요. 규칙이 블록체인에 직접 드러나는 스크립트·컨트랙트형 다중서명과는 신뢰 구조가 달라요.
- 슈노르 키 집계: 탭루트에서처럼 여러 열쇠의 서명을 암호학적으로 합쳐서 단일 서명처럼 검증하는 방식이에요. 전통적 다중서명과 MPC의 중간 성격을 띠어요.
어느 방식이든 '여러 승인 없이는 돈이 움직이지 않는다'는 목표는 똑같아요. 다른 건, 그 조건을 블록체인 위(온체인)에서 강제하느냐, 아니면 블록체인 바깥(오프체인)에서 만들어내느냐예요.
8. 다중서명이면 무조건 안전한가요?
다중서명은 보안을 높여 주지만 만능은 아니에요. 구현하고 운영하는 단계의 허점이 실제 사고로 이어진 적이 있어요.
- 컨트랙트 결함: 2017년 이더리움의 한 다중서명 지갑 컨트랙트에서 결함이 발견됐어요. 이 때문에 여러 지갑에 담긴 대량의 이더가 영영 동결되는 사고가 있었죠. 다중서명이라는 개념이 잘못된 게 아니라, 그걸 구현한 코드의 버그가 원인이었어요.
- 서명 화면 조작: 2025년 한 대형 거래소에서 다중서명 지갑의 서명 화면이 조작되어 대규모 자산이 탈취되는, 역대 최대급 사고가 발생했어요. 이것도 다중서명 암호 자체의 결함은 아니었어요. 서명자에게 보이는 내용을 속여서, 정당한 서명자들이 조작된 거래에 자기 손으로 서명하게 유도한 공격으로 분석됐어요.
이런 사례들은 다중서명에서 열쇠 개수만큼이나 서명 절차, 구현 코드, 그리고 서명자가 보는 화면이 진짜인지가 중요하다는 걸 보여 줘요. 컨트랙트 지갑에는 정형 검증(코드가 규칙대로 도는지 수학적으로 따져 보는 검증) 같은 노력이 함께 필요해요.
9. 앞으로 풀어야 할 숙제는?
- 표준화와 호환: 체인마다, 지갑마다 다중서명 구현이 제각각이에요. 그래서 서명자와 정책을 다른 곳으로 옮기거나 서로 함께 쓰기가 어렵다는 문제가 있어요.
- 사용자 경험: 열쇠를 나누고, 백업하고, 서명하는 절차가 복잡해서 일반 사용자에게는 문턱이 높아요.
- MPC·계정 추상화와의 관계: 임계값 서명, 계정 추상화(지갑을 더 똑똑하게 프로그래밍하는 기술) 기반 스마트 지갑 같은 대안·보완 기술과 어떻게 역할을 나눌지가 숙제로 남아 있어요.
- 운영 리스크 관리: 서명자가 빠지거나, 열쇠를 잃거나, 서로 짜고 담합하는 상황에 대비한 거버넌스(운영 규칙)와 복구 설계는 여전히 어려운 문제예요.
토큰포스트 위키, “다중서명”, 2026-07-31 수정, https://wiki.tokenpost.kr/w/multisigAccept: text/markdown 로 요청해도 같은 결과문단 9개 · 연표 6건 · 각주 0개