Bitcoin Script은 Bitcoin 거래에서 사용되는 간단한 스택 기반 프로그래밍 언어로, 출력이 어떻게 소비될 수 있는지 정의합니다. Bitcoin Script는 거래 출력의 잠금 및 해제 메커니즘으로 작동하여 비트코인을 소비하려는 사람이 그것을 할 권리가 있는지를 보장합니다.
이 스크립트는 두 부분으로 구성되어 있습니다: 출력에 부착되는 잠금 스크립트(또는 scriptPubKey)는 출력이 소비될 수 있는 조건을 지정하고, 입력에 부착되는 해제 스크립트(또는 scriptSig)는 이러한 조건을 충족하기 위해 필요한 데이터를 제공합니다. 노드가 소비 거래를 받으면 이러한 스크립트를 결합하고, 스택이라는 데이터 구조를 사용하여 왼쪽에서 오른쪽으로 실행합니다. 결과가 유효하면 거래가 인증됩니다.
비트코인 입력 출력 거래 모델 이해: UTXO가 무엇인가요?
스크립트는 튜링 완전하지 않으며 루프나 다른 계산 리소스를 과다하게 사용할 수 있는 구조를 지원하지 않습니다. 이 제한은 네트워크 전체의 보안 및 효율성을 보장합니다. P2PKH (공개키 해시 지불)가 가장 일반적으로 사용되는 스크립트 유형이지만, 더 복잡한 스크립트는 다중 서명 주소와 같은 기능을 활성화할 수 있으며 거래를 인증하기 위해 여러 서명이 필요합니다.
비트코인 스크립트는 몇 가지 중요한 이유로 튜링 완전이 아닌 의도적으로 설계되었습니다: