ZKV presents...Privacy on Polkadot - Data Privacy Protection with a zk-STARK VM - Xiao Zhang, zCloak
5 May 2021 · 9:05
Dr. Xiao Zhang of zCloak presents on data privacy protection using a zk-STARK virtual machine, part of a Zero Knowledge series on privacy tooling for the Polkadot ecosystem. The talk covers how zero-knowledge proofs let developers build privacy-preserving applications on Polkadot parachains while keeping computation verifiable, and what a zk-STARK-based VM adds to that design space.
Speakers
Topics
Transcript
[Music] okay thank you anna thank you uh to uh ziggy validator for having me here my name is xiao zhang i'm from the ziklok network project so i would be talking about our approach that we use to protect data privacy with a zika stark virtual machine so we are now living in a world of big data and cloud computing we are used to the pattern that we have to send our data to third parties in exchange for services and we all know that in this process our user data could be disclosed misused or sold for profit but there's basically nothing we can do
about it at this moment so it comes to us that someday that we think maybe we could change this and we were thinking whether it is possible that people can use their data for computation or analysis without sending their data to third parties but that means you can do those analysis or computation of your data in your own device such as in a cell phone or in in your own pc so to achieve that we are facing two problems um two to prove to a third party that you are doing things correctly first they will need to ask are you using authentic data so we need to prove that we are using real and authentic data to
them and this has some solutions already such as you can commit your data to a blockchain or you can store the data that you want to use in a verifiable credential and have it attested by trusted party or parties and there are projects in the ecosystem already doing this such as killed protocol so this part is kind of a salt problem and the other question a third party might ask is that's whether you are doing your computation in a correct way and i think people who are familiar with zero knowledge proof knows that this is exactly the kind of problem zero knowledge proof is solving that is to prove computational into integrity
and we have uh been using the term self-proven computation to let people to understand this uh in an easier way basically you do your computation on your own data and at the same time you will be able to prove that you have done it correctly and this part is the focus of the ziklok network project and in our approach we have used zika stark instead of a zika snark for several reasons because it has several benefits we all know that stocks are generally much faster for proof generation and verification it is quantum computing resistant and it doesn't really need a trust setup which is a more decentralized way to to do the computation and but we know
that zero knowledge proof has been around for quite some time but there are not that many applications uh using it also the approach that we just mentioned we want to do general purpose computations on user data and there is a one huge problem here for old old way of using xero knowledge proof that is you have to regenerate a circuit for snarks or air for stocks every time you change your algorithm so this process is very time consuming and it's very tedious people do not want to do that every time you slightly change your algorithm you have to regenerate a circuit that's that's just very time consuming and to
do so for us we have used a technology that is called a ziggy stock virtual machine it can be used for proof generation and verification for general purpose computations as such people do not have to write the the circuit or the air for stocks by hand anymore they can just describe their algorithm using the assembly language of this virtual machine and a proof will be automatically generated and verified for them in the virtual machine and our project is quite flexible actually we plan to be a para chain or maybe at the beginning phase a para thread in poke in polka dot and we'll be able to provide this uh
a stark based uh proof generation and a verification service to other parrot chains in the ecosystem so that's what we call zero knowledge proof as a service and we are actually thinking about the possibility to apply for a common good parent chain slot to provide this service because at the beginning phase our project at least for now we are not planning to issue our own tokens we can charge a little bit of service fee for the service we provide and we'll see whether we can land as a common good pair chain in polkadot and we have also applied and got a web 3 foundation grant and also completed it by the end of last year i think so to go a little bit deeper into the
technology we're using we're using sdk stock virtual machine the name of the project is actually this stuff vm as open source uh project in github is written in rust so in the middle this is the scenario when users and verifiers do their work so on the left side we are building a user client it could be an app your cell phone or an extension in a browser basically you write your algorithm as a program that is described by the assembly language of this virtual machine and you have your private input data that you can send into this virtual machine this virtual machine will do the computation and it will generate
some the stark proofs and it will generate some hashes for a verifier to verify your computation process to get a pass or fail result so we will be building a verifier network based on the substrate uh blockchain using off-chain workers for stock proof storage and the verification and there will also be staking and slacking mechanisms built into it so yeah this is what we're building with a zyklok network project as a blockchain using this uh zika stack virtual machine some very interesting use cases that could be unlocked
by this uh do your own computation your own device approach i can give you some examples for example in define applications we are thinking about using railroad credit credit score to power default applications so it can bring a whole new i think a bunch of different applications such as using a credit score to get more uh to get more money to borrow more money using the same amount of collaterals or you can also use it as a modifier for some default applications and for applications that may use your identity we can preserve the privacy
of yourself you can prove some attributes about yourself such as your your age your income or your sex but without writing these details of your personal information to a blockchain and we can even go to the extent that we can use your biometric data such as such as your face features your fingerprints but without writing any of this detailed information to a blockchain but you can use them to unlock certain applications that is running in pokedot for financial and industrial applications and it's also possible to use this to build a ck ft that is a project
we're thinking about right now and because ft can be used not only for art it can also be used for financial applications such as your contract your invoice those things can all be made into nfts and sometimes people or the trading parties of this ft they do not want everybody to know the details of of their of the things that they are trading so we can use the z clock network to help you to preserve the privacy of your ft without telling people what it is really is but still you will use the fit on the blockchain you will be able to generate it on the blockchain you will be able to trade it in in device for example
yeah that's uh that's so much about our project and we are uh building uh this network i think uh um waiting for rococo to uh to be able to abort us and we're waiting to interact with other parachutes in the polka dot ecosystem and you are highly welcome to reach out to us and we always welcome new ideas and people who are interested in our project we can discuss more thank you