Welcome to this interview! Today, we are speaking with Jay White, Co-Founder and Head of Research at Space and Time.
Jay is involved in the development of Proof of SQL, a database tamper-proofing mechanism designed to ensure the integrity of SQL operations within the Space and Time data warehouse.
During this interview, we will look at Proof of SQL and how it works. We will also discuss the inspirations and challenges encountered during its development, as well as its integration with existing security frameworks and authentication mechanisms to enhance overall data security.
Additionally, we will delve into data provenance, continuous monitoring, and future development plans for Proof of SQL. So, let's dive in and explore more about this technology that aims to strengthen data integrity and security.
I'm Jay White, Co-Founder and Head of Research at Space and Time. I lead the development of Proof of SQL, Space and Time's zk-proof for SQL operations, which cryptographically guarantees that queries run in Space and Time are verifiably tamperproof.
Proof of SQL comprises two interoperating parties: the prover, which lives in the data warehouse, and the verifier, which lives in the validator layer.
When data is ingested into the Space and Time data warehouse, the verifier creates a digest of the data—essentially a fingerprint. Then, when you submit a query request, the data warehouse returns both the result and proof of the result to the verifier.
The verifier checks that the returned result matches against the fingerprint, which allows us to verify that the query's result is correct.
A host of interesting zk literature influenced our design of Proof of SQL. We took the best components of each protocol as inspiration and tailored the architecture to the use case we built it for, tamperproof SQL operations.
Some components, like our commitment schemes and vanishing checks, borrow from projects like Bulletproofs, Halo2, and PLONK, but as a whole, what we've built is entirely novel.
Proof of SQL is unique among other protocols in that it's designed to work with SQL analytics, which deals with vast volumes of data and is expected to run with low latency. We have to optimize which data we're running the proof against and how quickly we can produce it.
Those are the two key components to making Proof of SQL run efficiently at scale. We solved the former by doing smart indexing to reduce how much data we need to process.
And we solved the latter by executing the most compute-expensive portion of the proof on a GPU—we even built our own GPU acceleration framework for it.
Proof of SQL guarantees that your database is tamperproof—that no one has manipulated the data. If, when you create the data, you create some sort of origin, you know that origin will always be there. You won't lose it.
So you could easily set up your table to have that, and use Proof of SQL for data provenance.
Space and Time has built some really unique security features into the platform that work in conjunction with Proof of SQL. We've partnered with Sotero, a leading data security platform, to provide in-database encryption, meaning that private data can be encrypted end-to-end.
We've also adopted a novel solution for authorizing resources in a decentralized network that leverages public key cryptography. Proof of SQL works with these features to maintain the security of a user's data and ensure that it's tamperproof.
We test everything that we code. Everything that we build goes through a battery of unit tests, smoke tests, integration tests—everything. Proof of SQL is only in alpha today, but we plan to leverage an external firm for auditing soon.
Today, we're ensuring we thoroughly test the protocol because we understand its importance.
As organizations plan to utilize Proof of SQL, one of the biggest security considerations is around the data source. Proof of SQL can prove that data in your database hasn't been manipulated or changed, but you still need to ensure that the source of data is tamperproof to ensure that the entire pipeline is trustworthy.
Proof of SQL was designed to detect tampering at query time, but you could easily set it up to facilitate continuous monitoring. All you would have to do is periodically send an automatic health check query, and Proof of SQL would then be able to detect manipulation.
The future of Proof of SQL is very bright. One of the things users can look forward to is expanded SQL support. We currently support a limited subset of SQL, but we're working towards continually adding support for more general SQL queries.
Additionally, one of the most exciting upcoming features is lighter-weight verification that can be done by a smartphone, a laptop, a smart contract, client-side… verification that can be done anywhere.