128 / 691OP

Bitcoin Script opcode

Opcode는 Bitcoin Script 명령이다. 사용 검증 시 스택을 조작하거나 조건을 검사하며, 의미는 스크립트 버전에도 달려 있다.

Opcode는 명령 바이트이며 개인키나 독립 거래가 아니다. 성공적인 사용에는 완전히 유효한 스크립트와 거래 맥락이 필요하며, 연산 이름만으로는 부족하다.

Script는 명령과 데이터 항목으로 해독된다. OP_PUSHDATA는 바이트를 넣도록 지정하며, 넣은 데이터 안의 바이트를 다른 opcode로 다시 해석하지 않는다. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_DUP는 스택 맨 위를 복제하고 OP_DROP은 제거한다. 인수가 없으면 실패할 수 있으며 항목 순서와 인코딩도 조건의 일부다. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

OP_EQUAL은 두 항목을 비교해 결과를 넣는다. OP_EQUALVERIFY는 다르면 실패하고 같으면 결과를 제거한다. 둘 다 단독으로 키 통제권을 검증하지 않는다. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Core v29.0 — Opcode definitions]

OP_CHECKSIG는 공개키와 거래에서 도출한 메시지에 대해 서명을 검증한다. Legacy와 SegWit v0은 ECDSA, Tapscript의 일반적인 32바이트 키는 Schnorr를 쓴다. sighash도 결속 범위를 결정한다. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_IF와 OP_ELSE는 스택에 따라 분기를 고른다. Script에는 일반 반복문이 없지만 미실행 분기 규칙도 opcode 종류와 버전에 달려 있다. [Bitcoin Core v29.0 — Script interpreter] [BIP 342 — Validation of Taproot Scripts]

OP_CHECKLOCKTIMEVERIFY는 절대 잠금, OP_CHECKSEQUENCEVERIFY는 해당 입력의 상대 조건을 검사한다. 직접 기다리거나 송금하거나 서명 조건을 대체하지 않는다. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

Tapscript는 서명 규칙을 바꾸고 OP_CHECKSIGADD를 추가하며 실행된 OP_CHECKMULTISIG를 거부한다. 버전 없는 명령 목록은 완전한 검증 안내가 아니다. [BIP 342 — Validation of Taproot Scripts]

BIP 342는 확장을 위해 OP_SUCCESSx를 예약한다. Tapscript 해독 중 만나면 그 규칙에 따라 성공한다. 새 연산 제안이 활성화됐거나 의도한 조건을 안전하게 강제한다는 뜻이 아니다. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core — Segregated Witness benefits]

네트워크 정책은 합의상 블록에 허용되는 거래의 중계를 거부할 수 있다. Bitcoin Core v29.0은 기본적으로 OP_SUCCESSx 사용을 억제한다. 노드 정책은 새 합의 규칙이 아니다. [BIP 342 — Validation of Taproot Scripts] [Bitcoin Core v29.0 — Standard script flags]

스크립트를 읽을 때 버전, 초기 스택, 서명 메시지, 모든 실패 경로를 파악한다. 유효한 문법이나 좋은 opcode 이름이 올바른 보관을 보장하지 않으며 전체 사용이 중요하다. [Bitcoin Core v29.0 — Script interpreter] [Bitcoin Developer Guide — Transactions]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Bitcoin Script, CHECKLOCKTIMEVERIFY, CHECKSEQUENCEVERIFY, Taproot.

DOC · 001Bitcoin Core v29.0 — Script interpreter문서 ↗DOC · 002Bitcoin Core v29.0 — Opcode definitions문서 ↗DOC · 003BIP 342 — Validation of Taproot Scripts명세 ↗DOC · 004Bitcoin Developer Guide — Transactions문서 ↗DOC · 005Bitcoin Core v29.0 — Standard script flags문서 ↗DOC · 006Bitcoin Core — Segregated Witness benefits문서 ↗
1차 출처 우선 · 투자 조언이 아닙니다