각각의 블록헤더에는 StateRoot가 있는데, 이더리움은 많은 상태의 효율적으로 계산과 변경을 위해 Merkle Patricia Trie 구조를 사용하기 때문이다.
위 다이어그램의 월드 스테이트 트리(World State Trie)에는 EOA와 CA의
1. nonce(이중지불 방지)
2. balance(잔고)
3. codeHash
4. storageRoot 라는 또 다른 해시트리의 루트값 이 있다.
transactionRoot는 트렌젝션들의 해시트리 루트값 (트랜잭션 실행 명세)
receiptRoot는 이벤트 로그들의 해시트리 루트값이다 (트랜잭션 결과값)
storageRoot
- Account storage contents Trie라고 하는 해시트리의 루트값
- CA들의 stroage 정보를 저장한다.
- 솔리디티에서는 memory, calldata를 제외한 storage 정보가 여기 저장된다.
'[Web3.0] > 블록체인' 카테고리의 다른 글
이더리움 Transaction 구조 (0) | 2023.02.17 |
---|---|
이더리움 Block 구조 (0) | 2023.02.17 |
이더리움의 Account Structure (1) (0) | 2023.02.17 |
Compile Smart Contract(스마트 컨트랙트 컴파일) (0) | 2023.02.17 |
NFT 발행방식 (ERC-721, ERC-1155) (0) | 2023.02.17 |