The Graph Network

Graph Network是用于组织区块链数据的去中心化索引协议。应用程序使用GraphQL查询称为子图的开放API,以检索在网络上建立索引的数据。借助Graph,开发人员可以构建完全在公共基础架构上运行的无服务器应用程序。

本文由CryptoYC研究员攥写,仅代表个人观点,不做投资建议。

Graph网络由索引器,策展人和委托人组成, 并为网络提供服务并为Web3应用程序提供数据。

消费者使用应用程序并使用数据。

01Indexer(索引器)

索引器是Graph网络中的节点操作员,它们拥有Graph Tokens(GRT),以便提供索引和查询处理服务。索引器为其服务赚取查询费和索引奖励。他们还按照Staking功能从与他们的工作成比例的所有网络贡献者共享的返利池中获取收益。

Staking协议中的GRT受解冻期的限制,如果索引器是恶意的并且向应用程序提供了不正确的数据,或者索引不正确,则可以通过slash进行惩罚。

索引者也可以从委托人获得委派股份,以对网络做出贡献。

索引器根据子图的策展信号选择要索引的子图,策展人在其中分配GRT,以表明哪些子图是高质量的,应该对其进行优先级排序。

消费者(例如应用程序)还可以设置索引器为其子图处理查询的参数,并设置查询费用定价的首选项。

索引证明(POI)

网络中使用POI来验证索引器正在为其分配的子图建立索引。在关闭该分配的分配时,必须提交当前纪元的第一块的POI,才有资格获得索引奖励。每个块的POI是直至和包括该块的特定子图部署的所有实体存储事务的摘要。

索引奖励分发

分配在活跃期间不断获得奖励。奖励由索引器收集,并在分配结束时分配。

无论是在索引器要强制关闭它们时手动进行此操作,还是在28个epoch后委派代表都可以关闭索引器的分配,但这不会产生任何奖励。最大分配寿命为28个时期(目前,一个epoch持续约24小时)。

每当关闭分配并将其累积在子图的查询费用回扣池中时,网关就会收取查询费用。回扣池旨在鼓励索引器按照他们为网络赚取的查询费用的数量大致比例分配股份。

使用特定函数计算池中分配给特定索引器的查询费用部分;每个索引器的分配量取决于其对资源池的贡献以及其在子图上的权益分配。

一旦分配已结束且争议期已过,则可以由索引器索取收益。索偿后,根据查询费用削减和委托池比例将查询费用返还分配给索引器及其委托人。

索引器的收入来源

1. 查询费用分配

在网络上投放查询的费用。这些付款是通过索引器和网关之间的状态通道进行调解的。来自网关的每个查询请求都包含付款和相应的响应,以证明查询结果的有效性。

2. 索引奖励

通过每年3%的协议范围通货膨胀产生的索引奖励分配给索引该网络的子图部署的索引器。

收益分配规则

queryFeeCut和indexingRewardCut是委托者的参数,该索引人可以设置cooldownBlocks参数控制GRT的索引和他们的委托者之间的分配。

queryFeeCut-在子图上累积的查询费用回扣的百分比,该子图将分配给索引器。如果将其设置为95%,则在索取分配时,索引器将获得95%的查询费回扣池,其余5%则分配给委托人。

indexingRewardCut-在子图上累积的索引奖励的百分比,该百分比将分配给索引器。如果将其设置为95%,则在分配关闭时,索引器将获得95%的索引奖励池,而委托人将拆分其他5%。

索引器对于索引子图的选择

索引器可以通过应用高级技术来做出子图索引决策来使自己与众不同,但是为了给出一个总体思路,我们将讨论用于评估网络中子图的几个关键指标:

  1. 策展信号-网络中信号施加于一个特定的子图的比例是策展人对该子图兴趣的良好指标,特别是在当查询量迅速增加阶段。
  2. 收取的查询费用-为特定子图收取的查询费用量的历史数据可以很好地指示将来的需求。
  3. 分配量-监视其他索引器的行为或查看为特定子图分配的总股权比例可以使索引器监视供应方的子图查询,以识别网络中索引人对这些子图显示出更有信心的子图或有更多查询需求的子图。

索引人配置要求

  • 小型-足以开始为几个子图建立索引,可能需要扩展。
  • 标准-默认设置,部署清单中使用的设置。
  • 中型-生产索引器每秒支持100个子图和200–500个请求。
  • 大型-准备为所有当前使用的子图建立索引,并为相关流量提供服务。

基础设施 & 整体架构

  • 索引器基础结构的核心是Graph Node,该节点监控以太坊数据并按子图定义提取和加载数据,并将其用作GraphQL API的数据源。Graph节点需要连接到以太坊EVM endpoint和IPFS节点以获取数据;同时,使用PostgreSQL数据库进行数据存储;使用索引器组件以促进其与The Graph网络的交互。
  • PostgreSQL数据库- Graph Node的主存储,这是子图数据的存储位置。索引器服务(index service)和代理(index agent)还使用数据库存储状态通道数据,成本模型和索引规则。
  • 以太坊endpoint-公开以太坊JSON-RPC API的endpoint。这可以采用单个以太坊客户端的形式,也可以是更复杂的设置,以跨多个负载平衡。( 需要使用archive 模式)
  • IPFS节点-子图部署元数据存储在IPFS网络上。图节点主要在子图部署期间访问IPFS节点,以获取子图清单和所有链接的文件。网络索引器不需要托管自己的IPFS节点,该网络的IPFS节点托管在https://ipfs.network.thegraph.com。
  • 索引器服务-处理与网络的所有必需的外部通信。共享成本模型和索引状态,将查询请求从网关传递到Graph节点,并通过状态通道与网关一起管理查询付款。
  • 索引器代理-促进索引器在链上的交互,包括在网络上注册,管理子图到其图节点的部署以及token管理分配。
  • Prometheus指标服务器-“图节点”和“索引器”组件将其指标记录到指标服务器。

索引规则

索引规则既可以用作全局默认值,也可以使用其ID应用于特定的子图部署。该deployment和decisionBasis字段是强制性的,而所有其他字段都是可选的。

当一个索引规则具有rules作为decisionBasis,然后分度器代理将关于该规则与值从网络中相应的部署取出比较非空的阈值。如果子图部署的值高于(或低于)任何阈值,则将选择该索引进行索引。

例如,如果全局规则的aminStake为5(GRT),则为其分配了超过5(GRT)的股份的任何子图部署都将被索引。

阈值规则包括maxAllocationPercentage,minSignal,maxSignal,minStake,和minAverageQueryFees。

Allocation lifetime

由索引器创建分配后,正常分配会经历四个状态。

  1. active-在链上创建分配后(allocateFrom()),该分配被视为活动的。索引器自己和/或委派的部分股份分配给子图部署,这使他们可以要求索引奖励并为该子图部署提供查询。索引器代理基于索引器规则管理创建分配。
  2. closed-一旦经过1个纪元(closeAllocation()),索引器就可以自由关闭分配,否则它们的索引器代理将在maxAllocationEpochs之后(当前28天)自动关闭分配。当使用有效的索引证明(POI)结束分配时,其索引奖励将分配给索引器及其委托人
  3. finalized-分配完成后,会有一个争议期,在此之后,分配被视为最终确定,并且可以要求其查询费用回扣(Claim())。索引器代理监视网络以检测最终分配,并在分配超出可配置(和可选)阈值时声明它们(allocation-claim-threshold)。
  4. claimd-分配的最终状态;它已经按照主动分配的方式运行,分配了所有符合条件的奖励,并要求退还其查询费。

02策展人

策展人是子图开发人员,数据消费者或社区成员,他们向索引器发出信号,指出哪些子图(API)应该由Graph网络进行索引。策展人将GRT存入bonding curve以在特定子图上发出信号,并为其发出信号的子图赚取一部分查询费用,激励最高质量的数据源。

策展人使用他们对Web3生态系统的了解来评估哪些子图是高质量的–策展人不需要技术。例如,web3使用者知道最常使用哪些应用程序,最受信任的数据源以及正在增长的社区,则可以收集最高质量的子图。

由于策展发生在bonding curve上,因此消费者在子图上发出信号的时间越早,他们可以从中赚取的查询费用所占的份额就越大。但是,如果其他人出售自己的策展股份,则存在风险,股份的价值可能会下降,并且策展人将从bonding curve中获得的GRT会减少。

不能因不良行为而大幅削减策展人,但是对策展人收取定金税,以消除对可能损害网络完整性的子图信令做出的错误决策。

如果策展人选择在低质量的子图上进行策展,他们也会赚取更少的查询费,因为要处理的查询更少,同时处理这些查询的索引器更少。

03委托人

委托人是将权益委托给索引器的个人,以在不自己运行图节点的情况下为确保网络安全做出贡献。

通过委派给索引器,代理人可以赚取该索引器所获得的查询费用和报酬的一部分。委托人根据指标的表现来选择索引器,这些指标包括查询费率,过去的削减和正常运行时间以及指标参数(例如来自索引器的费用削减和奖励)之类的指标。

委托人不会因索引器行为不良而削减质押token,但会对委托人收取一定的存款税,以消除可能损害网络完整性的不良决策。

在The Graph中委托token的风险

  • 委托费

重要的是要了解,每次委派时,您都需要支付0.5%的费用。这意味着如果您要委派1000 GRT,则会自动销毁5 GRT。

这意味着,为了安全起见,委托人应委派给索引器来计算其收益,在收益中获取所销毁0.5%质押token所需要的时间。

  • 解委托冻结期

每当委托人要取消委托时,其令牌将受到28天的解除绑定期限的约束。这意味着他们不能转让令牌,也不能在28天内获得任何奖励。

04索引器与委托者

三个非常重要委托参数

1. 索引奖励削减

索引奖励削减是索引器自己保留的部分奖励。这意味着,如果将其设置为100%,作为委派者,将获得0的索引奖励。如果在用户界面中看到80%,则意味着作为委托者,将获得20%。

2. 查询费用削减

这与索引奖励削减完全一样。但是,这专门用于索引器收取的查询费用的回报。应该注意的是,在网络开始时,与索引奖励相比,查询费用的回报将非常小。建议注意网络,以确定网络中的查询费用何时开始变得更加重要。

3.参数Cooldown

该值可以在上面的照片中看到,一个索引器还剩13d 2h 37m,直到他们可以更改查询费用削减和索引奖励削减为止。这很重要,因为它表明索引器被锁定与委托人共享奖励的时间。以下是一些有关其工作原理的示例:设置为0天-这意味着索引器可以随时更改其索引奖励减免和查询费用减免。这意味着他们可以将其设置为10%,以吸引许多代表,然后,在他们最大程度地发挥委派能力之后,他们可以切换到100%,并保留所有奖励。代表将被困住,得不到任何奖励,因此必须撤消授权,并等待另外28天才能获得奖励。这就是为什么信任您委派给索引器的原因很重要。(设置为30天-这意味着索引器在30天内无法更改其索引奖励减免或查询费用减免。这对委托人来说是放心的,这意味着可以保证他们能得到所陈述的奖励。)

The Graph 查询状态通道

The Graph采用了State Channel的Nitro协议和服务器钱包实现。

Graph是第一个大规模部署广义状态通道的项目。对于状态通道和整个以太坊生态系统来说,这是一个重要的里程碑。

状态通道允许参与者协调链下与强制链上的安全性。它们是诸如比特币的闪电网络和以太坊的雷电等支付渠道系统中更简单的HTLC的类似产品。

虽然付款渠道仅允许参与者发送付款,但通用状态渠道功能更强大,并允许在渠道中执行任意逻辑。

在Graph网络中,索引器竞争以最低的价格提供最佳的索引和查询处理服务。索引器选择要索引的子图,并且可以为每个查询精细地设置价格。通过新令牌发行将查询费用和索引器奖励结合在一起,可以激励节点运营商运行软件并优化数据库访问,以确保应用程序能够快速可靠地访问组织的区块链数据。

The Graph gateway

网关简化了与Graph网络的连接。网关的工作是根据价格,性能和安全性选择索引器,然后设置并使用状态通道查询费用,验证证明并提交争议。在网络初期,dApp开发人员将代表其用户支付查询费用

随着时间的流逝,Graph邀请社区转移到一个新模型。在该模型中,网关将替换为在最终用户的设备上运行的独立查询引擎,从而为最终用户提供更多的功能和控制权。

05The Graph’s Migration Path to Mainnet

Graph网络已经运行了三个月,目前已有160多个索引器和6,000个委派者。索引器是组织数据的节点操作员,而代理人则通过将权益委派给索引器来保护网络。索引器一直在忙于增加其服务器操作,而委托人一直在积极了解索引器并了解协议经济学的详细信息。超过2.7B的GRT(占所有GRT的27%)已由索引器和委托人抵押和委托,相当于$ 43亿TVL-这是Graph社区和网络参与的证明。

社区还拥有使用Radicle上新引入的“图形改进提案”(GIP)流程就第一套治理提案进行辩论和投票的丰富经验。既然网络的供应方已经启动,并且治理流程已经得到证明,那么社区就为下一个重要里程碑做好了准备。从下个月开始,第一个生产子图将开始从Graph的托管服务迁移到分散式网络!

阶段1:迁移自举

索引器和委托人是Web3(去中心化Internet)的基础,有助于对链上数据进行索引以服务应用程序。每个索引器都围绕索引建立自己的定价模型和损益表,在服务查询方式的技术折衷之间进行选择。当我们为迁移做准备时,索引器将开始同步新的子图并配置参数以最适合应用程序的需求。

Graph Foundation将致力于支持子图向分散网络的平稳过渡。从4月的下个月开始,将与Indexers和子图开发人员合作,以在主网上发布和测试一组初始子图。同时开始与一组迁移合作伙伴紧密合作,以确保无缝过渡,然后再开放所有子图以从托管服务迁移。考虑周到的迁移过程对于确保dapp在大型Indexers社区的升级支持下继续平稳运行至关重要!

阶段2:生产Dapps

从迁移引导阶段开始的初始子图同步可能需要几个小时到几周的时间,具体取决于子图。子图完全同步后,迁移合作伙伴将能够在网络上实时测试其dapp。经过质量检查流程后,他们将准备好将其生产dapp切换到网络,从而为索引器和委托人带来查询费用。

阶段3:Curation Live

在最初的迁移合作伙伴在网络上生效之后,Graph基金会将与社区合作以启动公共网关,这将使开发人员可以轻松地在网络上发布子图并在GRT中支付查询费用。Gateway和一系列产品预计将在第一阶段开始后的30到60天内推出,从而使Graph Network脱离Beta版。

如先前宣布的,Graph网络使用状态通道将可伸缩的小额支付引入Web3。网关将在全球范围内分布,以确保快速访问网络。Dapp开发人员将能够配置设置,以选择最适合其应用程序的索引器并设置速率限制。

在这一阶段,开发人员将能够使用自助服务工具将子图未经许可地发布到去中心化网络,而策展人将能够在子图上发出信号。

一旦举办了策展活动,The Graph的非技术和技术用户将能够在子图上发出信号,从而创建一个全球性的去中心化策展市场。此时,所有子图开发人员将能够轻松地从托管服务迁移子图。

--

--

Distributed blockchain research institution. Focusing on underlying technology research and practice. Support us: http://giveth.io/project/cyc

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
CYC

Distributed blockchain research institution. Focusing on underlying technology research and practice. Support us: http://giveth.io/project/cyc