🎉 Gate xStocks 交易开启啦,现货、合约、Alpha齐上线!
📝 在Gate广场发帖,晒出你的交易体验或精彩截图,瓜分$1,000大奖池!
🎁 广场优质创作者5名,每人独享$100合约体验券!
🎉 帖文同步分享到X(推特),浏览量前十再得$50奖励!
参与方式:
1️⃣ 关注 @Gate广场_Official
2️⃣ 带 #Gate xStocks 交易体验# ,原创发帖(不少于20字,仅用活动标签)
3️⃣ 若分享到推特,请将链接提交表单:https://www.gate.com/questionnaire/6854
注:表单可多次提交,发布更多帖文可提升获奖机会!
📅 7月3日16:00—7月9日24:00(UTC+8)
详情:https://www.gate.com/announcements/article/45926
每一条体验,都有机会赢取大奖!快在Gate广场show出你的操作吧!
区块链索引器:超越RPC的高效数据检索解决方案
区块链数据检索的演进:索引器及其应用
区块链数据的重要性
数据是区块链技术的核心,也是开发去中心化应用(dApp)的基础。当前的讨论大多集中在数据可用性(DA)方面,即确保网络参与者能够访问近期交易数据进行验证。然而,另一个同样重要但常被忽视的方面是数据可访问性。
在模块化区块链时代,DA解决方案已成为不可或缺的部分。这些方案确保所有参与者都可以使用交易数据,从而实现实时验证并维护网络的完整性。然而,DA层更像是一个广告牌而非数据库。这意味着数据不会无限期保存,而是会随时间被删除,就像广告牌上的海报最终会被新海报替换一样。
相比之下,数据可访问性侧重于检索历史数据的能力,这对开发dApp和进行区块链分析至关重要。对于需要访问历史数据以确保准确表示和执行的任务而言,这一方面尤为重要。尽管数据可访问性的讨论较少,但它与数据可用性同等重要。两者在区块链生态系统中发挥着不同但互补的作用,全面的数据管理方法必须同时解决这两个问题,以支持强大而高效的区块链应用。
传统的区块链数据检索方法
自诞生以来,区块链彻底改变了基础设施,推动了游戏、金融和社交网络等领域去中心化应用(dApp)的创建。然而,构建这些dApp需要访问大量区块链数据,这既困难又昂贵。
对dApp开发者而言,一种选择是托管和运行自己的存档RPC节点。这些节点从创世块开始存储所有历史区块链数据,允许完全访问数据。但是,维护存档节点成本高昂,查询能力有限,无法以开发人员需要的格式查询数据。运行较便宜的节点是另一种选择,但这些节点的数据检索能力有限,可能会影响dApp的运行。
另一种方法是使用商业RPC节点提供商。这些提供商负责节点的成本和管理,并通过RPC端点提供数据。公共RPC端点虽然免费,但有速率限制,可能对dApp的用户体验产生负面影响。私有RPC端点通过减少拥塞提供更好的性能,但即使是简单的数据检索也需要大量来回通信。这使得它们在处理复杂数据查询时效率低下。此外,私有RPC端点通常难以扩展,并且缺乏跨不同网络的兼容性。
更优选择:区块链索引器
区块链索引器在组织链上数据并将其发送到数据库以便于查询方面发挥着关键作用,这就是为什么它们常被称为"区块链的谷歌"。它们的工作原理是索引区块链数据,并通过类似SQL的查询语言(使用GraphQL等API)使其随时可用。通过提供统一的数据查询接口,索引器允许开发人员使用标准化查询语言快速准确地检索所需信息,大大简化了整个过程。
不同类型的索引器通过各种方式优化数据检索:
完整节点索引器:这些索引器运行完整的区块链节点并直接从中提取数据,确保数据完整准确,但需要大量存储和处理能力。
轻量级索引器:这些索引器依靠完整节点根据需要获取特定数据,从而减少存储要求但可能增加查询时间。
专用索引器:这些索引器针对某些类型的数据或特定区块链进行优化,可为特定用例(如NFT数据或DeFi交易)提供更高效的检索。
聚合索引器:这些索引器从多个区块链和来源提取数据,包括链下信息,提供统一的查询接口,这对多链dApp特别有用。
仅以太坊就需要3TB的存储空间,并且随着区块链的不断增长,Erigon存档节点的数据存储量也会持续增加。索引器协议部署了多个索引器,可以高效地索引和高速查询大量数据,这是RPC无法实现的。
索引器还允许进行复杂查询、根据不同标准轻松过滤数据以及提取后分析数据。一些索引器还可以聚合来自多个来源的数据,避免在多链dApp中部署多个API。通过分布在多个节点上,索引器提供了增强的安全性和性能,而RPC提供商可能会因其集中式特性而出现中断和停机。
总体而言,与RPC节点提供商相比,索引器提高了数据检索的效率和可靠性,同时还降低了部署单个节点的成本。这使得区块链索引器协议成为dApp开发人员的首选方案。
索引器的应用场景
如前所述,构建dApp需要检索和读取区块链数据才能运行其服务。这包括各种类型的dApp,如DeFi、NFT平台、游戏甚至社交网络,因为这些平台需要先读取数据才能执行后续交易。
DeFi
DeFi协议需要不同的信息才能为用户报出特定的价格、比率、费用等。自动做市商(AMM)需要某些资金池的价格和流动性信息来计算掉期利率,而借贷协议则需要利用率来确定借贷利率和清算的债务比率。在计算用户执行的利率之前,将这些信息输入dApp是必不可少的。
游戏
GameFi需要快速索引和访问数据,以确保用户流畅地游戏体验。只有通过快速的数据检索和执行,Web3游戏才能在性能上与Web2游戏相媲美,从而吸引更多用户。这些游戏需要土地所有权、游戏内代币余额、游戏内操作等数据。使用索引器,他们可以更好地确保稳定的数据流和稳定的运行时间,以提供完美的游戏体验。
NFT
NFT市场和借贷平台需要索引数据来访问各种信息,如NFT元数据、所有权和转让数据、版税信息等。快速索引此类数据可避免逐个浏览每个NFT以查找所有权或NFT属性数据。
无论是需要价格和流动性信息的DeFi自动做市商(AMM),还是需要更新新用户帖子的社交应用,能够快速检索数据对于dApp正常运行至关重要。借助索引器,它们可以高效、准确地检索数据,从而提供流畅的用户体验。
分析
索引器提供了一种从原始区块链数据(包括每个区块中的智能合约事件)中提取特定数据的方法。这为更具体的数据分析提供了机会,从而提供全面的见解。
例如,永续交易协议可以找出哪些代币的交易量大,哪些代币会产生费用,从而决定是否将这些代币作为永续合约列在其平台上。DEX开发人员可以为自己的产品创建仪表板,深入了解哪些资金池的回报率最高或流动性最强。还可以创建公共仪表板,让开发人员可以自由灵活地查询要在图表上显示的任何类型的数据。
由于有多个区块链索引器可用,因此识别索引协议之间的差异对于确保开发人员选择最适合其需求的索引器至关重要。
主要区块链索引器概述
The Graph
The Graph是最早在以太坊上启动的索引器协议之一,它可以轻松查询以前难以访问的交易数据。它使用子图定义和过滤从区块链收集的数据子集,例如与某个特定资金池相关的所有交易。
使用索引证明,索引器质押原生代币GRT用于索引和查询服务,委托人可以选择将其代币质押于此。策展人可以访问高质量的子图,以帮助索引器确定要为哪些子图编制数据以赚取最佳查询费用。在向更大程度的去中心化过渡的过程中,The Graph最终将停止其托管服务,并要求子图升级到其网络,同时提供升级索引器。
其基础设施使每百万次查询的平均成本达到40美元,这比自托管节点的成本要低得多。使用文件数据源,它还支持同时对链上和链下数据进行并行索引,以实现高效的数据检索。
The Graph的索引器奖励在过去几个季度中一直在稳步增长。这部分是由于查询量的增加,但也归因于代币价格的增长,因为他们计划在未来整合人工智能辅助查询。
Subsquid
Subsquid是一个点对点、水平可扩展的去中心化数据湖,可高效聚合大量链上和链下数据,并通过零知识证明进行保护。作为一个去中心化的工作器网络,每个节点负责存储来自特定区块子集的数据,通过快速识别保存所需数据的节点来加快数据检索过程。
Subsquid还支持实时索引,允许在区块最终确定之前对其进行索引。它还支持以开发人员选择的格式存储数据,从而便于使用BigQuery、Parquet或CSV等工具进行更轻松的分析。此外,子图可以在Subsquid网络上部署,而无需迁移到Squid SDK,从而实现无代码部署。
尽管仍处于测试网阶段,Subsquid已取得令人印象深刻的统计数据,拥有超过80,000名测试网用户,部署了超过60,000个Squid索引器,网络上有超过20,000名经过验证的开发人员。最近,Subsquid启动了其数据湖的主网。
除了索引之外,Subsquid Network数据湖还可以替代分析、ZK/TEE协处理器、AI代理和Oracle等用例中的RPC。
SubQuery
SubQuery是一个去中心化的中间件基础设施网络,提供RPC和索引数据服务。它最初支持Polkadot和Substrate网络,现在已扩展到包括200多个链。它的工作原理类似于使用索引证明的The Graph,索引器索引数据并提供查询请求,委托人将股份质押给索引器。然而,它引入了消费者来提交购买订单,以表明索引器的收入有保障,而不是管理者。
它将引入支持分片的SubQuery数据节点,以防止每个节点之间不断同步新数据,从而优化查询效率,同时走向更大的去中心化。用户可以选择按每1000个请求支付约1 SQT代币的计算费用,或通过协议为索引器设置自定义费用。
尽管SubQuery在今年早些时候才推出其代币,但节点和委托人的发行奖励也以美元价值环比增长,这也代表其平台上提供的查询服务数量不断增加。自TGE以来,质押的SQT总量已从600万增加到1.25亿,凸显了其网络参与度的增长。
Covalent
Covalent是一个去中心化的索引器网络,由区块样本生产者(BSP)网络节点通过批量导出的方式创建区块链数据的副本,并在Covalent L1区块链上发布证明。这些数据再由区块结果生产者(BRP)节点根据设定的规则进行细化,筛选出符合要求的数据。
通过统一的API,开发人员可以轻松以一致的请求和响应格式提取相关的区块链数据,无需编写自定义复杂查询即可访问数据。可以使用在Moonbeam上结算的CQT代币作为支付手段从网络运营商处提取这些预配置的数据集。
Covalent的奖励从23年第一季度到24年第一季度似乎总体呈增长趋势,部分原因是Covalent代币CQT价格上涨。
选择索引器的考虑因素
数