2024. 5. 17. 02:55ㆍ게시판
1. OP_CAT 기본지식
OP_CAT 복원 문제를 이해하려면 먼저 OP_CAT과 관련된 몇 가지 기본 지식을 이해해야 합니다. 개발 언어에서 opcode는 명령어 또는 함수라고도 하며 개발 언어의 기본 구성 요소입니다. 이 문서에서는 이를 지침이라고 부릅니다.
1.1. OP_CAT의 기능은 무엇인가요?
많은 개발 언어에서 concat은 일반적으로 두 문자열을 연결하는 데 사용되므로 OP_CAT의 약어도 concat라는 단어에서 유래하여 OP_CAT 명령을 구성해야 합니다.
예 1: Java 개발 언어의 연결
문자열 str1 = "안녕하세요";
문자열 str2 = "세계"; //공간에 주목하세요
문자열 str3 = str1.concat(str2);
System.out.println(str3);
출력은 Hello world입니다.
예시 2: mysql의 concat
결과에서 CONCAT("My", "SQL")을 선택합니다. 실행 결과에는 "MySQL"이라는 문자가 표시됩니다.
고급 개발 언어에서는 concat(문자열 연결)이 매우 자주 사용되며 많은 경우에 매우 중요합니다. 예를 들어 일부 시나리오는 다음과 같습니다.
데이터 표시 및 출력: 많은 시나리오에서 다양한 데이터 항목을 완전한 문장으로 연결하거나 데이터를 특정 문자열 형식으로 형식화하는 등 문자열 형식으로 데이터를 표시하거나 출력해야 합니다. 문자열 연결 작업을 사용합니다.
데이터 처리 및 작업: 데이터 처리 및 작업에서 여러 파일 경로를 전체 경로로 연결하거나 여러 URL 매개변수를 전체 URL로 연결하는 등 여러 문자열을 연결하여 새 문자열을 생성해야 하는 경우가 있습니다. 문자열 연결 작업의 중요한 응용 프로그램입니다.
비트코인의 언어가 고급언어라면 당연히 이런 문자 연결 기능이 있을 텐데, 비트코인의 개발 언어에는 몇 가지 특수한 기능이 있어서 이 명령어를 포함할지 논란이 일고 있다. 비트코인의 언어는 역폴란드어 형식의 스크립팅 언어로, 튜링 완전체는 아닙니다. 일반적인 유형의 Bitcoin 스크립트 지침:
키워드:
1. 상수. 예: OP_0, OP_FALSE
2. 흐름 제어. 예: OP_IF, OP_NOTIF, OP_ELSE, ...
3. 스택. 예: OP_TOALTSTACK(입력을 보조 스택의 항목으로 푸시하고 기본 스택에서 삭제), ...
4. 문자열. 예: OP_CAT(두 개의 문자열 연결, 비활성화됨), OP_SIZE(스택의 최상위 요소의 문자열 길이를 스택에 푸시(요소를 팝할 필요 없음))
5. 비트 로직. 예: OP_AND, OP_OR, OP_XOR
6. 산술 논리. 예: OP_1ADD(입력 값 + 1), OP_1SUB(입력 값 - 1)
7. 암호화. 예: OP_SHA1(입력은 SHA-1 알고리즘 HASH를 사용합니다.), OP_CHECKSIG()
8. 의사 키워드
9. 예약어
일반적인 유형의 Bitcoin 스크립트 지침:
스크립트:
1. 비트코인 주소로 지불하는 표준 거래(pay-to-pubkey-hash)
2. 표준 비트코인 생성 거래(pay-to-pubkey)
3. 지출 불가능/삭제 가능 출력
4. 누구나 쓸 수 있는 결과물
5. 거래 추측
5가지 표준 유형의 거래 스크립트에는 P2PKH(공개 키 해시에 지불), 공개 키에 지불, 다중 서명(키 15개로 제한), P2SH(스크립트 해시에 지불) 및 데이터 출력(OP_RETURN)이 포함됩니다.
자세한 설명: https://en.bitcoin.it/wiki/Script
1.2. OP_CAT 및 기타 지침이 비트코인 언어에서 삭제되었습니다.
실제로 초기 비트코인 스크립트 언어에도 문자 연결 기능이 있었습니다. 즉, "OP_CAT" opcode가 처음에는 존재했지만 나중에 삭제되었습니다. 비트코인 스크립트 언어에서 OP_CAT은 여러 UTXO 잠금 해제 스크립트 바이트 문자열의 결합된 연결 처리를 실현할 수 있으며, 이는 BTC 메인 네트워크의 프로그래밍 가능성과 계산 복잡성을 향상시킬 수 있습니다. 그러나 Satoshi Nakamoto의 보안(그리고 안정성)에 대한 고려로 인해 이 opcode는 2010년 8월에 비트코인 프로토콜에서 제거되었습니다.
비트코인 스크립트 언어에는 초기에 문자 연산과 관련된 명령어가 많았으나 나중에 OP_CAT, OP_SUBSTR, OP_LEFT, OP_RIGHT 등 대부분이 삭제되고 OP_SIZE만 유지되었다. 아래 그림과 같습니다.

문자열 연산 명령뿐만 아니라 다른 많은 명령도 삭제되었습니다.
(1) 비트 연산 관련 명령어

(2) 산술 연산

왜 그렇게 많은 지침을 삭제했습니까? 비트코인 기술의 발전과 변화에 대한 자세한 내용을 보려면 독자는 "비트코인의 재폭발을 이끈 신기술 개발 요약"을 읽어보세요.
코인올백 트위터
https://twitter.com/coinall100kr
영희에게 코인 인증하고 코인올백 심화방 입장하기
'게시판' 카테고리의 다른 글
Founders Fund의 파트너인 Joey Krug와의 대화: 암호화폐의 기업가적 여정과 기술적 과제에 대해 논의 -(1) (0) | 2024.05.20 |
---|---|
BTC 아시아 컨퍼런스 주제 토론: 비트코인에서 OP_CAT을 복원해야 합니까? -(2) (0) | 2024.05.17 |
Zeepr V3: 새로운 DeFi 내러티브 -(2) (0) | 2024.05.17 |
Zeepr V3: 새로운 DeFi 내러티브 -(1) (0) | 2024.05.17 |
Coinbase 월간 전망: ETH의 DeFi 중심 위치는 대체하기 어렵고 앞으로도 성장 가능성은 여전히 존재합니다 -(3) (0) | 2024.05.17 |