4 비트코인 스크립트
1) 비트코인 트랜잭션
(1) UTXO
- Unspent Transaction Outputs, 미사용 트랜잭션 출력값
- 비트코인은 UTXO를 소모하여 새로운 output을 만들어냄
(2) 비트코인 트랜잭션 구조
- 비트코인 트랜잭션은 input/output script를 가짐
- 비트코인의 트랜잭션은 이전의 트랜잭션에서 생긴 output을 input으로 사용함
- input과 output은 스택머신에 직렬화되어서 들어가 실행됨
2) 비트코인 트랜잭션 모델
(1) 가상머신과 스크립트 언어
- 가상머신: 프로그램을 실행하는 프로그램, 머신의 프로세서나 운영체제에 따라 다르게 컴파일 해야함
- 스크립트 언어: 이미 실행되고 있는 프로그램의 상태나 동작을 변경하기 위한 언어
- 가상 머신에 스크립트 언어를 입력하면 바이트코드로 해석되어 실행함
- 가상머신에서는 메모리 관리를 머신 자체에서 하므로 최적화가 가능해짐 -> Just In Time Compilation
(2) P2PKH
- Pau to Public Key Hash, 블록체인 스크립트
- 비트코인 트랜잭션은 input/output script가 스택머신에 직렬화되어서 들어가 실행됨