The Validator is the central nervous system of Space and Time, providing a suite of microservices to facilitate platform functionality. The diagram below illustrates a high-level overview of the Validator architecture, showing its composing services and how it interacts with the broader platform. The Validator provides a means for data to enter the system (e.g. blockchain indexing) and data to exit the system (e.g. smart contracts).
- Routing - supports transactional and query interaction with the decentralized data warehouse network
- Streaming - acts as a sink for high-volume customer streaming (event-driven) workloads
- Consensus - provides performant byzantine fault tolerance on data entering and exiting the platform
- Query Proof - provides Proof of SQL to the platform
- Table Anchor - provides proof of storage to the platform by anchoring tables on-chain
- Oracle - supports Web3 interactions including smart contract event listening and cross-chain messaging/relaying
- Security - prevents unauthenticated and unauthorized access to the platform
Routing supports transactional and query interaction with the decentralized data warehouse network. Routing provides clients with an interface (via REST and GraphQL APIs as well as JDBC/ODBC) to interact with their data. Clients execute transactions and queries through this abstraction as if connected to a single, infinitely-available cluster. Behind the scenes, each request is routed to the appropriate data warehouse instance, handling data distribution across the network as well as any possible failure scenario.
Streaming acts as a sink for high-volume customer streaming (event-driven) workloads. The Streaming component of the Validator provides Kafka as a durable and fault-tolerant service, such that user data can stream into the platform where it can be flexibly merged to stored data.
Consensus provides performant byzantine fault tolerance on data entering and exiting the platform. Data enters the platform via redundant ETL processes (such as blockchain indexing) submitting their outputs. Instances of the Consensus service running across different Validators then come to agreement on inputs to produce a single output. Consensus ensures that incorrect execution or malicious activity does not affect critical platform data.
Query Proofing provides Proof of SQL to the platform. As a user inserts data into a table, a digital fingerprint (hash) is updated to represent the data. Then, when the user requests a tamperproof query, the database engine calculates both the results and a cryptographic proof. Finally, the proof returned from the database is verified against the digital fingerprint (based on SxT’s novel Proof of SQL) to ensure query execution was performed correctly. Query Proofing goes hand in hand with Consensus: the proofs are verified redundantly and fed into Consensus, which ensures no verifier can act maliciously, providing end-to-end tamperproofing of query execution to the end user.
Table Anchoring provides proof of storage to the platform by anchoring tables on-chain. As data enters the platform, the Table Anchoring component updates a merkle tree, the root hash of which is anchored to a smart contract periodically. This allows the Validator to audit a data warehouse cluster without the need to transmit large volumes of data. This process also opens the way for cyclical self-auditing. As root hashes are anchored to the chain via smart contracts, events are emitted. In turn, SxT indexes major blockchains (including the SxT smart contract anchoring the root merkle tree hashes), providing means for efficient and secure verification of data.
Updated 4 months ago