Adrian Brink & Christopher Goes: Anoma – The Blockchain 'Undefining Money' #438

6 Apr 2022 · 1:14:04

Adrian Brink and Christopher Goes, co-founders of Anoma, join Epicenter to explain a protocol built around what they call undefining money and enabling self-sovereign communities. They walk through how Anoma works, its relationship to the Namada blockchain, why multi-asset shielded pools have seen limited adoption so far, and how FATF-driven KYC requirements on transactions are shaping the project's roadmap.

Speakers

Topics

Transcript

welcome to epicenter the show which talks about the technologies projects and people driving decentralization and the blockchain revolution i'm brian crane and i'm here with frederica ernst today we're gonna speak with adrian brink and chris goes they're the co-founders the two of the co-founders of anoma and noma is you know new proof-of-stake network or proof-of-stake network of networks or there's lots and lots of innovations that they've done on like many different dimensions and we look forward to diving into that with them and yeah before we get into that briefly a few words about our sponsors so first of all we have tally ho so tally ho is redefining the wallet as a public

good so it's a bit like a community-owned alternative to metamask so you can enter the metaphors with this wallet that's fully community-owned and it's also a kind of dao governed um they became also the first sponsor of ether rs.js an open source javascript library helping developers connect ethereum and they are committing 2.5 of their tokens apply to some git coin grant so yeah go check it out at tally.cash and then second of all we have cow swap so castle of course uh is a project that comes out of gnosis and cow swaps basically it

aims to address some of the problem with dexes so taxes are pro vulnerable to things like front running and ev failed transaction high gas costs and cowshop offers a new kind of trading experience so it's basically kind of a dex aggregator aggregator it finds overlapping orders and cow stands for queens and the wants actually something that's also kind of discussed in their normal white paper and so you know it kind of gets you the best price and they also just did the airdrop so and the first car swap improvement protocols are gone are going through so it's kind of like fully live with also the cow token v cow that's trading and swappable

so and you know lp program and all that kind of stuff so go to cowswap.exchange and you can start there so with that let's go to our episode so it's really great to have on you know chris and adrian i've known uh both i've known adrian for for a long time so this was like in i guess uh early 2017 summer 2017. that's true yeah when i was working at cosmos or a tendermint and then adrian joined soon after and it was and then of course chris uh also kind of i guess chris sort of joined tenement i think when i was sort of leaving to start course but still you

know still working in the cosmos ecosystem and then of course chris came and did a lot of work on ibc and uh you know a bunch of other stuff so uh yeah it went then of course they also started i guess in parallel they started a validator company called cryptium that then of course one we kind of took over as they discontinued that and to focus on anomal which is uh you know an ambitious and large sort of attempt at reinventing proof stake network so super excited to have you both on and thanks so much for joining us glad to be here boy when you say it like this anoma and

chorus one sound like some kind of complicated family history right [Laughter] yeah there's some some enmeshment going on but um maybe we can spend like i don't know where we should start i think like history and background is maybe going a bit too far i mean maybe we can just start with like a noma like what what was what was sort of the impetus that you both decided okay you wanna you know start your own proof-of-stake blockchain yeah i i guess i can quickly take this um maybe to like quickly give you like a one sentence explanation of what a noma

is right because it's not just yet another proof of stick chain um really high level you can think of honors a suite of protocols for privacy preserving human coordination with as much information density as possible um we can dive more into this what this means specifically um throughout this episode but this is sort of as a initial statement um yeah the idea for noma actually came out of i think it was like middle of 2020 um when our chris and i sat down i think in berlin it's like you know we had a lot of these smart contract platforms and it really wasn't clear i think to me it's still not super clear what we should be using all these um platforms for because

practically speaking of like 15 smart contracts written by 200 people and we all claim that thousands of smart contracts with my tens of thousands of developers but practically speaking right the set is very small and we didn't want to build yet another smart contract platform um and to us what seemed important is to one be privacy preserving so provide universal privacy to any asset really um and to provide as much as privacy as possible when users interact with these systems and when users also discover counterparties so when they coordinate with other people using the same platform and also to allow end users to really um sort of

focus more on human coordination where when you sort of how do you discover counterparties with whom you can settle how do you have thousands of users sort of join into a single transaction because you can have these scenarios where if dc you have ether and someone else's eth and dart then the third person is dot and um ether i guess i started with um and so how do you if you have a non-overlapping set uh of desires or intents how do you settle this and how can you have thousands of parties you have thousands of unique intents that are individually unacceptable but then you can settle together and chain um really like the end goal is to bring as much information to into these human exchanges as possible

right when you think of something like an election or even off like a purchase it's a very information reductive system where you have a sort of single binary point where it's like you have an election to buy your choice vote you have you buy coffee you have a purchase price that you're buying this coffee at none of these systems are very information dense and with blockchains we can make all of these interactions a lot more information then so that we can automatic decentralized compute that sort of enforces my preferences on how i want to interact with the world so that every time i buy coffee i get carb neutral coffee and either this coffee is actually carbon neutral down the supply chain or by at the same time co2 certificates to offset the cost of carbon off my coffee for me part of the thesis for noma came

from some of my past experience i worked on a decentralized exchange protocol on ethereum called wyvern which somewhat surprisingly ended up being very popular as it was used by openc but even at the time which i wrote it i thought that that kind of protocol really needed a full stack architecture in order to work well i think this is manifest in for example that openc is kind of this uh you know somewhat central point in the ethereum ecosystem because the liquidity is held on a database uh the only thing that's decentralized to settlement and part of a noma's design is to really approach that problem of exchange from a full stack design perspective which means you can decentralize

when appropriate to many more things and you can kind of solve the problem uh looking at what does the digital system itself need to do in mediating physical exchanges in a physical world through abstractions which makes sense which correspond in the right ways and i think approaching that as a full stack design problem is really necessary so anoma's tagline is undefining money right so how does that fit into um this idea of kind of abstracting certain things away i i would say that it fits in in that the problem is that money abstracts too many things away uh it's odd that somehow blockchains have ended up creating a lot of dif more

different kinds of money you know perhaps that's helpful perhaps there are many different things we want to be representing and we should represent them with different assets but uh i would make the case at least to some extent that the problem is money itself that often let's say we have some kind of complex supply chain so when you're making purchase decisions your decisions have causal ramifications all up and down the supply chain if you choose to buy a certain kind of coffee your decisions not individually but in aggregate are used by producers to determine what they produce yet when you make that decision you're making the decision only on the basis of what information is immediately available to you which is usually just price maybe there's a fair trade label on one of the coffee bags

maybe they're two fair trade labels but there's not a lot of information about all these different production practices which are going on many of these companies or other you know entities along the supply chain who are involved in producing the choices which you see in front of you are competing with each other both on the basis of producing cheaper coffee and on the basis of producing propaganda which is more effective in convincing you to buy the thing so when you're making decisions based solely on price then companies which can sacrifice some other value which you might have such as say impact on the environment companies which can produce coffee which is slightly cheaper say or even producing a coffee bag which is cheaper by deforesting the amazon or emitting

some pollution into the sen will win in a competitive market because that externality is not being captured by the system even though it is in some sense uh at least it seems valued by the users of that system so to me this is a failure in mechanism design and in order to better incorporate the preferences of the people involved in these large complex economic systems we have two choices one option is a reduction in complexity so we can go back and live in tribes an absent some other solution i think that's kind of the default but there are some nice things about complex society maybe it's worth saving and if we want to save it i think we need mechanisms for coordination which are better at capturing the at the very least the sort of first

parts of the power law of impacts so we can't measure everything about the causal ramifications of purchasing coffee right it's just immediately computationally infeasible but maybe we can measure some of the most important things if we have a kind of system that allows us to internalize a computer so by contrast let's suppose that you wanted to exhaustively research the impacts of all of your choices on the economy you would need to whenever you make a purchasing decision research all the suppliers all of the choices they made the production practices they're using which go into that thing and you need to perform some kind of causal calculus to determine like okay what is the sort of individual impact of your choice on this complex system because many of the choices have relations which are non-linear right company buy stuff

and block in order to do that you probably need to spend like five years of your life once i read a thesis master thesis i think by some three students at ucsd who went through the supply chain for a pair of common sneakers like running jews and it took them three years and they managed to trace 50 about half of the organizations involved in that supply chain and what their production practices were like so we need a fancy spreadsheet it's very good at doing calculations and it's tamper resistant and that seems to be the thing which blockchains are good at providing okay so um i i kind of i totally hear a lot of these problems so i totally agree that there's a lot of externalities that are not priced into

things um and that basic information is difficult um to obtain when you make consumer choices at 100 percent um but why kind of attack this from the side of the money why can't you just have say an attestation server that kind of for instance tells me that the sweater i'm buying was uh was made by people who were paid a livable wage and the cotton was farmed in a sustainable way and so on so to be clear i think you also need that blockchains don't verify data about the external world there's nothing you know there's nothing the blockchain could do except serve as a kind of

sensor tamper resistant ledger for maybe some kind of uh multi-party oracle system which is like i guess the attestation server you're talking about a blockchain can be used as a record which has some nice properties you might want for a record but it can't measure the actual data humans or human organizations have to do that what i think the blockchain can do is make it provide a canonical so in some sense the benefit of blockchain brings here is centralization not decentralization it's one spreadsheet and if you have one spreadsheet that measures production practices then you can incorporate this into an economic system so instead of every company or every individual needing to independently audit their supply chains this is what happens at

the moment only the really really large corporations could do this because it requires a lot of time but really large corporations can go through and audit their supply chains and sometimes they have to do so for legal compliance reasons but right now mostly this happens by them independently auditing their supply chains because there's no way to track the data at the time the practice of production actually occurs so it seems at least possibly that if it were possible to track the data when the practice of production occurs and track it in a way that is also compatible for the companies involved namely it has to be private people don't want to reveal all of what they're doing all the time then having a logically centralized operationally decentralized ledger um might provide a way to compute over

this data so you could reason about impacts so so just to kind of to recap this so i mean obviously this is a multi-dimensional um uh problem right so basically obviously the factors that kind of the production factors that go into producing whatever um can be measured along several dimensions so for instance maybe i maybe i care about river pollution maybe i okay maybe i care about um some sort of minimum wage maybe i care about um not having something produced by children um or having something not flown around the world but you know actually uh brought on a container ship or even produced locally and so on so basically your idea would

be that the sweater i would buy it basically that would actually come with a register of properties so for instance um locally han soon and brundberg or um died only with organic dyes or made without the contributions of slaves or children or whatever and then basically i could kind of um i could choose um which ones of the blocks that are not checked to con to to offset um manually is that kind of the idea kind of but also that you could

negotiate by making a commitment so you could say that you're not going to it would probably be on the basis of exclusion like externalities you don't want since those are fewer to list and you could maybe make a commitment to say i'm just not going to buy products which contribute to say environmental pollution in such and such a fashion and such magnitude and if a bunch of people make those commitments together corporations or producers can see this and it changes their incentives for what to produce in the first place okay but then basically this entire thing turns into an oracle problem right so how how do i how do i prove that the sweater is uh river pollution free i i don't think i mean blockchains can

serve as a like good ledger and they can serve as a point of settlement for some kind of shelling point game or multiple people report and they're censorship resistant which is helpful i think you still need human organizations to solve the oracle problem but part of that is the computation over the economic transactions which are happening and i think blockchains can be helpful there maybe an important point to also note here is that this is a an example application right this isn't necessarily something that is short-term feasible i think this is something that sort of becomes feasible over the next 10 years as more and more data becomes available on decentralized systems um it is more general uh i think the important

point is that a norma doesn't actually know what a carbon price is or what an asset is or what a trade is or even what sort of a settlement prices it is just we've built and designed a normal around the premise that people can bring whatever assets they want and can do incredibly flexible compute over those assets that is can be both transparent as well as private one thing i'm curious about i i remember if i read that or heard it somewhere mentioned but that you know anoma doesn't uh you know there's no acid issuance on number itself but only these uh you know the kind of transaction so

in the end is is it fair to kind of characterize a noma as you know a sort of an attempt at creating a very generalized marketplace i wouldn't say marketplace necessarily maybe let me start with asset issuance so you can theoretically issue assets on enormous there's nothing preventing people from doing this you have similar facilities to what in terms of user programmability that would allow you to build these kind of recalling validity predicates that allow you to build asset issuance programs uh i think our fundamental thesis with our noma though is that there are tons of places that issue assets already and nine months ago the

world became interoperable with chris publishing ibc um okay this was kind of uh but yeah so now this is interoperable and we can just uh leverage a lot of these assets that exist in the ecosystem to flow in and out of a normal and so noma is just there to not provide asset issuance but rather to provide really good baselayer functionality for assets that already exist for example another thing that anoma has that no one else has at this point in time is an intent incentivized intent gospel matchmaking system so it like when you think about discovering counterparties right on sort of what happens in unisop or on ethereum moses actually is that you have uh the contract being the central

counterparty as in i always interact with the contract and the contract is sort of the shelling point where everyone goes to discover the counterparties what you can do with onoma is you can instead have issued an intent which is cryptographically signed and then you can have sort of 100 million intents floating around in this large soup and there's an economic incentive for people to look at all these intents and see if they're combinable um as in you can sort of someone can look at the soup of 100 million tens and go oh these 15 if i can combine them and settle them on chain or submit them as a transaction on chain they will satisfy each one of the criteria and they don't have to be direct matches this is sort of the important point because intents are just programmable like it's just code it's

not a price it's not a specific asset this is not what nintendo stands an intent is just add runtime interpretable code that says whether it's okay with some future state outcome uh so you can have like one intent that says i'm happy to have one bitcoin less if i have ten more eth and the weather in berlin is nice and then you can have 14 other intents that sort of combine into this and when you submit them on chain all the validity all these intents return true to whether they are happy with the resulting state outcome this is something that you can't build on any existing system and removes the need to have these very centralized counterparty discovery points like a unisof amm contract which is cool it doesn't exist at this

point and you combine this with a bunch of front running tech to make this um yeah front running resistant and sensitive resistant so maybe it would make sense because i think it's probably not so easy for people like listening to kind of like wrap their head around like what is the atlas going on so i wonder if he can speak about i don't know like a few use cases like you know like where you think like okay that's sort of the thing that you know it's gonna work best and you know kind of like run through you know what that looks like and maybe the different stakeholders in those in those examples yeah actually we i guess we can start

with our motto um so this is sort of there's no twitter account yet for this but we are probably launching a blockchain later this year called namada um to just sort of this which has taken about twenty percent of mainland gone you know this works right now we can put this onto its own chain and launches as the first chain in the normal ecosystem um so and you can sort of see this as the first use case so what armada does is just provide multi-asset privacy right to just provide acid agnostic privacy guarantees where there is a single shield pool in which all assets can so an end user could move and like crypto punk from ethereum over the bridge into an armada move it into the

shield pool there and you gain and now this crypto punk lives on the same privacy set as all the usdc all the dye all the atoms all the osmo all the nam and it's indistinguishable from each other from each other from all the other assets when you interact with us and so this is a use case this will work and so the use case so the example would be like i have a crypto punk you know i want to sell my crypto punk for something right this doesn't involve trading yet this is just privacy wait so why do i why do i want to use so if if i as i have my crypto punch on ethereum so why do i want to move it over there um because you want privacy for your crypto pocket um this also works for

simple payments you want you mean like if i want to like move the crypto pump to a different hero matters but i i don't want people to be able to link the two addresses for example for example yeah to be fair the nft thing i should probably not start on this nfts are much harder in this regard this is way easier to understand with fungible tokens uh think of this as you want to have cheap uh multi-asset privacy for usdc all your atoms uh you can move them into the model move them into your shield pool move them around hold them into the shield pool because we've come up with a very interesting new circuit design that allows you allows no matter to incentivize uh assets that are being held in the shielder pool um because honestly this is like a

shield pool is a public good that we should be sort of incentivizing people to use but while they're in the shielded pool they they do they do anything i mean let's say okay so that's in the we don't want a punk example because i guess you can see the punk still afterwards but so let's say the example of like i don't know ust right i have a bunch of ust uh so i'm going to move the ust into this shielded pool and and i i guess one use case would be i want to like take it out put it into a different address right i want or like you know i want to send somebody some ust i don't want them to see all my wallet right which is actually i guess a pretty common problem today right and probably the best

solution ironically is like the centralized exchange right where you actually oh i'm going to send it from like binance right because okay binance knows but at least like not everybody knows so i can see that example is that is that kind of the example you're talking about yes this is um sort of a very simple use case which is just multi-asset privacy um both in order to make your assets private not because you wanna send them to other people because you wanna make your own holdings private that have all your own public uh publicized or you want to send pay your contract on usdt um and yes currently we're all using exchanges as mixers effectively we're all going oh yeah everyone gets a unique address and i withdraw from kraken to my

unique addresses and then i pay people for those it's not a good model like no one can tell me this um and why so your question was also why should assets within the chill pool actually um uh instead of inflationary rewards in the schiller pool um the assets in the shield pool contribute to the overall privacy set um so in the same sense that assets in a liquidity pool contribute to the overall liquidity assets in a shield pool contribute to the overall privacy set so and this is something you don't want to have many different privacy sets over time ideally you have one really large one that everyone uses and this is why we have this incentive design to allow people to hold assets in the

shield pool and earn rewards on them so but let's say like in the ust example just to say on that so i i mean right like like let's say today maybe i'm providing liquidity on osmosis also right that and and uh is it something that like will it be possible to kind of you know provide liquidity on on something like osmosis for example uh while having it in the shield approve i don't think so no uh so it's like um these should be binary choices as in um it's sort of the same similar with staking right um except that with private pools and generally zero knowledge proofs this

gets way harder than everyone thinks so you generally have to like pick which thing you move your asset into i have several technical questions can i ask them so my first technical question is um multi-acid shielded pools why don't we see them more often because i mean if you if you look at like uh things like z cash on and tornado and so on they're always single acid good question you know we actually built the multi-asset shield pool a year ago and we released it as open source and no one has launched it yet um so yeah i'm not quite sure i maybe because ethereum gas fee is very high

maybe because ibc until recently wasn't uh particularly popular so there haven't been many interconnected assets uh on a low-cost transfer protocol i i think multi-asset shield pools are pretty obvious yeah um signal asset ship pools don't make that much sense unless you i mean like zcash has this problem right that like uh the value of zack is sort of being tied to having access to the shield pool um and i think that especially in the z cash community there were concerns over if you allow other assets into that chiller pool why would anyone use zek because this was sort of the monetary play on the asset and on ethereum i mean i if you've tried all these solutions they

are like horrendously expensive the tornado has something like 300 to use to do a single transaction with it um and maybe also the other big thing which for some reason most people haven't done which i think is because circuit design is very very hard and way harder than general public expects is that you can move assets within the shield pool right like tornado cache allows you to sort of deposit fixed denominations of assets and withdraw them it's not actually that there's a shield pool for east internet cache there's a chill pool for zero point one ease and one eve and ten ethernet hundred these they actually have four shield pools for each international cache um and you cannot this has changed since so basically now you can you can actually you can

actually deposit arbitrary amounts and the fees have also gone way down because it's now a gnosis chain [Laughter] try try it out it's awesome all right i'll try it [Laughter] fantastic so my second question um is um is this utxor account based because basically it sounded like in principle it was account based but how do you do this with an account the short answer is that it's both so uh in uh the private bartering so in the masp is utxo based as in order to get privacy for using zero knowledge proofs for some kind of

system privacy using zero knowledge proofs is always achieved by having the parties to whom you want the data to be private hold the data and make the proofs which means that you need to have like as opposed to public accounts you need to have the uh accounts themselves be private and be like known only by the users it's possible in principle to architect an account system using zkp's but it requires a different kind of private vertical tree lookup which is very tricky so the mbsp uses utxos and the more generalized circuit that we're working on called taiga for private bartering also has notes but it has programmable

validity predicates attached to the nodes so both assets and users have additional circuits defined as recursive circuits in the tiger circuit which must pass in order for the transaction to validate these are used for intents and for assets for example an asset validity predicate circuit could contain logic around when it's possible to burn assets or who is allowed to transfer assets even although that's checked in private uh and a user validity predicate could contain information about what keys are needed to authorize the transfer for different amounts or how much the user account is allowed to send in a day and an intent validity predicate cover like anyone can uh redeem this note and spend it

themselves if they spend me a note of a different crypto kitty something like that so the barter which the user wishes to perform and specifically sort of on the account versus utxo um distinction so the multi-asset chill pool is just another account on both on armada as well as on normal so it is deployed as a village predicate where the validity predicate just verifies the proofs against the mast circuit so narmada and noma are both account-based systems to which you can deploy circuits like the maasp and on the mata it just happens that the mass was one of the first circuits that we're deploying okay i have a lot of questions um maybe

i'll leave most of them out right now but um so maybe i mean you you kind of you keep distinguishing between anoma and armada so basically anoma is the ledger and um namada's the blockchain this is another distinctions no this is not correct okay i see i i see you're shaking your head so please please set me right here uh both are blockchains it just happens that the mod is a sort of uh it's called a specific subset of features that initially we wanted to also put into main.noma but we saw when you know this is really way earlier let's just put this onto its own chain and launch it um and see what people

think because we can provide multi-asset price alcoholic uncle of menomo yeah i wouldn't put it that way but um i guess uncle who's too drunk to remember what you transferred that's why it's private i guess no but so both are just blockchains um and just normata happens to be ready earlier and we can launch this this year to write multi-asset privacy people whereas the entire private bartering interface or private bartering applications with mainland normal would are still going to take until very early 2023 and and then like later on so let's say we have this anoma and then we have this amanda uh are these like independent

blockchains that you know they're just gonna like interact with ivc they have their own stake in token their own value data set or like what is going to be the relationship between these two blockchains they are fractal instances so anoma has a different you could call it a scaling architecture which separates two concerns of architectural homogeneity and security model homogeneity so if you think about uh if we look at sort of blockchain scaling architectures writ large you can kind of classify them in two dimensions there's architecture like what is the what's the vm system like for a theorem it's the evm for something like mirrors webassembly what how how do key formats work how do applications

interface with the protocol um that's one dimension the other dimension is security model both theory like what's the proof of the stake system is it proof of stake at all versus proof of work who's offer and also in practice who's operating it what are the concrete like validators and voting powers right and generally those two dimensions have been designed in parallel so like ethereum has a if you want to deploy to ethereum you use the ethereum architecture and you accept the ethereum security model there's a like one major instance that supports that architecture and then now some other changes which also support the edm uh and if you want to deploy to polkadot there's sort of polkadot architecture the polkadot security model if you look at the like if you look at all of the

blockchains which talk via interoperability protocols like ibc or bridges those have heterogeneous architecture and had a heterogeneous security model so uh you have different security models based on which chain you're interacting with um and you have different architectures the idea of fractal instances is to have a you know these are of course broad generalizations but a more homogeneous architecture while having a heterogeneous security model with the idea that there might be a sort of there's a lot of benefit to standardizing architecture it's a kind of benevolent monopoly everyone can use applications which work with the same technical stack and same zero knowledge circuits stuff like this while security

models are something that might you might want to vary more based on application based on what you're actually trying to do with the blockchain what's the real world value attached and who do you trust to handle your assets or you know settle your transactions for you that that sounds basically like that the cosmos model don't know where you have like cosmos sdk which you know i mean maybe there's some modification that chains do but you know a lot of the fundamental thing is the same but then you know they have their own validator sets so how does it differ from that i think they can all be an interoperable happy family it's not not designed as a as a competitor of cosmos but um i would distinguish maybe which parts of the

stack are standardized so we're not inten that there's no like state machine framework as part of the enoma architecture the whole application stack is standardized so you know people can pick and choose different components if they want but when you write an application on the enoma architecture you're writing an application which has a part uh you know logic defined for intent gossip and matchmaking and logic defined for settlement that application can run on you know any anomalofractal instance so it could run on the factual instance in berlin or the factual instance for europe or the fractal instance run in your backyard between four friends or it could run on the global instance different fractal instances over time

well i mean nevada doesn't start supporting the whole enema architecture and maybe it will remain just focused on shielded transfers which is nice because it can provide quality of service guarantees that are more difficult to provide if it targets a more general use case but the idea is uh for example that you could have assets in a wallet on your phone and as you go around traveling those assets can automatically roam almost like cell phone roaming subject some of your preferences for safety to different enoma instances as you need to settle bartering this is arguably also um how humans scale right um i i think one thing we keep forgetting is that so with all the sharing solutions we have single security models which are

single points of failure to some extent we probably shouldn't design a world financial system that has single points of failures even if those single points of failures are decentralized in themselves what we ideally want is financial systems which are interoperable decoupled as in like the financial system in europe should be able to fail independently of the financial system in the us um and you want to as a user be able to take your assets from between those financial systems and then if your assets happen to be in the u.s while the u.s financial system fails then that's a problem but if you ask within europe while the u.s financial system fails then you're fine this is how we've built very resilient civilizations over time and for some

reason we keep throwing out this idea when we start designing blockchains at this point in time does this mean that the enoma ecosystem is stateless i would say that the point of uh sticky standardization the thing that's hard to change is the protocol it's just we're trying to design it so that it's easy to change the instance so that if you just decide that you don't like your validators anymore you can fire them and go somewhere else and you can fire them without necessarily coordinating with everyone else who uses the same instance because the protocol is interoperable so if you want to the cost of succession is low so if you want to

you know take a few of your friends and start using another instance but retained your ability to transact with the quote-unquote main economy you can do that the thing which is sticky and the thing which we think is beneficial to standardize correspondingly is this architecture so uh what the circuits are how the protocol works how even to the level of like how applications communicate with it so that if you really want to you know if the validators go berserk and you really need to change your economy you can like take a state dump and spin up a new instance uh and that will just work but then so still like the these different chains then would have their own validator set their own staking token and

uh that's still the case and that's kind of a proof-of-stake system similar to something like cosmos or they don't have to be proof of stake anomaly uses obviously so uh perhaps a modified version but uh chains can be proof of stake they can be proof of authority they can be proof of work with some kind of finality gadget they can be uh proof of some other kind of identity even okay okay but yes namada and anoma are both proof of stick uh with separate tokens um sort of on the token model it i think the closest one in existence so far is personal apocalypse um i'll bite

it's an imperfect comparison um but yes they're separate tokens separate chains um separate security models namada also has it has an inbuilt governance module right or facilities or i mean you can vote and and uh and signal right yep that's right how does that work and uh basically what kind of powers does it give to uh the token holders it's quite simple the pneumatic governance module acts as just a credible proof-of-stake voting power back to signaling so anyone can create a text proposal and people can vote on that and everyone can

see that a certain amount of stake such as two-thirds has backed a particular written text proposal memoda governance proposals can also execute code namanda supports webassembly just not complete user programmability yet so the governance system can execute code and change parameters or deploy different validity predicates maybe it's important to point out here as well that there are very few functionalities built into the protocols as in the protocol is really just a way to have interpretation at runtime so for example proof of stake is just another relative predicate predicate in the system the same way that multi-asset chill pulls just another abilities predicate in the system the same applies to governance as well as to ibc so most

functionalities are really just built as literally predicates at the same level as user deployed code cool maybe let's let's uh zoom out so uh namada's the part of the protocol family that's live now let's talk about anoma and what it will add to that sure uh just to clarify nevada unfortunately is not live now hopefully it will be live uh later this year no there is a testament okay sorry we're using cruising yes you could find information about on the

github and there will be more testnets with more features coming soon uh what does the number add to that well the other eighty percent uh so uh nevada already has proof of stake it already has multi-asset shield transfers it already has a governance system but it doesn't have programmatic private bartering it doesn't have um the consensus system called typhon that we're building and it doesn't have the intent gossip and matchmaking layer it does also doesn't have furvio yet um for frontrunner protection yes please absolutely give an example because i think we could all use one sure thing um so the example i like to use of private bartering because i think it's grounded in a kind

of physical scarcity which is likely to remain a problem that people want bartering systems to solve for a long time as an example of going to a concert so let's say that i want to take a train with my friend to a concert in another city in germany uh some kind of a nice festival in the summer where they play lots of tech music featuring uh interesting artists i want to get cheap tickets to the concert i want to go with my friend i need to train in a hotel to be in tickets to be synchronized but i want them to be as cheap as possible and i want to buy a secondary market so i need to buy along with i don't care you know which specific weekend this ticket is for the festival as long as it's like one of these four weekends and

i can go with my friend so using enoma i could create an intent in the private murdering system which expresses these combination constraints that along with my friend and we're going to split the payment i want to buy two tickets to this festival two train tickets and two hotel rooms they need to be synchronized they need to be for the same weekend dates if i have a train for one weekend in a hotel for another weekend in concert tickets for a third weekend it's not very useful but otherwise i'm you know fine with any of the weekends and i want to get the cheapest price possible you can use the enormous intent gossip matchmaking system along with settlement to both discover counterparties to find people and they could be different people who are selling hotel tickets train tickets and

concert tickets uh and to settle with them to pay them the money maybe there are many counterparties and settle that transaction privately on the ledger atomically so that you're insured that you and your friend both get tickets you can go with each other and you're going on the same weekend whatever weekend that is i i understand the problem uh i'm uh intimately familiar with the problem not because i go to not because i go to lots of events and book hotels but because we we built something similar named cow swap um so basically if you want to find um the the cheapest price for everyone or the fairest price for everyone i can assure you this is an np hard problem so how do you solve that

yeah i mean the other constraint we're operating under is privacy as in we don't want users using the intent gossip system to reveal more than they have to about their identity so basically you have you have you have five problems that you're trying to solve at the same time yeah so the um plan we've come up with this in the private intent gossip system so far it's a sort of progressive price discovery where users broadcast intents that expire so i start out offering and i start out with kind of uh the lowest price of price that is probably not no one is going to offer for lowest price for these items which i want atomically tickets

for hotels train and the concert and i can increase that price successfully as soon as my previous intent expires so i start with an intent that's valid for 30 seconds this price then i can as long as i'm willing to keep going up keep increasing the price until i see it settled that provides a kind of private price discovery and that you don't reveal the maximum price you're willing to pay immediately and you also don't need to reveal your individual identity you're just like revealing that you want programmatically these kinds of tickets and you're willing to pay in this asset and maybe also the important thing to add here is that none of this happens necessarily on chain right this isn't that you're deploying that you sort of

sending transactions with an increasing price it is that you have intense of which you can have sort of you can issue intense at half a second intervals it doesn't matter this is a uh non non-cohesive global gossip network so you can have a hundred million intense and not all people need to have the same view of what intents are available um but the economic incentives for a roller coaster matchmaker to look at all these intents and go which ones are combinable on chain uh so you don't have the problem that you have to run all this compute on which ones are combinable on chain and in consensus um rather matchmakers pay fees and of course if they submit something that's actually not settled

then they lose the fees they've paid but you aren't trying to settle every single combination on chain okay so basically the matchmakers they kind of they try to find circles right so but basically what and then and then they basically they they get a percentage of the fee right but um other intents are they encrypted or are they uh plain text the what is plain text but the who is encrypted so okay so basically you you would send i don't know pink for 50 euros pink for 55 euros pink for six euros and someone we would know that someone wants to go to pink concert but we didn't we wouldn't know it's you

that's right so as an addition here um intense don't know like they're not because i think a lot of people when they hear these kind of explanations think like there's a sort of table you fill in as like i want to buy this asset i want to sell that asset and i want to sell it for that price this is not what intents are intents are just effectively code um that gets run that gets executed at runtime when these get settled on chain to say whether someone accept it so you can do arbitrary things like you can do say i want to sell bitcoin for eth only if it's sunny in berlin and if i can also buy a flight to san francisco um as in the limitation is gas

at this point it's not what is expressible so you can express anything so here a one one question that comes to my mind on this so i mean if the intent is basically okay it's not a transaction but it's something that can be taken you know to like execute on chain and i mean let's say my private key is i mean i mean in this example right i mean okay i'm increasing the concert ticket price you know i mean how do i how does that transaction signing work i mean let's say for example my keys on a ledger do they have to like go and sign like 60 transaction and accuse them and sense them like one by one or like

so noma handles this by you could think of it as splitting the authorization logic into part that's in the intent and part that's on the ledger and the part that's on the ledger acts is an outer bound so it says something like um you know don't allow this don't allow more than a thousand euros a day to be spent by this particular account unless authorized by my ledger but for anything under that it's fine uh to use this key which is some you know metamask key or even something automated run by your wallet to authorize specific intents and those that key would be used the more ephemeral key would be used for signing

successfully increasing prices in that case and this also of course means that you only pay gas um when something is actually matched and executed actually the person paying the gas here would be the matchmaker um right so if you take 15 different intents the intents themselves aren't paying for gas but the person that stuff says that these are settled on chain pays for the gas okay and the person who matchmakes gets a percentage of whatever each person is giving or do they have to pay to do they have to pay the matchmakers yes that's in the validity product no that so brian already knows the answer

just to guess it is in uh it is in a validity predicate i think it's worth one one thing i would note is that when we talk about the matchmaker here the matchmaker is a role it's not a designated entity like a validator a matchmaker doesn't need a specific key there's no you know anyone could be a matchmaker at any time and by default the anoma node when you run it acts as a participant in the intent gossip node network and asset matchmaker so hopefully there will be a pretty decentralized set of matchmakers to try and encourage such a decentralized set of intent gossip participants as matchmakers we've designed an incentive system for the intent gossip network whereby when you broadcast intents to

another node who might be a matchmaker you can choose a portion of the fee that you will get if those intents are settled so when uh and whatever fee there is remaining uh which is set by the person who initially creates it will go to the matchmaker so if i am sending some intents many of the things being bartered aren't even fungible tokens anyway so charging a percentage is not very straightforward if i'm just buying concert tickets you know i can't give the matchmaker like a quarter of the concert ticket um so to my intent i would attach a little like you know if you facilitate this trade for me and if i'm paying in dollars it can be incorporated but if you facilitate this trade for me i'm willing to pay you a dollar right then the next node in the intent gossip

network can look at that and say okay can i settle this and if he can settle it or she can settle it that node can directly claim the v but if they can't then we have this like incentive design question where if we don't give them any way to benefit from rebroadcasting that intent they'll probably just keep it until they get an intent which they could sell why would they send it away to someone else for free it's valuable data it's liquidity so in the architecture when you when they send the intent onwards they can basically add their signature to a signature chain and say i will take this part of the fee and they can actually choose how much of the fee they will take but if the next node doesn't like that they'll probably

just reject the intent so it won't eventually be settled there's this multi-multi-round game going on between nodes to figure out what fees they should use on pieces of liquidity where individual nodes which are acting rationally will act to maximize their expected like fees times the likelihood that some piece of liquidity will be settled so basically you're trying to um uh you're trying to disincentivize rent seeking by any individual but the rent seeking of the protocol itself is not minimized right so basically if i'm willing to pay a dollar for a trade to be settled i will pay that dollar even if it costs way less

that's right although that can be progressively discovered by broadcasting intents with different fees i mean one thing that it's maybe not so much a question is like an observation and i'll be curious for your thoughts on that about one thing that stood out to me you know was that in the white paper you know it talks about the you know pewdiepie electronic cash system you know so of course referencing you know the bitcoin white paper and sort of the original bitcoin you know the sort of original thing that bitcoin was you know kind of promoted for and envisioned for right of course over time it kind of changed it

became more of this digital goal type uh store value asset well you know what's interesting is i guess normally it seems like that was far more in terms of you know the currency like some sort of you know cryptocurrency or blocks you know but you know particular currency with maybe particular characteristics you know so of course you had like bitcoin and then uh well i guess let's say c cash was like oh no but it's important to have like privacy if you have that and and then here it's i guess you're trying to solve the same problem in some way but in like completely approaching from a completely different

angle right not not looking at in terms of a currency but looking at in terms of sort of you know how do people come to some kind of uh agreement right on on some kind of transaction does that make sense or that's broadly true i mean this is also a little bit where the tackling under finding money comes from it's really the idea that um there are lots of currencies potentially and there can be sort of hundreds of millions of different currencies and every user can end up wanting to hold their own currency right like if i only want to hold token as beanie babies that's my prerogative i can and i should be allowed to but the big question is so once everyone can hold their own currencies

for one how do you uh make those transactions private so how do you build acid agnostic privacy preserving systems where you can use arbitrary currencies where you can sort of do private transfers with tokenized beanie babies um and the other question is if ever if we're starting to see this explosion in currencies which i guess at the at this moment we see how do you enable bartering between different currencies very effectively without requiring sort of centralized order books because one other way to look at the a normal intent system is as user defined runtime order books right like traditionally when you look at centralized exchanges or something like uniswap amen

you have protocol defined um order books right there is like a ucc eth pair or there is an eth bitcoin pair with our noma there isn't any pair because the protocol doesn't know what a pair is rather a user writing an intent creates this own pair which is settable not with a specific inverse to this but with anything that can effectively eventually form a ring whether this is one other party or a thousand other parties so you can have someone that wants to trade like i want to trade bitcoin for beanie babies someone wants to trade big beanie babies for concert tickets and concert tickets for chickens and chickens for cows and cows for bitcoin um and as long as this exists you can settle all of this so you allow

everyone to hold arbitrary different current arbitrarily different currencies um and still be able to interact with each other um in the financial world privately using a normal right so that that i i can kind of so that does seem like a nice thing right because okay i'm going to the cafe right and i guess the cafe could be like okay i'm willing to sell like coffee for you know usdc for example right then then i can be in and i'm going as the person buying coffee and i'm like oh i want to buy coffee and i'm happy to pay you know bitcoin or something else that's kind of like

connected to the enormous system and then it would be like yeah like i know frederica running some sort of you know trading business on the side that is like i'm you know i'm always making a market between bitcoin and uscc right and then it's kind of that would get settled right so that that transaction would happen yeah i mean so that doesn't seem like that seemed quite elegant to me this is probably the single simplest example right like what i wanted to also get out of the space when i joined it's like i want to be able to use my phone instead of my credit card to pay in san

francisco um and if i use cash i have all the privacy guarantees but i have a lot of the inconveniences of i have to physically exchange source ranks for usd and then pay in the store now i have access usd that i don't know what to do with anymore and i can't do this digitally with a system like a noma i can tap my phone in san francisco to buy coffee the merchant can say well i only accept usdc i say well i only want to spend digitized first ranks the entire interaction can be fully private and i sort of get a mid market rate at the time when i tap my phone um i spend my digitized first rank and the merchant receives his usdc um and i think no one has built this for some

reason which i am very surprised by because honestly this is arguably one of the most obvious use cases um for decentralized tech but yeah the tech wasn't there like until nine months ago with interoperability and your knowledge groups so we're getting there now but yeah this is sort of a super simple example what you can do with something like normal one other topic that comes to mind uh you know when you when you talk about this i mean maybe it's like going to a little bit in a different direction uh you know one one thing we're seeing at the moment is you know this like seemingly pretty rapid attempts by uh governments to sort of you know enforce this

uh basically passing kyc information right with crypto transaction right i think in europe they have this unhosted wallet thing i saw the thing in canada right a similar thing it's probably gonna happen in like us i expect you know like many countries where do you think this is going in general and then how how is that going to play in the kind of a normal architecture and system yeah so i mean okay like in some of the general answers i think regulation um regulators are kind of screwed um not because they're bad at that job but because they're too slow as in i think the tech is evolving way faster than regulators can

understand new tech which means that so this gap between what they understand and what's currently happening is keeps widening we saw a similar thing happening with the internet if i'm honest where the internet and everything built on top of it evolved way faster than regulators could understand how it works so due to this i'm actually fairly optimistic that it seems very unlikely that regulators will ever catch up to sort of the latest cutting edge specifically on sort of this kyc aml site though um this is not a normal specific problem this is a problem for everything that's programmable like everything that's end user programmable has this problem because you can imagine if um because you effectively need a white listed system if you really want to enforce

this like if you want to enforce that usdc can only be spent between authorized wallets or wallets that have been white listed you would need to restrict who can interact with the us with usdc right you can't allow your cc to be deposited into arbitrary contracts because any arbitrary contract could wrap this usdc and do another arbitrary computation on top of this um so as a result if we think that regulators will catch up that then we're effectively betting that the decentralized space will go away because nothing can because everything would have to be whitelisted by some sort of regulator to be uh able to interact with the system like we can't combine user programmability on ethereum and uscc is only um able to be used and why this is

contract with each other they're like fundamentally incompatible um we can say ucc can only use in whitelisted things but that makes us you see pointless because all of a sudden nothing will support this this breaks all of the interoperability aspects that contracts currently have um so i think this is sort of the more general point that regulators are probably not aware of yet that you can't like put a little bit of compliance on top of it if you have full programmability and interoperability between these systems you can always escape the regulatory environment um and so i think honestly probably the better bet is to regulate at the edge point so like when you go into the traditional fiat banking system uh similar to how cash works nowadays

because it's um doable um and doesn't break the entire system i'm not sure i i agree with this 100 because basically um currently if you look at how cash works i mean cash is regulated if you say paying cash for something that's worth more than depending on where you are a thousand euros or ten thousand euros or basically uh the person who takes the cash or the notary who facilitates uh the the transactions they actually have to um do kyc and basically you have to um you don't have to show every single transaction that led you having the money but basically you have to make make it plausible that you would come to have i don't know a quarter of a million

to buy a house right and so basically this is something that could conceivably be tacked onto this just like basically if you have five euros and you go and buy a coffee obviously no one's going to do kyc but if you take a half a million and buy a house in cash then yes absolutely you will be subject to kyc yeah that works i agree but uh what i was more referring to sort of uh a blanket kyc on every transaction that's enforced at sort of a smart contract level like if you have counterparties with whom you need to attack to buy a house absolutely this also works in the this works in the existing system this will work in the blockchain system because there are two known counterparties to this um which i think is also the right model to

do by the way it's like a very nicely decentralized kycaml system yeah um so let's talk about i mean we've we've talked about a lot of things that you guys envisaged so kind of can you give us an idea of what's currently live what will be live soon and what's gonna what what do you think is gonna take however long to build because it's an enormously complex undertaking right what's live now and what will be live stream so uh the specification and uh prototype and test net from the moda well there is a test net there's not yet a like coordinated test net but those are all live on github you can find the

software you can download it you can play around with it um there are also prototypes of the intent gossip system and matchmaking system along with um architectural spec for taiga the private bartering circuit and an architectural spec for typhon which is our consensus algorithm those i would expect will be hopefully the private monitoring circuit will be ready later this year along with tent cost and matchmaking working with private bartering which is pretty involved as it has to involve uh ckb generation during the intended gossip and matchmaking phase typhon will probably take uh take at least another year but i would also say that like we're trying to come up with a sequence

of both technological development and product deployment that makes sense even if we launch the full anoma tomorrow it probably does too many things uh for it to be a useful test as a kind of independent hypothesis which is one reason why we're trying to launch namada is a just simpler network that can provide clear quality of service guarantees around multi-asset tilted transfers and hopefully pretty incentive compatible incentive design for giving users a pretty good shielded privacy set uh we're launching that soon and that can at least be um integrated hopefully with a product stack including interfaces which can create zero knowledge proofs and a product

stack which solves i mean there are a lot of just really awful ux problems um tornado cache is i think pretty decent now but with a sort of full shielded note blockchain like cash you still have to scan the whole blockchain to figure out which nodes are yours we can do something slightly better with a like a payment request system where you include a special tag on the note so you don't have to scan on your phone all of the new blocks to see if you received payment these ux questions sound kind of trivial but they sometimes require like changing the architecture of the blockchain or would require hard forking existing systems or changing the circuit so we're trying to think about that on a whole architecture

level so we can make sure the end product is appealing so namada should probably august september somewhere around this october um so around this like a late summer uh namala should go live i mean what does this mean testnets the internal testings have started before we start rolling out private test nets with a handful of people in the coming weeks um and then probably in six to eight weeks we'll start having public testing so anyone can participate followed by incentivized testers that eventually lead to decentralized launch of nemata late summer i think at the same time we are also going to start um a trusted setup ceremony for plunk up

and our circuits for also in the next couple of weeks so there's going to be nonsense around there um i would expect that main.normal before i start having chestnuts after normal launch gearing up for some early 2023 launch um it probably includes tiger so private partnering circuits that probably won't include typhon um so if the consensus upgrade is probably something that happens post launch post unknown manual launch um right the other thing that comes with armada is also bridges uh so the pro also launched with an ethereum bridge it's an ibc adapter for ethereum as well as ibc adapters to a bunch of other chains and i think at that point the

scaling factor will become how can you quickly write ibc adapters for every modern bft system because there's really no reason why like nia and polkadot shouldn't communicate to each other via ibc um like the protocol doesn't matter to these people just how you encode data between uh like client capable blockchains um yeah i think that's all coming up that sounds like a i mean that's a very impressive technical roadmap what about ecosystem adoption do you guys have an ecosystem fund to kind of foster building on enoma not yet we haven't yet made the move that every other major blockchain for

some reason has made and become became a vc uh seemed very strange i didn't expect this to happen in 2017 that every major blockchain would also become a vc at the same time um maybe later this year we'll see no i don't think so it's the inaudible course of things yeah everything becomes a vc everything is not fun uh no but i mean if people are um the first couple of people who start playing with the code base um starting to see how intense where content gossip works how matchmaking works uh if you're interested uh reach out to us we're very happy to support early prototypes um no formless structures around being a fund yet though you know we could do retroactive public goods funding if you make a git commit

now that's that's permanent history it's like a potential future airdrop target you never know oh don't don't say that on air people are gonna try to break that i didn't yeah yeah okay don't complain about this later um cool so when p if people wanna uh get in touch with you guys how how do they best reach out to you uh yeah you can join on discord um discord dot gg slash anoma um you can also find more information on the websites alright we're revamping them right now on noma.net and nomada.net also in telegram slashanoma um twitter it's a normal. on normal network actually

um yeah and if you just want to reach out you can also email me adrian noma dot network i think no at tx adrian helix.dev please don't spam me now you're gonna get 50 recruiters to email you about promising blockchain developers that you can hire and yeah all of email is just spam at this point um yeah cool well thanks so much for coming on um guys so yeah i think totally it is like a pretty uh daring kind of crazy roadmap you know sort of reinventing like

or modifying a lot of different stuff but i'm excited to see you know how it how it plays out i mean at some point we got to like try derek things just building like another layer of d5 on top of the previous layer of b5 to get some new derivatives going at some point gets very old and looks very much like a ponzi scheme i think not enough people do this by the way i think not enough people try to like fundamentally new things in order to really see where we can take the space this was like very different sort of like when cosmos came around right like people tried to still build a sense of resistance tech and make proof of stake work and i think we should go back more to this model where we tried to do cool things instead of writing

like 300 lines absolutely to do a crypto nft um but yeah also i would one i think it's easy to draw the conclusion that blockchain security architectures have worked far too early uh even something like proof of stake i think the the the you know jury is still out on whether proof of stake will work long term as a way of securing blockchains and so that we can hopefully have some architectures would survive the test of time i think we should really be sweeping the design space proof of stake design seems to have you know ended with cosmos and near and polka dot um and i'm not quite sure why because i don't think it's really been

battle tested yet in another episode we can talk about cubic slashing yeah there's a lot of things we haven't talked about and i i have to i have to say that um i was confused when we started this episode and i'm i'm i'm still confused but maybe on a slightly higher level so i'm i may i may go back to read the docs now higher level confusion that's a good outcome yeah i do apologize boy when i when we try to explain this becomes clear that it's like there are many different spiraling threads in some uh speculative plan for how they will coalesce and that plan has yet to materialize in concrete lines of code in all of its aspects but yeah i also think

this tagline on defining money is like confusing yeah to me the the one thing that would have made everything i think easier to understand is more diagrams so i usually go from diagram to diagram and kind of if i don't get something i just read the text in the middle but literally there are there are no pictures you just have to read it's like uh very unusual 40 page vision papers all right so that's that's it to do for chris add pictures to the papers more diagrams and exactly yeah well thank you guys for coming on this was a pleasure and uh we'll we'll have you back soon uh to talk about slashing and stuff

thank you very much for having us thank you so much cool thanks so much