이전글
[스택스와 비트코인의 미래] 1. 스택스의 시작: 블록스택에서 스택스로
이전글 [스택스와 비트코인의 미래] 0. 시작하기 전에 0. 시작하기 전에 앞으로 이어질 내용들을 이해하기 위해서는 비트코인과 스마트 컨트랙트에 대한 기본적인 지식이 필요합니다. 아래 글들
kwjdnjs.tistory.com
비트코인 확장
OP_RETURN이 가져온 변화
I. 비트코인 스크립트
비트코인은 스크립트라고 부르는 스마트 컨트랙트 언어를 사용합니다. 스크립트는 opcode라고 부르는 명령어 집합으로 구성되어 있습니다. 스크립트는 기본적으로 비트코인의 트랜잭션 서명 검증에 사용되는 명령어로 구성되어 있습니다. 예를 들어 특정한 값의 hash256 해시 값을 구하는 OP_HASH256, ECDSA 서명 검증을 위한 OP_CHECKSIG 등의 명령어가 있습니다.
비트코인 커뮤니티는 이러한 opcode들을 이용해 서명을 검증하기 위한 몇 가지 표준 스크립트를 정했습니다. 예를 들어 가장 기본적인 형태의 p2pk, 리딤 스크립트를 사용하는 p2sh 등이 있습니다. 비트코인의 스크립트는 이러한 서명 검증을 위해서만 일반적으로 사용됩니다. 따라서 표준 스크립트를 제외한 비표준 스크립트가 작성되는 일은 거의 없습니다.
비표준 스크립트가 작성되는 일이 적은 이유 중에 하나는 바로 적은 수의 opcode입니다. 이더리움은 튜링완전한 언어를 사용하는 대신 가스라는 개념을 도입하여 다양한 종류의 opcode를 제공하지만, 비트코인은 매우 보수적인 블록체인이기 때문에 매우 적은 수의 opcode만을 제공합니다. 물론 초기에는 조금 더 많은 수의 opcode가 있었지만, 블록체인 보안에 위협이 된다는 사실이 발견되어 모두 제거되었습니다.
하지만 2014년 이러한 비트코인에 새로운 방향성을 제시할 수 있는 opcode가 추가되었습니다. 바로 OP_RETURN입니다.
II. OP_RETURN
OP_RETURN은 트랜잭션의 출력을 무효로 만드는 opcode입니다. 예를 들어 어떤 트랜잭션의 잠금 스크립트에 OP_RETURN을 사용하게 되면, 어떤 형식으로든 이 트랜잭션을 입력으로 이용한 해제 스크립트를 구성하는 것이 불가능합니다. 간단하게 설명하면 OP_RETURN을 사용한 잠금 스크립트를 작성하고 트랜잭션을 생성한 뒤 비트코인을 전송하면, 어떤 형태로는 이 비트코인을 찾는 것이 불가능해집니다.
여기까지의 설명만 듣는다면 이 opcode가 도대체 어떻게 사용될지 감이 잡히지 않을 것입니다. 해제 스크립트를 구성하게 할 수 없고, 전송된 비트코인을 영원히 잠가버리는 opcode가 대체 어디에 사용될까요?
답은 바로 데이터 저장입니다. OP_RETURN 뒤에 남은 공간에 데이터를 입력하여 트랜잭션을 생성하면, 이 트랜잭션을 입력으로는 영원히 사용할 수 없게 되는 대신에 저장된 데이터가 영구히 기록되게 됩니다. 따라서 데이터를 저장하는 데 사용할 수 있는 것입니다. 게다가 OP_RETURN으로 생성된 트랜잭션은 UTXO 집합에서는 빠지게 됩니다. 따라서 UTXO 데이터베이스가 OP_RETURN 사용으로 용량이 계속 증가하는 현상도 방지할 수 있습니다.
OP_RETURN을 이용하면 비트코인에 데이터를 저장할 수 있다는 사실을 알게 되었습니다. 그렇다면 과연 이 opcode를 어떻게 이용하면 스택스를 비트코인과 연결할 수 있을까요? 이 부분은 다음 글에서 알아보겠습니다.
다음글
[스택스와 비트코인의 미래] 3. PoX: 비트코인과의 연결
이전글 [스택스와 비트코인의 미래] 2. 비트코인 확장: OP_RETURN이 가져온 변화 이전글 [스택스와 비트코인의 미래] 1. 스택스의 시작: 블록스택에서 스택스로 이전글 [스택스와 비트코인의 미래] 0.
kwjdnjs.tistory.com
'스택스 > 스택스와 비트코인의 미래' 카테고리의 다른 글
[스택스와 비트코인의 미래] 5. BNS: 비트코인 도메인 (1) | 2024.04.03 |
---|---|
[스택스와 비트코인의 미래] 4. 클래리티: 튜링 완전에 대한 논쟁 (0) | 2024.03.19 |
[스택스와 비트코인의 미래] 3. PoX: 비트코인과의 연결 (0) | 2024.03.05 |
[스택스와 비트코인의 미래] 1. 스택스의 시작: 블록스택에서 스택스로 (0) | 2024.02.15 |
[스택스와 비트코인의 미래] 0. 시작하기 전에 (0) | 2024.01.13 |