Abstract
Driven by the increased consciousness in data ownership and privacy, zero-knowledge proofs (ZKPs) have become a popular tool to convince a third party of the truthfulness of a statement without disclosing any further information. As ZKPs are rather complex to design, frameworks that transform high-level languages into ZKPs have been proposed. We propose Circuitree, a Datalog reasoner in zero-knowledge. Datalog is a high-level declarative logic language that is generally used for querying. Furthermore, as a logic language, it can also be used to solve logic problems. An application using Circuitree can efficiently generate ZKPs, based on Datalog rules and encrypted data, to prove that a certain conclusion follows from a Datalog ruleset and encrypted input data. Compared to existing frameworks, which generally use their own limited imperative languages, Circuitree uses an existing high-level declarative language. We point out several applications for Circuitree, including EU Digital COVID Certificates and privacy-preserving access control for peer-to-peer (p2p) networks. Circuitree’s performance is evaluated for access control in a p2p network. First results show that our approach allows for fast proofs and proof verification for this application.
Highlights
Witnessing the continuous stream of news reports about personal data leaks, data trade as a new business model, or data misuse by government agencies for various political purposes [1]–[3], it should be evident that the lack of online privacy is a big issue
CONTEXT AND RELATED WORK Since around 1987, it has been known that all languages in the nondeterministic polynomial time (NP) complexity class have zero-knowledge proof systems [18]–[20], i.e., for every statement that can be verified in polynomial time, the truth of that statement is guaranteed without disclosing any additional information
ZK-STARK works with an arithmetic execution trace (AET), a set of low-degree polynomials that are repetitively applied to the input data
Summary
Witnessing the continuous stream of news reports about personal data leaks, data trade as a new business model, or data misuse by government agencies for various political purposes [1]–[3], it should be evident that the lack of online privacy is a big issue. Like regular high-level languages and compilers, these tools are designed to make development easier They accomplish this by providing abstractions that increase the efficiency of the development and the correctness of the resulting proof. We will compile Datalog, as an existing highlevel programming language, to zero-knowledge. This makes the development for declarative zero-knowledge applications significantly easier and less error-prone, compared to a direct implementation in zero-knowledge. This compilation introduces a layer of abstraction, which allows us to potentially exploit a large variety of zero-knowledge systems. Circuitree generates the constraints that relate the query to the input data and ruleset (step 6). The name Circuitree is derived from the tree-like structure of our generated arithmetic circuits, a term which is commonly (but incorrectly) used as a synonym for R1CS
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.