所有区块链浏览器都使用相同的数据——真的吗?
“哦,我只是从浏览器下载数据。”——这是我在与 Web3 领域的其他人交谈时经常听到的一句话,当时我问他们从哪里获取数据。但这些人必须意识到,区块浏览器显示的数据只是实际区块链的一个视角。而且不能保证这个视图是完整或正确的。以下是一个例子:
今天早上,我在玩我们的 KYVE 数据仓库,很好奇有多少个 KYVE 地址。由于地址只有在成为交易的一部分时才会出现在链上,所以我首先查看了所有转账。地址要进行交易,需要一些 $KYVE 代币作为 gas,因此地址必须先以任何方式接收代币。
在 KYVE,我们的数据仓库中有一个转换表,其中列出了所有具有发送者和接收者的转账事件。我编写了一个简单的查询,它会返回所有参与转账(发送者或接收者)的唯一地址:12730 个地址。到目前为止,一切顺利。这对我来说很有意义。出于好奇,我查看了我个人最喜欢的 KYVE 浏览器 Viewblock,但我在地址部分看到了一个令我困惑的数字:419 页,每页有 25 个地址,有一页有 22 个地址。那是……10497。哦不!这与我的预期相差甚远。我的查询错了吗?
接下来,我前往 Mintscan,它显示了 11917 个地址。很好!三次相同的问题,三个不同的数字,那么谁是对的?
当检查链上 API 时,我们得到了第四个数字:12739。链上 API 直接命中网络内的节点,因此我们知道这个数字是最值得信赖的。此 API 调用返回的数字列出了来自链的 Auth 模块中注册的所有地址。这与我们从数据仓库获得的数字非常接近(我们的仓库也滞后了几个小时)。细微的差异是由 Cosmos SDK 模块造成的。虽然其中一些可能尚未参与任何交易,但它们已经安装并在链上具有可查询的地址。
因此,地址数量的差异不是由任何数据丢失或 KYVE 所做的修改造成的。我们很可能会看到不同链之间的差异很小。然而,没有人比较浏览器和其他数据应用程序之间的数据,这一事实表明,数据丢失是一个实际问题,在存储数据之前需要一个确保数据完整性的解决方案。
结论
对于日常用户来说,区块浏览器确实是极好的工具。Viewblock 和 Mintscan 等网站让用户无需深厚的技术知识即可了解区块链。
构建一个浏览器并非易事,在数十亿笔交易的传输过程中,部分数据很可能会漏掉。
但是,当您需要可以用于重要决策和关键系统的数据时,使用经过验证的数据源(例如 KYVE 数据池)就变得绝对必要。
可以将区块浏览器视为您值得信赖的指南针:它可以很好地为您指明正确的方向,但是当您身处不会迷路的地方(例如报税)时,您会需要 GPS 的精确度——这就是您的 KYVE 数据池。让我们不要忘记向浏览器致敬;他们让每个人的旅程都变得轻松很多。
注:所有数据均来自 2024 年 2 月 14 日