측정 방법
대시보드의 모든 숫자는 공개 JSON-RPC 엔드포인트를 통해 이더리움 자체에서 직접 잰 값입니다 — API 키도, 1차 출처로 삼는 스크래핑 집계 사이트도 없습니다. 이 페이지는 어떤 수치든 독립적으로 재현할 수 있도록 정확한 방법을 기록합니다.
base fee 소각
EIP-1559는 모든 트랜잭션의 base fee를 소각합니다. 연속된 블록 헤더 7,200개(12초 슬롯 기준 약 24시간)를
받아 블록마다 baseFeePerGas × gasUsed를 합산합니다. 이 창은 첫 블록과 마지막 블록의 실제
타임스탬프 간격을 써서 정확히 24시간으로 환산하므로, 단기 슬롯 편차가 일간 수치를 왜곡하지 않습니다.
창 안에서 일부 블록을 못 받으면(최대 5%까지 허용) 그만큼 일간 수치가 정확히 그 비율만큼 과소집계됩니다 — 그래서 결측 블록을 창 평균으로 채우는 밀도 보정을 적용하고, 커버리지가 100% 미만이면 대시보드에 그 값을 표시합니다. 결측이 5%를 넘으면 보정 대신 창 전체를 보류합니다(아래 데이터 품질 규칙 참조).
블롭 소각 (EIP-4844)
블롭을 실은 트랜잭션은 baseFeePerBlobGas × blobGasUsed를 추가로 소각합니다. 블록별 블롭
base fee는 excessBlobGas에서 직접 유도하지 않고 eth_feeHistory가 돌려주는
클라이언트 계산값을 씁니다. 업데이트 분모(update fraction)가 포크와 블롭 파라미터 변경 때마다 바뀌기
때문입니다. 손으로 유도한 값은 그런 포크마다 조용히 틀어지지만 클라이언트 값은 그렇지 않습니다.
공급량과 스테이킹
총 공급량은 합의층 합산으로 조립합니다:
실행층 잔액 + 비콘 잔액 − 처리된 예치금
(실행층은 wei, 비콘은 gwei — 전형적인 단위 함정입니다). 스테이킹 물량은 비콘 잔액의 합입니다.
예치 컨트랙트 잔액만 보면 증가만 한다는 점에 주의하세요. 출금은 시스템 레벨의 다른 곳에서
정산되므로, 컨트랙트 잔액을 "현재 스테이킹 물량"으로 읽으면 과대집계됩니다.
발행량 추정
연간 합의층 발행량의 상한은 대략 166.32 × √(스테이킹 ETH)입니다. 실제 발행량은 이 상한보다
조금 낮습니다(참여율과 sync committee 의무에 따라 달라짐). 따라서 대시보드의 순발행 수치는 인플레이션
압력의 보수적 상한 추정입니다. 판정이 0 근처에서 뒤집힐 때는 명확한 부호 변화가 아니라
"대략 균형" 상태로 읽으시는 게 맞습니다.
L2 브리지 에스크로
각 공식 브리지 에스크로 컨트랙트의 네이티브 ETH 잔액을 직접 읽습니다. 규칙은 두 가지입니다. 잠긴 ETH를 공급량에서 빼지 않습니다(여전히 L1 위의 ETH입니다). 그리고 알려진 에스크로의 잔액이 0.0이면 "주소 이전됨"으로 처리합니다 — 브리지 컨트랙트는 업그레이드 과정에서 옮겨지는데, 낡은 주소를 0으로 세면 총합이 조용히 과소집계되기 때문입니다.
데이터 품질 규칙
- 축소된 표본 금지. 한 창에서 블록의 5% 넘게 수집에 실패하면 그 창 전체를 결측으로 표시하고 게시를 보류합니다. 부분 창으로 낸 소각 평균은 그럴듯해 보이면서 조용히 틀립니다 — 그럴 바에는 직전에 검증된 값을 측정 시각과 함께 보여주는 편이 낫습니다.
- 조용한 0 금지. 수집 실패와 이전된 에스크로는 그렇다고 표시하며, 절대 0으로 합산에 섞지 않습니다.
- 결측을 드러냄. 모든 페이지가 측정 시각을 명시합니다. 가장 최근 창이 보류됐다면 대시보드가 그 사실을 분명히 밝힙니다.
교차 검증
매 주기마다 직접 잰 소각량을 ultrasound.money가 보고하는 소각량과, 공급량을 CoinGecko의 유통 공급량과 비교합니다. 소각량은 보통 몇 퍼센트 이내에서 일치합니다(창 경계가 다르기 때문). 공급량은 정의상 다릅니다 — 사이트마다 숫자가 다른 이유를 참고하세요.
갱신 주기와 재현 방법
수집기는 6시간마다 돕니다. 어떤 숫자든 재현하는 데 필요한 건 공개 이더리움 RPC 하나뿐입니다. 대시보드에 표시된 블록 구간을 받아 위 공식을 적용하고 비교해 보세요. RPC 지연으로 설명되지 않는 차이를 발견했다면 무언가 잘못된 것입니다 — 블로그로 알려주세요.