"옵코드"의 두 판 사이의 차이
(→코드) |
(→상수) |
||
6번째 줄: | 6번째 줄: | ||
==코드== | ==코드== | ||
===상수=== | ===상수=== | ||
+ | *'''OP_0''', '''OP_FALSE''' : 빈 바이트 배열이 스택으로 푸시된다. 코드 번호는 0으로 나타내고, 16진수 값으로는 0x00으로 나타낸다. | ||
+ | *N/A : 다음 옵코드 바이트는 스택에 푸시 할 데이터이다. 코드 번호는 1-75로 나타내고, 16진수 값으로는 0x01-0x4b로 나타낸다. | ||
+ | *'''OP_PUSHDATA1''' : 다음 바이트는 스택으로 푸시 될 바이트 수를 포함한다. 코드 번호는 76으로 나타내고, 16진수 값으로는 0x4c로 나타낸다. | ||
+ | *'''OP_PUSHDATA2''' : 다음 2 바이트에는 리틀 엔디안 순서로 스택에 푸시 할 바이트 수가 포함된다. 코드 번호는 77로 나타내고, 16진수 값으로는 0x4d로 나타낸다. | ||
+ | *'''OP_PUSHDATA4''' : 다음 4 바이트에는 리틀 엔디안 순서로 스택에 푸시 할 바이트 수가 포함된다. 코드 번호는 78로 나타내고, 16진수 값으로는 0x4e로 나타낸다. | ||
+ | *'''OP_1NEGATE''' : 숫자 -1이 스택으로 푸시된다. 코드 숫자로는 79로 나타내고, 16진수 값으로는 0x4f로 나타낸다. | ||
+ | *'''OP_1''', '''OP_TRUE''' : 숫자 1이 스택으로 푸시된다. 코드 숫자로는 82-96로 나타내고, 16진수 값으로는 0x52-0x60으로 나타낸다. | ||
==비활성화된 옵코드== | ==비활성화된 옵코드== |
2019년 8월 14일 (수) 14:32 판
옵코드(OPCode)는 명령 또는 함수라고도하는 모든 스크립트 단어의 목록이며, 데이터를 푸시하거나 Pubkey 스크립트 또는 서명 스크립트 내에서 기능을 수행하는 비트코인 스크립트 언어의 작업코드이다.
개요
비트코인(Bitcoin) 노드에서 실행되는 소프트웨어는 프로그래밍 언어 C ++로 작성되지만 비트코인 트랜잭션에는 스크립트 라는 비트코인 관련 언어로 작성된 명령이 포함될 수도 있다. 이더리움(Ethereum) 플랫폼에는 분산 응용 프로그램 및 스마트 계약을 허용 하는 Turing-complete 프로그래밍 언어가 있지만 스크립트는 옵코드라는 일련의 명령으로 구성된 가능한 작은 범위의 작업 만 허용하는 기본 언어이다.[1]
코드
상수
- OP_0, OP_FALSE : 빈 바이트 배열이 스택으로 푸시된다. 코드 번호는 0으로 나타내고, 16진수 값으로는 0x00으로 나타낸다.
- N/A : 다음 옵코드 바이트는 스택에 푸시 할 데이터이다. 코드 번호는 1-75로 나타내고, 16진수 값으로는 0x01-0x4b로 나타낸다.
- OP_PUSHDATA1 : 다음 바이트는 스택으로 푸시 될 바이트 수를 포함한다. 코드 번호는 76으로 나타내고, 16진수 값으로는 0x4c로 나타낸다.
- OP_PUSHDATA2 : 다음 2 바이트에는 리틀 엔디안 순서로 스택에 푸시 할 바이트 수가 포함된다. 코드 번호는 77로 나타내고, 16진수 값으로는 0x4d로 나타낸다.
- OP_PUSHDATA4 : 다음 4 바이트에는 리틀 엔디안 순서로 스택에 푸시 할 바이트 수가 포함된다. 코드 번호는 78로 나타내고, 16진수 값으로는 0x4e로 나타낸다.
- OP_1NEGATE : 숫자 -1이 스택으로 푸시된다. 코드 숫자로는 79로 나타내고, 16진수 값으로는 0x4f로 나타낸다.
- OP_1, OP_TRUE : 숫자 1이 스택으로 푸시된다. 코드 숫자로는 82-96로 나타내고, 16진수 값으로는 0x52-0x60으로 나타낸다.
비활성화된 옵코드
2010년과 2011년에 심각한 버그가 발견되면서 비트코인 스크립트 언어에서 많은 옵코드가 비활성화되었다. 이러한 옵코드 중 일부가 비트코인 캐시(Bitcoin Cash)에서 제공 한 기능을 복원하고자 단순히 옵코드를 다시 활성화하는 대신, 제공하는 기능이 재검토되었으며 경우에 따라 옵코드가 다시 설계되었거나 특정 문제를 해결하기 위해 새로운 옵코드가 추가되었다.[2]
각주
- ↑ Corin Faife, 〈Nodes, Opcodes, and Satoshi's Vision: Today's Bitcoin Cash Hard Fork Explained〉, 《BREAKERMAG》, 2018-11-15
- ↑ 비트코인 캐시 공식 홈페이지 - https://www.bitcoincash.org/es/spec/may-2018-reenabled-opcodes.html
참고자료
- 비트코인 공식 홈페이지 - https://bitcoin.org/en/glossary/op-code
- 〈Script〉, 《비트코인위키》
- Corin Faife, 〈Nodes, Opcodes, and Satoshi's Vision: Today's Bitcoin Cash Hard Fork Explained〉, 《BREAKERMAG》, 2018-11-15
- 비트코인 캐시 공식 홈페이지 - https://www.bitcoincash.org/es/spec/may-2018-reenabled-opcodes.html