요약: Web3 인프라는 애플리케이션이 블록체인 네트워크에서 데이터를 읽고 쓸 수 있게 해주는 도구, 서비스 및 프로토콜의 집합입니다. 단일 기업이 관리하는 중앙 집중식 데이터베이스에 의존하는 기존 웹 애플리케이션과 달리, Web3 애플리케이션(dapps)은 블록체인을 ‘진실의 원천’으로 사용하며, 이와 상호작용하기 위해서는 특화된 인프라 스택이 필요합니다. 이 스택에는 사용자 인증 및 트랜잭션 서명을 위한 지갑 연결, 블록체인 노드와 통신하기 위한 RPC 엔드포인트, 온체인 데이터를 쿼리할 수 있게 해주는 인덱서, 대용량 파일을 위한 탈중앙화 스토리지, 그리고 확장성을 위한 레이어 2 네트워크가 포함됩니다. 이러한 구성 요소들이 어떻게 서로 연결되어 작동하는지 이해하는 것은 블록체인을 기반으로 개발하는 모든 개발자에게 필수적입니다.
간단한 설명
전통적인 웹 애플리케이션의 아키텍처는 간단합니다. 사용자가 브라우저를 실행하면, 브라우저가 웹 서버에서 프론트엔드를 불러오고, 프론트엔드는 백엔드 API와 통신하며, 백엔드는 데이터베이스에서 데이터를 읽고 쓰게 됩니다. 이 애플리케이션을 운영하는 회사는 서버, 데이터베이스, API는 물론, 누가 어떤 콘텐츠에 접근할 수 있는지에 대한 규칙까지 모든 계층을 관리합니다.
웹3 애플리케이션은 중앙 집중식 데이터베이스를 블록체인으로 대체합니다. 하지만 블록체인은 데이터베이스가 아닙니다. 블록체인에 대해 SQL 쿼리를 실행할 수 없습니다. 표준 데이터베이스 드라이버를 사용하여 블록체인에 연결할 수도 없습니다. 비밀 키를 사용하여 API를 호출해 데이터를 기록할 수도 없습니다. 블록체인과 상호작용하려면 근본적으로 다른 인프라 스택이 필요하며, 이 스택을 이해하는 것이 실제 운영에 적합한 dapp을 구축하기 위한 첫걸음입니다.
핵심적인 차이점은 트랜잭션 모델에 있습니다. 기존 앱에서는 백엔드가 자체 인증 정보를 사용하여 데이터베이스에 데이터를 기록합니다. 반면 Web3 앱에서는 사용자가 자신의 지갑을 통해 개인 키로 트랜잭션에 서명함으로써 블록체인에 데이터를 기록합니다. 애플리케이션은 이 과정을 지원하지만, 사용자의 온체인 상태에 대한 직접적인 쓰기 권한은 결코 갖지 않습니다. 서버가 제어하는 데이터에서 사용자가 제어하는 데이터로의 이러한 전환이 바로 Web3를 ‘분산형’으로 만드는 요소이며, 동시에 인프라를 더욱 복잡하게 만드는 원인이기도 합니다.

웹3 인프라는 웹2와 어떻게 다른가요?
Web3 인프라를 이해하는 가장 명확한 방법은 대부분의 개발자가 이미 잘 알고 있는 Web2 스택과 비교해 보는 것입니다. 데이터가 저장되는 위치가 다르기 때문에, 데이터를 읽고 쓰는 방식도 그에 따라 달라집니다.
양상 | 웹2 | 웹3 |
|---|---|---|
진리의 근원 | 중앙 집중식 데이터베이스 | 블록체인 |
누가 데이터를 작성하나요? | 자체 인증 정보를 사용하는 앱 백엔드 | 지갑 서명을 통한 사용자 |
정체성 | 사용자 이름과 비밀번호 | 지갑 주소 |
데이터 액세스 |
데이터베이스처럼 체인을 쿼리할 수 없기 때문에, 대부분의 읽기 작업은 간단한 조회 시에는 RPC endpoint 를 통해 이루어지고, 복잡하고 구조화된 쿼리의 경우 블록체인 인덱싱을 통해 처리됩니다.
dapp의 아키텍처
일반적인 프로덕션용 DApp은 각각 고유한 기능을 수행하는 여러 계층으로 구성됩니다.
프론트엔드는 사용자 인터페이스로, 대개 React, Next.js 또는 이와 유사한 프레임워크로 구축된 웹 애플리케이션입니다. 프론트엔드는 렌더링, 사용자 입력 및 지갑 상호작용을 처리합니다. 프론트엔드는 ethers.js나 wagmi와 같은 프로바이더 API를 통해 사용자의 지갑(MetaMask, Phantom 등)에 연결되며, 이를 통해 Dapp은 지갑 주소를 요청하고, 잔액을 표시하며, 트랜잭션 서명을 요청할 수 있습니다.
지갑은 사용자의 신원 및 인증 수단입니다. Web3 사용자는 사용자 이름과 비밀번호로 로그인하는 대신 지갑을 연결합니다. 지갑은 사용자의 공개 주소(신원)와 트랜잭션에 서명할 수 있는 기능(승인)을 제공합니다. dapp이 온체인에 데이터를 기록해야 할 때(토큰 전송, 스마트 계약 상호작용, NFT 발행 등), 트랜잭션을 생성하여 지갑으로 전송해 서명을 받고, 지갑은 서명된 트랜잭션을 네트워크에 브로드캐스팅합니다.
RPC 엔드포인트는 dapp과 블록체인을 연결하는 관문입니다. 모든 읽기 작업(잔액 확인, 스마트 계약 상태 조회, 거래 영수증 가져오기)과 모든 쓰기 작업(서명된 거래 제출)은 RPC endpoint 를 통해 이루어집니다. endpoint 는 요청을 처리하고 결과를 반환하는 블록체인 노드에 연결됩니다. RPC 제공업체의 선택은 애플리케이션의 속도, 안정성 및 데이터 정확도에 직접적인 영향을 미칩니다.
백엔드(선택 사항이지만 실제 운영 환경에서는 흔히 사용됨)는 블록체인에 속하지 않는 오프체인 로직을 처리합니다. 여기에는 사용자 세션 관리, API 통합, 캐싱, 분석, 웹훅 처리, 기존 서비스와의 연동 등이 포함됩니다. 또한 많은 dApp은 사용자의 지갑 서명이 필요하지 않은 작업(관리 작업이나 가스 비용이 들지 않는 메타트랜잭션 등)에 대해 서버 측 트랜잭션 제출을 관리하기 위해 백엔드를 사용합니다.
인덱서는 원시 블록체인 데이터를 쿼리 가능한 데이터베이스로 변환합니다. 블록체인 자체는 복잡한 쿼리를 지원하지 않습니다. 표준 RPC 메서드를 사용하여 “이 주소가 소유한 모든 NFT를 보여줘” 또는 “오늘 이 DEX에서 거래된 총 거래량은 얼마인가”와 같은 쿼리를 수행할 수는 없습니다. 인덱서(The Graph나 Quicknode Streams 를 사용하여 구축된 맞춤형 파이프라인 등)는 모든 블록을 처리하고, 트랜잭션과 이벤트를 디코딩한 후, 그 결과를 SQL 또는 GraphQL 쿼리를 지원하는 데이터베이스에 저장합니다. 이렇게 인덱싱된 데이터는 포트폴리오 표시, 거래 내역, 분석 대시보드 및 검색 기능을 가능하게 합니다.
스마트 계약은 애플리케이션의 온체인 로직입니다. 이는 토큰 전송, DeFi 운영, NFT 발행, 거버넌스 투표 및 기타 모든 프로그래밍 가능한 온체인 동작에 대한 규칙을 정의합니다. 스마트 계약은 한 번 배포되면 호출될 때마다 결정론적으로 실행됩니다. 이는 기업의 서버가 아닌 블록체인 상에 존재하는 “백엔드 로직”입니다.

웹3 인프라의 핵심 구성 요소는 무엇인가요?
아키텍처는 다양하지만, 대부분의 상용 DApp은 동일한 구성 요소를 기반으로 합니다. 아래 표에서는 각 계층의 역할과 대표적인 예시를 정리해 놓았습니다.
레이어 | 역할 | 예시 |
|---|---|---|
지갑 | 사용자 신원 확인 및 거래 서명 | 메타마스크, 팬텀 |
RPC 엔드포인트 | 체인에 대한 읽기 및 쓰기 권한 | Quicknode 핵심 API |
색인 생성기 | 온체인 데이터를 조회 가능하게 만들기 | The Graph, Streams |
레이어 2 네트워크, 로직을 담고 있는 스마트 계약, 그리고 Streams 모두 이 동일한 아키텍처에 통합됩니다.
데이터 읽기 대 데이터 쓰기
Dapp 내의 읽기 경로와 쓰기 경로는 근본적으로 다릅니다.
데이터 읽기는 비교적 간단합니다. 프론트엔드(또는 백엔드)는 잔액, 계약 상태, 블록 내용 등 특정 데이터를 요청하는 RPC 요청을 노드에 보냅니다. 노드는 해당 답변을 조회하여 반환합니다. 간단한 읽기 작업의 경우, 신뢰할 수 있는 제공자를 이용하면 이 왕복 처리 시간이 수십 밀리초 정도 소요됩니다. 복잡한 데이터 요청(예: “이 지갑의 모든 토큰에 대한 전체 거래 내역을 보여줘”)의 경우, dapp은 블록체인을 직접 조회하는 대신 인덱서의 데이터베이스를 쿼리합니다. 인덱서가 이미 데이터 처리와 구조화라는 번거로운 작업을 완료해 놓았기 때문입니다.
데이터 기록 과정은 좀 더 복잡합니다. 사용자가 (토큰 교환과 같은) 작업을 시작하면, dapp은 호출할 스마트 계약, 실행할 함수, 전달할 매개변수를 명시하여 트랜잭션을 구성합니다. dapp은 가스 비용을 산정하여 사용자에게 표시합니다. 사용자는 지갑에서 트랜잭션을 검토하고 승인하면, 지갑은 사용자의 개인 키로 트랜잭션에 서명합니다. 서명된 트랜잭션은 RPC endpoint 를 통해 네트워크에 제출됩니다. 트랜잭션은 밈풀(mempool)에 진입하여 검증자가 이를 블록에 포함시킬 때까지 대기합니다. 블록에 포함되면 트랜잭션이 확정됩니다. dapp은 (폴링 또는 WebSocket 구독을 통해) 확정을 감지하고, 새로운 상태를 반영하도록 UI를 업데이트합니다.
사용자의 지갑, 가스 비용 산정, 멥풀 전파, 검증자 포함, 확인 감지 등 여러 단계로 이루어진 이 쓰기 프로세스 때문에 Web3의 쓰기 작업은 기존 앱에서 버튼을 클릭하는 것보다 더 느리게 느껴집니다. 또한 이것이 바로 안정적이고 지연 시간이 짧은 RPC 인프라가 필수적인 이유이기도 합니다. 가스 비용 산정부터 트랜잭션 제출, 확인 감지에 이르는 모든 단계가 RPC endpoint 를 통해 처리되기 때문입니다.

다중 체인 현실
현대적인 dApp은 단일 체인에서만 운영되는 경우가 거의 없습니다. DeFi 프로토콜은 Ethereum ,mainnet, Arbitrum, Base, Optimism, Polygon 등에 배포될 수 있습니다. NFT 마켓플레이스는 Ethereum, Solana 및 여러 L2를 지원할 수 있습니다. 지갑 앱은 수십 개의 체인에 걸친 잔액을 표시하고 동시에 거래를 처리할 수 있어야 합니다.
이러한 멀티체인 환경은 인프라 요구 사항을 기하급수적으로 증가시킵니다. 각 체인에는 고유한 RPC 엔드포인트, 고유한 인덱싱 파이프라인, 그리고 체인별 특이점(서로 다른 최종 확정 모델, 가스 메커니즘, 트랜잭션 형식 등)에 대한 이해가 필요합니다. 5개, 10개, 혹은 80개 이상의 체인에 걸쳐 이러한 복잡성을 관리하는 것은 상당한 엔지니어링 과제이며, 대부분의 팀은 체인마다 자체 노드를 운영하기보다는 인프라 제공업체를 활용하여 이 문제를 해결합니다.
dapp을 구축하려면 자체 노드를 운영해야 할까요?
대부분의 경우, 그렇지 않습니다. 노드를 직접 운영하지 않고도 관리형 RPC 제공업체를 통해 상용 DApp을 출시할 수 있습니다. 자체 노드를 운영하면 제어권과 개인정보 보호를 극대화할 수 있지만, 동시에 지원하는 모든 체인에 대해 하드웨어를 구축하고, 체인을 동기화하며, 업그레이드 및 하드 포크를 처리하고, 24시간 가동 상태를 모니터링해야 합니다. 그렇기 때문에 운영보다는 제품에 집중하고자 하는 팀의 경우, ‘직접 구축(build)’과 ‘구매(buy)’ 중 어떤 방식을 선택할지 결정할 때 대개 제공업체를 선호합니다. 만약 완전한 제어권을 원하신다면, 자체 노드 운영에 대한 당사의 개요에서 비용과 이점을 비교해 보실 수 있습니다.
Quicknode 가 Web3 인프라를 어떻게 뒷받침하는가
Quicknode dapp이 의존하는 인프라의 중추를 제공합니다. Core API는 단일 플랫폼을 통해 80개 이상의 블록체인 네트워크에 걸쳐 프로덕션급 RPC 엔드포인트를 제공하며, 전 세계에 분산된 노드, 99.99%의 가동률, 경쟁사보다 2.5배 빠른 응답 속도를 자랑합니다. 즉, 개발자는 각 체인마다 별도의 노드 인프라를 관리할 필요 없이 여러 체인을 지원할 수 있습니다.
Quicknode Streams 기존의 맞춤형 인덱싱 인프라를 대체하여, 필터링된 블록체인 데이터를 데이터베이스나 데이터 웨어하우스로 직접 전달하는 푸시 기반 데이터 파이프라인을 제공합니다. 이 파이프라인은 데이터 전달을 보장하며, 재구성(reorg)을 자동으로 처리합니다. 각 체인마다 폴링 스크립트를 구축하고 유지 관리할 필요 없이, 스트림(Stream)을 구성하기만 하면 Quicknode 에서 데이터 추출, 필터링, 전달 및 데이터 일관성 유지를 처리합니다.
보다 광범위한 DApp 스택을 위해, Quicknode 에서는 IPFS 게이트웨이 및 탈중앙화 스토리지용 피닝 기능, 향상된 API(토큰 잔액, NFT 데이터, DeFi 분석)를 위한 마켓플레이스 애드온, 그리고 JavaScript 및 TypeScript에서 원활한 통합을 지원하는 Quicknode SDK 를 제공합니다. 이러한 도구들은 종합적으로, 실제 운영 환경의 Web3 애플리케이션을 구축, 확장 및 운영하기 위한 완벽한 인프라 플랫폼을 제공합니다.
자주 묻는 질문
RPC endpoint 와 인덱서 의 차이점은 무엇인가요?
RPC endpoint 는 잔액이나 단일 거래와 같이 현재 체인 상태에 대한 직접적인 질문에 답변합니다. 인덱서는 전체 내역을 데이터베이스로 처리하므로, RPC만으로는 효율적으로 처리할 수 없는 지갑의 전체 거래 내역과 같은 복잡한 쿼리를 실행할 수 있습니다.
Dapp은 백엔드 없이도 작동할 수 있나요?
네. 많은 dApp은 완전히 클라이언트 측에서 처리됩니다. 즉, 프론트엔드가 RPC 엔드포인트 및 사용자의 지갑과 직접 통신합니다. 백엔드는 선택 사항이며, 캐싱, 분석, 가스 비용이 들지 않는 트랜잭션과 같은 오프체인 작업을 위해 추가됩니다.
사용자는 Web3 앱에서 어떻게 인증을 하나요?
사용자는 계정을 생성하는 대신 지갑을 연결합니다. 지갑 주소가 신원 역할을 하며, 메시지나 거래에 서명함으로써 해당 주소에 대한 통제권을 입증하게 되는데, 이는 사용자 이름과 비밀번호를 대체합니다.
대부분의 팀이 인프라 제공업체를 이용하는 이유는 무엇일까요?
여러 체인을 안정적으로 지원하려면 각 체인마다 노드, 인덱서, 스토리지를 운영하고 유지 관리해야 합니다. 서비스 제공업체는 이를 단일 플랫폼으로 통합해 주며, 이는 자체적으로 구축하는 것보다 도입이 빠르고 운영 비용도 저렴합니다.
웹3 인프라는 완전히 탈중앙화되어 있나요?
일부는 그렇고, 일부는 그렇지 않습니다. 체인과 스마트 계약은 탈중앙화되어 있지만, RPC 제공업체나 프론트엔드와 같은 지원 서비스는 대개 중앙 집중식 클라우드 플랫폼에서 실행됩니다. 블록체인 데이터 스트리밍과 같은 실시간 데이터 피드 역시 일반적으로 관리형 제공업체를 통해 제공됩니다.
추가 자료
블록체인 인덱싱이란 무엇인가요? - Quicknode 용어집
암호화폐 지갑이란 무엇인가요? - Quicknode 용어집
RPC endpoint 란 무엇인가요? - Quicknode 용어집
Web3 인프라 스택 - Quicknode 용어집
가장 빠른 RPC 인프라는 무엇인가요? - Quicknode Core-api
Streams 시작하기 - Quicknode 문서
Quicknode 제품 소개