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

노드 아키텍처

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

이더리움 노드는 실행 클라이언트합의 클라이언트의 두 클라이언트로 구성됩니다. 노드가 새 블록을 제안하려면 검증자 클라이언트도 실행해야 합니다.

이더리움이 작업 증명을 사용했을 때에는 실행 클라이언트만으로도 전체 이더리움 노드를 실행하기에 충분했습니다. 그러나 지분 증명이 구현된 이후에는 실행 클라이언트는 합의 클라이언트라는 다른 소프트웨어와 함께 사용되어야 합니다.

아래 다이어그램은 두 이더리움 클라이언트 간의 관계를 보여줍니다. 두 클라이언트는 각자의 peer-to-peer (P2P) 네트워크에 연결됩니다. 실행 클라이언트는 P2P 네트워크를 통해 트랜잭션을 가십하여 로컬 트랜잭션 풀을 관리하고, 합의 클라이언트는 P2P 네트워크를 통해 블록을 가십하여 합의와 체인 성장을 가능하게 하므로 별도의 P2P 네트워크가 필요합니다.

실행 클라이언트에는 Erigon, Nethermind, Besu를 포함한 여러 옵션이 있습니다.

이 이중 클라이언트 구조가 작동하려면 합의 클라이언트는 트랜잭션 묶음을 실행 클라이언트에 전달해야 합니다. 실행 클라이언트는 트랜잭션을 로컬에서 실행하여 트랜잭션이 이더리움 규칙을 위반하지 않는지와 제안된 이더리움 상태 업데이트가 올바른지를 검증합니다. 노드가 블록 생성자로 선택되면 해당 합의 클라이언트 인스턴스는 실행 클라이언트로부터 트랜잭션 묶음을 요청하여 새 블록에 포함하고 이를 실행하여 전역 상태를 업데이트합니다. 합의 클라이언트는 엔진 API (opens in a new tab)를 사용하여 로컬 RPC 연결을 통해 실행 클라이언트를 구동합니다.

실행 클라이언트는 어떤 역할을 하나요?

실행 클라이언트는 트랜잭션 검증, 처리, 가십뿐만 아니라 상태 관리와 이더리움 가상 머신(EVM) 지원을 담당합니다. 블록 생성, 블록 가십 또는 합의 로직 처리는 담당하지 않습니다. 이는 합의 클라이언트의 소관입니다.

실행 클라이언트는 실행 페이로드, 즉 트랜잭션 목록, 업데이트된 상태 트라이, 기타 실행 관련 데이터를 생성합니다. 합의 클라이언트는 모든 블록에 실행 페이로드를 포함합니다. 실행 클라이언트는 새 블록의 트랜잭션을 재실행하여 유효성을 보장하는 역할도 합니다. 트랜잭션 실행은 이더리움 가상 머신(EVM)으로 알려진 실행 클라이언트의 내장 컴퓨터에서 수행됩니다.

실행 클라이언트는 사용자가 이더리움 블록체인을 쿼리하고, 트랜잭션을 제출하고, 스마트 계약을 배포할 수 있도록 하는 RPC 메서드를 통해 이더리움에 대한 사용자 인터페이스를 제공합니다. RPC 호출은 일반적으로 Web3js (opens in a new tab), Web3py (opens in a new tab)와 같은 라이브러리나 브라우저 지갑과 같은 사용자 인터페이스에 의해 처리됩니다.

요약하자면, 실행 클라이언트는 다음과 같습니다.

  • 이더리움으로 가는 사용자 게이트웨이
  • 이더리움 가상 머신, 이더리움의 상태 및 트랜잭션 풀의 홈

합의 클라이언트는 어떤 역할을 하나요?

합의 클라이언트는 노드가 이더리움 네트워크와 동기화 상태를 유지할 수 있도록 하는 모든 로직을 처리합니다. 여기에는 피어로부터 블록을 수신하고 포크 선택 알고리즘을 실행하여 노드가 항상 가장 많은 인증(검증자 유효 잔고에 따라 가중치가 적용됨)이 축적된 체인을 따르도록 하는 것이 포함됩니다. 실행 클라이언트와 마찬가지로, 합의 클라이언트도 블록과 인증을 공유하는 자체 P2P 네트워크를 가집니다.

합의 클라이언트는 블록을 인증하거나 제안하는 데 참여하지 않습니다. 이 작업은 합의 클라이언트의 선택적 애드온인 검증자에 의해 수행됩니다. 검증자가 없는 합의 클라이언트는 체인의 헤드만 따라가며 노드가 동기화 상태를 유지할 수 있도록 합니다. 이를 통해 사용자는 올바른 체인에 있다는 확신을 가지고 실행 클라이언트를 사용하여 이더리움과 거래할 수 있습니다.

검증자

스테이킹을 하고 검증자 소프트웨어를 실행하면 노드가 새 블록을 제안하도록 선택될 자격을 갖추게 됩니다. 노드 운영자는 예금 컨트랙트에 32 ETH를 예치하여 자신의 합의 클라이언트에 검증인을 추가할 수 있습니다. 검증자 클라이언트는 합의 클라이언트와 함께 번들로 제공되며 언제든지 노드에 추가할 수 있습니다. 검증인은 인증 및 블록 제안을 처리합니다. 또한 노드는 페널티나 슬래싱을 통해 보상을 받거나 ETH를 잃을 수 있습니다.

스테이킹에 대해 더 알아보기.

노드 구성 요소 비교

실행 클라이언트합의 클라이언트검증자
P2P 네트워크를 통해 트랜잭션을 가십합니다P2P 네트워크를 통해 블록 및 인증을 가십합니다블록 제안
트랜잭션 실행/재실행포크 선택 알고리즘 실행보상/페널티 발생
수신 상태 변경 확인체인 헤드 추적인증 생성
상태 및 영수증 트라이 관리비콘 상태 관리(합의 및 실행 정보 포함)32 ETH 스테이킹 필요
실행 페이로드 생성RANDAO(검증자 선택 및 기타 합의 작업에 검증 가능한 무작위성을 제공하는 알고리즘)의 누적된 무작위성 추적슬래싱 가능
이더리움과 상호작용하기 위한 JSON-RPC API 노출정당성 및 완결성 추적

더 읽어보기

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