본문으로 건너뛰기
0%

RPC 노드란?

Alchemy team headshot

작성자 Alchemy

2025년 4월 11일에 게시됨6분 읽기

탈중앙화 애플리케이션(앱)은 트랜잭션 전송, 블록 데이터 조회, 블록체인 상태 평가와 같은 사용자 요청을 처리하기 위해 지속적으로 블록체인의 데이터를 필요로 합니다. 노드는 Remote Procedure Call(RPC)을 통해 이 기능을 제공하며, 이를 통해 앱이 블록체인에 연결됩니다. 블록체인 RPC 노드는 앱이 블록체인과 상호작용하고 사용자 데이터에 쉽게 접근할 수 있도록 합니다.

이 글에서는 블록체인 RPC 노드가 무엇이고 어떻게 작동하는지 살펴봅니다. 끝까지 읽으면 블록체인 RPC 노드, RPC 엔드포인트, 그리고 RPC 노드 제공업체를 사용하는 방법을 확실히 이해하게 될 것입니다.

Remote Procedure Call(RPC)이란 무엇인가?

Remote Procedure Call, 즉 RPC는 경량 소프트웨어 통신 프로토콜로, 프로그램(클라이언트)이 서버의 네트워크에 대한 세부 정보 없이 다른 네트워크에 호스팅된 원격 프로그램(서버)과 통신할 수 있게 해줍니다.

예를 들어, 로컬 컴퓨터에서 RPC를 사용해 원격 서버 시스템에 리소스를 요청할 수 있습니다. 클라이언트가 요청을 하면, 이는 서버가 서브루틴이라는 프로시저를 실행하도록 요청합니다.

블록체인에서는 앱이 제대로 작동하기 위해 블록체인 데이터가 필요합니다. 따라서 RPC 클라이언트-서버 모델에서 앱이 클라이언트이고, 서버는 RPC 노드입니다.

RPC 노드란 무엇인가?

RPC 노드는 블록체인 클라이언트 소프트웨어를 실행하는 컴퓨터입니다. 예를 들어, Ethereum 블록체인을 위한 Execution Layer(EL)와 Consensus Layer(CL) 인프라를 모두 실행하는 서버가 이에 해당합니다.

Ethereum에는 라이트 노드, 풀 노드, 아카이브 노드를 포함한 여러 유형의 노드가 존재합니다. 반면, Solana에서는 개발자가 밸리데이터 노드와 RPC 노드를 모두 실행할 수 있습니다. 밸리데이터 노드가 Solana 합의 프로토콜을 실행하고 블록 검증에 대한 보상을 받는 것과 달리, Solana RPC 노드는 단순히 Solana 앱이 블록체인 정보를 얻기 위한 게이트웨이 역할만 합니다.

이 글에서는 편의상 _RPC 요청에 응답할 수 있는 모든 노드_를 RPC 노드로 간주하겠습니다.

RPC 엔드포인트란 무엇인가?

RPC 엔드포인트는 프로그램이 서버의 데이터에 접근하기 위해 RPC 요청을 보내는 네트워크상의 위치입니다. 예를 들어, 앱을 Ethereum RPC 엔드포인트에 연결하면 실시간으로 블록체인 데이터를 활용하는 작업을 쉽게 수행할 수 있습니다.

적절한 소프트웨어가 설치된 _노드_는 RPC 요청에 응답할 수 있습니다. 노드에서 실행되는 RPC 엔드포인트는 앱이 사용자를 위해 블록체인 정보를 가져오는 서비스를 가리킵니다. 따라서 모든 RPC 엔드포인트는 RPC 노드에서 실행되고, 모든 RPC 노드는 RPC 엔드포인트를 가진 노드입니다. 이에 따라 이 글에서는 RPC 노드와 RPC 엔드포인트라는 용어를 서로 바꿔가며 사용하겠습니다.

RPC 엔드포인트의 종류에는 어떤 것이 있는가?

노드 RPC 엔드포인트는 크게 퍼블릭과 프라이빗, 두 가지 주요 인프라 제공 형태로 분류됩니다. 대체 RPC 엔드포인트는 앱이 RPC 엔드포인트에 대한 장애 허용 백업을 유지하도록 도와 이 두 가지를 뒷받침합니다.

1. 퍼블릭 RPC 엔드포인트

퍼블릭 RPC 엔드포인트는 RPC 노드에서 실행되는 공유형, 속도 제한형 리소스로, 누구든지 요청을 보낼 수 있습니다. 블록체인은 누구나 블록체인에 데이터를 보내고 받을 수 있도록(예: 트랜잭션 생성) 퍼블릭 RPC 엔드포인트를 제공합니다.

퍼블릭 엔드포인트는 무료이며 언제든 바로 사용할 수 있지만, 프로덕션급 애플리케이션을 지원하기 위한 것이 아니기 때문에 대개 속도 제한이 걸려 있습니다. 또한 퍼블릭 RPC 엔드포인트는 고객 지원이 없고, 활성화된 개발자 인프라가 부족하며, 앱 운영에 필요한 규모로 확장되지 않습니다.

2. 프라이빗 RPC 엔드포인트

프라이빗 RPC 엔드포인트는 오직 여러분의 앱만을 위해 운영되는 엔드포인트로, 다른 프로그램으로 인한 요청 혼잡을 피하고 빠르고 일관된 RPC 서비스를 제공받을 수 있습니다.

프라이빗 RPC 노드는 여러분의 요청에 따라 실행됩니다. 또한 노드 제공업체를 이용하는 경우, 프라이빗 RPC 엔드포인트는 대개 명시적인 서비스 수준 계약(SLA)을 유지하여, 필요할 때 언제든 앱에 성능이 보장된 서비스를 제공합니다.

예를 들어, Alchemy는 무료 Optimism RPC 노드, 무료 Base RPC 노드, 무료 Monad RPC 노드, 그리고 40개 이상의 체인에 대한 무료 RPC 노드를 제공합니다.

3. 대체 RPC 엔드포인트

RPC 엔드포인트에 다운타임이 발생하는 경우, 대체 RPC 엔드포인트는 백업 엔드포인트 역할을 하여 앱이 원활한 사용자 경험을 유지하도록 돕습니다.

대체 RPC 엔드포인트가 없다면, 기본 RPC 엔드포인트에 장애가 발생할 경우 사용자의 모든 트랜잭션도 함께 실패합니다. 대체 RPC 엔드포인트를 갖춘 앱을 구축하는 것은 단일 장애 지점이 없도록 보장하는 좋은 방법입니다.

RPC 노드는 어떻게 작동하는가?

RPC 노드는 앱을 블록체인의 모든 정보와 연결함으로써 작동합니다. 프로그램이 서브루틴을 실행하면, RPC 노드는 블록체인을 통해 필요한 요청을 가져와 그 결과를 앱으로 반환합니다.

이 섹션에서는 블록체인 RPC 요청을 뒷받침하는 기술을 간략히 살펴보겠습니다.

JSON-RPC 프로토콜

블록체인에서 사용되는 표준 RPC 사양은 JSON-RPC라고 합니다. 데이터 요청을 빠르게 수신하고 처리하는 능력으로 잘 알려져 있습니다.

클라이언트-서버 모델을 다시 떠올려보면, 앱이 클라이언트이고, RPC 엔드포인트가 서버이며, JSON-RPC는 RPC 엔드포인트에 서비스를 요청하는 구체적인 방법입니다.

각 블록체인의 JSON-RPC API에 명시된 메서드를 사용하면, 앱에 필요한 사실상 모든 종류의 블록체인 데이터를 요청할 수 있습니다.

JSON-RPC 메서드의 다양성을 보여주는 예로, Ethereum은 Ethereum 네트워크에서 데이터를 가져오는 핵심 메서드 집합을 정의하고 있습니다. 이 메서드들은 gossip 메서드, state 메서드, history 메서드의 세 가지 범주로 나뉩니다.

  1. Gossip 메서드 - 블록체인의 헤드를 추적하며 블록을 찾는 데 사용됩니다
  2. State 메서드 - 블록체인 전체 데이터의 현재 상태에 대한 보고를 반환합니다
  3. History 메서드 - 체인상의 모든 블록에 대한 과거 기록을 조회합니다

사용자의 동작이 블록체인 데이터에 의존할 때마다, 애플리케이션(클라이언트)은 JSON-RPC 메서드를 사용해 RPC 노드(서버)를 통해 호출(서브루틴)을 실행하고, 그 결과가 애플리케이션에서 사용될 정보로 반환됩니다.

RPC 노드에 접근하는 방법

개발자가 RPC 노드에 접근하는 방법은 크게 세 가지입니다: RPC 노드 제공업체의 프라이빗 RPC 엔드포인트를 사용하는 방법, 직접 노드를 운영하는 방법(즉, 셀프 호스팅 노드), 또는 퍼블릭 RPC 노드를 통해 트래픽을 보내는 방법입니다.

1. RPC 노드 제공업체 사용하기

RPC 노드 제공업체는 앱을 위한 모든 노드 설정, 관리, 유지보수를 처리하고 원활하게 실행되도록 보장하며, 이는 온체인 구축을 위한 가장 좋은 방법입니다.

따라서 블록체인 노드 인프라 제공업체를 선택하면, 노드 설정 및 유지보수에 대한 모든 책임을 개발자가 부담하지 않아도 됩니다. 최상위 블록체인 노드 제공업체는 이러한 기능을 자체적으로 통합하고 있어, 개발자가 혁신적인 최종 사용자 제품을 구축하는 데 시간과 노력을 집중할 수 있게 해줍니다.

노드 제공업체는 Ethereum과 같은 주요 블록체인 대부분에서 이용할 수 있습니다

Alchemy의 RPC 노드 인프라를 사용해 시작하는 방법

Alchemy는 Ethereum, Solana, Monad, Base, Arbitrum을 포함한 40개 이상의 체인에서 RPC 엔드포인트를 제공합니다. 몇 번의 클릭만으로 고성능 Alchemy RPC 노드를 시작할 수 있습니다.

  1. Alchemy 계정을 생성합니다.

  2. 대시보드의 Create App 버튼을 사용해 첫 번째 앱을 생성합니다.

dashboard > create an app
  1. 앱 이름을 정하고 사용 사례를 선택합니다
Alchemy 대시보드: 새 앱 이름 지정 및 사용 사례 선택
  1. 원하는 블록체인과 네트워크를 선택합니다.
Alchemy 앱 설정: 원하는 블록체인과 네트워크 선택
  1. 대시보드의 "View Key" 버튼을 사용해 새 노드의 URL을 복사한 후 RPC 요청을 보내기 시작합니다
Alchemy dashboard: using the View Key button to copy the RPC node URL

직접 RPC 노드를 운영하는 방법

직접 노드를 운영하는 것의 이점과 트레이드오프가 있지만, 이는 노드 구성 방식에 대한 완전한 통제가 필요한 기술 지향적 개발자와 web3 팀을 위한 선택지입니다. 여기서는 Ethereum 블록체인에서 직접 노드를 시작하는 단계를 개괄적으로 설명합니다.

1. RPC 노드 구성을 선택합니다

Ethereum 노드는 클라이언트 구현(예: 합의 클라이언트와 실행 클라이언트), 하드웨어 및 시스템 환경, 설정이라는 세 가지 구성 요소로 이루어져 있습니다. 각각을 개괄적으로 살펴보겠습니다.

클라이언트 구현

이는 실행 계층(EL)과 합의 계층(CL)을 위한 노드 클라이언트 소프트웨어를 선택하는 것을 의미합니다. EL에는 Besu, Erigon, **Geth**와 같은 노드 클라이언트가 있습니다. 합의 계층 클라이언트에는 Lighthouse, Teku, Lodestar 등이 있습니다.

하드웨어 및 시스템 환경

클라이언트를 실행할 수 있는 하드웨어에 클라이언트 소프트웨어를 설치해야 합니다. 필요한 하드웨어 사양은 선택한 클라이언트와 구축 중인 블록체인에 따라 달라집니다. 예를 들어, Solana 노드를 운영하는 데는 Ethereum보다 더 높은 하드웨어 사양이 필요합니다. 하드웨어 사양은 해당 블록체인의 문서를 참고하시기 바랍니다.

개발자는 직접 기기를 조립하거나, 노드 운영에 특화된 하드웨어 시스템을 제공하는 업체에서 하드웨어를 구매할 수 있습니다. 업계를 선도하는 하드웨어 제공업체인 dAppNode의 가장 저렴한 범용 노드 기기는 $1,500 이상입니다.

클라이언트 설정

직접 노드를 운영하는 주요 이점 중 하나는 커스터마이징 수준입니다. 하드웨어 및 소프트웨어 요구 사항과 특정 클라이언트 요청에 따라 설정 과정에서 노드를 손쉽게 구성할 수 있습니다.

2. RPC 노드를 구동합니다

모든 하드웨어 및 소프트웨어 결정을 마쳤다면, 이제 노드를 시작할 차례입니다. 클라이언트 설정을 사용자 친화적인 사용자 인터페이스(UI)를 통해 결정할 수 있는 가이드형 설정 서비스를 선택하거나, Command Line Interface(CLI)를 사용해 수동으로 노드를 설정할 수 있습니다.

전반적인 단계는 다음과 같습니다:

  1. 두 클라이언트 소프트웨어(EL과 CL)를 모두 설치합니다
  2. 결정한 설정 구성을 완료하며 두 클라이언트를 시작합니다

이후 노드는 블록체인과 동기화됩니다. 하드웨어의 속도와 블록체인의 과거 상태 크기에 따라 이 과정은 며칠에서 몇 주까지 걸릴 수 있습니다.

이렇게 오래 걸리는 동기화 과정은 직접 노드를 운영할 때 감수해야 할 트레이드오프 중 하나입니다. 추가 용량이 필요할 경우 새 노드를 구동하는 데 며칠에서 몇 주가 걸릴 수 있는 반면, 노드 제공업체는 필요에 따라 즉시 추가 용량을 제공할 수 있습니다.

3. RPC 노드를 유지보수합니다

유지보수 비용은 직접 노드를 운영할 때의 또 다른 트레이드오프입니다. 노드는 여러 이유로 간헐적으로 다운되거나, 동기화가 어긋나거나, 실패할 수 있습니다. 또한 실행 계층과 합의 계층 소프트웨어는 노드 클라이언트 소프트웨어 개발자에 의해 지속적으로 업그레이드됩니다.

RPC 노드 제공업체가 직접 RPC 노드를 운영하는 것보다 나은 이유는 무엇인가?

노드 관리에 소요되는 시간과 리소스를 절약해줄 뿐만 아니라, 노드 제공업체는 24시간 연중무휴로 안정적이고 낮은 지연 시간의 노드 접근을 보장할 수 있습니다. 여러분의 노드는 오직 RPC 노드의 고성능 유지에만 전념하는 숙련된 팀의 서비스를 받게 됩니다.

직접 노드를 운영하기로 결정하는 것은 매우 높은 수준의 커스터마이징이 필요할 때는 좋은 선택이지만, 원활하고 수월한 개발자 경험을 원할 때는 그렇지 않습니다.

Build vs. Buy: Blockchain Infrastructure ebook cover
무료 가이드

구축 vs. 구매: 블록체인 인프라

인프라 팀을 채용하기 전에 읽어보세요: 자체 구축 시 프로덕션 요청을 단 하나도 처리하기 전부터 연간 $850K~$1M 이상의 비용이 들 수 있습니다. 전체 비용 내역을 확인하세요.

가이드 다운로드

퍼블릭 노드를 통해 트래픽을 보내는 방법

사용 중인 블록체인에 따라, 해당 네트워크 문서에서 제공하는 퍼블릭 RPC 엔드포인트를 참고하여 그 URL로 트래픽을 라우팅함으로써 요청을 보낼 수 있습니다. Solana와 같은 일부 블록체인은 제한된 수의 퍼블릭 RPC 노드에 대한 접근을 제공합니다.

아래는 Solana 퍼블릭 RPC 노드를 사용한 curl 요청 예시입니다.

text
Copied
curl /* Solana public RPC endpoint URL here */ -X POST -H "Content-Type: application/json" -d' { "jsonrpc": "2.0", "id": 1, "method": "getBalance", "params": ["83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"] }

다만 퍼블릭 엔드포인트에서는 요청에 속도 제한이 걸리므로, 개발자에게 권장되는 방식은 아닙니다.

Alchemy의 무료 RPC 노드로 구축을 시작하세요

RPC 노드에 연결하는 방법은 Alchemy와 같은 노드 제공업체를 사용하는 방법, 직접 노드를 운영하는 방법, 퍼블릭 노드를 통해 트래픽을 보내는 방법, 이렇게 세 가지가 있습니다. 직접 노드를 운영하는 데는 불필요한 오버헤드가 많이 들고, 퍼블릭 노드는 속도 제한이 심하기 때문에, Alchemy의 넉넉한 무료 RPC 노드 티어를 활용하는 것이 온체인 구축을 위한 최선의 선택입니다.

관리형 RPC 노드를 활용해 개발 경험을 더 원활하게 만들 준비가 되셨나요?

Alchemy에 가입하고 무료 RPC 노드로 시작해보세요!

자주 묻는 질문

RPC 노드란 무엇인가?

RPC 노드는 블록체인 클라이언트 소프트웨어를 실행하는 컴퓨터로, 애플리케이션이 Remote Procedure Call(RPC)을 통해 블록체인과 상호작용할 수 있게 해줍니다.

RPC 노드는 어떻게 작동하는가?

RPC 노드는 앱을 블록체인 정보와 연결하고, 애플리케이션으로부터 요청을 수신하여 블록체인과 상호작용함으로써 이를 처리한 뒤, JSON-RPC 프로토콜을 사용해 결과를 반환함으로써 작동합니다.

RPC 엔드포인트의 종류에는 어떤 것이 있는가?

크게 세 가지 유형이 있습니다: 퍼블릭 RPC 엔드포인트(공유형, 속도 제한형 리소스), 프라이빗 RPC 엔드포인트(앱의 필요에 맞춰 전용으로 제공), 대체 RPC 엔드포인트(장애 허용을 위한 백업 엔드포인트)입니다.

직접 RPC 노드를 운영하는 것과 노드 제공업체를 이용하는 것의 차이는 무엇인가?

직접 노드를 운영하려면 상당한 하드웨어 투자, 유지보수, 동기화 시간이 필요한 반면, Alchemy와 같은 RPC 노드 제공업체는 모든 설정, 관리, 유지보수를 처리하며 더 나은 개발자 경험과 함께 24시간 안정적인 접근을 제공합니다.

JSON-RPC 프로토콜이란 무엇인가?

JSON-RPC는 블록체인에서 사용되는 표준 RPC 사양으로, gossip 메서드(블록 찾기), state 메서드(현재 블록체인 상태), history 메서드(과거 기록)와 같은 메서드를 통해 빠른 데이터 조회를 가능하게 합니다.

어떤 블록체인이 RPC 노드를 지원하는가?

RPC 노드는 Ethereum(실행 계층과 합의 계층 포함), Solana, Base, Arbitrum, Optimism 등 여러 블록체인을 지원하며, Alchemy는 40개 이상의 체인을 지원합니다.

RPC 엔드포인트가 개발자에게 중요한 이유는 무엇인가?

RPC 엔드포인트는 개발자가 직접 풀 노드를 운영할 필요 없이, 앱이 블록체인 데이터를 가져오고, 트랜잭션을 제출하고, 스마트 컨트랙트와 상호작용할 수 있도록 필수적인 게이트웨이 접근을 제공합니다.

RPC 노드는 어떻게 시작할 수 있는가?

Alchemy 계정을 생성하고, 대시보드를 통해 첫 번째 앱을 설정하고, 원하는 블록체인과 네트워크를 선택한 뒤, 제공된 엔드포인트 URL을 사용해 RPC 요청을 보내기 시작하면 됩니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.