본문 바로가기
기타 분야/블록체인

The Graph 란?

by 검은도자기 2021. 12. 9.

정의

블록체인에 등록된 데이터를 관리하기 위한 인덱싱 프로토콜

 

 

왜 이 기술이 나왔을까?

블록체인에서 스마트 계약에 작성된 데이터 정보를 비즈니스에 맞게 가공하는 게 예상보다 고려해야 할 부분들이 많습니다. 예를 들어 페이징 처리, 통계 정보 조회 등 디테일한 기능들을 스마트 계약에 추가할 순 있지만, 블록체인 네트워크에 지불할 수수료가 늘어나기 때문에 기능들을 추가하기엔 여러 가지 고려사항들이 많습니다. 이러한 문제들을 해결하기 위해 Graph에서 분산 프로토콜을 사용하는 The Graph를 만들었습니다.

 

 

동작 방식

  1. Dapp은 스마트 계약의 트랜잭션을 통해 이더리움에 데이터를 추가합니다.
  2. 스마트 계약은 트랜잭션을 처리하는 동안 하나 이상의 이벤트를 생성합니다.
  3. Graph Node는 이더리움에서 새 블록과 여기에 포함될 수 있는 하위 그래프에 대한 데이터를 지속적으로 검색합니다.
  4. 그래프 노드는 이 블록에서 하위 그래프에 대한 이더리움 이벤트를 찾고 제공한 매핑 핸들러를 실행합니다. 매핑은 이더리움 이벤트에 대한 응답으로 Graph Node가 저장하는 데이터 엔터티를 생성하거나 업데이트하는 WASM 모듈입니다.
  5. 분산 응용 프로그램은 노드의 GraphQL endpoint를 사용하여 블록체인에서 인덱싱 된 데이터에 대해 그래프 노드를 쿼리 합니다. Graph Node는 이 데이터를 가져오기 위해 GraphQL 쿼리를 기본 데이터 저장소에 대한 쿼리로 변환하여 저장소의 인덱싱 기능을 사용합니다. 분산형 애플리케이션은 이 데이터를 최종 사용자를 위한 풍부한 UI로 표시하며, 최종 사용자는 이 데이터를 사용하여 이더리움에서 새로운 거래를 발행합니다. 주기가 반복됩니다.

 

 

특징

  • 직접 조회하기 어려운 데이터를 조회할 수 있습니다.
  • 그래프 네트워크는 네트워크에 서비스를 제공하고 Web3 애플리케이션에 데이터를 제공하는 인덱서, 큐레이터 및 위임자로 구성됩니다.
  • GraphQL을 사용하여 하위 그래프라는 개방형 API를 쿼리 하여 네트워크에서 인덱싱 된 데이터를 검색할 수 있습니다.
  • 그래프 네트워크의 경제적 보안과 쿼리 되는 데이터의 무결성을 보장하기 위해 참가자는 그래프 토큰(GRT)을 스테이 킹 하고 사용합니다.
  • GRT는 네트워크에서 자원을 할당하는 데 사용되는 이더리움 블록체인의 ERC-20인 작업 토큰입니다.
  • 활성 인덱서, 큐레이터 및 위임자는 수행하는 작업의 양과 GRT 지분에 비례하여 네트워크에서 서비스를 제공하고 수입을 올릴 수 있습니다

 

 

마무리

오늘은 블록체인 네트워크인 the graph에 대해서 공부해봤습니다.

공부를 해보니 이더리움 네트워크를 사용하는 블록체인 회사라면 대부분 the graph를 사용하는 걸 알 수 있었고, 왜 이 기술을 쓰는지도 이해가 됩니다. 하지만 아직까진 나온 지 얼마 안 된 기술이라 자료도 많이 없고, 여러 가지 불편한 사항들이 존재하는 거 같습니다. 실제 프로덕션에 사용하려면 좀 더 여러 가지 사항들을 생각해보면 좋을 거 같습니다.

아직 부족하거나 틀린 부분이 있을 수도 있으니 주의하시면 좋을 거 같습니다.

이번 포스팅은 마무리하면서 다음 포스팅에서 뵙겠습니다.

 

 

참고

https://thegraph.com/en/

graphql, the graph

https://github.com/graphprotocol

'기타 분야 > 블록체인' 카테고리의 다른 글

ERC - 721과 ERC - 1155  (0) 2021.10.11
ERC-1155 란?  (0) 2021.10.05
NFT(Non-Fungible Token) 란?  (0) 2021.10.03
코인 vs 토큰 차이점  (1) 2021.08.28
블록체인(BlockChain)이란?  (1) 2021.08.21