FAQ

Q: What is OZKi? A: OZKi (Open Zero Knowledge Integration) is a proof framework for web application developers. The framework consists of two main components: oracle and toolkit. The OZKi toolkit is based on the Zero Knowledge Proof, also known as Verifiable Computation technology.

Q: Who are the users of OZKi? A: Web application developers

Q: What problem does OZKi solve? A: PII Leak Problem. OZKi solves this by allowing a proof-based flow where the user does not send PII to the servers but rather a proof. The proof contains only information whether the PII meets certain requirements or constraints set by the servers.

Q: What are the use cases for OZKi? A: OZKi can be used to implement various different proof-based authorizations. The ozki-portal sample web application which we provide demonstrates three main use cases: - Proof of Payment with PayPal - Proof of Login with Google - Proof of Key Ownership (for the Leaderboard service) OZKi's proving system is a general purpose one, thus the developer can use it to implement other proof flows beyond the three mentioned above.

Q: What are the similarities and differences between online merchant using the standard PayPal payment and the one using OZKi's Proof of Payment with PayPal? A: The similarities are both do need to set up their PayPal merchant account, and receive payment from the customers via PayPal as usual. The differences are as follows: in the standard scenario, the merchant knows the PayPal ID of the user when the user logs into its web site. In the OZKi model, the merchant never knows the PayPal ID of the user, it only receives the proof that the user has made the payment. Therefore in this approach the website will not be able to track user's access to its site based on the user ID.

Q: What is the Proof of Login with Google? A: This feature allows a user to sign-in using the user's Google account as usual, and to present a proof that the user has done so without revealing any Google ID to the target website. In the sample ozki-portal webapp, any Cal Berkeley students, staff, alumni, ets. can play the WegGL 3D game of the ozki-portal for free. Using the Proof Of Login flow, the ozki-portal never receives any Google ID from the user. Instead, the web portal only receives a proof that the domain name of the user's email address is berkeley.edu.

Q: What is the Proof of Key Ownership? A: This is a feature that can prove if a user owns the private key that belongs to a public/private key pair. The mechanism is very straigforward: the proof function takes the private key as input, derives the public key from it, and returns the public key as its public output. This is used by OZKi game where a user who has solved a puzzle will receive a private key associated with that particular puzzle. The user can send a proof of key ownership to a third party server (i.e. leaderboard server) to notify the server that the user has solved the puzzle. With this approach a user can protect the private key while revealing proof that the user is indeed the owner of the key.

Q: How does OZKi help web developers? A: ZKP is still relatively known outside of the blockchain apps. App developers who want to use ZKP currently need to have some level of knowledge and understanding of ZKP theory, libraries and tools. OZKi help the developers by: Making it easy for developers to implement proof-based features Adding additional security layers on top of the basic ZKP library

Q: What are the skills/knowledge requirements for using OZKi? A: Understanding of the Typescript language andCIRCOMlanguage. The user does not need to have general knowledge of ZKP.

Q: What is the best way to learn OZKi? A: The OZKi team has provided a sample web application called OZKi Portal. This web app demonstrates how to implement proof-based authorization flow: Proof of Payment with PayPal Proof of Key (Leaderboard service) The portal codes also show how one can: Write proof functions in circom Build the ozki-lib from the circom files Integrate ozki-lib with the webapp codes Use the ozki oracle to pull PII securely from the source

Q: What is the OZKi Oracle service? A: Oracle

Q: What are the alternatives to OZKi? A: Currently there is no other framework and tooling for web development similar to OZKi. There are blockchains such Mina and Aleo which provide general-purpose privacy-protection features. However, both are used for different use cases: - the apps need to interact with blockchain - the on-chain proof creation takes much longer, usually in 2 to 4 minutes.

Q: How fast is OZKi's proof processing at run-time? A: On an ASUS Vivobook laptop where OZKi development is currently done, the total time needed to complete the proof creation and verification typically is under 2 seconds.

Last updated