Blockchain State
(어카운트 기반) 블록체인의 상태
블록체인은 트랜잭션으로 변화하는 상태 기계 (State Machine)
•
항상 초기값이 있고 나중값이 있다.
아무것도 없는 초기값에 → 제네시스 블록 생성
Coinbase = Mining
1.
i = none → f : Alice : 100
2.
i = Alice : 100 → f : Alice : 170, Bob : 30
3.
i = Alice : 170, Bob : 30 → f : Alice : 170, Bob : 30, Charlie : 20
앞의 블록의 최종값 → 뒤의 블록의 초기값 무한 반복
상태 기계
•
블록체인은 초기 상태에서 변경사항을 적용하여 최종 상태로 변화하는 상태 기계
◦
이전 블록의 최종 상태(Final State)는 현재 블록의 초기 상태(Initial State)
◦
Gen block의 경우 임의의 초기값들이 설정되는데 이것이 Gen block의 초기상태이자 최종상태
•
(어카운트 기반) 블록체인의 상태
◦
블록체인의 상태=블록들에 저장된 트랜잭션(TX)들을 순차적으로 실행하여 나온 결과
◦
TX는 어카운트를 생성하거나 변경
▪
e.g., Alice가 기존에 존재하지 않던 주소 X에 1 ETH를 전송하면 새로운 EOA가 생성
▪
e.g., Alice가 새로운 스마트 컨트랙트를 배포 (컨트랙트도 어카운트)
▪
e.g., Alice가 Bob에게 5 ETH를 전송하는 TX가 체결되면 Alice의 Bob의 잔고가 변경
◦
항상 같은 결과를 보장하기 위해 하나의 TX가 반영되는 과정에서 다른 TX의 개입은 제한됨