전반적인 상황 1/3: blockchain은 '누가 무엇을 소유하고 있는지'를 어떻게 알까?
Source: Dev.to
전역 상태란 무엇인가?
블록체인은 단순히 거래만 저장하는 것이 아니라 전역 상태(global state)라고 불리는 큰 공유 메모리를 지속적으로 유지합니다.
전역 상태는 특정 블록체인의 공유 메모리(각 블록체인은 자체 전역 상태를 가짐)이며, 시점 T에 모든 네트워크 노드에 대해 동일합니다.
전역 상태와 거래의 차이점
전역 상태는 거래 실행의 결과이며, 쉽게 말해:
-
거래 → 이력(무슨 일이 있었는가)
거래는 블록체인의 블록에 저장됩니다. 각 블록은 거래 목록, 메타데이터 및 이전 블록에 대한 링크를 포함합니다.블록 100 : - Alice가 Bob에게 10 토큰을 보냄 - Bob이 Charlie에게 1 토큰을 보냄비유: 거래 = 영화 🎬
-
전역 상태 → 현재 상황(현재 어디에 있는가)
이는 모든 유효한 거래를 해당 블록까지 실행한 후의 최종 결과를 사진처럼 찍은 것입니다. 전역 상태는 단축키 역할을 하여 “지금 우리가 어디에 있는가”를 전체를 처음부터 다시 계산하지 않고도 알 수 있게 해줍니다.비유: 전역 상태 = 영화의 마지막 장면 📸
거래와 전역 상태의 연관성 — 간단 요약
- 요청 → 거래(= 명령)
- 블록 생성(거래 목록)
- 노드가 블록의 거래를 실행
- 전역 상태가 변경
💡 새로운 블록이 추가될 때마다 블록체인은 한 전역 상태에서 다른 전역 상태로 전환됩니다.

전역 상태에는 무엇이 들어있는가?
전역 상태는 계정 목록이며, 각 계정은 다음을 포함합니다:
-
잔액(balance) : 계정이 보유한 것.
- 네이티브 암호화폐(ETH, BNB…) : 전역 상태에 직접 저장됩니다.
- 토큰 : 스마트 계약의 데이터에 저장되지만 지갑을 통해 확인할 수 있습니다.
-
데이터(data / storage) : 스마트 계약이 저장한 정보.
-
Nonce(거래 카운터) : 해당 지갑이 지금까지 보낸 거래 수.
⚠️ 지갑(EOA)은 nonce를 갖지만, 스마트 계약은 일반적으로 갖지 않습니다. -
코드(스마트 계약 전용) : 규칙, 함수, 비즈니스 로직.
이러한 데이터는 전역 상태 안에, 스마트 계약 계정 내부에 존재합니다.
이 메모리는 단 하나의 질문에 답합니다: “시점 T에 누가 무엇을, 어떤 상태로 가지고 있는가?”

언제 전역 상태와 전역 상태를 구분해야 할까?
- 전역 상태 : 개념 자체를 말하거나 정의할 때.
- 전역 상태 : 구체적인 객체, 사용법 또는 내용에 대해 말할 때.