编者按:本文来自 区块律动BlockBeats(ID:BlockBeats),Odaily星球日报经授权转载。
只要我们在线上有任何行为产生,就无时无刻不在生成数据。每年年末,朋友圈里晒出了支付、听歌、外卖等各式各样的年度列表,都是我们与互联网交互的痕迹。
这也是 API 出现的原因,Application Programming Interface,顾名思义,是能够让应用间交换数据的软件对软件页面。这个看起来似乎是程序员专属的名词,其实与日常生活息息相关。
比如,我们使用微信传输信息,或是通过行情软件看盘,都在通过手机应用连接到互联网,然后通过互联网与数据库进行交互。数据库负责对所需数据进行解锁分析,并完成指令后将我们所需的信息以我们能够读懂的方式传输回至手机上。
在阿里、美团这些互联网巨头的世界里,人们已经习惯了在 Web2 的世界中用 API 节省时间。而 Web3 的世界里,交互同样会产出数据,而 Web3 中的 API,也同样重要。
Web3 世界中的 API
资本已经嗅到了这片蓝海。
Nansen 拿下了 Mechanism Capital 和 Skyfall Ventures 领投的 120 万美元种子轮融资,Dune Analytics 获得了 Dragonfly Capital 领投的 200 万美元种子轮融资,还有像 Glassnode 这样的 API 提供商早已成为行业最常用的数据提供商。
在区块链系统中,数据被加密并整合入区块中随后串联成链被记录在分布式的节点中,上链后的数据即成为了极难被更改的历史。通常使用链上数据是十分困难的。
首先链上数据被储存在成千上万个节点所组成的分布式网络中,从数据读取角度来看,读取分布式数据库的难度是远远大于中心化数据库。
其次,链上数据是经过不同程度加密的,这使得链上数据变得十分难被解析。不光如此,由于链上数据是由区块依次排列的,通常来说查找链上数据的方式是从整条链的第一个区块开始搜寻,按照区块顺序依次查找,这样的查找过程是十分低效的。
由于以太坊是链上应用最成熟的生态,所以我们以以太坊链上数据为例进行分析。在 The Graph 没有出现前,通常想要获取以太坊链上数据的主要方式有两种:使用 Web3.js/ethers.js 直接从以太坊节点取得或搭建中心化服务器对数据进行整理。
然而上述两种解决方案各有弊端。若选择自架服务器,需要大量硬件资源(运行 Archive Node)成本、难度较高,且服务器维护开销极大。
若使用 Web3.js/ethers.js 从以太坊节点直接获取链上数据,节点对请求的回应时间较长、效率偏低,且若使用似于 Infura 的节点服务商,应用还会面临单点失效的风险。就在 2020 年 11 月 11 日,由于 Infura 没有运行最新版本的 Geth 客户端,某些特殊交易触发了老版本客户端的 Bug,最终导致许多使用 Infura 的应用暂时宕机。
当然,业内也有像 Glassnode、Nansen 以及 Dune Analytics 这样的专业数据 API 提供商,他们背后都有着顶级资本的支持,这也变向证明了链上数据的价值以及链上 API 的重要性。
然而中心化服务商自然遗存 Web2.0 时代的缺陷,所有使用中心化服务商产品的用户在未来都有被寻租的风险。以中心化的形式解决 Web3 中出现的问题是不可取的,也让去中心化应用并非完全去中心化,若想完全解决问题,我们需要一个去中心化数据中间件。
去中心化数据中间件 The Graph
The Graph 作为搭建完全去中心化应用的基建,主要针对链上数据查询及去中心化网络的 API 层以解决开发者对应用的性能和去中心化的权衡问题。也许很多人还不知道,CoinGecko、CoinMarketCap、Messari、Delphi Digital、Zapper、Uniswap、Synthetix、PoolTogether、Livepeer、mStable,以及 Balancer 等众多知名项目早已开始使用 The Graph 提供服务了。
The Graph 节点,在网络中扮演数据索引器的角色,也是网络的核心组成件,为网络提供索引及查询服务。正如 PoS 网络中的节点,节点运行者需质押 GRT 代币,在获得查询费用的同时还会获得网络的增发激励。Delegator 可以在不运行节点的情况下将 GRT 质押给其信任的节点上与节点一同共享收益。
Subgraph 定义了不同应用的数据查询逻辑,由于任何人都可以编写不同应用的 Subgraph 所以质量存在差异。The Graph 节点会检索质量最高的 Subgraph 并使用其查询服务。Curator 是保证 Subgraph 质量的关键,Curator 会将 GRT 代币质押给其认为质量最高、会被调用频次最多的 Subgraph 上并共享其查询费用。
通过 Delegator 以及 Curator 的质押,The Graph 网络中形成了索引器市场和 Subgraph 市场,市场竞争保证了 The Graph 所提供数据的质量。
全员皆可使用的 Subgraph
所有应用都在无时无刻地产出着各种数据,正如上文所说,不同应用的 Subgraph 为检索节点梳理出了最常用的数据获得路径。在撰文时,The Graph 网络中已经超过 8000 个不同的 Subgraph。
我们以当前交易量最大的去中心化交易平台 Uniswap 为例,在下图中可以看到,Uniswap 的 Subgraph 中已经可以追踪合约的当前状态和历史数据及价格,包括交易对的汇总数据、各交易对及代币的单独数据、合约内转账数据、流动性提供者数据等等。
用户通过 The Graph 的节点,可以调用 Uniswap 这些数据,实现真正的链上搜索。不像其他工具只能看到平台内提供的信息,The Graph 让用户可以真正在链上搜索。
每个 DApp 都会存在多个由不同开发者提供的 Subgraph,不同的 Subgraph 会提供不同的数据类别。The Graph 节点将根据需求索引对应的、高质量的 Subgraph,形成链上 Google。
普通持币用户如何参与到 The Graph 网络中
GRT 持币者若想参与到 The Graph 网络中可以通过三种方式:成为 Delegator(委托人),Curator(管理人)或运行节点。
成为 Delegator 是参与到 The Graph 网络中最简单的方式,持币者只需在 The Graph 浏览器中选择节点进行质押即可。不同的节点所收取的费用不同,持币者按各自偏好进行选择。与 PoS 网络质押不同之处在于 The Graph 网络中的 Delegator 不存在罚没风险,质押收益与节点收益成正比。
相比于 Delegator,若持币者想以 Curator 的身份参与到 The Graph 网络中难度会稍高一些。由于 Curator 在网络中负责 Subgraph 的筛选,所以持币者需要自行考量各 Subgraph 的优劣。持币者通过将 GRT 质押入 Subgraph 的联合曲线中印铸相应代币,该代币代表了持币者对于该 Subgraph 查询收益的分红权。在未来持币者将通过销毁收益代币对锁定的 GRT 进行赎回。
当然,若持币者对节点运维有一定了解可以直接通过运行 The Graph 节点参与到网络中。当前运行节点所需质押的 GRT 最低数量为 100,000 枚。虽然节点运行者的收益远高于 Delegator 和 Curator,但持币者需要在运行 The Graph 节点的同时运行被检索链的 Archive 节点,所以成本也会大大提高。
释放 Web3 世界的无限可能
出现杀手级应用的前提是必须有合适的工具。正如若没有互联网就不会出现区块链技术,下一代的应用创新是基于链上数据间的交互,The Graph 则是下一代应用创新的必备工具。
在 The Graph 的帮助下,链上数据能够被更有效地被发掘和利用起来。从数据分析角度来看,随着更多更全面的数据被发掘,链上原生资产的估值将不再是难题,正如 ARK Invest 在《On-Chain Data: A New Framework to Evaluate Bitcoin》中所说,当传统估值模型无法清晰地对链上资产估值时,链上数据能够给出更准确的答案。链上数据不光能够帮助加密资产的价值发现,还能够通过分析用户的使用数据进一步对应用进行优化。
从应用创新角度来看,曾经各类应用所产生的数据就像千万座孤岛,The Graph 让这些数据能够被灵活地利用起来。当前 The Graph 基金会正在积极探索支持除以太坊及 IPFS 以外的其他底层基建,今日官方已宣布新增支持 Solana、Polkadot、Near,以及 Celo 公链。在未来我们将看到万链间数据的交互,而这些数据的交互或许就是打开下一个杀手级应用的钥匙。