# 베어 멀티시그 (Bare Multisig)

베어 멀티시그(bare multisig, 다중 서명) 출력 스크립트는 비트코인 출력의 잠금 스크립트(scriptPubKey)에 공개 키 목록과 필요한 서명 수(임계값)를 직접 적고 OP_CHECKMULTISIG로 검사하는 형태입니다. 스크립트에 명시된 공개 키 가운데 임계값 이상의 유효한 서명이 있어야 그 출력을 사용할 수 있습니다.

## 작동 방식

1. 3명 중 2명이 지출에 동의해야 하는 공유 자금을 만든다고 가정합니다.
2. 출력 스크립트에 임계값 2, 서로 다른 공개 키 3개, 키의 개수 3을 적고 마지막에 OP_CHECKMULTISIG를 둡니다. 형태는 `OP_2 <공개키1> <공개키2> <공개키3> OP_3 OP_CHECKMULTISIG`입니다.
3. 이 출력을 사용하는 트랜잭션은 입력 스크립트에 해당 개인 키로 만든 서명을 임계값 이상 넣어야 합니다. OP_CHECKMULTISIG의 오래된 구현 버그 때문에 서명 앞에 OP_0 같은 값을 하나 더 넣습니다.

이렇게 조건이 출력 스크립트에 그대로 드러나는 것이 “베어(bare, 감싸지 않은)”라는 이름의 뜻입니다. 같은 다중 서명 조건을 스크립트 해시로 감싸 P2SH나 P2WSH 주소로 쓰는 방식은 별개의 출력 유형(P2SH 멀티시그 등)이며, 베어 멀티시그가 아닙니다.

## 기본 사항

- **멀티시그:** “다중 서명”의 약자로, 두 개 이상의 서명이 필요할 수 있음을 뜻합니다.
- **임계값:** 자금을 사용하는 데 필요한 최소 서명 수입니다(예: 3개 중 2개).
- **공개 키:** 각 참가자는 고유한 공개 키를 가지며, 베어 멀티시그에서는 이 키들이 모두 출력에 기록됩니다.

## 장점

- **향상된 보안:** 여러 서명을 요구하므로 단일 실패 지점의 위험을 줄입니다. 임계값보다 적은 수의 키가 유출되어도 그 키만으로 자금을 옮길 수 없습니다.
- **권한 분산:** 임계값이 2 이상이면 단일 당사자가 자금을 일방적으로 옮길 수 없습니다. 조건이 출력에 공개되어 있어 필요한 서명인과 임계값을 누구나 확인할 수 있습니다.
- **유연성:** 필요한 서명 수와 참여하는 공개 키를 정할 수 있습니다.

## 단점

- **비효율과 제한:** 공개 키가 출력 스크립트에 그대로 들어가 출력이 커지고, 이를 나타내는 일반적인 주소 형식도 없습니다. 비트코인 코어의 표준 정책은 베어 멀티시그를 공개 키 3개 이하로 제한합니다. 이 때문에 실무에서는 같은 조건을 P2SH나 P2WSH로 감싼 멀티시그가 주로 쓰입니다.
- **복잡성:** 블록체인 스크립트에 익숙하지 않은 사용자에게는 설정과 관리가 기술적으로 어렵습니다.
- **지연 가능성:** 서명인이 응답하지 않으면 필요한 서명을 모으지 못해 처리가 늦어집니다. 임계값 이상의 키를 잃으면 자금을 옮길 수 없게 됩니다.

## 적용 분야와 비유

- **공유 지갑:** 인출에 여러 승인이 필요한 기업이나 가족의 공동 자금 관리에 쓰입니다. 두 사업 파트너가 모두 수표에 서명해야 돈을 인출할 수 있는 공동 명의 계좌와 비슷합니다.
- **에스크로:** 거래 당사자 두 명과 중립적인 제3자가 키를 하나씩 갖는 2-of-3 구성으로, 조건이 충족될 때까지 어느 한쪽도 혼자 자금을 옮기지 못하게 합니다. 고객 키와 은행 직원 키가 모두 있어야 열리는 대여금고와 비슷합니다.

베어 멀티시그는 다중 서명 조건을 출력 스크립트에 직접 적는 가장 기본적인 형태입니다. 서명 권한을 분산하는 원리는 다른 멀티시그와 같지만, 위와 같은 기술적 제약이 있습니다.

---
출처: https://achivx.kr/glossary/bare-multisig-%EB%B2%A0%EC%96%B4-%EB%A9%80%ED%8B%B0%EC%8B%9C%EA%B7%B8/ · ACHIVX 용어 사전 · 수정일 2026-10-20
