저자: 0x신찬, Crypto KOL, 번역: 0xjs@GoldenFinance
사토시 나카모토가 BTC 스크립팅 언어에서 제거했던 옵코드인 OP_CAT이 이제 커뮤니티에서 다시 뜨거운 논쟁의 중심에 서 있습니다(참고: 비트코인 아시아 컨퍼런스에서 비트코인 개발자들이 가장 많이 논의했던 것은 OP_CAT이었습니다).
잠재적인 업그레이드로서 비트코인 개선 제안(BIP) 347로 공식 지정되었습니다.
![7226580](https://img.jinse.cn/7226580_watermarknone.png)
OP_CAT은 (이더와 유사한) 비트코인 스마트 컨트랙트의 기능 개선을 목표로 하는 이니셔티브입니다. 이 문서에서는 OP_CAT의 정의, 작동 메커니즘, 사용 사례, 커뮤니티 내 논란 등에 대해 자세히 설명합니다.
1. 배경: OP_CAT의 탄생 배경
OP_CAT은 비트코인의 초기 옵코드입니다. 원래 비트코인 창시자인 사토시 나카모토가 프로그래밍 지름길로 만들었습니다. 그러나 높은 메모리 사용량과 잠재적인 보안 취약성에 대한 우려로 인해 2010년에 제거되었습니다.
2023년 10월, 비트코인 연구원 에단 하일만과 아르민 사부리는 비트코인 개선 제안(BIP)을 제안했으며, 이는 OP_CAT 옵코드를 비트코인 스크립팅 언어에 다시 도입할 것을 제안했습니다.
이 옵코드를 사용하면 개발자가 탭루트 업그레이드에서 새로운 트랜잭션 유형을 지원하는 데 사용되는 기본 스크립팅 언어인 탭스크립트에서 머클 트리 및 기타 해시 데이터 구조를 구축하고 평가할 수 있습니다.
2. OP_CAT은 이론적으로 어떻게 작동하나요?
(i) 값 팝핑: 먼저 스택에서 상위 두 항목을 제거합니다.
(ii) 결합: 두 항목을 결합합니다. x1과 x2가 항목이고 x2가 마지막으로 추가된 항목인 경우 OP_CAT은 두 항목을 결합하여 x1x2를 형성합니다.
(iii) Push back: 새로 결합된 항목을 스택의 맨 위에 다시 놓습니다.
그러나 스택에 항목이 2개 미만이거나 결합된 항목의 크기가 520바이트(비트코인에서 스크립트 요소의 제한)를 초과하는 경우 OP_CAT은 작동하지 않습니다. 소프트 포크를 통해 활성화하면 스크립트에서 사용하지 않는 기존 작업을 대체하고 네트워크를 크게 변경하지 않고도 활성화할 수 있습니다.
3. OP_CAT이 필요한 이유와 기능은 무엇인가요?
데이터 처리 간소화: OP_CAT을 사용하면 탭스크립트에서 두 개의 스택 값을 병합할 수 있습니다. 이를 통해 복잡한 데이터 구조의 생성을 간소화하고 스크립트 기능을 향상시킵니다.
비트코인 기능 확장: OP_CAT은 비트코인에는 존재하지 않지만 이더리움에서는 중요한 공통 기능을 도입합니다. 이를 통해 L2, DEX + dApp 개발을 간소화하고 비트코인 네트워크를 다용도로 활용할 수 있습니다.
다중 서명 스크립트: OP_CAT은 다중 서명 스크립트의 크기를 줄여 더 효율적이고 덜 번거롭게 만들 수 있습니다.
복잡한 계약 지원: OP_CAT은 개인 키가 손상되더라도 자금을 보호하는 볼트와 같은 고급 계약을 지원합니다.
4. 비트코인에서 OP_CAT의 역할은 논란의 여지가 있습니다: OP_CAT은 완벽한가요?
이 제안은 블록체인으로서의 비트코인이 앞으로 어떻게 진화할지, 혹은 진화하지 않을지에 영향을 미치기 때문에 다소 논란의 여지가 있습니다.
한 진영에서는 비트코인이 BTC 거래라는 핵심 기능을 그대로 유지해야 한다고 주장하는 반면, 다른 진영에서는 비트코인이 아직 골화되지 않았으며, 최근 번창하고 있는 확장성 솔루션(브릿지, L2 등)을 개선할 여지가 있다고 보고 있습니다.
이 문제의 핵심은 비트코인을 보다 프로그래밍이 가능한 퍼블릭 체인으로 확장할 것인지, 아니면 P2P 결제 결제 레이어로 남을 것인지에 대한 결정입니다.
BIP 347에 대한 자세한 내용은 다음 주소를 참조하세요: https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki
.