本人之前开发有使用过 theGraph,非常好用且便宜,但一直没明白内部原理,这次就带着大家一块学习一下。

要弄懂 theGraph,就必须先懂一个概念叫做“索引”,对于学过数据库 SQL 的朋友这个很好理解,对于小白来说可以这样举个例子:

字典查字,你不可能每次查一个字的时候把字典前后翻一遍,而是先找拼音或者偏旁定位到页码,再去找出来这个字。这样极大的提升了你的查字效率。

对于区块链来说是一样的,程序要使用链上的具体数据,区块链可以提供“张三总共剩下多少钱的数据”,但是不能直接提供张三上个月花了多少钱的数据。

要知道“张三上个月总共花了多少钱”,就要把整个链从前到后翻一遍成本太大,那么 theGraph 就扮演了这样一个数据“拼音”和“偏旁”的角色,协助程序更好的抓取这种聚合数据。

因此可以说 theGraph 基本上是面向开发者和链上科学家的一个项目,普通 web3 用户基本接触不到,但是它无处不在,也十分重要。

TL;DR

theGraph 作为区块链的数据提供商在 2020 年 defi summer 中势头很猛。

但项目整体的收益因为收费低的问题一直非常低迷,同时代币的数量也一直在增长,这无疑对代币的价格是个副作用。

现在项目方将技术扩展到 solana 等区块链上。

与此同时,theGraph 拥有 Bitquery、Covalent、Quicknode、Moralis等等竞争对手,虽然 theGraph 的表现已经很好,但是持续的低费竞争让其项目收入非常少。

在未来 web3 的世界中 ,theGraph 的目标是将所有链上数据做大集合,以向所有用户提供类似于 百度、Google 和 Chatgpt 的查询服务,目标可以说是非常宏大,但能否实现需要等待时间来验证。

详情如下:

1⃣项目的产品结构

一、子图(subgraph),子图是需要开发者创建的

子图包括:

1、要监控的智能合约和其事件(events)

2、事件 events 是以太坊虚拟机(EVM)日志基础设施提供的一个便利接口,相当于链上记录的流水账。

3、GraphQL API:输入查询的 SQL 语句进行查询,和 MongoDB 数据库 SQL 语句很像,类似 nosql 的形式。

二、索引器,由索引者运行

包括 Graph Node 节点与 WASM 映射模块

关于WASM:webassembly.org

具体的业务流程如下

1、一个 dapp 通过智能合约上的交易向以太坊添加数据。

2、智能合约在处理交易时,会发出一个或多个事件。

3、Graph Node 不断扫描以太坊的新区块和它们可能包含的子图的数据。

4、Graph Node 在这些区块中为开发者编写的子图找到以太坊事件并运行开发者提供的映射处理程序。 映射是一个 WASM 模块,它创建或更新 Graph Node存储的数据实体,以响应以太坊事件。

5、去中心化的应用程序使用 Graph Node 的 GraphQL API,从区块链的索引中查询 Graph Node 的数据。 Graph Node 反过来将 GraphQL 查询转化为对其底层数据存储的查询,以便利用存储的索引功能来获取这些数据。

2⃣根据上述就不难理解在开发者创建子图的时候要指定一下内容:

协议:选择子图将从中索引数据的协议

子图 slug:为子图创建一个名称。子图 slug 是子图的标识符。

目录:选择要在其中创建子图的目录。

以太坊网络(可选二层或者主网或者测试网):可能需要指定子图将从哪个 EVM 兼容网络索引数据。

智能合约地址:找到要从中查询数据的智能合约地址。

智能合约名称:输入智能合约名称。

ABI:如果 ABI 未自动填充,则需要将其作为 JSON 文件手动输入。(合约代码)

开始区块:应该输入起始块以优化区块链数据的子图索引。通过查找部署了 Contract 的区块来找到起始区块。

将合约事件作为实体进行索引:建议将此设置为 true,因为它会自动为每个发出的事件添加映射到子图。

之前子图只支持 EVM 网络,随着版本更新,theGraph 推出了子流 substream,使用 rust 语言并行化引擎缩短了子图索引时间,并且支持支持 Solana等生态系统,同时可与 Postgres 、 Clickhouse、MongoDB 等传统数据库集成。

3⃣项目有 4 个具体角色:

1、开发者:就是创建和维护子图的人员,开发者每月可以进行 100,000 次查询,多的使用 $GRT 或者银行卡支付索引器费用,每 10w 次查询 2 美元,以此类推。

2、索引者:质押 $GRT 以获取索引器运行的权力并获取 $GRT 奖励,当索引者提出的数据有误或者不及时,则会被惩罚。索引者最少需要质押 10w GRT 代币

3、委托者:将自己的 $GRT 委托给索引者,维护网络获取收益。

4、策展者:这个角色的作用是找到优秀高质量子图并标记它,促使索引者分配更多资源运行这个子图,策展者能帮助网络更好运行。

策展者能从索引者的收入中分一杯羹,但如果标记的子图质量有问题,则奖励更少。

策展者需要缴纳 $GRT 作为押金防止他们不作为。 策展者需要项目方审核之后才能当。

4⃣项目的现状是什么样的?

theGraph 目前支持 90+ 网络,包括以太坊生态、Solana等等,基本囊括了常见的所有链。

子图目前被创建了 10743 个,索引者质押的 Graph Node 有 100 +,委托者通过委托收获的 $GRT APY 为 10 - 20%,有 7.5 万多的项目使用 theGraph。

如图,2023 年协议收入 73w 美元,2024 年协议收入 124w 美元,但每年用在 token 激励上的钱达到千万级别,要比协议收入多的多,也就是说 theGraph 给索引者、委托者策展者的收益来自于项目的 token 增发。

5⃣theGraph 的未来之路,参考了 roadmap:

1、数据服务世界,除子图之外,可验证的 Firehose 为 EIP-4444 以及检索历史以太坊数据,AI LLM 的配合,和多链的数据互操作性

2、开发者工具更新好用的 UI UX,迁移至以太坊二层

3、持续优化索引器性能,使用新工具 Graphix 功能

4、互联数据形成新的知识图谱,利用 AI 工具最终实现真正去中心化的全球数据知识图谱

6⃣关于 theGraph 的代币经济学

初始代币供应量为 100 亿个 GRT,每年发行 3% 的新代币,以奖励索引者在子图上分配股份。这意味着 GRT 代币的总供应量将每年增加 3%,因为新代币会发行给索引者,以表彰他们对网络的贡献。

TheGraph 设计了多种销毁机制来抵消新代币的发行。每年大约有 1% 的 GRT 供应通过网络上的各种活动燃烧,并且随着网络活动的持续增长,这个数字一直在增加。

这些销毁活动包括:每当委托人将 GRT 委托给索引器时,需要缴纳 0.5% 的委托税,当 Curators 在子图上发出信号时,需要缴纳 1% 的押金,以及区块链数据查询费的 1%。

目前代币的总供应量为 107.9 亿,代币价格为 0.13 左右,市值 12 亿美元左右。

#ETH #SOL $GRT