ZKVs Cosmos Privacy & ZKP Showcase - Anoma with Christopher Goes

29 Mar 2021 · 19:51

Christopher Goes of Anoma presents Private Bartering in the Anoma Protocol at the ZKVs Cosmos Privacy and ZKP Showcase, hosted by Zero Knowledge. The talk covers how zero-knowledge proofs can enable private bartering and exchange within the Anoma protocol, tying privacy-preserving computation to Cosmos-based interoperability.

Speakers

Topics

Transcript

the next speaker that we'll have is uh christopher goes christopher is the co-founder of anoma and he will be speaking about private bartering in the enoma protocol and even theoretically i can do this awesome private bartering in the noaa protocol suite so uh thanks everyone for coming this is uh one of the i think first public presentations on the unova protocol uh which i co-founded along with adrian namawa who are here in the audience hi adriana and everyone else at helix is working on it today i'm going to focus on

providing a brief overview of the motivations so to gavin's question about uh business case for privacy i'm afraid the question i'm going to answer here is actually more broad it's like the existential survival of humanity case privacy because i think that's uh you know a super set of what business use cases uh would entail so we'll see if that convinces you or not then i will talk a little bit about what enoma will enable users to do uh both you know on the chain itself and interacting of the cosmos network as a whole then i'll talk about uh sort of a mid-level go through a mid-level overview of the technology we're using to instantiate that and maybe uh brainstorm a little bit on different ways we could collaborate because it does indeed sound like there are a lot of parallel efforts which could

fuse or perhaps share code in mutually beneficial ways so first off why privacy and why honestly why blockchains like what are blockchains for um if we look at the world today uh we've tried to identify some trends and see what kind of commonalities they present and then see what kind of based on that analysis what kind of mechanism and particular coordination mechanism may be helpful in alleviating some of these difficulties so you could think of this as a business use case but expanding from beyond what is business to what is coordination as a whole one dystopia that we see in the world is

what we call the governmental and corporate surveillance state there was a really um well-researched frankly depressing book called the ancient surveillance capitalism by shashank which i mean if you're feeling like overly optimistic about the state of the world or you want to be disabused of some uh perhaps technological optimism or you just want to read like a marxist ontological critique of the tech giants i highly recommend this book otherwise it's like 600 pages of depressing it can be summarized in the sentence which is that data has been in my view mistakenly considered a asset which can be acquired by companies and then monopolized by companies and

used by them to exploit network effects and in general uh attempt to uh metricize and control individual user behavior now this stem this spans the gamut from you know your credit card company uh noticing that you're uh uh purchasing particular things and then recommending you advertisements or selling your data from some uh to some other company which will then change what you see when you go on the internet uh all the way to uh nation states preventing dissidents from uh from freely expressing their opinions or otherwise uh assembly the technology which is used to uh restrict those kinds of behaviors tends to be similar and in both cases operates

under a kind of uh i would say architectural aegis uh that has not been designed from the ground up to provide sovereignty and security to users so i think both from the perspective of blockchains from otherwise we really need to rethink the basic substrates that we're putting together to build these kinds of collective coordination technologies to address the surveillance states that's dystopia one dystopia ii unipolar control of the global financial back plane which we see in how nation states particularly the us but it varies based on who controls it can weaponize the financial system and enforce their policies whether justified or not dystopia 3 which i'll touch upon in a few points during this talk is

an inability to solve large-scale coordination problems so collective action problems where in particular where some individual defection can lead to collectively uh collective harm such as individual pollution harming the environment or individual misinformation harming the information commons all of these are examples of collective action problems which uh traditionally have been solved by coordination structures like governments that have their advantages and disadvantages but uh in particular no longer align with the kinds of uh real-world economic interdependence uh that exists namely say west valley and nation states uh do not have legislative capacity on their own to uh unilaterally uh uh

you know tax carbon or something like that which means that it simply turns into a game where companies go to other countries uh and like export their and emit their carbon there uh and the international coordination mechanisms such as they are nowhere near binding enough such as the paris accords nowhere near binding enough to implement uh or enforce the kinds of policies or cost internalizations that would be requisite to prevent the externalization of harm so three to soviets what do we do about those dystopias our analytical frame is to think of coordination mechanisms as uh enabling a kind of individuality at different scales so if you think of a dichotomy between individual and collective

uh our hypothesis is this this is really a false dichotomy that it's not like a dichotomy that we should be interested in thinking about if that makes sense because individuality exists at whole different kinds of scales your cells have some level of individuality although we don't think about it very much because they operate together and it's kind of cohesive whole and you have some you know some notion of willpower over your body as a whole but that takes place that kind of exchange of information and coordination takes place at whole different scales you have coordination between uh your partner or close friends you have coordination in a community coordination estate coordination and a kind of virtual environment like the cosmos ecosystem is not really it's not a traditional uh uh community

in the sense that it's not denoted or uh delineated by geographical distance or by some kind of common shared a cultural heritage uh except you know the recent cultural heritage of the past few years but it's a community delineated by a common interest by a choice uh you know the boundaries is porous but still one can one can have an event like this which uh is situated within the cosmos community or interfacing to the cosmos community so this is a kind of coordination mechanism at some scale but the level of efficacy and cohesion of these coordination mechanisms varies drastically and in particular my argument here is that it varies drastically in ways which do not align with the kinds of economic

interdependence that we should be concerned about or that exist in the real world so where there is say a kind of economic interdependence insofar as someone polluting will affect someone else's air quality or insofar as someone uh you know deforesting the amazon will affect someone else's rainfall next season uh that interdependence relation demarcates a certain community which i would argue requires a coordination mechanism and many of our problems today can be traced to an inadequacy of our existing coordination mechanisms uh to both deal with the appropriate computational dimension of the problems and align with those real relations of economic interdependence so in particular we have coordination

mechanisms aligned with geographical boundaries like uh you know cities states in network nation states and we have a global coordination mechanism called money uh money works as a coordination mechanism uh uh i'm going to argue that it doesn't work very well but it is the one we have at the moment it abstracts value by allowing goods and services to be compared against each other um and it abstracts value in a way which is computationally productive uh by reducing the difference between an apple and orange which have potentially many differences in quality when you eat them to a single quantity number and this is computationally efficient which means that it's uh convenient when you're choosing what to have for request and that it scales in a sense

but that computational efficiency is a double-edged sword because money transmits information about choices at scale so when you go to a corner shop and choose to buy something that choice to buy an apple or an orange or to buy a particular kind of soft drink instead of another kind of soft drink transmits information all the way up to the supply chain and may in fact be contributing to deforestation of the amazon if there's some supplier up you know 20 steps up in the supply chain who has a choice between some kind of less profitable uh more environmentally friendly process or more profitable more profitable but less environmentally friendly process so that when you're making a purchase you are essentially uh choosing not only what coffee you buy

at the corner stop or what fruit you buy but also the incentives governing all of those companies up the supply chain yet you have absolutely no information at all about what uh what impact your choice has so you may not really be you know most of us don't want to contribute to deforestation of the amazon let's at least take that as a simplified assumption for the purposes of this argument but uh even given that genuine value alignment value alignment between you know people in our community broadly speaking uh because we don't have access to the impacts of our choices we have no way to express that value we can only express the simple choice the computational predictive choice which then transmits uh you know uh

transmits incentives that perhaps are contrary uh or at least misaligned uh to the incentives that we want to create align with our values so there's a business use case for some better kind of coordination system how might we design a better kind of coordination system perhaps unpopularly um and and slightly slightly hypocritically but not very hypocritically i am going to argue here that stacking layers of synthetic assets is the wrong thing to do in particular i think that we should be aiming for a higher degree of dimensionality at a layer so there's a layer at which you express some kind of preference and one layer is to use a currency so when you use a currency you buy something or another but that's like a unit

dimensional layer and you can stack uni-dimensional layers you can have currencies on top of currencies and type of currencies but then each currency acquires sort of its own divergence potentially from the underlying thing which you're trying to track uh and you can see this of course in like t5 projects which are stacked tokens on tokens and tokens on tokens and it's no longer clear what exactly it is they are tracking in the real world similarly with say the subprime mortgage crisis or something uh the the systems of abstraction which stacked on top of each other diverged from the underlying real world assets at play uh you know in that case causing a lot of bad things to happen in government bailouts etc so instead i argue that we should take language as a prototype uh when we're trying to design

coordination systems language has a much higher degree and arguably sort of an unbounded degree of dimensionality at a particular level so you can express say using recursive grammar and sentences you can express commitments not necessarily to to value at scale but you can express commitments that are quite detailed that include conditionals etc so the issue with language is that it does not the enforcement mechanism doesn't scale so the enforcement mechanism for language is basically honesty and like group norms and that works very well when you're in a group of 100 people where everyone knows each other then you don't really need a fancy government you don't even need uh you know you don't need blockchains frankly like blockchains would be useless um

you just need everyone to track what each other says and you hold each other accountable for being honest that kind of enforcement works at that scale but it does not scale to uh you know global community or to not larger communities uh because it's too lossy because people forget what people said the meanings of words change etc etc that's a summary but uh roughly you can think of it like that so with the noma we're building a way to commit in a many dimensional fashion to value uh in a way that preserves privacy let me then run through i realize i am not going fast enough so what is enoma anoma then is a sovereign chain which enables private digital asset agnostic bartering between any number of parties noma

connects to the cosmos network so it speaks ibc um and anyone will be able to uh you know uh of course all of our software sources anyone will be able to interact with the noma through like the standard cosmos odyssey interfaces a quick question from dave uh what are predominant changes to state pareto optimal changes to state uh mean that when uh if you consider like all of the users of a system and you consider the state of the system as a whole a preto optimal change the system state is one which all users are either happier with or at least like equally happy with so if you and i if you have an apple and i have an orange and you want my orange and i want your apple then changing the state such that you have the

uh orange and i have the apple or whatever that's a pretty optimal change and that generalizes cool so what can you do with it with the noma we've built uh a way or our building i should say that was too not quite we are building a way to um [Music] transfer uh and exchange uh any kind of assets uh arbitrarily expressible uh kinds of commitments uh in privacy so i'm gonna go through the use cases quickly from simple to complex and then i'll talk a little bit about the technical stack which enables them from simple uh to complex then starting alpha simple in two-party transfer you can use sonoma just to send assets privately uh as i'll talk about in a later slide

we use a modified version of we use something called the multicast children pool which is an updated version of ecc's original work on the sampling circuit which supports multiple assets you can send any assets which you can transfer over ibc for example privately then you could also send an asset in privacy where you need to connect an exchange say where the recipient wants to be paid in a different currency than you have um you can conduct an end party exchange so we've built a custom trade system on inoma using something called validity predicates it's a little bit modeled after system theorem called wyvern that allows any n parties to exchange uh tokens or non-functional tokens or any asset they can express

with some kind of can semantically express some kind of representative representative representable unit on the ledger um with each other assuming that the change is agreed upon by all parties so uh this doesn't require in particular the reason we can get rid of this unit dimensional unit of account is that this doesn't require a double coincidence of what because we can execute the whole thing atomically so if alice holds bitcoin and wants tezos bob holds ethan wants bitcoin and charlie hunts does this wants eth none of those two could pairwise trade so if you want to solve this kind of coordination problem using the money you need to introduce another token and then they will all like price their essence and that took but instead using enoma we can swap their assets atomically with one transaction

and this generalizes to the case of non-fungible assets so maybe one party holds a crypto kitty one party holds a ticket and one work party holds a uh kombucha subscription and they have again uh preferences which are not pairwise swappable but which could be settled uh in a pareto optimal fashion by end party as well cool collective commitments so this is all the way to the more complex use cases that will in particular require kinds of article oracle data to and from the ledger that um we don't have yet because it's an orthogonal problem but hopefully will come in time so if there are several shoe manufacturers somewhere in the supply chain before you buy sneakers that have a choice of whether or not to incorporate the cost of carbon into their uh into what they're doing they

could choose say a more carbon friendly supplier for their rubber uh that uh charge slightly more or a less carbon-friendly supplier which charges slightly less than in a competitive environment the one which picks the cheaper supplier will end up out competing the one which fixed the more environmentally friendly supplier unless there is some way for consumers down the line to kind of enforce uh their policies their actual values by making commitments to value on these shoe manufacturers so this is the kind of thing that you can build with a collective commitment so all of these say people who buy shoes can uh get together and agree in some fashion uh and agree in particular in a way that is expressible digitally accessible in the ledger that they will only buy shoes

from manufacturers or from any you know say sinker company whose manufacturers all incorporate the cost of carbon into their supply chains and this kind of collective commitment then changes the negotiating leverage uh to favor other consumers deadline cool privacy internals so how are we enabling all of this privacy for simple multi-asset transfers uh well simple for uh uh transfers we have uh what's called the multi-asset shield pool as i mentioned earlier that is an upgraded sapling circuit uh so thanks to ecc in particular for that original work uh which we've updated uh so that in the multi-asset children pool not only send a recipient to the amount but also denomination or shielded and all assets on the noma can

use the same multi-asset children pools their privacy sets are additive this is integrated into enoma as the validity predicate so it's integrated into our train system and fully integrated with ibc assets so assets can be transferred in and out over ibc and shielded and all assets share the energy we're also doing some research into ways to transfer assets over ibc while they remain shielded uh expect more on that soon i think there may even be the the presentation later may already talk about that which is awesome so potentially some collaboration possibilities there cool uh then the final thing uh to talk about quickly here is that we're also building systems for private liquidity gossip and trade so in order to figure out uh that in fact you have three people who are interested in

trading with each other one who holds a computer subscription one a ticket and one crypto kitty you need a way to uh discover and we want to build a kind of discovery that doesn't assume any kind of prior knowledge so we're working on the liquidity gossip player in which we also want to preserve the kinds of privacy which is possible to preserve now this is a tricky problem because there are trade-offs between privacy and spam prevention uh so in order to address this we're working on ways for nodes to create proofs little proofs uh sometimes they're knowledge sometimes it's somewhat simpler about uh liquidity that they're gossiping which they'll send along with liquidity so that parts of the information itself can remain private and we're trying to as much as we can not all we can't really do this in full generality without like web assembly and

circuit which is a research project but uh we're trying to uh retain the generality of the trade system alongside these privacy features so trades can be partially private some of the assets may be partially shielded will gradually move towards full privacy over time and already start with full privacy for transfers and um uh including unfunctional tokens transfers a functional number all right i think i probably have ran straight through my question time uh with that monologue but if any if there is uh or any questions please feel free to write them in the chat or contact me i would be thrilled to chat thanks a lot yeah thank you very much christopher