# 验证器

By [ma1984.eth](https://paragraph.com/@ma1984) · 2024-02-12

---

概述
==

验证器是空间和时间的中枢神经系统，提供一套微服务来促进平台功能。下图展示了验证器架构的高级概述，显示了其组合服务以及它如何与更广泛的平台交互。验证器为数据进入系统（例如区块链索引）和数据退出系统（例如智能合约）提供了一种手段。

*   **路由**\- 支持与去中心化数据仓库网络的事务和查询交互
    
*   **流媒体**\- 充当大容量客户流媒体（事件驱动）工作负载的接收器
    
*   **共识**\- 对数据进入和退出平台提供高性能的拜占庭容错能力
    
*   **查询证明**\- 向平台提供 SQL 证明
    
*   **表锚**\- 通过将表锚定在链上，向平台提供存储证明
    
*   **Oracle** - 支持 Web3 交互，包括智能合约事件监听和跨链消息传递/中继
    
*   **安全性**\- 防止未经身份验证和未经授权的平台访问
    

验证者服务
=====

路由
--

路由支持与去中心化数据仓库网络的事务和查询交互。路由为客户端提供了一个接口（通过 REST 和 GraphQL API 以及 JDBC/ODBC）来与其数据进行交互。客户端通过此抽象执行事务和查询，就好像连接到单个无限可用的集群一样。在幕后，每个请求都会路由到适当的数据仓库实例，处理整个网络的数据分发以及任何可能的故障情况。

流媒体
---

流媒体充当大容量客户流媒体（事件驱动）工作负载的接收器。Validator 的 Streaming 组件为 Kafka 提供了持久且容错的服务，这样用户数据就可以流入平台，并可以灵活地合并到存储的数据中。

共识
--

共识为数据进入和退出平台提供了高性能的拜占庭容错能力。数据通过冗余 ETL 流程（例如区块链索引）进入平台并提交其输出。然后，跨不同验证器运行的共识服务实例就输入达成一致以产生单个输出。共识确保不正确的执行或恶意活动不会影响关键平台数据。

查询证明
----

查询证明为平台提供 SQL 证明。当用户将数据插入表中时，数字指纹（哈希）会更新以表示数据。然后，当用户请求防篡改查询时，数据库引擎会计算结果和加密证明。最后，根据数字指纹（基于 SxT 的新颖的 SQL 证明）验证从数据库返回的证明，以确保正确执行查询。查询证明与共识齐头并进：证明经过冗余验证并输入共识，这确保验证者不能恶意操作，为最终用户提供查询执行的端到端防篡改。

桌锚
--

表锚定通过将表锚定在链上来向平台提供存储证明。当数据进入平台时，表锚定组件会更新默克尔树，其根哈希定期锚定到智能合约。这允许验证器审核数据仓库集群，而无需传输大量数据。这一过程也为周期性自我审计开辟了道路。当根哈希通过智能合约锚定到链上时，就会发出事件。反过来，SxT 索引主要区块链（包括锚定根 Merkle 树哈希的 SxT 智能合约），提供高效、安全的数据验证方法。

---

*Originally published on [ma1984.eth](https://paragraph.com/@ma1984/isTkckzDTc1DzS7HuX4m)*
