ZKPodcast: Exploring use-cases for zkps and zk standards with QEDIT

30 Dec 2019 · 1:05:17

Anna Rose talks with Daniel Benarroch and Aviv Zohar of QEDIT, an enterprise-focused privacy software startup, about the practical power of zero-knowledge proof systems. They cover emerging enterprise use cases for zk technology and the Zero Knowledge Standardization Effort working to formalize the field.

Speakers

Topics

Transcript

[Music] welcome to zero knowledge a podcast where we explore the latest in blockchain technology and the decentralized web the show is hosted by me Anna and this week I sit down with Daniel and a via from Kennett we talk about enterprise adoption of privacy focused blockchains real use cases for zero knowledge and their early standardization efforts with the zk proof initiative today I'm talking to Daniel and a view from Kennett a privacy

software startup that's based in Tel Aviv they're focused on building enterprise privacy blockchains and specifically focused on zero knowledge technologies so welcome to the show hey Anna thank you it's great to be here yeah for sure thanks ok as always we'd like to kick it off with a quick intro Daniel let's start with you where what's your background what are you where are you coming from what are you doing sure so first thank you so much for for inviting us to the show it's very exciting I hear a lot of your I listen to a lot of your other episodes so I personally kind of started this path back in the bachelors degree when I did math and physics and Johns Hopkins University interestingly enough I never

met Matthew Greene who was a professor in cryptography in computer science there but now I retracted Li I would have liked to go and visit him yeah and then I came to Israel and I did my master's degree in computer science specifically in cryptography I was advised by the Cobra Kirksey in Norfolk encryption when I was in vitamin I got to know about Bitcoin a couple of friends suggest that I look into it it's cryptography and it's interesting and kind of the first thing I did with Bitcoin was I hosted us a group of students with this program at vitamin called the international science Summer Institute and I basically gave them four them to work on like the ACPs a signature scheme for Bitcoin and we

implemented the scheme and we implemented the Pollard Rho algorithm that kind of breaks the scheme on the elliptic curves and so on and that was a very interesting introduction and after that I decided to kind of create a student seminar invites one that would focus on blockchain and focus on academic papers in the blockchain field and so we had like a pretty nice set of papers that back at the time they were only like 10 different or 15 academic papers which was like 2015 or something actually I've Eve came to present one of his bad protocols and this was even a little bit even before headed but I presented there the zero cash paper that

was like the first time that you saw to zero knowledge proof essentially and I really fell in love from the beginning I thought this was such a cool protocol and and I saw the applications I mean it was it was really enlightening and then I started consulting for a couple of companies in Spain and other startups and at some point I just started with week at it I met Jon through the seminar and a thief and they just told me to join them cool what about you Aviv so I'm splitting two roles basically I'm a professor at the Hebrew University a professor in computer science and co-founder at cadet I got started I guess I was doing my postdoc somewhere

in 2010 to 2012 in in the Silicon Valley and Microsoft Research I was looking for stuff to research and I discovered Bitcoin and I co-wrote one of the I think one of the earlier papers in computer science on Bitcoin I think it was the third or something when you're looking on Google Scholar and when I got a position at the Hebrew University in Israel I I kept researching that and at some point my co-founders basically approached me looking to start some company that you know they were kind of serial entrepreneurs they ran the is really Bitcoin exchange and after there's another company that sold to digital assets Holdings and then they wanted to set start-up credit and they

were looking for me as a you know as a blockchain expert but they wanted to focus in on zero knowledge proof because they thought it was interesting and there seem to be interesting combinations between the two so surprisingly my you know my background was knobbing cryptography I never even took a cryptography course as an undergrad or graduate school so I ended up diving into the crypto and I started instead of starting from the simple stuff I started you know with a start it's a rough introduction to the field Dovan deep sounds like yeah yeah I mean it looked like you know everybody calls this smooth math and dark magic and it's definitely started out this way and slowly slowly as I kind of read backwards in time in some sense the

literature in cryptography you kind of see how this is based on tricks that came before and and you can trace it back in some sense to arithmetician of computational problems by touring and you know and before that some of the I think Hilbert's problems for the for the century were about our estimate is asian of computation and so you could see some of that in how snarks are built you know basically translating computation into polynomials yeah things like that so I still don't have a formal education in cryptography I don't write cryptography papers I'm still researching things like attacks on you know bitcoins and the economics of Bitcoin and lightning

Network but then in my role in Kennett I'm doing all these things with with zero knowledge which is which is really cool that or the beginning of ketut were you and you were there right from the start I guess yeah so I was I was there from the start we're so at Daniel was actually there as well I mean everything started as informal conversations between people who are thinking about starting the company and we were kind of scoping out potential partners to join us and our first idea was you know maybe we should accelerate zero knowledge proof via hardware that was like our first direction and we thought maybe you know maybe a good idea like the a6 like for computation kind of like yeah kind of

like an ASIC for that I mean it's interesting we ended up not doing that you know that right now there's a lot of people who are actually proposing that again that's interesting that you guys were thinking about that like three years ago yeah yeah and we are talking to some of these people by the way but but we decided you know it'll be nice to accelerate things but first probably you need somebody to use them in order to buy your acceleration we thought things like z cash and so you know they were at the time they were pretty slow but they weren't too bad nobody would like Z cash users would not buy an ASIC to cut down time to send money from 40 seconds to one second I mean that they wouldn't do that we didn't think that was a market I

mean I remember I remember sitting with I've even in a coffee place in a city called Modi in fact it was like 2016 and we're trying to figure out how to paralyze the proof algorithm of the zero knowledge smart for because DC TV so like a follow-up of the Pinocchio paper now that was that was a lot of fun until we realized that you know okay maybe maybe this path is a bit too early for now I will now wonder though so that that's kind of the question like should you should you be working on making something really really optimized fast so that it could get adoption or do you need adoption for it to be worthwhile to even build the optimization I don't think we can say quite say

chicken-and-egg but it's like somewhere in that metaphor it's something similar cool but you made a decision then at that point you decided not to continue on the optimization front or the hardware front you decided to go for adoption yes so we were seeing all these examples that we can basically approach companies with we could tell them you know here's this thing that you thought you couldn't do at all because there's a little bit of magic and zero knowledge proof right you prove something like that about the data you never reveal it and that enables things that they thought were previously impossible but we can say that may affect your bottom line you know you know in a way that's very significant and

and you start to get the feeling as you talk to these customers you know they ask you questions and some of the questions that they don't ask you is you know is this fast is this really fast they didn't ask us at the time they wanted to know other things so we said okay maybe acceleration this is how you make this decision you don't just decide not to accelerate you're saying okay what's bothering the people I'm trying to sell to and and so far you know if you tell them we can do it in 40 seconds nobody falls off their chairs right there they're like okay so it takes 40 seconds of compute time and they you know do the numbers and they say okay it's a few cents of running time on Amazon so if I buy my machine myself it will probably be you know so and so many

cents for proof and and we can live with this maybe you can make it faster later but it's it's okay they're more interested in how it affects their business and how you integrate into their systems so there's a whole aspect of being a company that targets enterprise that has to deal with these large pre-existing systems they're out there running that you want to integrate into which is which is really hard it was also the time that that we were seeing kind of a lot of developers a lot of people trying to build stuff on blockchain because like a theorem had started a few like a half a year before or something like this and we understood the basic problem of privacy on blockchain and we knew that geo knowledge could solve it even

for like you know use cases that were not directly related to money or asset transfer right so that that's kind of the path that we took and actually like our first them or really really early on was this really cool them on on showing how to have like real time risk on an airplane or an aircraft so it was pretty cool to her than that what do you call like what do you call the work that you do you're working with enterprise but do you have to like spend a lot of time educating them are you a consultancy firm on some level are you building stuff how do you actually work with these enterprise customers because I can just imagine entering into these conversations you might be starting kind

of at the ground level so I just picture you must have to build quite a bit of knowledge those with those potential customers so usually we tell it the other way we come to them and we say you know let's say you're an insurance company we have a solution for you that solves a problem for you and then when they asked us you know how do you do this you know we have our you know we show the occasional slide of Waldo you know it's in every deck pretty much everybody who's in the zero-knowledge space has seen the Waldo example has said it at least once yep yeah so we say it many times and you know so you when you when you approach a company this

it's not you know a single meeting you start by showing some deck to some people they get interested they bring in more technical people that these technical people are often you know people working on blockchain working in cryptography then you give them you know deeper a different look into stuff you show them stacks you show them you know academic papers you start to talk with more about the math some of them actually have experimented with zero knowledge before so they know what we're talking about so we said you know this is legit this is hard so so our job is actually easy on that nobody challenges that aspect too much there's enough material out there to decision to show that this is real and and the

business people don't necessarily need to understand how the cryptography work because if you really think about it you know very few people really understand how the signature is even work or hash functions and so on so you don't really the business use case eventually is you know there's something equivalent to a signature that we do on a computer it's you know this dark mathematical magic that happens somewhere else that somebody else understands it scattered specifically focused on zero knowledge or is it just general privacy like do you also work on other or do you kind of utilize other forms or privacy technology or privacy cryptography yeah so at the beginning characters was focused on zero knowledge proof solely in some sense building protocols business your knowledge proves but we've understood of course that you know

cryptography has a lot to offer and we definitely have kind of adopted several other primitives it is to say that even when you build a protocol based on zero knowledge proof using all the cryptography as well right just commitments and hash functions and miracle trees and and signatures even NPCs right we using our trusted set up for the zero knowledge schemes and things like this so that's kind of from the get-go but we've also found that we can use other other tools for for other use cases yeah are you only when it comes to the zero knowledge side of things are you primarily working with snarks or do you work with like other kinds of zero knowledge techniques so so

so right now I think snarks have you know established libraries of code that are out there that are tested in the wild Z cache you know went back when they were called Z cache the company when they upgraded to sapling we were part of the code review for for the new version of their code base so it's easier to for us to trust this code that's out there we do keep it keep tabs and all the latest improvements and all their all the recent papers with you know getting rid of trusted set up making it you know incremental Universal and so on we are not married to one

technique or the other and in fact one thing we're really trying to push is a lot of intro interoperability between different schemes this is something that we're pushing you know in other areas not just in the company but you know this is an effort that we're leading with others as well and this kind of leads to the conversation about standards which is something I want to talk about but I want to talk about that later for now I kind of want to focus on this work that you'd be doing with the different companies when it comes to enterprise like you just mentioned zero knowledge research is going really quickly there's a lot of new papers new constructions coming out at what point do you feel like it's are you comfortable with kind of selling this to

enterprise like because you have to I guess they're you'd have to be quite careful some of this is untested obviously like any work that's done with enterprise needs to be at the highest level possible in terms of security and confidence so what's your how are you judging this and like what would you say is already okay in your book so I would start by saying that indeed we want to use what's kind of most battle-tested out there so for sure you know it starts with the security proofs and with kind of academic peer-reviewed so we look at the papers we understand the math and the security ourselves we we have our advisers we actually work with three world-renowned cryptographers were advising credit and they help us also

kind of ensure the security of all of our products and in some sense if you look for example at Z cash right they deployed the garage 16 snark and only after it was deployed it was understood that partly also it was because okay efficiency but there was also a bug in the BC tv-14 paper about the trusted setup that allowed parties to to subvert the soundness of the scheme you know this can happen and this can happen basically in any cryptography that's why we kind of want to have the most assurance by seeing what has been out there the most and one has the most kind of bug bounty or the biggest price on it

that people would want to try to break do you also like internally with the researchers on your team actually like truly go through those breaking scenarios is that what like you have to verify not only through looking around it like what other people have said is okay or like watching how long something's been out there in the wild but rather actually breaking it or trying to break it yourself sure of course that's I think that's like the basic approach is to always say in cases of privacy for example who should know what and who should know what and then we are careful to document any limitations that we find really the place that we're innovating is is somehow above the zero knowledge protocols we're using existing libraries

as building blocks right whatever we're proving so there's a lot of protocol development and then we have to see you know this guy software from there can he now deduce or in lean between transactions are between transfers or between pieces of data or not occasionally we find stuff of course in protocol design so we have to be super careful about that we're always aware of the fact that cryptographic protocols are very very delicate we'd be very cocky if we didn't think this way and I think the first step in understanding in getting security is being paranoid rights being sure that you have a mistake somewhere you just haven't found it yet do you have to communicate that that way like you kind of like you know or like I'm just

imagining how I mean how like the enterprise customer needs to trust and yet be aware right that that always happens with any cryptographic software we found we know of cryptographic bugs in in random number generators that were used to generate keys and so on you know this is very basic stuff that was done wrong in some minor way that you know maybe lay there for years before somebody found it yeah so the right way to do it is to set up ways for people to disclose bugs if they found it to work with libraries that are open sourcing everybody looks at all the time and invest and part of the stuff we do is at

the theoretical level you know Daniel and I sit there with others and try to analyze our protocols and try to write proofs for them and and thinking formally about protocols helps you find holes in them if you kind of formalize everything you can't avoid thinking about every little aspect in some sense and another thing we do is we we write tests for code eventually there's a system out there that does this if it's well tested there are a lot of test Suites a lot of unit tests written for every function it's you have higher confidence you can never be sure you just increase your confidence level what exactly you sort of mentioned just now that you build like you'd be building on top of these libraries but what what do you build I'm guessing these are like

software products are you building like everything for company or just like a small segment that like interacts with something they already have that's a great question yeah that's a great question so that depends on the use case maybe maybe we can start by saying that you know the first kind of layer on top of the snark that we build is kind of the application that is going to be where the youth case is going to take place in some sense right like if you think about the city cash or zero cash what's the use case well transfer of assets right and they build the whole protocol and and you can see how every single kind of feature that they designed was designed specifically to meet some requirement of the use case in

terms of privacy in terms of anonymity and things like this and so what we did was essentially we actually threw out kind of the lifetime of carrot we've built several of these protocols until we understood that we kind of could look at different components that repeated in these different use cases and build a kind of more modular protocol that that could sustain several different use cases right and that's where we are at now actually so you have you sort of have them not really a not a quite a toolkit but like a I think one could say like a palette or a bunch of modules that you can link together depending on the use case yeah yeah so let me give

examples for stuff right if you're if you're doing proving so we can we have capabilities for example two parallel eyes many proofs and launch a lot approvers so that's if you're going to an enterprise setting they're going to want to do maybe a lot of actions they have a maybe a data center that they can use so we can we can scale up the number of cruisers very automatic lis and then you need to manage how they are spun up in what they are proving we are gonna have keys stored securely somewhere in some in some HSM or something like that so that that's not gonna be on the machines that are on the internet there's a firewall somewhere in the organization so private data is kept

somewhere and maybe a blockchain note that they would have is open to others to connect to that's it's somewhere else so you you want to make sure you keep the private data away from things that are open to the internet other things are monitoring tools you want to see that the system is up and running you want to see a console that shows that it's working so there's a lot of stuff that you're billing for enterprise that surrounds this the proof system basically but these are really important tools for them and surprisingly they're very dependent on the properties of the zero knowledge persist specifically and what you can show and where and and and in general you know everything is supposed to be private how do you show people that you know this is this is being maintained

and kept it's it's like it's very very hard that's so crazy I never thought about that like the monitoring tools of zero knowledge have to be trusted to be correct because there's no other way to really check on that sometimes and like you right still you're getting kind of like a I don't know if you like would them are the monitoring tools like deeply embedded into the zero knowledge technology or the zero knowledge proof themselves or is it still like looking back and trying to identify any error or any problem from the outside so so there's a mix of both really so when you are let's take for example asset transfer so we've built up the asset

transfer scenario for enterprise settings so there's a there's a lot of bells and whistles that you want to add on top of just sending stuff so think of I want to manage a lot of wallets basically holding money I want to be able to have a function of issuing tokens right if it's a stock exchange that want to do a write they want to use stocks the issue them and then they are traded privately so somebody has to be able to uh to to create new stocks and to mint new ones there are all sorts of events in the lifetime of a stock you can you know double the number of stocks for everybody do a split right all sorts

of things that are different maybe some of the things you want is if I sent you some stocks maybe I want to receipt or some acknowledgement but I've actually delivered them which you know doesn't exist in other private asset transfer maybe you want the transfer to only be cooperative so it's not just a push like I send money in Bitcoin or Indy cash the to an address and they can't stop the the incoming but it has to be cooperative on the recipients side so you have a lot of these things maybe I want to be able to issue in private which is not something you do in Zee cash all sorts of features that are interesting and important force for enterprise use cases that we see and that's just one one aspect and then you

want to be able to monitor monitoring also say means you know who has the right to issue is that supposed to be private is it can you approach can it be an issuer without everybody else knowing or not there are a lot of decisions to make there when you're when you're building up a use case like that in general when we when we say issuance right like one of the kind of features that we need we need for our products is in some sense being able to issue any kind of asset in some sense right that's what we call issuance in some sense we don't have a minor system in our product right because when you talk about enterprise setting it differs a lot from what you have in like the public block chains right it's similar to what you would think about between my public

blockchain and private blockchain except that now you need to take care of a lot more kind of functionality and and requirements with your knowledge I've curious about like now that you mentioned that the technology blockchain technology in these private enterprise systems are they similar to like proof of authority or POA systems or is it completely a different thing and like I'm kind of curious how the blockchain part works in these I guess it might maybe also depends but yeah it changes from law change system system but basically there were consensus protocols that predate Bitcoin by basically by decades it was known how to do consensus protocols in systems that are closed

enterprise settings in these private blockchain settings you know who the players are so you just rely on old-style consensus protocols that don't need proof of work as a building block and they as a result don't have electricity waste and so on so you know but of course the Bitcoin maximalists like having these open systems but in enterprise settings where you just want to synchronize on data without having a central server possibly because of political reasons you could say write a bunch of banks that group together don't want to give all of their data or control over all the data to just a single server owned by you some one entity if that's hard further than what

they opt for is a consensus protocol running on their other servers and there have been continuous improvements in consensus protocols so you could look at Libre for example this they're basically gonna run a consensus protocol it's been informed by a lot of developments from Bitcoin but it still is an evolution from consensus protocols of K before and these internal enterprise consensus mechanisms or setups yeah I mean if you think about it like you're you know in some industry that is existing if you on board all of these banks onto a blockchain they all need to know that they are all part of the blockchain right if they're going to transfer and so on so there's there needs to be some kind of like public key infrastructure

system and then everything that actually is actionable on the blockchain happens is completely private right but at least they know that they exist so there is some kind of trust mechanism that is embedded in in their industry that you cannot remove so you've started to mention a few of the use cases that you actually work on but we haven't really defined them and by the way this is really cool to actually see this enterprise level zero knowledge stuff and it's kind of new for me like I know I know more I think about like the the new innovations around like polynomial commitments then necessarily how it's being used by big companies so I hope you can help me better understand that what are the use cases that you're

seeing primarily emerge so maybe we should talk about like the big class of use cases that everything falls under there there's often the case where you have somebody who's interested in in the day-to-day operation of some asset or in risk of some something that they don't control and I'm gonna make that concrete with an example so Daniel mentioned this case of an airplane for example flying and you wanna let's say I want to insure this air like an insurance insurance company so all these things are really insured if you're if you're I don't know Lufthansa has owns a few airplanes they insure them for four crashes and four other

things and now the insurance company would give Lufthansa a discount on on insurance of the airplane if the airplane for example is well maintained if you know if they knew that the airplane every time it lands there's a bunch of people looking at it poking it and so on fixing everything that's wrong on the other so on the other hand maybe isn't interested in giving work daily reports about every airplane to some external party because this is basically all of their operational data this is a trade secret for them or you know it's very sensitive well the other hand they do want this discount so what do you do maybe so what you could do is if you

could provide as your knowledge proof of the fact that your airplanes are maintained without giving all the details of exactly where they're flying in the world right so this third party's quiz that is interested in the aggregate of the data somehow something that you derive some computation over the data and doesn't really care about where Lufthansa is flying here of their airplanes they don't care they they're interested in giving discounts so that could amount to a lot of money so that you know that was one of these use cases that we started with but the basic story still makes sense for other use cases when you're interested in stuff but you don't really want to see all the details yeah on that on that kind of example and and some others that I've heard but the

one thing I always wonder is like you still have somebody who has to check there is someone verifying the planes I guess at an individual location there'll be like a technician or some man I don't know what they'd be called the like manager of a bunch of technicians who basically say yes things have been done correctly and sign off on it if you didn't have a zero knowledge proof to prove it you'd have to somehow get some other third party like certifier to go around and either check their work that's the one thing that I think people forget is like because we're not dealing with pure numbers it's not like we're adding these things and you're gonna find out if it's true or false or above something or

under something that's like very mathematical you're still relying on like an individual to check something so there is still potential failures or like deceit or like not you know dishonesty on the individual level I guess that like zero knowledge proof don't check for yeah yeah that's called the Oracle problem in blockchains right there's data based on the outside world that you need fit into the system and then you can do your cryptography on it and check things but if you think about it from the company's perspective you know you need collusion between many entities to feed in false information to get some insurance discount so of course if you had a third party running around

the world and checking that and you had these people colluding you'd still be in trouble you know that wouldn't say so so so of course there's stuff you cannot do but if I say you know the place is where i repair my airplanes are not you know owned by Lufthansa that's a different company why would they take it on write this risk they're actually repairing planes for many different companies why would they take this risk together with one of them to get some discount insurance it's they're committing fraud so of course you need to audit this somehow but but you you started putting structures that are harder and harder to circumvent it also sounds like you push the digitization and like the turning it out of the real world into a digital

world further and further in and now you're kind of taking the certifier role out if I could kind of generalize this just quickly in terms of use cases and and try to kind of categorize the two different places where we applies your large proofs I would say that like on the one hand you have this use of zero knowledge proves I think it's the one we're most familiar with around kind of publishing a proof on a blockchain and having everyone verify that proof to verify the consensus rules on the data that is not shared right and sometimes in this way we can harness the potential of you know ledger technology interpreted Ledger's and blockchains and and so on

in the enterprise well and the other kind of use cases that we have is whenever we want to like you know share insights on data that is privately owned right and in this case you know we live in this era of monetization of data and now you you want to share zero knowledge proof kind of from peer to peer perspective right you wanna share these proof with someone specifically who is going to verify that you have this computation also on your data right whether it's the risk or whether there is some valuation and and these are the kind of two use cases generic use cases that we do but let's dig a little deeper

into those use cases because so far you've given that use case of insurance what's what's some of the other ones that you were actually seeing emerged supply chain management is one risk and credit scoring yeah basically is another from the textual detection would that be like compliance in some way or does compliance the separate one compliance it kind of falls along the all of the use case really as soon as you don't share the data or you kind of get proof that you have consents to share the data or some information on the data that's where you're being compliant with regulation right with all these GD P R and PSD to and and PCA and so on but yeah and in within the credit scoring I

think we could also categorize like kyc collaborate collaborative kyc in some sense so we actually I've even I actually have a blog post one of our first blog posts was this kind of decentralized credit scoring platform that we and we thought of so essentially if you think about what how credit scoring works today right if you go to a bank and you're gonna ask for a loan or some financing they're going to ask for your credit score now you have as an individual a history of transactions and financial data right from your credit card from your bank from other loans that you may have taken from interactions with merchants maybe

you sold things etc etc and all of these essentially builds your credit score and what happens is that let's say in a world you know the ideal world you could just kind of give all of this data to your to this one bank right because all of the data is not in one specific bank so let's say you can give all of this data to the bank well the bank can come compute the credit score and then be sure that the credit score is is what you're what it is right but then of course this gives away all of your privacy so you don't want to do that on the other hand you could essentially compute the credit score yourself and then give the credit score to the bank but now the bank it lacks trust right so it's kind of this is really the tension

you can see where it's going of what zero knowledge proof solve right the tension between privacy and Trust and so today what happens is that you have a third party a third company that is a credit scoring company where you trust them with your privacy and you give them the data and the bank trusts them to get the correct result right this is again like a third party certifier model that just that exists across a bunch of different industries but in this case in the financial industry are banking and and then so now we can actually kind of remove this auditor or this a third party a credit scoring company and

compute the credit score yourself and give the zero knowledge proof to the bank that this was done right and in some sense there is a tricky part here to consider which is this idea of garbage in garbage out which means basically like okay you could have just computed a credit score from some data you have in your own computer and you could have invented the data right so if we go with a kind of one step even further now this is kind of where blockchain comes in in some sense the financial data that you have needs to be committed and published by the people that you interact with in your lifetime right and that's how you kind of prevent this issue and I guess to keep it like really to make it actually really usable

you'd also make that orig part private and then do the credit scoring based on private data on a blockchain yeah yes so it preserves your privacy and yes it's out there but you can still prove facts about it right that's the what about this Collette what about kyc so essentially in a traditional setting so let's let's put that put the setting out there so if you have for example a digital wallet company right and the digital wallet company offers the services where they're kind of custodial about whatever assets and now they want to provide more financial services to their customers right and so they go to a third company that is a loan provider right and they

say hey I want to work with you and I want you to give loans to my customers so usually what would happen is that the loan provider would ask for a copy of all the data of the customers - in order to validate the KYC right know your customer and but now there is this kind of setting where the original digital wallet shared these data a copy of the data now it lost control over the data of its users because you don't know where it's gonna go - right this is bad for regulation but it's also bad for privacy of the users and so if instead of sharing the data the company the digital wallet company can actually share a proof of the KYC process for the loan provider right to validate the

users they could get the loans without having to share the data mm-hmm I've also heard this idea of like comparing like a whitelist with a user set and then just like having that be some form of kyc that doesn't need like you could do that with a zero knowledge proof and you wouldn't need like another set of eyes and yet it would still be it wouldn't necessarily be completely private but it'd be randomized like it wouldn't be clear which which names were on the list or something like that that was kind of another another idea around that that I've heard definitely there's usually not about white lists so much as it is about properties of the individual like are you a citizen of the US if you are a citizen of the US we can't sell you a

certain type of ass because the SEC says no but we could do something else with you right so there are all these rules depending on properties right or if you have a high risk score we don't want to give you a loan did we check your identity well enough right where do you have a bank account is your ID you know do you have a you know a US passport you have a credit card things like that but we don't want to give your credit card number out we don't want to give your photo ID necessarily right so these are the things you want to catch by you want half-crab kept private what about okay going forward what about this you have two more on the list that you just

shared with me which was fraud and supply chain let's do fraud first is it similar so let me try to do fraud fraud is a bit different it might there are different ways to approach it from the protocol side but think of again an insurance company let's go for an insurance company and I'm taking out insurance on my house and it later burns down and I collect my insurance claim it could be that I also insured the same house other with a different insurance company so I double insured it and maybe triple or quadruple Internet and I'm committing fraud on a large scale but insurance companies in order to figure out that I just insured the same house need to talk

to each other and the thing that they really need to share is their customer lists you know here are the people we insured here the people we insured let's try to find who's there and who's that they don't like doing that so one one approach you could do is I could give you a zero knowledge proof that there's no record on the blockchain saying I already insured this house right if there is an identifier for the house with everybody agrees on for example yeah you say every house is going to have a single token it can be in turn on the one place when I give you the token to somebody else and think about this way they are the ones that have the right are insuring the house I cannot

give the token again to someone else okay so in this case it is kind of like again list matching but over but with of zero knowledge proof that there's no eyes on the actual lisps yeah it's more like knowing that's when I insure you you didn't appear in someone else's list by the fact that you she you just delivered maybe a token to you or something like that that could be a way to do it okay and then lastly there's supply chain which is really well-known actually but I've I've not seen hmm I guess I've heard examples of it but I've never really heard about them past their announcements that seems to be

like this this enterprise customers trying out a supply chain blockchain I've never heard zero knowledge and supply chain but I've heard trying out seblak chain for supply chain and then we just don't hear anymore nerd news bending anyone out there but that's at least away it's it the news is affected like hit me I haven't I haven't seen that many like follow-up stories so maybe I should I should I should say something one of our main thesis is that when you have a blockchain somebody is trying out watching something something right they have a an inherent problem to what they're doing block chains are really good at replicating data everywhere that's what they do basically that's the functionality they synchronize data between players so if

you're doing blockchain without the privacy you're quickly putting all your data on something that's gets transmitted to everyone else so so can it was started kind of realizing that nothing in blockchain would work if you're sharing all your private you know business data with competitors that are on the same platform alright so these things are doomed to fail if they don't incorporate some aspects of privacy I totally hear you I mean I think when in in a previous episode we did with Lucas from centrifuged Rita also talked about this like it's come up a few times with this idea that like companies trying to use blockchain can only use them for

those things that they're very comfortable being public unless you're implying unless you're including some sort of zero and all your privacy technology in the blockchain itself because and and if you think about business activity a lot of it is kept private not because of being trying to be deceitful necessarily but because to be transparent in those cases could be like it would be impossible to stay competitive it would disclose certain strategies that like if disclosed would make them again non-competitive so it's not like it's just businesses will look at that and be like I'm never gonna do that I'm never gonna share my data on a blockchain because it makes no sense unless there's this privacy included actually if I can take that one it one step even further

from from kind of a cryptographer point of view even if you have zero knowledge proof you may still have some of those issues about like strategies and stuff when when you're looking at like metadata like transactional metadata so if if for example you're looking at like theorem why is it so hard to get like actual privacy and a theorem because inherently the ethereal ecosystem or blockchain does not enable the privacy of the of the participants right and it reveals all the transaction so it reveals who the transaction graph so who is sending to who even if what you're sending is sort of hidden in some way right just just for the record there is really good work being done on privacy

on a theory like I didn't in the networking layer when you're sending transaction messages to e theorem you have to use things that are probably there's there's a lot privacy is a hard problem in general it's very hard yeah totally um so yeah back to the supply chain side of things though just to wrap up that last use case like so in the supply chain management examples that I've heard it has to do with you know a number of different parties along the supply chain interacting with one another not trusting each other all holding a ledger that showed you know each transaction up the up the chain is that roughly what you are doing is there

is there kind of like different kinds of supply treatment are enabled because of the privacy so so I think there are two main that are that people in supply chain are interested in one is the multi-part multi participant further up the supply chain kind of look you want to know that your supplier is going to meet his deadlines for example in supplying stuff to you because you have some visibility into their suppliers meeting some deadlines on the way to them right so you know if I'm a camera assembly company I need bolts from some other company I want to see that he's gonna be

on on time so following the shipment from him to me gives me more and more assurance but then it reveals operational data of this guy that he maybe not want to show but maybe what if he could prove to me you know it's on some ship that is due to arrive within three months and I'm not gonna tell you which so that's where zero-knowledge groups come in there but really another aspect is just tracking things right even if it's just within your company you want to track an asset you have different carriers you're gonna give it to an airplane here which is gonna put it through customs there and that's gonna go through to another courier until it gets delivered all right you have a you have cargo that's worth money

you want to know where it is you want everybody to to be able to keep track you want maybe your insuring it again the insurance company is gonna say you know your plane crash how do we know this asset was on the plane right and you know it was not actually left off by the guy before loading it so you want some some record of this there is usually a document trail that follows shipments and that totally ruins privacy because everybody receiving the shipping can just see who before yeah that's totally yeah that makes sense and it's especially littke and issues are in the luxury goods setting so like

we're actually working with with an Israeli company called give you that is kind of trying to solve this problem with carat of how to make sure that you know the courier doesn't actually know what the value that they're caring is right in order not to be incentivized to steal it or things like this and by hack by having these traceability of provenance on the blockchain you can ensure that they cannot cheat you as to you know whether they exchanged it or they did something with it right what what have you actually learned that going along this journey of like exploring the enterprise world and supply chains and everything like it sounds like for both of you you join ket it but before that you weren't doing you know business development

level Enterprise stuff so what's that shift been like is it is it cool is it frustrating I'm curious so just the other just the other day were at a team meeting with all of Canada and we were discussing a business problem that basically came up and it spins us into new directions from the cryptography basically the business people are saying you know it doesn't make sense for the product to do this and that because the customer would never accept it and for us that translates back into a problem with how we built the protocol that we have to start thinking creatively to redo the whole thing so it's it's a really interesting thing to see an

actual use case usually it brings up new cryptographic questions very quickly cool so it keeps it interesting I want to go so we had sort of mentioned earlier on in this episode this idea of standards and actually I now understand so much better why standards would matter specifically to get it because like we were saying before you don't want to start implementing things that aren't a little bit more battle-tested and yet some of the new constructions may have properties that would be very desirable and so tell me a little bit about the standards work that you're doing with ZK proof so I guess like let's just start by saying that like what why are our standards about right like standards is first about kind of educating as much as like encouraging

innovation but it's also about kind of bringing trust right in the technology to those that can't really understand the technology right so is this kind of line of truth at snarks holding the math behind them we want to kind of grab it all along you know from the researchers to the developers to the implementers of the applications to the business people and to tell them you know you can use this technology safely right without having to understand that essentially and to get a standard like what it what is a standard and zero knowledge exactly like what would there's is there a standardization body as there like a pool of experts like what what does that

mean we don't call ourselves a standardization body we are a kind of community driven effort and open enough initiative that is aiming to first of all kind of set the best practices right in this space right there is already like they say that don't build a standard under you'll see three of the same instances right being built so right now you have more than three of many things right so it's time to really start thinking about how these things are going to be used how people are going to have access to these tools these these schemes and so on with the focus on interoperability and security that's kind of like if you ask anybody

in the steering committee right they're all researchers and academics they'll say yeah that's like security please right because there's been instances before where cryptography wasn't exactly secure from other standard bodies but in some sense if you want to think kind of a little bit forward in order to bring a standard we are already having conversations and interacting with different standard points like for example the the National Institute of Standards for Technology NIST is actually helping us quite a lot to build this reference documentation that we've built with the community in ZK proof and this is kind of first of all an overview of the of the space and what exists out there but also kind of recommendations

for some best practices I've heard so it's interesting because when it comes to standards and zero knowledge I've heard people ask for it but also people be very wary of it like saying oh it's way too early to try to standardize this stuff like we shouldn't standardize I'm sure you're hearing sort of similar two-sided feedback on side like it's needed on the other side it's too early so how do you kind of like think about that how are you navigating that I really want to try to answer that so so there are times to standardize right if something if there's a like a large incumbent in the field they want to standardize usually you can use standards to put everybody else out to make sure that things are

done your way and that's it but really if we're looking at the field early it is in some sense early to standardize because there's no clear winner in terms of which scheme to use but on the other hand there's also no large incumbent that has interest we're not married to any of the proof systems ourselves we just want the best one right so so in some sense it's early to standardize in some sense it's just the right time to get started I say that standardizing zero knowledge is not this thing that you do was you know it's not a small blob and you're done like you would standardize hash functions there's a candidate hash

function that's it that's the standard for a few years until we replace it because zero knowledge proof have so many different aspects to them how do you trust it set up how do you use a scheme what are the languages what are the file formats you want a lot of interoperability you want a lot of best practices it's a much larger area so we're approaching it a little bit more like standardizing the internet the internet doesn't have a single standard it has basically RFC's that are grabbing different blobs this is how you do congestion control in TCP this is how you do routing right there are a lot of RFC's that deal with different things this is how you encrypt yeah you know this is how you do SSH

you know HTTP and so on so the each one of these small documents can later be replaced and it grabs a small piece off and basically tries to bring us forward into best practices so one of the things we're pushing is interoperability between compiling from higher-level languages to proof systems this is one of the things we've we've we've pushed into Zika proof called Zika interface and it's now being implemented by quite a lot of different systems so we're starting to move towards an interoperability we're not working on a standard for benchmarking basically an agreed-upon way to test some scans and

just to say you know we're not gonna say one is better than the other but one is better in some aspects and the other is better in different aspects so let's understand the trade-offs run them on the same machines use them to solve the same problems and see which one is better on on some scale so we're trying to reach agreement on that I think that would be fascinating with the inter I mean the internet and the way it's standardized itself nowadays there's certain people that look back on some standards very critically is there any I mean at the same time is it like is that the best system that we actually have like maybe that is the best system to deal with this like growing moving thing but yeah I wondered if you'd thought

about that a little bit like I hear complaints about certain standards certain you know and people wish that it wasn't so but it's so well it's so widely adopted at this point that to change it would be very very difficult right so with the internet there are cases where we're not so much complaining about the new standards it's you know the old standards just kind of emerged people actually wrote protocols before they even imagined that the internet would be this large Wow if you talk to people who actually develop things like Ethernet and so on they they would tell you know we were solving the problems connecting the office next to us we didn't think it would later become the worldwide thing so we did a hack

which later turned out to be horrible on a planet scale in their network and now there are better standards and as you said the thing that makes it hard to change is not so much the standard isn't goods it's that the system is already deployed in in a bad state and there are very poor incentives for everybody to change so people are looking at incremental deployment of new technologies one example is ipv6 where we basically ran out of IP version 4 addresses and there's a great standard we can all just switch to it's in our operating systems everywhere but it's just not activated in most routers and so it's more of a

deployment issue than the standardization issue it's that when we thought about the system we didn't imagine the internet being so large mm-hmm I guess it's so early right now in this era knowledge space though that it's like there's no way to predict and we do our best yes we're gonna we're gonna make some of these mistakes definitely we have to move do something to move forward I have a different take in some sense it's that you know we want to essentially build kind of the the infrastructure for using zero knowledge proof right we're not going to standardized the zero knowledge proof itself or maybe not even like the circuits right the better some hash or the specific vertical tree or things

like this at least not yet because we don't know what's the best but we want to be ready for whenever these technology is going to be kind of mainstream right otherwise you're gonna find people like doing very weird and bad things so even if that's in standardizing the way you work with snarks or zero knowledge systems like or zero of proofs are you not in a way coloring the way that they develop like they'd have to be constructed in a way that still works with that other side well yes there are definitely choices that push the system in some directions this is why we went into Zika proof with a lot of different partners they're

going to be the the effort itself is separate from Kennett we're not running it under kitted it's it's it has a steering committee with a lot of different members that have different boundaries in other companies some are you know most academics and the effort itself is super inclusive everybody gets invited to these things if you're technical and doing a zero knowledge basically the the bar is just you know understanding zero knowledge enough to be participating in discussions and so we want to hear everybody's opinion if every you know someone's favorite technique is marginalized we actually want the that opinion to be heard and not suppressed

because we're at this point where we're not married to a specific system we it's it's early enough for us to switch yeah if there's a better way of doing it yeah so so Ziggy proof is an effort to standardize your Nagy groups right and we we are a community driven effort because we want the input from the community because we want to be as inclusive as possible of all the different opinions of all the different experiences and we essentially started as a result of seeing that like zero launch crews were getting traction that there wasn't enough education out there and that people were starting to really use these things right and that's when they triggered and when we put together

the steering committee we we kind of started the whole thing with the Shafi gold buster and mu to link it to suit ammonia and a van Tommy who's also an adviser of carrot and we we looked at the space and said okay like we need to first bring together everyone who's currently doing this and that's like kind of the how the workshop started we didn't initially think okay we're gonna have one workshop every year and we're gonna discuss standards we said okay let's bring everybody just talk about it I don't care what comes out of it right and we we actually looked at the previous effort that existed from home Orphic encryption that had created these kind of set of documents talking about

homomorphic encryption and we said let's sit for two days talk about the security the implementation and the applications of zero knowledge proof and just write for two days but that's actually what we did and it was really successful we came out with like 80 pages of written material from like from a hundred different people or something so it's pretty exciting and then and then we did another one we're basically now doing an annual workshop that's gonna happen for the third time we should definitely say this around April if you've got a ZK proofed org there's a there's a link there to request to register for the next event or request an invite and that event

brings together we're expecting maybe two 300 people who are gonna come to talk about zero no standardization we have different breakouts to talk about different aspects and we are also bringing in a lot of experts to give talks about new things in the space so in the past we've had pretty much everybody you will really want to meet in in from academia we have a lot of representatives from companies who are interested in is showing up and a lot of people who've been on this podcast yes so your podcast is definitely like the target list for us to invite people we're collecting lists from everywhere but you know if you're listening to this

podcast and we somehow did not invite you and you really want to come just go into the website and sorry for the lot so at the last seek a proof workshop we learned that we're having a little bit of overlap with the zero knowledge summit which is something that I do every six months what kind of on behalf of this podcast and it's gotten more and more deep into zero knowledge tech tech and so this time around we are coordinating which is good last time we did it like a day apart and I was an SF and you're in Amsterdam which is a little bit of a mess but this time you're in London beginning of April or like I think it's

the fourth yes and I'm gonna do Berlin on March 31st and so if somebody comes over from the states they can actually go to both with a look there's a little bit of time in between yeah and if you're in Europe then I think you can also go to both very easily so I hope that this gets a chant this gives a chance for people to actually experience both events we're looking forward to that cool nice so is there anything else that you want to share with the audience maybe just one one more small thing because I guess we were talking about standards the whole kind of effort has evolved to a point where now in order to kind of create a standard so we're defining better than but you anybody can actually submit a paper proposal for a standard to be

discussed in the workshop so if you submit a proposal you're going to kind of go through a review process we have a review committee and then it's going to be discussed at the workshop and after that there can be like a working group in order to bring this to an actual standard right so if you have a paper that you want to submit then also do that very cool and I guess they should also check out ZK proofed org for more info on a lot of these things yes yep there's info from past events you can see the documents that we're writing on there there is a community forum so this is definitely the place to go cool well listen thanks so much for being on the show thank you Anna

thank you for for having us it was a great great conversation cool and to our listeners thanks for listening [Music]