메인 콘텐츠로 건너뛰기
Change page

이더리움 아카이브 노드

페이지 마지막 업데이트됨: 2026년 2월 23일

아카이브 노드는 모든 기록 상태의 아카이브를 구축하기 위해 구성된 이더리움 클라이언트의 인스턴스입니다. 특정한 목적에는 유용한 기능이지만 풀 노드보다 실행하기가 더 까다로울 수 있습니다.

필수 구성 요소

이더리움 노드, 아키텍처, 동기화 전략의 개념과 노드를 실행하고 사용하는 방법을 이해해야 합니다.

아카이브 노드란

아카이브 노드의 중요성을 이해하기 위해 "상태"의 개념을 명확히 해야 합니다. 이더리움은 트랜잭션 기반 상태 머신이라고 할 수 있습니다. 이는 상태를 변경하는 트랜잭션을 실행하는 계정과 애플리케이션으로 구성됩니다. 각 계정과 계약에 대한 정보가 포함된 글로벌 데이터는 상태라는 트라이 데이터베이스에 저장됩니다. 이는 실행 레이어(EL) 클라이언트에서 처리하며 다음을 포함합니다:

  • 계정 잔액 및 논스
  • 컨트랙트 코드 및 저장소
  • 합의 관련 데이터(예: 스테이킹 예치 계약)

네트워크와 상호작용하고 새로운 블록 검증 및 생성을 위해서는 크더리움 클라이언트는 가장 최근의 변화(체인 마지막) 와 현재의 상태를 유지해야 합니다. 전체 노드로 구성된 실행 레이어 클라이언트는 네트워크의 최신 상태를 확인하고 따르지만, 체인 재구성을 처리하고 최근 데이터에 빠르게 액세스할 수 있도록 마지막 128개 블록과 관련된 상태와 같이 지난 몇 개의 상태만 캐시합니다. 최근 상태는 모든 클라이언트가 수신 트랜잭션을 검증하고 네트워크를 사용하기 위해 필요한 정보입니다.

상태는 특정 블록의 순간적인 네트워크 스냅샷으로, 아카이브는 히스토리로 추측할 수 있습니다.

과거 상태는 네트워크 작동에 필요하지 않으며 클라이언트가 모든 오래된 데이터를 보관하는 것은 불필요하게 중복되므로 안전하게 제거될 수 있습니다. 최근 블록(예: 헤드 이전 128개 블록) 이전에 존재했던 상태는 사실상 폐기됩니다. 전체 노드는 과거 블록체인 데이터(블록 및 트랜잭션)와 요청 시 이전 상태를 재생성하는 데 사용할 수 있는 간헐적인 과거 스냅샷만 보관합니다. 이는 EVM에서 과거 트랜잭션을 재실행하여 수행되는데, 원하는 상태가 가장 가까운 스냅샷에서 멀리 떨어져 있을 경우 계산 집약적일 수 있습니다.

그러나 이는 전체 노드에서 과거 상태에 액세스하는 것이 많은 계산을 소모한다는 것을 의미합니다. 클라이언트는 모든 과거 트랜잭션을 실행하고 제네시스로부터 하나의 과거 상태를 계산해야 할 수도 있습니다. 아카이브 노드는 가장 최근 상태뿐만 아니라 각 블록 이후에 생성된 모든 과거 상태를 저장하여 이 문제를 해결합니다. 기본적으로 더 큰 디스크 공간 요구 사항과 절충합니다.

네트워크가 모든 과거 데이터를 보관하고 제공하기 위해 아카이브 노드에 의존하지 않는다는 점에 유의하는 것이 중요합니다. 위에서 언급했듯이, 모든 과거 중간 상태는 전체 노드에서 파생될 수 있습니다. 트랜잭션은 모든 전체 노드에 저장되며(현재 400G 미만) 전체 아카이브를 구축하기 위해 재생될 수 있습니다.

사용 사례

트랜잭션 전송, 계약 배포, 합의 확인 등과 같은 일반적인 이더리움 사용은 과거 상태에 대한 액세스를 필요로 하지 않습니다. 사용자는 네트워크와의 표준적인 상호작용을 위해 아카이브 노드를 필요로 하지 않습니다.

상태 아카이브의 주요 이점은 과거 상태에 대한 쿼리에 빠르게 액세스할 수 있다는 것입니다. 예를 들어, 아카이브 노드는 다음과 같은 결과를 즉시 반환합니다.

  • 계정 0x1337...의 ETH 잔액은 얼마였습니까? 블록 15537393에서?_
  • 블록 1920000에서 계약 0x에 있는 토큰 0x의 잔액은 얼마입니까?

위에서 설명한 대로, 전체 노드는 CPU를 사용하고 시간이 걸리는 EVM 실행을 통해 이 데이터를 생성해야 합니다. 아카이브 노드는 디스크에서 액세스하여 응답을 즉시 제공합니다. 이것은 인프라의 특정 부분에 유용한 기능입니다. 예를 들면 다음과 같습니다.

  • 블록 탐색기와 같은 서비스 제공자
  • 연구원
  • 보안 분석가
  • 탈중앙화앱 개발자
  • 감사 및 규정 준수

과거 데이터에 대한 액세스를 허용하는 다양한 무료 서비스도 있습니다. 아카이브 노드를 실행하는 것이 더 까다롭기 때문에 이 액세스는 대부분 제한적이며 간헐적인 액세스에만 작동합니다. 프로젝트에 과거 데이터에 대한 지속적인 액세스가 필요한 경우 직접 하나를 실행하는 것을 고려해야 합니다.

구현 및 사용법

이 맥락에서 아카이브 노드는 상태 데이터베이스를 처리하고 JSON-RPC 엔드포인트를 제공하는 사용자 대면 실행 레이어 클라이언트가 제공하는 데이터를 의미합니다. 구성 옵션, 동기화 시간 및 데이터베이스 크기는 클라이언트에 따라 다를 수 있습니다. 자세한 내용은 클라이언트에서 제공하는 개발문서를 참조하십시오.

자신만의 아카이브 노드를 시작하기 전에 클라이언트 간의 차이점과 특히 다양한 하드웨어 요구 사항에 대해 알아보십시오. 대부분의 클라이언트는 이 기능에 최적화되어 있지 않으며 해당 아카이브에는 12TB 이상의 공간이 필요합니다. 대조적으로, Erigon과 같은 구현은 동일한 데이터를 3TB 미만으로 저장할 수 있으므로 아카이브 노드를 실행하는 가장 효과적인 방법입니다.

권장 사례

일반적인 노드 실행 권장 사항 외에도 아카이브 노드는 하드웨어 및 유지 관리 측면에서 더 까다로울 수 있습니다. Erigon의 주요 기능 (opens in a new tab)을 고려할 때 가장 실용적인 접근 방식은 Erigon 클라이언트 구현을 사용하는 것입니다.

하드웨어

항상 클라이언트의 개발문서에서 특정 모드에 대한 하드웨어 요구 사항을 확인하십시오. 아카이브 노드의 가장 큰 요구 사항은 디스크 공간입니다. 클라이언트에 따라 3TB에서 12TB까지 다양합니다. HDD가 대용량 데이터에 더 나은 솔루션으로 간주될 수 있지만, 동기화하고 체인의 헤드를 지속적으로 업데이트하려면 SSD 드라이브가 필요합니다. SATA (opens in a new tab) 드라이브로도 충분하지만, 최소한 TLC (opens in a new tab) 이상의 신뢰할 수 있는 품질이어야 합니다. 디스크는 충분한 슬롯이 있는 데스크톱 컴퓨터나 서버에 장착할 수 있습니다. 이러한 전용 장치는 가동 시간이 긴 노드를 실행하는 데 이상적입니다. 노트북에서 실행하는 것도 전적으로 가능하지만 휴대성에는 추가 비용이 따릅니다.

모든 데이터는 하나의 볼륨에 들어가야 하므로 디스크를 결합해야 합니다(예: RAID0 (opens in a new tab) 또는 LVM). 데이터가 하위 수준 오류 없이 디스크에 올바르게 기록되도록 보장하는 "기록 중 복사(Copy-on-write)"를 지원하므로 ZFS (opens in a new tab) 사용도 고려해 볼 가치가 있습니다.

우발적인 데이터베이스 손상을 방지하고 안정성과 보안을 높이기 위해, 특히 전문적인 환경에서는 시스템이 지원하는 경우 ECC 메모리 (opens in a new tab) 사용을 고려하십시오. RAM 크기는 일반적으로 전체 노드와 동일하게 권장되지만, RAM이 많을수록 동기화 속도를 높이는 데 도움이 될 수 있습니다.

초기 동기화 중에 아카이브 모드의 클라이언트는 제네시스 이후의 모든 트랜잭션을 실행합니다. 실행 속도는 대부분 CPU에 의해 제한되므로 더 빠른 CPU는 초기 동기화 시간을 단축하는 데 도움이 될 수 있습니다. 평균적인 소비자용 컴퓨터에서 초기 동기화는 최대 한 달이 걸릴 수 있습니다.

더 읽어보기

이 문서가 도움이 되셨나요?