정의
블록체인에 등록된 데이터를 관리하기 위한 인덱싱 프로토콜
왜 이 기술이 나왔을까?
블록체인에서 스마트 계약에 작성된 데이터 정보를 비즈니스에 맞게 가공하는 게 예상보다 고려해야 할 부분들이 많습니다. 예를 들어 페이징 처리, 통계 정보 조회 등 디테일한 기능들을 스마트 계약에 추가할 순 있지만, 블록체인 네트워크에 지불할 수수료가 늘어나기 때문에 기능들을 추가하기엔 여러 가지 고려사항들이 많습니다. 이러한 문제들을 해결하기 위해 Graph에서 분산 프로토콜을 사용하는 The Graph를 만들었습니다.
동작 방식
- Dapp은 스마트 계약의 트랜잭션을 통해 이더리움에 데이터를 추가합니다.
- 스마트 계약은 트랜잭션을 처리하는 동안 하나 이상의 이벤트를 생성합니다.
- Graph Node는 이더리움에서 새 블록과 여기에 포함될 수 있는 하위 그래프에 대한 데이터를 지속적으로 검색합니다.
- 그래프 노드는 이 블록에서 하위 그래프에 대한 이더리움 이벤트를 찾고 제공한 매핑 핸들러를 실행합니다. 매핑은 이더리움 이벤트에 대한 응답으로 Graph Node가 저장하는 데이터 엔터티를 생성하거나 업데이트하는 WASM 모듈입니다.
- 분산 응용 프로그램은 노드의 GraphQL endpoint를 사용하여 블록체인에서 인덱싱 된 데이터에 대해 그래프 노드를 쿼리 합니다. Graph Node는 이 데이터를 가져오기 위해 GraphQL 쿼리를 기본 데이터 저장소에 대한 쿼리로 변환하여 저장소의 인덱싱 기능을 사용합니다. 분산형 애플리케이션은 이 데이터를 최종 사용자를 위한 풍부한 UI로 표시하며, 최종 사용자는 이 데이터를 사용하여 이더리움에서 새로운 거래를 발행합니다. 주기가 반복됩니다.
특징
- 직접 조회하기 어려운 데이터를 조회할 수 있습니다.
- 그래프 네트워크는 네트워크에 서비스를 제공하고 Web3 애플리케이션에 데이터를 제공하는 인덱서, 큐레이터 및 위임자로 구성됩니다.
- GraphQL을 사용하여 하위 그래프라는 개방형 API를 쿼리 하여 네트워크에서 인덱싱 된 데이터를 검색할 수 있습니다.
- 그래프 네트워크의 경제적 보안과 쿼리 되는 데이터의 무결성을 보장하기 위해 참가자는 그래프 토큰(GRT)을 스테이 킹 하고 사용합니다.
- GRT는 네트워크에서 자원을 할당하는 데 사용되는 이더리움 블록체인의 ERC-20인 작업 토큰입니다.
- 활성 인덱서, 큐레이터 및 위임자는 수행하는 작업의 양과 GRT 지분에 비례하여 네트워크에서 서비스를 제공하고 수입을 올릴 수 있습니다
마무리
오늘은 블록체인 네트워크인 the graph에 대해서 공부해봤습니다.
공부를 해보니 이더리움 네트워크를 사용하는 블록체인 회사라면 대부분 the graph를 사용하는 걸 알 수 있었고, 왜 이 기술을 쓰는지도 이해가 됩니다. 하지만 아직까진 나온 지 얼마 안 된 기술이라 자료도 많이 없고, 여러 가지 불편한 사항들이 존재하는 거 같습니다. 실제 프로덕션에 사용하려면 좀 더 여러 가지 사항들을 생각해보면 좋을 거 같습니다.
아직 부족하거나 틀린 부분이 있을 수도 있으니 주의하시면 좋을 거 같습니다.
이번 포스팅은 마무리하면서 다음 포스팅에서 뵙겠습니다.
참고
'기타 분야 > 블록체인' 카테고리의 다른 글
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 |