BIP16은 Pay-to-Script-Hash(P2SH)의 실제 합의 규칙을 도입한 소프트포크 제안으로, BIP13의 주소 형식과 짝을 이룹니다.
핵심 내용
지출 트랜잭션의 scriptSig에 직렬화된 redeemScript를 포함하고, 노드가 이를 역직렬화해 실행하도록 검증 규칙을 추가했습니다. scriptPubKey가 OP_HASH160 <20-byte-hash> OP_EQUAL 형태일 때 P2SH 규칙이 적용됩니다.
왜 중요한가?
멀티시그·타임락 등 복잡한 조건을 "3으로 시작하는" 짧은 주소로 표현할 수 있게 하여 비트코인 스크립트의 표현력을 크게 높였습니다. 2012년 4월에 활성화되어 현재까지 비트코인의 핵심 기능 중 하나로 남아 있습니다.
보안 고려사항
redeemScript는 지출 시에만 공개되므로 공개키 노출이 늦어지는 프라이버시 이점이 있습니다. 단, 20바이트 해시 충돌 공격에 대한 이론적 우려가 있어 이후 SegWit(BIP141)에서는 32바이트 해시로 개선되었습니다.