Fetching Offchain Private Data Using zkPass | Aetos Huo - zkPass
Ethereum Denver·Wed, Oct 9, 2024, 12:00 AM
This is a live demo of how zkPass' SDK can be used in practice. it showcases an example of how a customized schema can be made and how the private data is fetched and parsed into a zkProof using our SDK, and also to answer any questions or receive feedback from builders. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply
Transcript
[Music] oh um my name is atos and we're from CK pass um so ZK pass is a private data verification protocol that is built upon the foundations of multi-party computation and zero knowledge proofs and that provides the apps with the ability to use private data from offchain data sources as a dependency for their code so little introduction about me um my name is atos um born lived and studied in Australia uh I've done some entrepreneurial stuff back in University um and fresh off my education I actually started career started my career at traditional banking sector so and then I turned into 10 cent and now in ZK pass so the main purpose of this talk really is to just have an in-person explanation of how SDK works as we've posted our Bounty for eth Denver so this Workshop would be less thought Pro thought-provoking uh compared to other talks here but um it's more straightforward um so what we'll do is to mainly talk about a few parts um first of all it's what ZK pass does and then we get into the technical nitty-gritty n nitty-gritties of the entire product flow uh from a builder's perspective and then finally if we have time I'll try to get into a live demo but but if we don't have time um there are docs that we still uh that we have and that are still pretty self-explanatory and we have a telegram uh channel for Builders that are interested to build on us um uh where all the questions can be directly answered so there's a QR code here um feel free to scan it um for to get into the telegram Channel um yeah so most of our reputation came from uh us winning the binance Launchpad so let me give you guys a really quick update of how we're doing um we just so we closed around last year uh with a 2.5 million seed round uh we were proudly backed by squa uh okx finance and a few other prominent VCS in the industry um and we have fairly nice traction because we launched our s uh pre-alpha uh at the LA end of last year and had some pretty significant number of users um we also collaborated with uh Linea and binance attestation Service uh for the proof of humanity campaign but we also have a lot of other uh big use cases down the line for example some of the are some of the ones are uh telecom companies from traditional web2 Industries yeah so so you guys might be wondering like why are we focused on private data so let's look at a report from uh 20 2018 and you can see the overall data sphere is increasing and the percentage of private data is increasing so the reason for this is pretty obvious as the private data is mostly customer data so um with the increase of haptic devices that you have um every transaction uh every interaction that you have on the internet could mean some sort of private data generated so since these sort of data is very easily generated so there's much more private data than public data and the private data sphere Pro projects to be seven times larger than the public one by 2025 so now let's look at the competitive landscape in terms of projects that are playing with data um as you can see like there are prominent names in their respective places for example um the chain link uh super oracles stripe um fractal ID click ID bance binance attestation uh uh ethereum assist Station Service um getcoin passport and all these um but with offchain private data there's only a handful of projects that you would might be able to name and and we're definitely the Pioneers in this realm so what we propos is a solution that is able to verify any data from any account and any website um we're compatible with all existing infas um in web2 so we're able to break oracles free from the limitations of API um Oracle still relies on apis to grab and feed information from different applications so yeah so just look at how many projects and how many products that were built using uh chain link and super oracles now imagine that what they can do uh we can do what they can do permissionless and that really leaves a lot of room of imagination for applications that can be built buil with our Solutions so to better visualize this um let's try to look at the video um for the linear Voyage campaign uh where we used Uber as a standard to prove your Humanity I'll see if this can be oh oh so it's not it's not um okay fine um so the demo is not available right now um but you can always like look into it in uh YouTube uh we have a channel there um but yes um so Uber as a standard to prove your humanity is really just the tip of the iceberg um ZK pass is able to verify identities from a vast amount of data sources such as Government issues IDs uh online credentials Health Healthcare data gaming profiles or um online assets so we're able to work with uh rwas as well and and so now let's figure out how uh everything works in a back end so in Builder's perspective um ZK pass Works in three simple steps um so it's Define uh retrieve and verify so going from Define you need to Define this scope of data that you want from the user so what you got to do is first you got to register on the uh def Center that we have uh and then uh we would uh there is a schema validator that allows you to uh which is sort of acting as like a plugin uh to validate that the schema uh does not have bugs so it doesn't like uh tamper or look into any of the work you're doing going but um yeah and then uh you can also like after after installing it you would create a customized schema or you could use schemas that we've already written um yeah and then and then so when the user comes in and starts the minting process um the user will be redirected to the data source where the user logs in and starts the attestation process the then the protocol starts to run and then turns a proof that can be submitted on chain um and then uh so this submitting on chain process is really just a storage uh uh a a way to store this proof uh so it can be also directly used to verify uh for your own project so uh within this step is really what so with within this step is what the magic really happens um so the retrieval of private data and the verification process is conducted between the three parties the Z uh zass node the user and the data source so um although the techn technicalities of our system is going to take a little too long to discuss in this Workshop um our SDK is C like carefully abstracts them away from the Builder so um if you're interested to know more how our particle works from behind the scenes um feel free to read our white paper on our website um but essentially what our z uh SDK does is after you've defined the schema uh for the data you're retrieving uh you would provide the schema to the protocol and it would return a Noe address uh note addresses uh which contains a no allocator node and a validator node and also uh hashes of these uh note addresses and then also a nullifier uh to uh prevent uh redundant duplicates that was generated and also a task ID that was allocated uh that is used to alloc uh for the allocator to uh tell the user uh which validator that they have to interact with then through the SDK you can feed the hashes into the uh the SDK uh verification function and then it Returns the address so if the prior and the latter one matches the SBT is valid or else it's not valid so yeah that's how you prove it so we do have time um I'm going to put up a live demo so um starting from a def Center one sec lagging a little bit uh all right so this is our death Cent uh of all right this is our Dev Center and first of all you have to um connect your wallet and then you can create a project here so that project would uh creating a project would give you a app ID which is uh you can view it as a uh API key and that so you input the name and the domain the domain has to be uh the one you're that you're hosting with um for example uh let's put demo here and then uh we're locally hosting it and then these two are just um could be anything so uh just leave it okay so um let's just assume uh We've created because there's some I think there's some issues with the network but um let's just assume you've created the uh project you've registered the project um in here uh you can select add schema for uh the pre pre-built schemas and then you can also like create your own schemas um and this schema is essentially um so you take the Json uh response for example if you want to uh prove that uh your binance balance has over a certain amount of dollars um what you do is uh you would you would uh log in to your binance account and then and then that would be a come on there would be a code um and then after logging into it um you would go to the uh developer console and then you would look into the network so so you would see that um when it loads uh there is a API that feeds the so this one so uh there's my Holdings um and then you would use this to create uh schema uh that was that you would insert in here so uh for the time being have already made um changes to schema so what this does is it takes the data that was asserted um six of them in total and then uh calculates if it's the actual value is over $100 uh 100 US dollar and then also there's a Code um that proves that uh the person is you wait name Finance balance I so there's supposed to be a category um in here that uh allows you to choose different categories that your schema belongs to and then uh after you've done this uh you would check the schema and then the schema would run it for the first time why um yeah so after you've checked um the loads yeah um sorry guys um there's definitely like some technical difficulties here um maybe maybe um we'll try to resolve this um after but um the live demo I think doesn't work now um yeah so uh add add the telegram Channel um and try if if you guys are building on on this um definitely like um ask our devs on how this is going to be resolved U but I think this is just this computer's problem I don't think it's the problem of the of the uh protocol itself so yeah so thank you guys thank you for your time um yeah
Automatic transcript — names and jargon may be misspelled.