
6
장
스크립트
161
비트코인을 잠그고 해제하는 방법이 바로 비트코인의 전송 메커니즘입니다. 잠근다는 것은 누
군가에 비트코인을 주는 것이고 해제한다는 것은 내가 받은 비트코인을 소비하는 것입니다.
여기서는 이러한 잠금/해제 메커니즘을 배우게 됩니다. 이를 다른 말로 스마트 계약
smart
contract
이라고 합니다. 스크립트는 타원곡선 암호 알고리즘 (
3
장)을 사용하여 트랜잭션의 유효성을 검
증(
5
장)합니다. 그리고 사람들은 자신이 가진
UTXO
의 사용 권리를 스크립트를 통해 증명합
니다. 이제 스크립트가 어떻게 동작하는지 보겠습니다.
6.1
스크립트 기법
여기서 설명할 스크립트 기법과 스마트 계약이란 말이 헷갈릴 수 있습니다. 스마트 계약은 블
록체인상 코인의 전송을 프로그램으로 기술한다는 것을 현학적으로 표현한 말입니다. 스마트
계약 언어는 이러한 프로그램을 작성할 때 사용하는 프로그래밍 언어를 뜻합니다. 스크립트
Script
는 비트코인의 스마트 계약 언어로 비트코인이 어떤 조건에서 소비되는지 기술하는 프로그
래밍 언어입니다.
스크립트를 통해 비트코인은 어떤 ‘계약’ 같은 것을 구현할 수 있습니다. 스크립트는 포스
Forth
와
유사한 스택 기반의 언어로 의도적으로 몇몇 기능이 배제되도록 설계되었습니다. 구체적으로
스크립트는 반복 작업을 위한 루프 기능이 없고 ...