etherscan.io
이번 시리즈는 이더스캔을 통해 이더리움 네트워크에서 동작하는 블록 정보를 분석해본다.
이더스캔 url: https://etherscan.io/
![](https://velog.velcdn.com/images/jhcha/post/94c5f2a3-f97c-4709-96dc-48a60ec8aadf/image.png)
Block
![](https://velog.velcdn.com/images/jhcha/post/d34278fe-da00-43fd-950a-78acff15dab7/image.png)
블록 리스트에는 블록 고유 식별 값과 포함하고 있는 트랜잭션 수와 같은 정보를 확인할 수 있다.
블록 상세 정보
![](https://velog.velcdn.com/images/jhcha/post/dbf32a92-4d43-4f41-b1d2-e71684f08df1/image.png)
이더스캔의 Block Overview에서는 다음과 같은 정보를 제공한다. 해당 정보들이 전부 이더리움 블록 헤더에 포함된 것은 아니고, 이더스캔에서 해당 단건 블록이 아닌 네트워크를 조회해서 얻은 정보도 함께 제공된다.
- BlockHeight: 블록을 식별하기 위한 값으로 주로 블록 넘버라고 혼용하여 사용한다. 이 값은 블록이 생성될 때 마다 증가한다.
- Status: 해당 블록의 finality 상태를 나타낸다. finality는 블록이 revert 되지 않는 상태를 의미하며, 해당 블록의 완전성을 보장한다.
- Timestamp: 블록 생성 시간
- Proposed on: 블록이 제안된 슬롯과 에포크 정보를 나타낸다. 슬롯과 에포크는 이더리움 2.0를 위해 비탈릭 부테린에 의해 제안된 비콘체인에서 사용하는 개념이다. 자세한 내용은
다음 글을 참고할 수 있다.
- Transactions: 블록이 담고있는 트랜잭션의 수를 나타낸다.
- Withdrawals: 위에서 언급된 비콘체인의 개념으로, 이더리움 2.0 블록체인에서 스테이킹 참여자들이 보증금을 인출한 트랜잭션의 수를 나타낸다. 사용자들은 일정량의 이더를 보증금으로 예치하고, 네트워크를 운영하거나 보안 검증 작업을 수행하면서 보상을 받을 수 있다.
- Fee Recipient: 트랜잭션 수수료를 수신하는 주소를 가르킨다. 이더리움에서 모든 트랜잭션은 수수료를 지불하고 처리되는데, 때로는 별도로 수수료를 수신하는 주소를 설정할 수 있다. 이 때 지정하는 수수료 수신자를 Fee Recipient로 지칭한다. 예를 들어, DeFi, DApp에서는 사용자들이 스마트 컨트랙트로 작업을 수행하면서 수수료를 받기 위해 스마트 컨트랙트 주소를 Fee Recipient로 설정하기도 한다.
- Block reward: 새로운 블록이 생성될 때 블록 생성자는 ether로 보상을 받는다.
- Total difficulty: 총 난이도는, 블록체인 네트워크에서 각 블록의 난이도를 누적한 값이다. 이 값은 블록체인의 보안성과 안정성을 나타내는 지표로 사용된다.
- Size: 블록에 포함된 모든 데이터의 바이트 수를 의미한다. 블록 사이즈는 블록에 포함된 트랜잭션에서 사용하는 가스 양이 많아지면 블록 사이즈가 증가할 수 있다. 또한 블록 사이즈는 Block Gas Limit에 의해서 결정된다.
- Gas Used: 가스 사용량은 블록 내에서 실행된 모든 트랜잭션에서 사용된 가스의 양을 의미한다.
- Gas Limit: 블록에서 실행할 수 있는 최대 가스 양을 의미한다. Block Gas Limit는 블록체인 프로토콜 업데이트를 통해 조정되고, 네트워크 상황에 따라 적절한 값을 유지하도록 재조정된다.
- Base Fee Per Gas: 트랜잭션이 블록에 포함되기 위해 제안한 가스당 가격이 해당 base fee 이상이어야 한다. 해당 base fee는 블록이 생성될 때 소각 (burned)된다.
- burnt Fees: 소모된 수수료는 트랜잭션 실행 과정에서 소모된 수수료의 총량을 나타낸다. 이더리움 2.0에서는 일부 수수료가 소각되어 이더를 소각하는 메커니즘이 도입됐다.
- Extra Data: 추가 데이터는 블록 헤더에 포함되는 임의의 데이터이다. 메모나 식별 정보등이 포함할 수 있다.
- Hash: 블록 헤더의 해시 값
- Parent Hash: 이전 블록의 해시 값, 블록체인의 블록은 현재 블록의 해시 값과 이전 블록의 해시 값이 함께 저장되어 연결된 블록 데이터의 무결성을 보장한다.
- StateRoot: 블록을 통해서 변경된 account 정보를 저장하는 state trie의 최상위 root 값
- WithdrawalsRoot: 이더리움 2.0에서 PoS 알고리즘의 전환을 통해 사용되는 항목이다. PoS 네트워크에서는 참여자가 보증금을 예치하고 출금할 수 있는데, 이러한 활동의 정보가 withdrawals trie에 저장된다.
- Nonce: 블록 생성 과정에서 사용되는 임의의 값이다. 블록 생성자가 블록의 해시 값을 조정하기 위해 사용할 수 있다.
참고자료:
1. https://medium.com/decipher-media/%EC%9D%B4%EB%8D%94%EB%A6%AC%EC%9B%80-%EB%B9%84%EC%BD%98-%EC%B2%B4%EC%9D%B8-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-c0d6a80f3ecf
2. https://hersheymarketing.tistory.com/entry/ethtereumstructure