692 / 736BIP347

OP_CAT

Tapscript의 데이터 연결

BIP 347은 스택 요소 두 개를 연결하는 단순한 연산을 Tapscript에 복원해 Bitcoin 계약의 설계 가능성을 넓히자는 제안입니다.

OP_CAT은 결과 요소가 520바이트 한도를 넘지 않을 때 두 바이트열을 연결하는 Tapscript용 제안 opcode이며, 아직 mainnet에서 활성화되지 않았습니다.

이 명세는 Tapscript의 OP_SUCCESS126을 재정의합니다. 연산은 스택 맨 위의 두 요소를 꺼내 스택 순서대로 연결한 뒤 결과를 다시 스택에 넣습니다. [1]

초기의 OP_CAT은 Bitcoin 초기에 다른 opcodes와 함께 비활성화되었습니다. 새 제안은 Tapscript로 범위를 제한하고 단일 스택 요소의 현행 520바이트 한도를 유지합니다. [2]

연결 연산을 사용하면 script 안에서 구조화된 데이터를 만들고 해시할 수 있습니다. 지지자들은 이를 바탕으로 covenants, 트랜잭션 트리, vaults, 미래 트랜잭션 속성에 관한 증명을 구성할 수 있다고 설명합니다. [1]

이 opcode 하나가 특정 애플리케이션이나 범용 가상 머신을 정의하는 것은 아닙니다. 개별 프로토콜의 안전성은 OP_CAT을 해시, 서명, 지출 규칙과 어떻게 결합하는지에 달려 있습니다. [1]

BIP 상태는 Complete이지만 이는 문서의 성숙도를 뜻할 뿐 합의 활성화를 뜻하지 않습니다. 현재 mainnet 노드는 Tapscript 규칙에 따라 OP_SUCCESS126을 script의 성공적인 종료로 처리합니다. [3]

활성화는 soft fork가 됩니다. 새 규칙이 이전에 유효했던 Tapscript 지출의 범위를 좁히므로 별도의 배포 절차와 폭넓은 기술 검토가 필요합니다. [1]

OP_CAT은 CTV, covenants, Simplicity와 관련이 있지만 같은 개념은 아닙니다. 각 제안은 표현력, 분석 비용, 의도하지 않은 구성이 생길 여지가 서로 다릅니다. [1]

검증할 때는 기존 명세와 실험적 구현을 mainnet의 실제 규칙과 구분해야 합니다. Wallet은 활성화 전에는 OP_CAT을 사용할 수 있다고 가정해서는 안 됩니다. [4]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Bitcoin Script, Taproot, Covenants, OP_CHECKTEMPLATEVERIFY, Soft Fork, BIP (Bitcoin Improvement Proposal).

01OP_CAT은 현재 Bitcoin mainnet에서 활성화되어 있나요?

아니요. BIP 347은 완료된 제안 명세이지만, 변경 사항은 mainnet 합의 규칙으로 활성화되지 않았습니다.

02OP_CAT이 범용 smart contracts를 의미하나요?

아니요. 데이터 연결 연산 하나를 추가할 뿐이며, 기능과 위험은 이를 사용하는 구체적인 scripts와 프로토콜에서 생깁니다.

DOC · 001BIP 347 — OP_CAT in Tapscript명세 DOC · 002Bitcoin Optech — OP_CAT문서 DOC · 003Bitcoin Core — Tapscript interpreter1차 출처 DOC · 004BIP 342 — Validation of Taproot Scripts명세
개정일: 1차 출처 우선 · 투자 조언이 아닙니다