Blockchain
Bitcoin Script
비트코인 Script의 실행 모델과 P2PKH, P2WPKH, P2SH, timelock 패턴을 요약합니다.
Bitcoin Script
Bitcoin Script는 스택 기반, 비튜링완전 언어입니다. 목표는 표현력보다 검증 단순성과 예측 가능성입니다.
실행 모델
한 입력의 잠금/해제 조건은 보통 두 스크립트 조합으로 검증됩니다.
scriptSig또는 witness: 해제 데이터 제공scriptPubKey: 잠금 조건 정의
평가 결과가 true이면 UTXO 소비가 허용됩니다.
대표 패턴
1) P2PKH
가장 기본적인 서명 검증.
- 공개키 해시 일치 확인
- 서명 유효성 확인
2) P2WPKH (SegWit)
서명 데이터를 witness로 분리해 가변성 문제를 줄이고 효율을 개선합니다.
3) P2SH
복잡한 redeem script를 해시로 감춰 주소 표현을 단순화합니다. 멀티시그 정책 배포에 자주 쓰였습니다.
4) Timelock (OP_CHECKLOCKTIMEVERIFY)
특정 시간/블록 높이 이전에는 소비를 막는 정책을 구현할 수 있습니다.
스크립트 설계 시 체크포인트
- 조건 실패 시나리오를 우선 설계합니다.
- 지갑/노드 호환성(SegWit/Taproot)을 먼저 확인합니다.
- 멀티시그/타임락은 키 분실 시 복구 경로까지 포함해 설계합니다.
- 주소 형태(P2WPKH, P2SH 등)와 수수료 영향까지 같이 검토합니다.