https://github.com/bitcoin/bips/blob/master/bip-0347.mediawiki
bips/bip-0347.mediawiki at master · bitcoin/bips
Bitcoin Improvement Proposals. Contribute to bitcoin/bips development by creating an account on GitHub.
github.com
정리 By chatgpt-4o
BIP-347은 OP_CAT이라는 연산자를 Tapscript에 추가하는 내용을 담고 있습니다. OP_CAT은 스택(Stack) 상에서 두 개의 값을 연결(Concatenation)하는 기능을 수행합니다.
이 기능은 소프트 포크를 통해 활성화되며, 기존에 사용되지 않던 OP_SUCCESS126(10진수 126, 16진수 0x7e)을 OP_CAT으로 재정의하여 구현됩니다.
OP_CAT의 동작 방식:
현재 비트코인의 Tapscript에는 스택에서 데이터를 결합하는 기본적인 기능이 부족하여 확장성이 제한됨.
이를 해결하기 위해 OP_CAT을 도입하여 여러 가지 기능을 추가할 수 있음.
비트코인의 OP_CAT 연산을 구현하는 코드:
case OP_CAT:
{
if (stack.size() < 2)
return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);
valtype& vch1 = stacktop(-2);
valtype& vch2 = stacktop(-1);
if (vch1.size() + vch2.size() > MAX_SCRIPT_ELEMENT_SIZE)
return set_error(serror, SCRIPT_ERR_PUSH_SIZE);
vch1.insert(vch1.end(), vch2.begin(), vch2.end());
stack.pop_back();
}
break;
MAX_SCRIPT_ELEMENT_SIZE = 520 바이트로 설정.
마이크로서비스#4 - AWS에서 쿠버네티스 구축 (0) | 2019.09.26 |
---|---|
RISC-V #3 - 가상화를 통한 RISC-V 부팅 실습 (2) | 2019.07.29 |
마이크로서비스#3 - 쿠버네티스란 무엇인가? (0) | 2019.07.27 |
마이크로서비스#2 - 가상화 컨테이너기술에 대한 이해 (0) | 2019.07.22 |
RISC-V #2 - RISC-V와 ARM 명령어 셋 비교 (0) | 2019.07.19 |