BIP0011은 비트코인의 다중서명(M-of-N) 거래를 표준 트랜잭션 타입으로 인정하자는 제안입니다.
무엇을 제안하나요?
M-of-N 형태(예: 2-of-3, 2-of-2 등)의 멀티시그 트랜잭션을 "표준" 스크립트로 취급합니다. 이를 통해 지갑 보안(2-of-2 보호 지갑), 에스크로(2-of-3 중재자 포함 거래) 같은 다양한 활용을 지원합니다.
스크립트 구조
표준으로 제안된 locking script(scriptPubKey)는 다음 형태입니다: m {pubkey} ... {pubkey} n OP_CHECKMULTISIG. 여기서 m은 필요한 최소 서명 개수(M), n은 전체 공개키 개수(N)이며, BIP0011에서는 N ≤ 3만 "표준"으로 인정 제안합니다. 해당 코인을 사용(redeem)할 때 scriptSig는 서명을 OP_0(체크멀티시그 버그 보정용 더미 값) 뒤에 나열하는 형태를 사용합니다.
동기(왜 필요한가?)
보안 지갑: 사용자의 지갑과 별도의 "보호 서비스" 키를 함께 요구하는 2-of-2 구조로, 단일 키 탈취만으로는 자금이 빠져나가지 않게 할 수 있습니다. 3자 에스크로: 구매자, 판매자, 중재자 세 명의 키로 2-of-3을 구성해, 분쟁 발생 시 중재자가 한쪽과 함께 서명해 자금 처리 방향을 결정할 수 있습니다.
설계 근거
이미 존재하던 OP_CHECKMULTISIG을 활용하여 구현 부담을 줄이고, 중요한 사용 사례를 간단히 지원하는 것이 목적입니다. 당시 구(舊) 노드는 OP_CHECKMULTISIG를 "20개의 서명 연산"으로 계산해 블록당 약 1,000개 멀티시그 한계가 있다는 우려가 있었지만, 장기적으로 시그연산 제한 규칙을 개선할 수 있다는 반론이 제시되었습니다.