Road to compliant on-chain privacy with zkBob | Igor Barinov, zkBob | ETHTaipei 2023
ETHTaipei·Mon, Oct 9, 2023, 12:00 AM
Speaker
Transcript
[Applause] thank you hi guys thank you for coming after the lunch it's a pleasure to be here my name is Igor watanov I'm a I work in ethereum space for a while known as a ex-founder of xdi which is now organization's chain and the supporter of blog Scout which is the mostly used EDM black explorer used on more than 200 Networks like on all evmaker systems also I am proud that back in days in 2018 we launched the first evm to evm bridge in production so that was the first evm bridge and and for a couple of years supported two core execution layer clients which was open ethereum and minor client both of them are not working anymore but that's how I got into this right so for now um I'm working on ziki Bob which is a which is a way to send tokens on chain privately and we think that this is one of the most important use cases for crypto and if you remember back in history when like Satoshi announced Bitcoin white paper it was like electronic peer-to-peer Cash System right I think the missing piece was privacy so um so what is ZK Bob so ZK Bob contains like three parts so one is Bob which is a stable token I am a big fan of inclusive things like things which are like easy to Mint or they have advantages and some like Capital efficiency and so on so Bob is multi-chain multicolateral um with uh what we think is the cheapest Supply site on the stable coin side to make this stable coin unique uh we like two years ago we started to work with zero pole team we started to work on the Privacy layer for the stable coin transfers and the idea was how can we make this stable coil with uh kind of account abstraction back in days we didn't have this term widely used so second is how to make it with meta transaction gas list how to make it private and work on layer twos and make it cheap for users to transact tokens right um don't mean this stable coin the like most common way is to to like liquidate one asset uh like whenever asset is traded on like uni swap or or um using text aggregator um to uh to the Bob token or to use like upcoming this CDP model which is kind of similar to other CDP models in different uh collateral based systems right so the idea of the stable coin is that it's built on the model of a concentrated liquidity which was introduced in uni swap E3 so as you might know in USA V3 you can create uh LP player with only one token and the second token uh will be uh as like an as an option for uh for buyers to buy by selling their assets through some launching pair right so we use this concept to basically create a way how like users can like buy this new stable token with any assets which is tradable and unusual right so the supply side is basically the cheapest one on other stable coins right so the um the idea here is that to to make to make stable coin uh more kind of keep it like when you make a stable coin the the idea is you have to pack it to something right and it's very hard to pick just a dollar so usually it's some form of other stable coins in the current world like in 2023 it's basically usdc or usdt right um so the model of Bob stable token is like more aligned to usdc which had some problems recently but we think that it's kind of making our industry better and some ideas like what is introduced in PSM model uh which we have a kind of analog um in stable token which we call Bob swap it's a way of swapping stable coins between within the pair with a fixed rate and this fixed rate can be adjusted to uh market price of usdc that's kind of what we learned during this usdc DPAC right so the stable coin itself is very Capital efficient so it's deployed on mainnet and several layer tools and so on coming to other chains we have proposals to deploy a noises chain and some other chains which people want to see so now like now we know that Bob was a stable coin efficient deployed on multiple chains multicolateral overculturalized and so on like what is the keyboard right and this part is what is intriguing me the most about um the adoption of this table coin is because we can send transactions on chain uh with using zero knowledge technology for now it's deployed on optimism and polygon so the main features are quite simple right so but when I think about Simplicity like what is actually people need I think what most of us in in most interactions on public blockchains we need to have an ability to transfer some funds right and maybe withdraw from some from some instruments where we have our funds locked right maybe some staking contracts and so on right so usually when you use privacy pools there is like a weight or deposit funds withdraw funds at that point when we do it on public blockchains identity of wallets which are depositing or withdrawing revealed but when we transfer within the Privacy poll the transaction is not revealing confirmation about Source destination and the amount sent within the Privacy pool which is giving us full on-chain privacy without without the need to use a guest token without the need to send directly transaction and so on so as you can see the application itself is quite simple and all like ZK parts are hidden behind the the commonly used interface where we have like deposit transfers and what is making zika Bob special that also will have a way to send multi-transfers so in one transaction on chain a user Alice can send up to like 127 transactions within the Privacy pool ZK Bop is based on utxo model so that's basically creating uh like a 127 outputs and one transaction and if we have multiple if we need to send more uh like a bigger bigger airdrop then multiple transactions will be submitted by a relayer and uh this is like the all mechanics behind this is hidden from the user they just post the key addresses amounts and use the interface similar from other multi-center tools like multi-center or or others right so but this uh I think one from my point of view is the first zkey multi-center for now it can send Bob token but starting next month we'll be able to send eth up talking and some other tokens on other networks right um I think that inclusiveness is very important ux and inclusiveness like we should allow people to use crypto on their like regular devices without kinda need to install any additional software and zkbop is working on your mobile devices you don't need to have any wallets if you have a wallet like any ethereum compatible wallet you can create a account in ZK Bob by sending a message within this wallet but if you don't you can sign up with a seed phrase can be like a burner type of acid phrase or a permanent one and this um this is encrypted within the local storage right which is sometimes it's concerning but for uh for like for inclusive use cases that's fine right so zkbop is working on mobile devices in a browser transactions can be sent without signing any transactions and all abstraction of account and gas is hidden by sequencer which is including transactions into utxo or in public contracts on top of optimism or polygon right so we've had some challenges here to make it optimized for like multi-thread computation within the browser Tab and that's actually quite impressive that we can we can have a proof generation about 15 seconds in a browser on on the regular iPhone 14. unlike older models it takes up to like one minute but it's still doable if people need to send or receive amounts right so use cases for peer-to-peer caches is like massive use case right so I think transverse is the most important one right when you need to send or receive transfers we use ourselves to sell to send all salaries and bonuses and like everything we have within zkbop and black Scout our 35 people right now we're sending it every basically every week sometimes giving prizes and so on so this like use cases for ZK payment layer I think is like the most widely used use cases as one Bitcoin maximally set back in days people will try all different uh use cases of blockchain Technology but peer-to-peer transfers I think the most important right and we can see it by volumes on any Explorer so just like a few words how it works for me let's say I'm a Carl and I need to pay salary for my kind of employees so I have some usdc and treasury why usdc not Bob because UCC is kind of yield generating asset right so I can keep it within my Treasury and when it's a Payday and I need to pay salary so I convert like a chunk of of this treasury into Bob's table tokens deposit into a privacy pool and we didn't try privacy pool I can send one transaction to distribute to multiple CK addresses of employees and I already as an employer I know these addresses right each employee receive it in in their own for like all employees it's like one transaction from carlside to all employees for each employee they can withdraw a part or the uh or the full amount or they can send to other accounts and and so on right ideally in the future we expect that more people will use uh privacy transfers within privacy pools so they will not need to exit into public blockchains but unfortunately it's uh it's not it's not always possible because integration is quite hard right um so when when Alice Bob chat and other guys received salary and they exit from the from the Privacy pool they can use li-fi integration which is a bridge aggregator and exit on there because it's a bridge aggregator it Aggregates all rates from different Bridges and exit to any chain they want it's at the cheapest rate they can get right so this workflow works pretty well and I'm quite happy that in 2023 we can have like creative working uh cycles of uh like business transactions happening within privacy pools like when users calculating snarks on their devices right when uh like account managers who are paying payrolls calculating snacks on their devices right when people using this underlying technology and they don't care like how it's implemented uh at the uh kind of the infrastructure level right but we can have this uh and as vitalik said yesterday you know privacy is happening right but here is a sour part right compliance so you know why privacy is happening so first of all because we have more and more you know proving systems will have recursive scenarios we have like more projects we have more people educated within ZK and so on right but it's quite hard to build uh projects which are actually foresting and facilitating privacy and and grow it without uh having this uh you know uh uncertainty about the future so the the biggest concern for many people was the situation with tornado cash right and the uh the problem with uh like Founders and all the sanctions and so on so many projects started to think about like compliance and like what we can do better but let's talk about like like challenges of privacy in the blockchain like well by default like how systems were designed and how like we started to like work in the space back in days privacy was hard to achieve right so that's why the current blockchain architecture is usually they promote transaction transparency but we think that there's like lack of privacy is actually making a lot of making a lot of problems for adoption of public vaccines for many use cases so one one of the keys like why don't we have cbdcs on top of public blockchains is because uh governments cannot do it in in in in a transparent way right so that's why they have to use the side chains hidden within their private infrastructure and so on right many businesses are not able to share data between uh between them right many business practices like auctions are built on on the idea that you have privacy for for this type of transaction right so ZK proofs are good solution right because cryptography allows us to enable privacy and also it was kind of it was challenged to um it was challenged to build a real world products because sometimes you can build something in console but after you understand that people want to use it in the browser but after you understand that people want to use it in the mobile browser and so on right so to build a working products was challenging but also on the other side on the other hand it's challenging that when we build it for like inclusive use cases we also see that a lot of uh use cases which we don't want to see can appear and there are actually not that many ways to do anything for them if you don't put any restrictions to make these use cases less attractive to Bad actors right so like that's uh that's what I think and what's also charge GPT thinks about like why do we need privacy I asked I asked her like uh what what are your Arguments for privacy and I think that the argument of encouraging adoption is something that we're missing a lot when we think about privacy tools that like many many use cases and people really need to uh to use private tools to to make them Worth to switch to public blockchains and so on right but also definitely there are some arguments against the Privacy right and um I think the like uh regulatory concerns which are basically because they cannot scan and observe all the data on chain are quite important right um technical challenges likely we have a lot of researchers and the tooling uh and like Auditors right now which are kind of helping us to to build these tools but balancing between privacy and transparency is something hard right so the recently there was an article by a16z which was um uh yeah which was uh which was based um uh on the on the on the paper uh like which type of which type of solutions we can enable in in in in in decentralized application to actually make it more regulated compliant how to say right and I think it's when we when we uh trying to make categories out of those uh ideas right it's all about same things right how can we make screening to actually prevent Bad actors to deposit funds into the into the into those pools right kind of how can we do like screening on withdrawals um well ideally with some trace of transactions to prove that like the chain of custody doesn't contain any uh by doctors capital and how to make selective de anonymization which is uh sometimes it's hard in some models like an egxo model it's it's quite hard so basically a user can provide a way to to Regulators to dynamize part of his transaction Trail in some tools it's easier let's say in tornado crash where it's based on nodes users can disclose each node individually but when you have like a trail of deposits and withdrawals in utxo model it's more complicated right so we think that the approach for uh for uh for the next generation of privacy tools is to find the balance between decentralization and compliance right so for sure as uh people long time in this industry we want to make tools for you know crypto native people make it in cyberpunk a point of view right whereas like fully trustless fully decentralized and so on but in reality we can find the balance and when we think about this type of balance it's actually quite interesting that we can reinvent some of the practices like you know kyc practice and I will Showcase in one example for this one so screening screening is important and when you think about screening it's already used in many decentralized applications for example one inch right which is a leading uh departed Dax aggregator on most blockchains they're using trm screening not only for users but also for for solvers who are who are closing limit orders for users right so their new model is based on limit orders and the so first of all users screened on trm Labs integration and after solvers who are making transactions for users are also screened right but for most of us and for most users it's uh it doesn't they don't see it right so ethereum integration is is what is doing on the so what we do on the sequencer side um that there are some challenges how to make this type of integration in a decentralized way when you need to annotate sequencing and there are some like ways how this can be insured with uh uh like uh proofs of uh inclusion of specific address into a trm Labs database can be embedded into some miracle proof and on each transaction decentralizing a console can basically check this proof for inclusion and make it uh on chain so on a relatively cheap roll ups and chains that can be done in a decentralized way right so some other tools which we built inside zkbop and I think they can help in many situations if you remember the appliance presentation from yesterday he mentioned omnibration next day Bridge from noises chain and uh and he mentioned that they were never been hacked and one of the idea that was implemented in this bridge was about limits that each possible problem with security of decentralized app should be mitigated in some way right so we think that limits are very important way to mitigate risks so for zika Bob like limits of like pool size and like how many tokens can be deposited and withdrawn by different tiers and so on that's that's all defined by the governance process and that's something that most privacy polls should adapt right because if privacy pool is quite small for Bad actors to deposit funds or like they can hit daily limits very likely they will look for for like some other tools and unlikely they will kind of put a lot of if you remember like Harmony bridge and some other Bridge hacks when like a lot of capital flown into one privacy pool in in in a matter of like hours right so kyc I think that's now it's a great time to redefine what kyc is we're working with one project which is abbreviation is kyc but they call themselves nor your cat um so now your cat is by opium team so the idea here is that an audiocat is a cell bound nft so this nft can contain trays from uh from on-chain kyc done by other providers for example with uh with in this in this scenario ziki Bob is a this cat has a trade from binance called binance Bob beb and the trades proves that the owner of this uh like of this address is not a U.S person right and if it's not a U.S person we can give some uh additional limits within the Privacy pool which is important for uh for like jurisdictions right or to to to split users into different cohorts and give different limits or like different uis to different cohorts of users right and um what is interesting about this uh know your credit thing is that it's using byproducts of other kyc providers right so we don't need to do kyc ourselves like we don't do we don't have any UI for qyc right but when users have the self-bound nft on their deposit account they get additional perks like they get additional limits which is uh the way how composability should work into compliance you know selective genomization I think that's a very important uh for the like for the future parts of the development that's what we plan to focus on the and actually I think provide some ideas for other protocols which will use utxo model um what we like one of the kind of our latest feature I think what is most privacy Protocols are missing is compatibility why ethereum is so popular I think one of the uh one of the clear feature of ethereum is composibility right because contracts can call other contracts but when you think about ZK apps like one one ZK app can call another ZK app we don't have such protocols right and even if we have it's kind of built within one team or within one ecosystem like in AD stack it was kind of like that right but when we think about like how can I integrate my for example you know Dex protocol or the bridge or some open source wallets and so on into privacy pool how users can deposit into privacy pool usually there is no way to call a contract and kind of make a proof for a user right so usually these direct deposits they decrease anonymity of users because in our case when there is a like direct deposit and we need to send the ZK address on chain that disclosed disclose a little bit about the user but for many use cases like payroll it's very important to uh to have this compatibility okay so time is up I have pop if you mean this pop and send me a picture here I will send you 100 each okay so my telegram is on right um so this is Pop we have like 58 pops so just you can telegram me Igor but enough or buy QR code later on or you can find me usually if you install the keyboard app and yeah so my time is up I don't know if you have any questions uh um please ask if don't please grab some pops and exchange them for 100 Bobs later on questions questions one question give me one question please okay okay let me ask one question uh because I saw you in your slide you have a ZK address so I guess maybe you have two different account once eoa and the others maybe share a Share account or something it's correct in your application yeah well you can address you generate the key address for each transaction but it's all the generator deterministically from from your ZK account so if you just close that it's not a problem right so you can generate as as much as you want basically like a Bitcoin model right okay so cool thank you very much guys bye thank you [Applause] [Music]
Automatic transcript — names and jargon may be misspelled.