더 그래프 (The Graph) — 블록체인 데이터 인프라의 진화
더 그래프 네트워크의 운영 메커니즘과 최근 동향을 중심으로
1. 블록체인 데이터 인덱싱 솔루션의 문제점
블록체인은 기술적 관점에서 볼 때 분산화된 데이터베이스라고 할 수 있습니다. 탈중앙화라는 특성을 위해, 블록체인에서 사용되는 데이터베이스는 키를 기반으로 읽고 쓰는 것 등 아주 기본적인 기능들만을 지원합니다. 이러한 제한으로 인해 블록체인을 기반으로 하는 dApp들과 사용자들은 불편함을 겪게 됩니다.
이 불편함의 원인 중 하나는 블록체인 데이터베이스의 인덱싱 방식에 있습니다. 인덱싱은 데이터베이스 내 정보를 최적화된 자료 구조 형태로 만들어, 요청된 정보를 빠르게 반환할 수 있도록 하는 행위를 의미합니다.
Web2에서 사용되는 대부분의 DB들은 다양한 인덱스 구조를 지원하여, 필요한 데이터를 쉽게 불러와 사용자에게 제시할 수 있도록 합니다. 반면 블록체인 데이터베이스는 머클 트리 구조를 사용하고, dApp이 필요로 하는 정보에 대한 효율적인 인덱싱을 제공하지 않습니다. 결과적으로 dApp 개발자들은 블록체인 데이터를 추가로 가공해야 하는 번거로움에 직면합니다. 이에 대한 예시를 들어보도록 하겠습니다.
1.1. Uniswap V3 유동성 정보는 어떻게 처리될까?
Uniswap V3에 유동성을 공급하고 싶은 사용자가 있다고 해 봅시다. 이때 사용자가 고려해야 할 중요한 부분 중 하나는 공급할 풀의 유동성이 얼마나 큰지입니다. 풀의 유동성이 작다면 해당 풀에서 스왑이 잘 일어나지 않을 것이고, 수수료 수익이 크지 않을 것이기 때문입니다.
이에 따라 Uniswap은 현재 각 풀의 유동성을 홈페이지 내에 제공하고 있는데, 블록체인 데이터베이스 내에서는 이 정보에 대한 직접적인 인덱싱을 제공하고 있지 않습니다. 그러면 Uniswap은 이 정보를 어떻게 가공해서 가져오는 걸까요?
Uniswap V3 상의 유동성 풀은 집중화된 유동성 형태이기 때문에, 가격에 따라 잘게 쪼개진 구간 별로 존재하는 유동성 정보를 모두 더해야 전체 유동성을 구할 수 있습니다. 그러나 Uniswap은 컨트랙트 내에서 풀 전체의 유동성을 트래킹하고 있지 않습니다. 아래 그림의 liquidity 라는 함수는 현재 가격 주변(현재 틱 구간)에 존재하는 유동성을 의미하므로, 이 정보를 통해 전체 유동성 정보를 알아낼 순 없습니다.
가능한 해결책은 다음의 두 가지를 생각해볼 수 있습니다.
- 먼저, 별도의 데이터베이스에 풀 전체 유동성 정보를 기록해두고 매 스왑, 유동성 공급 및 인출이 발생할 때마다 변경시키는 것입니다. 그러나 이를 위해선 백엔드에서 수많은 유동성 풀에 대한 정보를 모두 추적해야 하기 때문에 비용이 많이 드는 단점이 있습니다.
- 두 번째로, 이러한 블록체인 정보를 제공하는 중앙화된 써드 파티 솔루션을 사용할 수 있습니다. 이러한 솔루션의 경우 빠르고 비용이 저렴하지만, 써드 파티에 의존하기 때문에 데이터의 정확성을 보장할 수 없을 뿐더러, 단일 실패 지점의 문제로 인해 원활한 정보 제공을 보장할 수 없다는 문제가 있습니다.
정리하자면, Uniswap에서 필요한 데이터는 블록체인 데이터베이스에서 직접 인덱싱이 되어있지 않기 때문에 별도의 오프체인 인덱싱 과정을 거쳐야 합니다. 그러나 위에서 언급된 방식들은 각각 “높은 비용의 발생"과 “중앙화로 인한 단일 실패 지점 문제"라는 문제가 존재합니다.
1.2. The Graph의 메커니즘
The Graph는 이러한 문제점에 대한 해결책으로 등장한 프로젝트로, 탈중앙화 네트워크를 통해 데이터가 정확하고 안전하게 반환되는 것을 보장하는 블록체인 데이터 서비스입니다. The Graph는 어떤 데이터를 어떻게 인덱싱해야 하는지 정의하는 subgraph와, 블록체인 데이터를 요구하는 대로 처리해 저장해주는 인덱서(indexer)를 통한 블록체인 오픈 데이터 마켓을 형성합니다.
The Graph에서 정보가 처리되는 과정을 위 Uniswap V3의 사례를 통해 설명하면 다음과 같습니다.
- Uniswap은 V3 내 풀의 유동성 정보를 트래킹할 수 있도록 subgraph를 작성합니다. Subgraph는 블록체인 스마트 컨트랙트 내에서 발생하는 이벤트 정보를 수집해 가공하는 일종의 "코드 조각"으로, 다음과 같은 과정을 통해 풀의 유동성 정보를 추적합니다.
- 풀 생성 시 발생하는 이벤트를 읽어 해당 풀의 정보를 데이터베이스에 추가합니다.
- 지정된 이벤트가 발생했을 때, 이를 포착하고 이벤트를 읽어 해당 풀의 정보를 업데이트합니다. 예를 들어 풀 A에 10 ETH 만큼의 유동성 공급이 일어나면, 풀 A의 유동성을 10 ETH만큼 증가시킵니다.
- 그 후 데이터베이스에 정리된 정보를 API 엔드포인트 형태로 제공합니다.
- Uniswap은 이 subgraph에 대해 인덱싱을 요청합니다. 그러면 인덱서가 과거 블록들을 쭉 훑으며 이 유동성 정보를 subgraph에 적힌 대로 수집 및 가공하기 시작합니다. 인덱서는 이 정보를 별도의 데이터베이스에 저장하고, 요청이 오면 데이터를 반환할 수 있는 엔드포인트를 만들어 둡니다.
- 이 작업이 현재 블록까지 계속되어 인덱싱이 완료되면, Uniswap은 인덱서가 제공하는 subgraph의 API를 통해 정보를 받을 수 있습니다. 그리고 인덱서는 프로토콜 인플레이션으로 주어지는 GRT 보상과 더불어, Uniswap이 쿼리를 보낼 때마다 GRT 수수료를 받을 수 있습니다.
1.3. 데이터 플랫폼의 중앙화로 발생하는 문제점
여기까지는 일반적인 써드 파티 데이터 플랫폼과 구조가 크게 다르지 않기 때문에, 다음과 같은 의문이 생길 수 있습니다.
- 데이터의 정확성을 보장할 수 있는가?
만약 인덱서가 잘못된 데이터를 제공하거나 인덱서 성능이 기대 이하일 경우, 해당 인덱서에 의존하는 디앱은 손실을 입을 수 있습니다. 따라서 중앙화된 데이터 제공자의 경우, 디앱은 해당 제공자를 신뢰해야 합니다. - 악의적인 subgraph를 막을 수 있는가?
반대로 인덱서 입장에서도 dApp을 믿어야 합니다. 인덱서는 보통 subgraph에 대한 데이터베이스를 생성하기 위해 몇 년 전의 블록 이벤트를 추적 및 수집하는데, 이는 인덱서의 작업 중 가장 많은 컴퓨팅 리소스를 소모하는 작업입니다. 그런데 만약 dApp이 쓸모없는 subgraph 코드를 작성한다면, 인덱서는 컴퓨팅 리소스를 의미 없이 소모하게 됩니다. 이러한 상황이 지속되면 인덱서는 누적되는 손해로 더 이상 작업을 할 수 없게 됩니다.
The Graph는 이러한 신뢰 구조에서 발생하는 문제점들을 해결할 수 있는 방법을 제시하고 있습니다. 구체적인 메커니즘은 다음과 같습니다.
2. The Graph가 빠르고 안전한 데이터 검색을 보장하는 방법
2.1. GRT 유틸리티와 참여자들
The Graph는 ERC-20 표준의 유틸리티 토큰인 GRT를 중심으로 프로토콜을 운용하며, GRT는 다음과 같은 역할을 가지고 있습니다.
- 스테이킹(Staking): 인덱서(Indexer)는 인덱싱 및 쿼리 서비스를 제공하기 위해 GRT를 스테이킹합니다.
- 위임(Delegation): 위임자들은 기존의 인덱서에게 GRT를 위임하여 쿼리 수수료와 인덱싱 보상의 일부를 얻습니다.
- 지불(Payment): 소비자(개발자)들은 인덱서, 큐레이터(Curator) 및 위임자에게 subgraph 쿼리를 위해 GRT를 지불합니다.
- 보상(Reward): 인덱서와 위임자는 GRT를 통해 인덱싱 보상을 얻습니다.
생태계 참여자들은 위와 같은 유틸리티를 가지는 GRT를 중심으로 행동하며, 각 참여자들의 역할은 다음과 같이 구분됩니다.
- 개발자(Developer): The Graph 네트워크에서 소비자로 활동하는 참여자입니다. Subgraph를 만들고 The Graph 네트워크에 배포하여 인덱싱을 요청합니다. The Graph 네트워크에서 처리된 데이터를 이용하고 네트워크에 GRT로 비용을 지불합니다.
- 인덱서(Indexer): 인덱서는 The Graph 네트워크 상에서 인덱싱과 쿼리 처리 서비스를 제공하는 노드 운영자를 말합니다. 인덱서가 되기 위해 일정 규모의 GRT를 스테이킹해야 하며(현재 10만 개), 큐레이터의 curation signal을 참고하여 subgraph를 선택하고 인덱싱을 수행합니다.
- 큐레이터(Curator): 큐레이터는 subgraph의 품질을 평가하고 인덱싱해야 할 subgraph를 선별하는 역할을 수행합니다.
- 위임자(Delegator): 위임자는 인덱서에게 GRT를 위임하는 네트워크 참여자입니다. 그래프 네트워크에 스테이킹되는 GRT 지분을 늘림으로써 네트워크 보안에 기여하며, GRT를 위임한 인덱서가 수령하는 프로토콜 수익을 공유합니다.
The Graph 네트워크 상에서 GRT는 좋은 subgraph 및 뛰어난 인덱서를 선별하는 신호를 생성하는 역할을 수행하는 동시에, 이들로부터 발생한 수익과 부가가치가 생태계 참여자들에게 GRT 보상으로 분배됩니다. 이렇게 형성된 The Graph의 탈중앙 데이터 마켓플레이스는 dApp 등의 데이터 인덱싱 수요를 소화하고, 이에 대한 비용 또한 GRT로 청구합니다.
이렇듯 The Grpah 네트워크는 GRT 중심의 토크노믹스를 형성함으로써 소비자에게 안전하고 좋은 퀄리티의 데이터 인덱싱 서비스를 제공하고 있습니다. 이하에서는 네트워크 참여자인 인덱서, 큐레이터, 위임자의 역할과 기능을 알아보면서 네트워크 메커니즘을 자세히 파악해보겠습니다.
2.2. 인덱서
앞서 설명했듯이 인덱서는 The Graph 네트워크 상의 노드 운영자로 큐레이터의 시그널에 따라 subgraph를 선택하고 인덱싱을 수행합니다. 현재 최소 10만 개의 GRT를 스테이킹해야 인덱서로 활동할 수 있으며, 해당 스테이킹 지분은 인덱서가 악의적인 행동을 할 경우 슬래싱당할 수 있어 일종의 보증금 역할을 수행합니다.
인덱서는 인덱싱에 대한 보상으로 프로토콜 인플레이션의 3%(2023년 기준 2.7%)와 요청된 쿼리에 대한 GRT 수수료를 받습니다. 전자의 프로토콜 인플레이션을 받기 위해 인덱서들은 각각 본인이 인덱싱을 잘 하고 있다는 증명인 Proof of Indexing(POI)를 생성합니다.
여기서 인덱서가 잘못된 데이터를 반환하거나 인덱싱을 하지 않음에도 POI를 생성하는 것을 방지하기 위해, The Graph는 분쟁(dispute) 제도를 적용하고 있습니다. 네트워크 내 누구나 인덱서가 쿼리에 대해 반환하는 데이터에 대해선 7 에포크(7일), 인덱서의 POI에 대해서는 28 에포크(28일) 길이의 분쟁을 신청할 수 있습니다. 여기서 분쟁을 신청하는 사람을 Fisherman이라고 부릅니다. 분쟁은 다음과 같은 과정을 거쳐 이루어집니다.
- Fisherman은 잘못된 쿼리나 POI에 대해 분쟁을 신청하고 10,000개의 GRT를 락업합니다.
- 만약 인덱서가 잘못한 것이 없다고 밝혀질 경우, Fisherman이 락업한 GRT는 모두 소각됩니다.
- 만약 인덱서가 잘못했다고 밝혀지면, 해당 인덱서는 슬래싱되고 Fisherman은 슬래싱된 GRT의 절반을 가질 수 있게 됩니다.
이는 Optimistic Rollup에서 사용되는 챌린지와 굉장히 유사한 구조로, 인덱서의 올바른 행동을 가정하고 낙관적으로 접근하는 방식입니다.
2.3. 큐레이터
(참고: Graph 생태계는 큐레이션 메커니즘을 개선하기 위해 적극적으로 노력하고 있습니다. 최신 업데이트 정보는 포럼 게시물을 참조하는 것이 더 정확합니다.)
누구든 제한없이 subgraph를 생성할 수 있기 때문에, 쓸모없는 subgraph가 생성되어 인덱서들이 피해를 볼 수 있는 상황이 발생할 수 있습니다. The Graph는 이러한 결점을 극복하고 dApp과 인덱서 간에 무신뢰 환경을 조성하기 위해, 큐레이터(Curator)라는 네트워크 참여자를 추가로 도입하였습니다.
큐레이터는 subgraph의 품질을 평가하고, 그 결과인 시그널을 인덱서에게 전송하는 역할을 수행합니다. 여기서 subgraph의 품질은 다음의 조건들을 충족할수록 더욱 좋게 평가됩니다.
- 쿼리 빈도가 높아 많은 수입을 창출하는 subgraph
- 데이터베이스 형성 시 오류가 발생하지 않는 subgraph
- 프로토콜이 공식적으로 생성한 subgraph
subgraph가 네트워크에 배포되면, 큐레이터는 이러한 정보들을 파악하여 좋은 subgraph에 GRT를 스테이킹합니다. 이를 “시그널을 날린다”라고 표현합니다. 이를 통해 큐레이터는 인덱서에게 가치 있고 신뢰할 수 있는 서브그래프에 대한 정보를 제공하고, The Graph 네트워크의 전반적인 무결성과 효율성을 보장하는 데 중요한 역할을 합니다.
시그널이 얼마나 많이 보내졌는가, 즉 특정 subgraph에 GRT가 얼마나 많이 스테이킹되었는가를 통해 유용한 subgraph를 식별하고 인센티브를 부여할 수 있습니다. 또한, 큐레이터들의 빠르고 올바른 subgraph 검증을 유도하기 위한 다음 두 가지 장치가 네트워크 상에서 작동합니다.
- GRT를 이용한 인센티브
- 큐레이터들은 본인이 큐레이팅한 subgraph에서 발생하는 쿼리 수수료의 10%(거버넌스를 통해 변동 가능)를 보상으로 수령하며, 큐레이터 각각은 자신의 subgraph의 점유율에 비례하여 보상을 수령
- Subgraph에 문제가 생겨 재배포해야 하는 상황이 생길 경우, 큐레이터가 스테이킹한 GRT에서 migration fee가 차감
- 위 두 가지 요인으로 인해 큐레이터는 쿼리가 많이 발생하고 품질 이슈가 없는 subgraph에 GRT를 스테이킹하여 시그널을 보내도록 유도됨
- Graph Curation Shares
- 큐레이터가 시그널을 보내기 위해 GRT를 스테이킹하면, 이들은 해당 subgraph에 대한 주식(share)을 수령하며, 이 주식은 Graph Curation Shares(GCS)라는 ERC-20 토큰으로 표시됨
- 그래프 프로토콜은 현재 L1(이더리움)과 L2(아비트럼)에 모두 존재하므로 큐레이션 메커니즘은 이 두 계층에서 서로 다르게 작동
- L1에서는 각 서브그래프에 스테이킹된 GRT의 양에 비례하여 GCS의 가격이 상승하며, 이 가격 그래프는 Bancor의 본딩 곡선을 사용하여 구현
- L2에서는 본딩 곡선이 평평하여, 주가가 기하급수적으로 상승하지 않음
- 큐레이터에게 슬래싱 위험은 존재하지 않지만, subgraph에 대한 부적절한 평가를 방지하기 위해 GRT 스테이킹 시 1%의 예치세를 부과
- GCS를 소각하여 GRT를 돌려받을 수 있으며, 이때 돌려받는 GRT의 양은 본딩 커브 상에서 결정됨
이러한 메커니즘을 통해 큐레이터는 고품질의 subgraph를 빠르게 식별하고 스테이킹하려는 인센티브를 얻게 됩니다. 이는 또한 유용한 subgraph의 생성을 장려하여, 디앱과 인덱서 간의 무신뢰 환경을 조성하는 데 기여합니다. 이러한 장치는 네트워크 내의 리소스가 효율적이고 안정적으로 할당되도록 만듭니다.
2.4. 위임자
위임자는 인덱서에게 GRT를 위임하는 네트워크 참여자로, 직접 그래프 노드를 운영하지 않고도 네트워크 보안에 기여합니다. 일종의 DPoS 구조처럼 노드를 운영하지 않은 사람들도 인덱서에 GRT를 맡기고 쿼리 수수료와 보상의 일부를 가져갈 수 있는 형태로, 인덱싱 등 관련 전문 지식이 없는 일반 유저들이 위임자로 활동하면서 그래프 네트워크를 통해 수익 활동을 전개할 수 있습니다.
인덱서가 처리할 수 있는 쿼리의 양은 인덱서가 스테이킹한 GRT의 양과 위임받은 지분의 합에 비례하여 늘어납니다. 또한 하나의 subgraph에 대해서도 여러 인덱서가 인덱싱을 수행할 수 있는데, 리베이트 메커니즘을 통해 인덱서들은 그들이 처리하고자 하는 쿼리의 양에 비례하여 지분과 위임량을 보유하도록 인센티브를 받습니다.
2.4.1. How to Delegate
다음의 간단한 절차를 수행함으로써 보유한 GRT를 인덱서에게 위임하여 위임자가 될 수 있습니다.
- The Graph 공식 익스플로러인 Graph Exlplorer의 Participants 탭으로 접속(링크)
- ‘Connect’ 버튼 클릭하여 메타마스크 등 지갑 연결(위 이미지 중 ①)
- GRT 위임 원하는 인덱서 찾아 ‘Delegate’ 버튼 클릭하여 보유한 GRT 위임하기(위 이미지 중 ②, ③)
GRT 위임 시 위임자가 고려해야 할 슬래싱 위험은 없지만, 위임 시마다 0.5%의 세금이 부과되며 위임한 토큰을 인출하려고 할때 28일의 위임 해제 기간이 소요되는 사실을 인지해야 합니다.
2.4.2. How to Choose Indexers
위임자가 특정 인덱서에게 GRT를 위임한다면, 해당 인덱서가 설정한 매개 변수 값에 따라 위임자의 수익성이 결정됩니다. 따라서 위임자는 GRT 위임 시 수익성, 그리고 안정성이 높은 인덱서를 선택하는 방법에 대해 고려해야 합니다. 이하에서는 인덱서를 선별할 때 고려해야 할 사항에 대해서 논해보겠습니다.
위 이미지는 글 작성 시점인 1월 16일 현재, 아비트럼 체인에서 가장 큰 GRT 스테이킹 규모를 기록하고 있는 p2p.org의 인덱서 대시보드 화면입니다. 해당 대시보드에서 주목해야 할 영역을 ①, ②, ③으로 구분하였습니다.
[ ① Stake ]
스테이킹 현황을 살펴볼 수 있는 ① 영역에서 보이는 각 지표의 의미는 다음과 같습니다.
- Owned: 인덱서 자신이 직접 스테이킹한 GRT 규모를 나타냅니다. 최소 10만 개의 GRT를 스테이킹해야 인덱서로 활동할 수 있습니다.
- Delegated: 위임자들로부터 위임받은 GRT 규모를 나타냅니다.
- Allocated/Unallocated: 인덱서가 보유한 GRT 스테이크 지분 중 어느 정도가 subgraph에 할당되었는지를 알려주는 지표입니다.
- 차트: GRT 스테이킹 규모의 성장 추이를 나타냅니다.
따라서, 예시 상의 인덱서는 29.1M의 GRT를 직접 스테이킹하였으며 270.4M의 GRT를 위임받았습니다. 총 299.5M의 지분 중 298.23M의 GRT가 subgraph에 할당되어 수익 발생에 사용되고 있으며, 1.28M의 GRT는 아직 할당되지 않은 것을 알 수 있습니다.
[ ② Delegation ]
② 영역은 위임 현황을 확인할 수 있는 “Delegation” 섹션과 위임자가 수익성 판단에 참고할 수 있는 “Delegation parameters” 섹션으로 구분할 수 있습니다. 먼저 Delegation 섹션에서 보이는 각 지표의 의미는 다음과 같습니다.
- Delegation Received: 해당 인덱서가 이미 위임 받은 GRT 규모를 나타냅니다.
- Max Capacity: 해당 인덱서가 운용할 수 있는 최대 GRT 스테이킹 규모를 나타냅니다. 현재 각 인덱서는 직접 스테이킹한 지분(Owned)의 16배에 달하는 GRT를 운용할 수 있습니다.
- Delegation Available: 현재 해당 인덱서가 추가로 위임받을 수 있는 GRT 규모를 나타냅니다.
이에 따라,
(Max Capacity) - (Delegation Received) = (Delegation Available)
가 성립함을 알 수 있습니다. 간혹 'Delegation Available' 수치가 음수로 표기되는 경우가 있는데 이는 인덱서가 운용 가능한 규모를 넘어 GRT가 과도하게 위임되어 발생하는 것으로, 위임된 GRT 중 일부가 인덱싱 과정에 할당되지 못해 수익성 악화 요인으로 작용할 수 있습니다.
다음은 Delegation parameters에서 보이는 각 지표의 의미입니다.
- Indexing Reward Cut: 총 인덱싱 보상 규모 중 인덱서가 수령해가는 비율을 의미합니다.
- Query Fee Cut: 총 쿼리 보상 규모 중 인덱서가 수령해가는 비율을 의미합니다.
- Cooldown Remaining(현재 사용 중단): 인덱서가 Delegation parameter를 수정할 수 있을때까지 걸리는 기간을 의미합니다. 인덱서가 한번 parameter를 수정하면 일정 기간동안 다시 수정할 수 없으며, Cooldown Remaining 지표가 “0 Days”로 바뀐 이후에 수정할 수 있습니다.
- Effective Reward Cut: 위임된 GRT 지분이 발생시킨 인덱싱 보상 규모 중 인덱서가 수령해가는 비율을 의미합니다. 이 지표가 음수라면, 인덱서가 위임자에게 인센티브를 지급하고 있는 것과 동일한 효과를 가집니다.
“Effective Reward Cut” 지표의 이해를 위해 예시를 들면 다음과 같습니다.
인덱서 보상은 인덱서의 스테이킹 규모에서 발생한다고 할 수 있습니다. 예를 들어 하루 인덱싱 보상의 규모가 100 GRT이고, 인덱서의 스테이킹 규모가 200 GRT, 위임된 물량이 800 GRT(지분 비율 = 2:8 )라면, 인덱싱 보상 중 20 GRT는 인덱서의 스테이킹 지분이 발생시킨 보상이며, 80 GRT는 위임된 지분이 발생시킨 보상이라고 할 수 있습니다. 이때, “Indexing Reward Cut”이 10%로 설정되어 있다면, 인덱싱 보상 중 인덱서가 실제로 수령하는 규모는 10 GRT이며, 나머지 90 GRT는 위임자의 몫이 됩니다.
위임자는 자신들의 지분이 발생시킨 인덱싱 보상보다 더 많은 보상을 수령한 것이며, 이는 비율 상 112.5%(90/80)의 보상을 받은 것이며 12.5%의 보상을 더 수령했다고 표현할 수 있습니다. 이것을 인덱서의 입장에서 해석한다면, 위임 지분이 발생시킨 보상 규모 중 12.5%만큼의 보상을 자신의 몫에서 떼어준 것이므로, “Effectvie Reward Cut” 즉, 인덱서 보상 삭감분은 -12.5%가 됩니다.
따라서 이 지표가 양수라면, 인덱서는 위임 지분이 발생시킨 인덱싱 보상 규모 중 일부를 수령해가는 것이며, 이 지표가 음수라면, 인덱서는 자신의 지분이 발생시킨 인덱싱 보상 규모 중 일부를 위임자들에게 인센티브로 지급하고 있는 것이라고 할 수 있습니다. 더 자세한 설명은 The Graph Academy의 관련 설명을 참조해주시기 바랍니다.
예시 상의 인덱서는 총 쿼리 수수료의 89%를 수령하는 한편, 총 인덱싱 보상의 20%를 수령하는데, 이는 위임된 GRT 지분이 발생시키는 인덱싱 보상 중 11.39%의 보상을 가져가고 있음을 알 수 있습니다.
[ ③ Income ]
③ 영역은 해당 인덱서가 벌어들이는 보상 규모에 대한 내용을 담고 있습니다. 각 지표의 의미는 다음과 같습니다.
- Indexing Rewards: 총 인덱싱 보상 중 인덱서가 수령하는 GRT 규모를 나타냅니다.
- Delegator Rewards: 총 인덱싱 보상 중 위임자가 수령하는 GRT 규모를 나타냅니다.
- Indexing Rewards(Bold): 총 인덱싱 보상 규모를 나타냅니다.
- Indexer Query Fees: 총 쿼리 수수료 중 인덱서가 수령하는 GRT 규모를 나타냅니다.
- Delegator Query Fees: 총 쿼리 수수료 중 위임자가 수령하는 GRT 규모를 나타냅니다.
- Query Fees: 총 쿼리 수수료 규모를 나타냅니다.
예시 상의 인덱서는 총 9.65M GRT의 인덱싱 보상과 1.21K GRT의 쿼리 수수료 보상을 수령하여 9.7M GRT의 보상을 수령했음을 알 수 있습니다.
Graph Explorer에서는 상기한 지표들을 종합하여 유저가 GRT 위임 시의 Estimated APR(예상 수익률)을 보여주고 있습니다. 쿼리 수수료를 제외한 인덱싱 보상 수익률이지만, The Graph 네트워크 에서 발생하는 보상의 대부분이 인덱싱 보상인 것을 감안한다면 신뢰도가 높은 지표라고 할 수 있습니다. 다만, 해당 지표는 일일 데이터 기반으로 산정되어 변동 가능하다는 점에 유의해야 하며, 인덱서의 총 지분 규모 및 위임 비율 등 여러 지표들을 종합적으로 고려하여 인덱서를 선택하는 것이 바람직합니다.
3. The Graph 성장 지표
3.1. Overview
The Graph의 대표적인 사용 사례는 사용자들에게 dApp의 메트릭을 제공하는 것입니다. 위와 같이 Uniswap V3 풀의 유동성 정보가 필요할 때, The Graph에 배포된 subgraph에 호출을 날려 데이터를 받아옵니다.
이와 같이 현재 The Graph에 subgraph를 배포한 dApp으로는 대표적으로 Vela Exchange, Ether.fi, Snapshot, Dolomite 등이 있습니다.
- Vela Exchange: 탈중앙 파생상품 거래소로 미결제약정, 입출금 등과 같은 거래 활동에 대한 데이터를 인덱싱하고 쿼리하기 위해 The Graph를 이용
- Ether.fi: 탈중앙 유동성 스테이킹 플랫폼으로 프로토콜 컨트랙트의 이벤트를 추적하고 쿼리할 수 있도록 하기 위해 The Graph를 이용
- Snapshot: 탈중앙 투표 및 거버넌스 플랫폼으로 투표 및 프로포절 데이터에 접근하기 위해 The Graph를 이용
- Dolomite: 탈중앙 머니 마켓 및 DEX로 프로토콜의 상태를 인덱싱하기 위해 The Graph를 이용
여러 대시보드에서도 The Graph의 서비스를 사용하고 있는데, 대표적인 DeFi 대시보드 서비스인 DefiLlama에서 많은 dApp들이 TVL 및 볼륨 정보를 subgraph 형태로 만들어 DefiLlama에 제공합니다.
The Graph는 이러한 기술을 바탕으로 신뢰할 수 있는 데이터 인덱싱 플랫폼 역할을 수행해왔으며, 지금까지 1조 개 이상의 쿼리를 성공적으로 제공하였고, 2024년 1월 기준 약 1,700개 내외의 subgraph가 지속적으로 쿼리를 발생시키고 있습니다.
The Graph에서 발생하는 위임의 숫자도 2023년 3분기부터 크게 증가했는데, The Graph의 트윗에 따르면, 코인베이스 월렛에서 실시한 GRT 위임 캠페인의 영향이 큰 것으로 보입니다. 실제로 이 캠페인을 통해 3만 명이 넘는 새로운 위임자들이 The Graph 네트워크로 편입되었으며, 캠페인 실시 이후에도 네트워크 상에서 발생하는 주별 총 위임의 수가 어느정도 유지되는 것으로 보아 네트워크 참여자 수가 유의미하게 증가했다고 평가할 수 있습니다. 이는 메사리에서 발표한 The Graph 3분기 보고서에서는 이러한 성장 추이를 더욱 자세히 찾아볼 수 있습니다.
큐레이터는 5%의 완만한 성장을 보인 반면, 위임자 수는 2023년 3분기에 247% 증가했습니다. 위임자 수가 2023년 2분기 11,500명에서 2023년 3분기 거의 40,000명으로 증가한 것은 Coinbase 수익 창출 캠페인 덕분입니다. 2023년 3분기가 끝나기 전에 약 25,000명의 새로운 위임자가 Coinbase 적립 캠페인에 참여했습니다. 이러한 새로운 참가자들은 2023년 3분기 말까지 위임에 약 620만 GRT를 추가했으며 캠페인을 통해 약 430만 GRT를 지급 받았습니다. 2023년 2분기에는 Arbitrum에 114명의 위임자가 있었지만, 2023년 3분기에는 Arbitrum에 28,000명 이상의 위임자가 있었으며 총 지분은 8억 GRT가 넘었습니다. 동시에 이더리움의 위임자는 2023년 3분기에 11,500명으로 안정적으로 유지되었으며 총 지분은 11억 GRT였습니다. — “The Graph Quarterly Reports Q3 2023, Mihai Grigore, Messari” 중 일부 발췌
3.2. 아비트럼으로의 확장
The Graph는 이더리움 네트워크를 기반으로 시작했기 때문에, 네트워크 혼잡도 증가와 트랜잭션 수수료의 폭등은 The Graph 네트워크의 비효율을 발생시키는 주요 요인으로 작용할 수 밖에 없습니다. 이러한 문제 의식 하에서 The Graph는 이더리움 레이어 2 프로젝트인 아비트럼(Arbitrum)으로의 체인 확장을 추진하였고, 2023년 4월, 네트워크에서 발생하는 인덱싱 보상의 5%를 아비트럼 체인에 할당(관련 트윗)했습니다.
이후 아비트럼 체인에 할당되는 인덱싱 보상을 95%까지 증가시키자는 프로포절인 GIP-0052가 제기되었고, 커뮤니티 논의를 거쳐 3번의 거버넌스 카운슬 투표를 통해 단계적으로 아비트럼 체인으로의 인덱싱 보상 할당 확대가 이루어졌습니다. 최종적으로는 아비트럼 체인에 100%의 인덱싱 보상이 할당될 예정에 있습니다. 이러한 전략적 움직임은 효율적이고 저렴한 트랜잭션 처리를 실현하는 아비트럼의 특성을 활용하여 The Graph 네트워크의 전반적인 기능과 성능을 향상시키는 것을 목표로 했습니다.
- GIP-0052 상세 내용
- GGP-0029: Increase L2 Rewards to 25%
- GGP-0030: Increase L2 Rewards to 50%
- GGP-0033: Increase L2 rewards to 95%
인덱싱 보상의 25% 및 50% 할당은 2023년 9월에 이루어졌으며, 95% 할당은 12월에 카운슬 투표를 통과하여 적용되었습니다. 위 그래프에서 볼 수 있듯이 아비트럼 체인에서 발생하는 위임자 대상 인덱싱 보상은 9월부터 본격적으로 증가하기 시작하여 점점 증가하고 있는 모습을 보여주고 있습니다. 이에 따라 상당 수의 인덱서, 큐레이터, 위임자들이 아비트럼 체인으로 이주를 진행하고 있으며, 현재 The Graph 네트워크에서 이더리움과 아비트럼의 점유율 현황은 아래 표와 같습니다.
4. 마치며
The Graph는 인덱서와 큐레이터, 그리고 위임자로 구성된 탈중앙화 네트워크를 통해 블록체인 데이터를 안전하고 정확하게 받아올 수 있는 프로토콜입니다. 지금까지 The Graph는 dApp들이 필요한 정보들을 인덱싱하는 데에 주로 사용되어 왔으며, 총 1조 번 이상의 쿼리를 성공적으로 처리하였습니다. 오랜 기간 블록체인 생태계의 대표 데이터 인프라 프로토콜로 자리잡았으며, 그 안정성을 입증하였음에도 불구하고 확장성 개선을 위해 끊임없이 진화하고 있습니다.
또한, 최근 모듈러 방식의 체인 런칭이 보편화되면서 이전보다 네트워크와 블록체인 프로덕트의 등장이 급증하고 있는 상황이 전개되고 있습니다. 자연스럽게 The Graph가 제공하는 데이터 인덱싱 서비스에 대한 새로운 수요가 창출될 것으로 기대할 수 있습니다.
이러한 상황 변화에 발맞춰 더 높은 성능의 인덱싱 서비스를 제공하는 동시에, 블록체인 데이터에 대한 접근성 확장을 위해 2023년 11월, The Graph는 새로운 로드맵을 발표하기도 하였습니다. 지난해 아비트럼으로의 확장을 통해 네트워크 효율성 개선을 꾀했던 The Graph는 또 어떤 청사진을 그리고 있을까요? 다음 아티클은 이 새로운 로드맵이 담고 있는 내용에 집중해보겠습니다.
참고자료
- The Graph Docs
- Graph Explorer
- Juan Defago, Evaluating an Indexers Effective Cut, The Graph Academy
- Mannan Inandar, The Graph Ecosystem Overview
- Mihai Grigore, The Graph Quarterly Reports Q3 2023, Messari
- Pablo, GIP-0052
- pcarranzav, gips/0052-timeline-and-requirements-for-l2-rewards.md
- The Graph Council snapshot
- Realchoubey, Graph Network - Revenue Dashboard
- The Graph tweet