SubQuery 是一个转换和查询 Web 3.0 世界数据的工具,志在帮助开发者和用户更快和可靠地查找和使用数据,让去中心化的数据更加「易用」。
撰文:Groot
无论是经历了数十年沉淀和积累的传统互联网,还是在过去十年里迅猛成长的区块链,数据的重要性都不言而喻。面对海量的数据,如何高效且精准地定位目标并且获取到有用的信息,已经成为了开发者乃至现如今几乎所有人都在探索的「秘宝」。
而这个问题在信奉去中心化的区块链行业中显得尤为棘手,由于数据存储在分散的节点之中,加之开发者往往需要下载对应区块链网络的完整账本,从整条链的首个区块开始顺序查找,这种查询过程漫长而低效。这给区块链开发者制造了一个「大麻烦」,也让 DApp 的用户体验一直不尽人意。
而本文将介绍的 Web3.0 基础设施 SubQuery 所做的,正是希望让去中心化的数据索引变得更加高效,让数据变得更加易用。
SubQuery 是什么?
SubQuery 是一个用于转换、查询 Web3.0 世界数据的工具,项目创立之初目的是帮助 Polkadot 与 Substrate 项目能够更快地、可靠地查找和使用数据,并让去中心化的数据更加「易用」。
一个健康的去中心化网络需要多个分散的数据提供商合作共同提高弹性,速度和稳定的网络表现。SubQuery 会提供开源的 SDK,将提供如何让任何索引者在区块链上探索、收集数据,以及如何向用户显示这些数据的说明。SubQuery 网络强调简约和高适配性,会尽可能让所有愿意参与网络建设的开发者都能够轻松地参与到网络中来。
简单来说,就是 SubQuery 会从 Polkadot 和 Substrate 生态项目中转化并整理数据,之后将这些数据提供给开发者,以便开发者在包括钱包、区块浏览器以及各种类型的 DApp 中调用。
SubQuery 的运行机制
SubQuery 网络中的参与者分为三类,分别是「消费者」、「索引者」和「委托人」,这三类参与者驱动着整个网络的运转。
其中消费者会向 SubQuery 下达指令,并通过该网络去查询特定的数据,而这种查询动作需要支付一定数量的 SQT 代币,这些费用会成为提供给索引者和委托人激励的来源。索引者会在自己搭建的基础设施中增添 SubQuery 项目,通过运行节点和查询服务来索引数据并回答 GraphQL 的需求指令。而委托人则需要通过支持他们最喜欢的索引者来获得激励。
总的来说,索引者是整个 SubQuery 网络的基础,需要完成管理硬件、运行基础设施、监控资源并执行数据查询任务等一系列确保网络正常运转的动作。
这些动作都需要时间和金钱成本,不过一旦索引者做好基础设施的搭建,消费者就可以向 SubQuery 网络请求特定数据,并支付预定数量的 SubQuery 代币 SQT。而消费者支付的款项会引入柯布-道格拉斯生产函数来进行分配,从而激励索引者长期稳定的工作。这笔款项进入一个项目收入池,在质押时期(28 天)结束时,算法会将这个项目收入池拆分,并分配给索引者。
而委托者可以选择将 SQT 委托给索引者,这样就可以获得对应索引者获得的查询费用的一部分作为奖励,而这个分成比例由每个索引者设定。索引者发布的查询费用收入分成率在每 28 天的质押期是锁定的,如果要降低分成率则必须在整个 28 天的质押时期结束后才能生效。委托人可以随时取消委托金额,但同样只有在委托了整个质押期结束后才能获得奖励。
对于维持网络正常运转的索引者来说,回答的请求数量和质押金额都会影响最终的收入水平,这也将会引发索引者之间的良性竞争。理性的索引者会保持高水平的 SQT 质押量,以获得更多的收入。 因此,即便网络不要求质押量,索引者仍然会主动地进行自我管理,以追求最大化盈利。
而为了鼓励索引者索引和支持全新的 SubQuery 项目,网络还为消费者提供了名为「订单」的市场机制,以向新 SubQuery 项目的索引者发出确保收益的信号。消费者可以以设定的价格和请求数量在链上广播合同, 索引者可以查看此内容并选择执行合同。订单也可以放在现有的 SubQuery 项目上,以吸引更多的索引者,以改善竞争并降低价格。
6 月底,SubQuery 还正式上线了 SubQuery 的字典索引功能,该功能在某些场景下可以将 SubQuery 项目的索引性能提升 10 倍。SubQuery 项目通过预先索引链中所有事件的位置,以实现对于非目标事件所在区块的直接跳过,可以有效降低此前对于每个区块依次检索所耗费的时间。
团队及资助伙伴
SubQuery 由波卡基础设施服务 OnFinality 背后的团队打造,Acala 联合创始人 Ruitao Su 担任项目的顾问。
目前已经获得了 Polkadot & Kusama Treasuries、Web3 Foundation Grant、Substrate Builder Program、Berkeley Blockchain Xcelerator 以及 Web3.0 Bootcamp (Shanghai) 在内的多轮资助。已有超过 40 个项目开始使用 SubQuery 进行管理。
发展路线图
截止 2021 年 5 月,SubQuery 已经实现了 GitHub 上 SubQuery CLI 索引器 / 查询服务的开源,并且支持了 GitHub 帐户注册和 SubQuery 项目的完全自动化和托管服务。
今年下半年,SubQuery 会逐步将服务分布到 SubQuery 网络,并完成治理代币 SQT 的铸造和分发。未来还会让社区参与未来路线图,将生态系统和代币扩展到其他 Substrate 链上。