Self-Sovereign Coordination with Christopher Goes of Anoma
6 May 2022 · 1:19:17
Christopher Goes of Anoma joins The Interop host Sebastien Couture to explain Anoma's approach to self-sovereign, privacy-preserving coordination. They cover intents and counterparty discovery, how economic transactions lose information, the layers of the Anoma stack, and where the project fits within a modular blockchain landscape alongside IBC and Cosmos infrastructure.
Speakers
Topics
Transcript
welcome to the interrupt the show which is all about understanding the decentralized economic networks that make up the inner chain my name is sebastian cuggio i'm here today with christopher goes who is a research and development lead at heliacs and co-founder of anoma and has also done a lot of work and was kind of leading the work on ibc for many years and uh yeah we you know we bumped into each other uh last week or two weeks ago now at uh amsterdam and uh we're having a conversation and i was like i just want to get this on a podcast so this is uh this uh this is the you know the extension of that conversation hey hey chris thanks for joining me thank you uh pleased to be here and there's a podcast called the interop now
i mean that's that's amazing yeah yeah that's true yeah i mean um i mean like the interop is is very much my attempt to understand some of the really technical like you know deep um sort of like technical bits of like how all this stuff works because i feel like i have a high level understanding of like how ibc works and like all these interoperable blockchains but i i want to dive deep and this is what we're going to do today so um this episode is not for the faint of heart if uh if if uh but but hopefully we'll make it uh we'll we'll make it um intelligible for people uh which which i'm sure you do because i think like you're one of the most um
articulate people in the crypto space i've told you this before like you know every time every time you're speaking somewhere i try to go see one of your talks because it's always so like crystal clear that is a high standard to start this podcast off with i hope cool um so yeah let's uh i mean for listeners who you know maybe aren't familiar with their work uh what have you been doing the last couple of years right um well i i sort of kind of randomly the first blockchain project i worked on was uh well first serious like you know long-term thing i did uh was to work on cosmos i've done a little bit of experience experimentation on ethereum before
and i originally joined cosmos because i liked the idea of interoperable blockchains to me sort of blockchains were separate sovereign zones and people would want to operate their own blockchain and sometimes interoperate and in order to do that you need a protocol which makes that easy so i joined cosmos to work on ibc originally when i joined i talked to ethan and he said like oh yeah you could work on ibc just help us launch the blockchain it'll take only two months then of course a year later uh uh we had launched the blockchain uh i kid i kid but it actually was a year but i kid about the being salty about it part um but then i got to work on ibc which was lots of fun and since then i mean ibc required of course solving some
technical interoperability challenges it also required solving some organizational interoperability challenges which uh you know seemed to in some ways uh mirror the technical ones except they were more difficult so originally of course i worked it all in bits and then the engineering team of all in bits decided that it needed it needed to be its own sovereign interoperable zone so we spun out into interchange which i worked at for a little while and is still doing fantastic work on the cosmos stack but last year i parted ways on very good terms with entertain game behave to work on enoma which is a kind of reimagining of sort of i would describe it as a re-imagining of the architectural stack with privacy and heterogeneous security
in mind but with a somewhat sort of an interoperable but somewhat different take than the cosmos philosophy i lost i think you needed sorry uh yeah so heterogeneous security is a term that i had not heard before uh before we uh we chatted last week and so i've been kind of doing some research there and um and realized that some of the some of the people that are doing all most of the heavy lifting and research in terms of research on um these these algorithms like heterogeneous paxos are actually working with you uh at enoma or i guess heliacs which is the company that is building a noma um so that was pretty exciting and
and hopefully we you know we can get uh i think uh isaac uh isaac's chef is on your team and he so he he he's leading a lot of the research work on on hendrix paxos that's right i mean i consider the the uh best part by far of you know founding a company is that i get to like hire all these people who are way smarter than i am and i get to like ask them questions and they answer all day long um and i just try not to ask like super super dumb questions but somehow it works out yeah yeah similar to doing a podcast um so so like okay let me start with this like let's what's the vision for enoma and perhaps
for people because it's not easy to understand like i listened to this episode you did with felika and brian on epicenter and i feel i walked away from that episode understanding a little bit more of what uh you guys are doing but it's still not 100 clear so uh i think understanding the vision and maybe how it uh how it departs from what people are typically used to so for instance like the cosmos vision or like the ethereum vision might be useful right um and and two you know i i was joking at um at an amsterdam event two weeks ago that enoma is like a zero knowledge project
not only in the sense that we use zero knowledge but that we can't actually say what a noma is but we can give like zero knowledge proofs this particular component is part of enoma and this code right okay so uh jokes aside uh one one reason why it's a little bit difficult to explain the project is that um oh no i lost you i'm still here you're just full still here okay one reason it's a bit difficult to explain the project is that enoma is designed with a very different basic philosophy than a lot of current blockchain projects not necessarily it's not a normative judgment i'm not saying it's better or worse it's just different a lot of blockchain projects are designed with a sort of
um i would call i would call it like architecturally incrementalist proposition so like say zcash is like bitcoin except it's private um or ethereum is like sort of a nakamoto consensus you know proof of work chain bitcoin except it's programmable right and then some other chain is like uh uh you know ethereum like say near is like ethereum but it started and uses wasm or something there's a there's a sort of x but y aspect to this yeah and that's that's great uh like it's it's a clear definition of the project and it provides this kind of iteration on different kinds of blockchain architectures but i think where it falls you know where where you might want another philosophy is that two users of a system
uh they care about what they can do with it like technology is a tool um and so enoma is sort of very like you could call it architecturally anti-maximalist which sounds strange because there are a lot of there's a lot of architectural complexity but there's no one specific thing so it's not like a noma is not x but y for any x or y it's just not that uh so it's hard to explain in a condensed form of that nature but if i saw instead like the design philosophy we take is approaching approaching the problem from the reverse direction and to approach the problem from the first direction requires that we like talk about what a blockchain is for in the first place like why would we conceivably want this system um and different people you know now
it's like a very there's a large blockchain space right it's unfortunate the term i'm using to refer to it is like the name for a particular data structure which really has little to do with anything many blockchains are no longer like literally chains of blocks right but uh how would we delineate you know what is a blockchain or what is like an interesting design philosophy here as opposed to just spreadsheets or you know other sorts of companies um to me at least it is that you have some kind of uh database over which you have consensus that is resilient to byzantine actors and why would you you know why would you want such a database in the first place uh it would be probably only because you
somehow care about uh what data is being stored on it which sounds kind of abstract but let me compare by example so in the world right now we have this like interesting concept of money and we have a bunch of basically excel spreadsheets uh you know into cobol files and whatever it is that deutsche bank uses i don't want to know that uh describe who has what money and we've you know collectively for better for worse decided to architect a lot of our societal processes and decided to render you know survival in many senses contingent on possession and use of this of this abstraction and money in certain ways right but that's just that's a database system it's a it's even a distributed database system unfortunately though it's a distributed
database system with properties that are kind of unclear and with a lot of points that seem to be captured or vulnerable to capture so in um you know designing blockchains at least in my view what we're really designing are kind of distributed database systems where we can more clearly reason about the properties and where we can provide and guarantees of the users of those systems that some of those properties are respected either because they can verify it directly or because they can uh because we can articulate a trust model uh which they can they can like directly check right like they can say that they're using a proof of stake chain uh and know that they need to trust two-thirds of the validators then they can like talk to the validators right so that's a legible or
verifiable and user trust model that is not available with the current financial system say and to me that's like the interesting design question so taking that in mind puts uh puts the uh design philosophy of enema on a different footing which is let's start with like users caring about the state of this system and the way we choose to represent that in a noma is called an intent you can think of an intent kind of like a generalized order or you can just think about it as a statement of preferences so an intent is a way for a user of the system to say i would like the system to be this way like relative you know it could be absolute or it could be it can also be relative to the current state of
the system i would just prefer this other state and the role of all of the uh sort of blockchain infrastructure is to facilitate two things one uh well it's difficult one thing which is split into two phases the one thing is simply enacting paredo efficient improvements like if two people uh can through their combined permissions change the state to be a certain way then the infrastructure should allow them to do that right uh but that requires uh if you sort of approach that problem given the computational complexity that requires two phases counterparty discovery and settlement so most of the existing blockchain infrastructure is focused on settlement and counterparty discovery generally
happens off change so if you use say if you use a service like openc counterparty discovery is being facilitated by access to opencs order book and in general they're also doing the matching um and if the ethereum blockchain is acting as a settlement layer so just to just interject here but like the way i see this idea of statement of preference or intent and how it relates to the state of the system is that as an actor of the system um you know i i'm participating in this global shared ledger that has a state at time x and like at time x plus one i would like the state to be uh to be different so that that state could be like currently i have one
bitcoin and i have um uh you know i have one bitcoin and uh someone has like 10 ether and i would like the state to become where i have like 10 ether and someone else has one bitcoin is that like an easy simplification of like this idea of statement of preference and intent right right absolutely um i would also add that you know the generality here covers cases which require a lot of coordination which to me are often the interesting ones so let's say that i want like i want there to be a road right in my city um but you know i can't individually fund the road i would be happy to fund a 110 thousands of the road if all the
999 other people in the city like agree on the parameters of the road and agree to fund part of it right and i can author an intent that will say that if those 9999 other people uh agree to like such and such parameters and such as funding amounts then they can generate similar intents and together we can settle one transaction that takes these ten thousand intents and rights of course the blockchain can't build the road but writes the results of this agreement go to the ledger yeah yeah and like generally the the ledger keeps track of the state but all of these intents are typically handled like in the case of ethereum their their handle on application applications that are built uh in in the
uh or in the state machine um a noma so this enoma then sort of bring that um that intent communication mechanism into the base layer system in a way that is different from like how how it's currently handled and more of the application space uh right sort of i mean there's no there's no specific way that it's currently handled in the application space it tends to be quite bespoke like separate applications have separate you know completely separate pools of intents and they have separate uh generally separate liquidity so if you of course if you use something like an
amm that requires locking liquidity on chain but even if you use something like like a wyvern in openc if you use some kind of order book ish settlement protocol you will need to you know you have like a particular contract that you put your funds into and then you can generate different orders which uh you know sell your tokens for a or for b at different prices but those orders are specific to this one contract um which seems you know i'm not i'm just not convinced that you benefit from having a lot of different contracts given that you can build a whole system that will have this liquidity pool be shared so that you don't need to like i don't need to know the formats necessarily of all of my counterparty's attempts i just need to
know that we agree on this like whatever the state transition actually is if it satisfies my preferences then i'm fine with it so there's like more coordination cost incurred by all of these separate protocols that seems to me to be necessary um the other major difference is that uh anoma tries to decentralize this intent gossip and matchmaking as we call it so the process of taking intents these statements preferences finding counterparties uh which might number in the single digits or in the hundreds of thousands and crafting transactions uh which enact the requisite state changes which is a hard like np heart search problem and um submitting those to the ledger uh i think one
you know one takeaway it's it's difficult of course to speak in such broad generalities but one takeaway of the direction of mev on ethereum which is a very helpful test case for protocol designers because there's a lot of like real economic you know uh uh a lot of real economic pressure on the system um is that there are more difficult to counter centralization pressures in the counterparty discovery phase than there are in the settlement phase because it's easy to make the settlement phase for validators or for miners kind of fixed cost like you can bound the cost of operating a miner or a validator by putting gas limits on
transactions and bounding the execution costs and you can put you know make people pay gas for storage and you can bounce storage costs but running a matchmaker because it's an np-hard search problem or running a searcher in flashbots or something like this has pretty high returns to sophistication the more sophisticated matchmaker you build the better you'll do and so i think there are a lot of like uh if we want to build a system where there isn't just one single matchmaker which takes over the world we really need to think about the problem at the level of counterparty discovery much more than its settlement did that make sense yeah i mean so one of the ways i've i've heard you describe um a noma is by talking about like the
problems with money and everything that it abstracts away um so i think like one one example is to say like when you buy a product uh all of the externalities of buying uh that went into making that product whether it's like you know the the supply chain and the environmental impact or you know the cost uh of uh supplying the the raw materials all of that is abstracted um all that information is is basically like absent of the money itself can you maybe like explain that um that that model and like how it relates to a noma
right um so let me to answer one other related question uh that you didn't ask but that i think might help which is why didn't i just explain a novel like that in the first place i've personally tried to start being more careful about a kind of is ought distinction uh as technology is a tool um you know i think say dealing with economic complexity is a reason why you might want to use a protocol iconoma and i you know personally will make the case for like why that might be something worth considering at the same time i think it's already so difficult to because these stacks of cryptography and
distributed systems and blockchains are quite complex and intricate and still understood by a pretty small fraction of the world it's a really difficult challenge to articulate the features which that technology does and doesn't provide in a way that is accurate and safe and if people are going to use blockchains to do important things like operate their economic systems it really needs to be accurate like the the understanding of the technology which we convey to people so for example often i hear things about like blockchains are trustless which i think is just this you know ins if for specific definitions of that word it's true for specific definitions it's false but to the broader populace at large i think
it conveys just this like it's too much marketing and it is going to backfire um so i'm trying to be really careful about that um that aside so why would you want like one one question you might ask is why build this whole super complicated distributed system with cryptography and all this like fancy math and why like try and organize people for years to build these things what what purpose does this have we already have money can't we just use it better um one reason for me why you might be interested in this is simply that the economic system as it currently stands is not adequately handling complex impacts so if you think of the economic what what does the economic system as a
whole do um uh you know in some ways probably it's asymmetric right it like enables uh say say as it like stands in the world enables certain parties to exploit other parties or something like that but at least you know in theory what something like money does if the plane grows even is just allow for coordination on the basis of information transmitted up and down the supply chain with prices so if you if a lot of people are buying a specific kind of coffee then a producer knows that they should produce more of that coffee right like nothing seems super awry in this scenario the problem is that when supply chains get really complex information gets lost which people actually care about so if there are a
bunch of companies competing to produce a particular good let's say coffee and they can sacrifice certain values such as uh you know environmental impact like let's say that they can produce coffee in a way that um reuses the same acreage the same farmland uh repeatedly year after year with the same crop which tends to strip the land of nutrients as compared to rotating crops of rotating land but sometimes this is like cheaper it's just infrastructurally cheaper because you don't have to move stuff and you can build automation in place easier so if they do that the coffee which they produce will taste just as good at least for a while and it will have a lower price right so if consumers are making decisions on the basis of price they will pick the cheaper coffee um
however over the long run this will result in like uh you know land which is no longer arable and this wherever there's this kind of trade-off between uh being able to produce cheaper goods and some other value such as environmental sustainability or carbon emissions or labor relations which the people buying the coffee probably do care about but just don't know about then in using only price is the metrics of selection all of us who are buying coffee are kind of unintentionally creating this incentive for all of these coffee producers to uh you know strip the land of nutrients and emit more carbon or do whatever it will take to produce cheaper coffee so why don't we you might ask why don't
we just like unionize and say like we're never going to buy coffee unless you follow such such practices that would be great uh unfortunately most of us have other things to do with our lives rather than just like unionize on behalf of everyone buying coffee buying coffee is a pretty small part at least in my life still do it too much but it's still a small part and you know if there were some way for me to easily find other people who were buying coffee and kind of create a sort of consumer union to negotiate as a group and get suppliers to incorporate more uh factors such as the environmental impact into their um production choices then that i would be thrilled to do that but it kind of needs to be easy so i can't go spend my life right now
unionizing people buying coffee and that seems difficult to do considering that there are i don't know billions of them and they're very spread out right but if we can track these economic transactions and see the impacts they're having along the supply chain and track say what kinds of environmental impacts companies have with certain production practices then using the ability of um you know a sort of distributed system like this plus mining and digital signatures to make credible commitments we can commit not to buying coffee unless producers follow certain practices and as soon as a lot of people do this say on the downstream end of a supply chain the incentives for producers change so if as a producer i can no longer sell any products if i
don't adhere to certain environmental environmental production practices then like i'd better change what i'm uh what i'm producing and how i'm producing it or i'll be selected out by just the normal economic selection process so i think blockchains only solve part of this problem they only solve the like computational part and still the hard oracle problem of actually checking what companies are doing remains but solving the computational part is helpful so i think it's worth what's right and how how does um how does onoma solve that computational problem mostly by crafting this system where people can
express their preferences by intents and by uh architecting the way in which data is verified in the ledger in the way i mean it's important for companies that their production practices or what specifically they're doing can mostly remain private but it's important for consumers who have preferences about the environment should we say that uh they can check that companies are adhering to certain practices so enoma provides this like large-scale intent gossip matchmaking and settlement system to allow people to credibly express preferences and to i mean this requires that you like commit not to buying coffee right and it could be contingent on other people doing the same thing but you have to make a credible commitment to up the supply chain that will transmit information and this is information that
you just can't transmit with money as a tool because the only thing you can do is like not buy the coffee but that doesn't convey that you would buy like another kind of coffee if it were produced more sustainably and it doesn't convey uh that all of these people together have this preference right those kind of uh there's a need for a more high dimensional mechanism here how does that um how does that manifest practically speaking like when when using so like i think maybe it's it's helpful to talk about like the infrastructure stack and so you have a noma and then you guys are building uh different um i guess products or blockchains on top of a noma um
you know how to how does like for instance what you're talking about here how does that manifest in the stack is it is it you know what would would this um money like information rich money be built on a noma or would it be an application uh that is sort of like higher up in the stack right um our answer to this question has changed over time initially we set out mostly just to solve this like economic preference and more high dimensional bartering problem but in the process of doing that for example in the process of coming up with a private bartering circuit we ended up with sexy and so we've sort of realized that these components of
architecture and application are in a certain sense orthogonal and so it makes sense to consider bartering in this kind of intent um crafting in uh [Music] for specific purposes such as for purchasing coffee or communicating preferences about sustainable production uh it makes sense to treat these as an application on top of the anova architecture but the onoma architecture is a bit um [Music] right so should i should i say what that might look like is an application or yeah sure okay okay um so as an application then uh you would use you would use a language called juvix which is the way ananoma that we write intensive validity
predicates you would use cubics to write specific validity predicates and intends to describe the act of purchasing coffee and to describe the production practices different production practices that producers are employing and to describe the oracles you're using to verify those and to describe the kind of settlement system whereby for example a bunch of consumers let's say that there are like you know 10 000 people buying this kind of coffee and let's say that i as you know someone one of those 10 000 want to negotiate um with the producers to produce something more sustainably uh but i only want to do so if like my negotiate i kind of only want to do so my negotiation would actually work like if i'm individually changing whether or
not i buy coffee this won't actually change the producer's incentives right so what i do is i craft an intent that says that i will not buy this kind of coffee if 5 000 other people so have this group also agree not to buy this kind of coffee and until 5 000 people agree nothing happens i mean i just like create this intent i broadcast it around but people can see that were they to agree with me uh then we would and were more people to agree then you're essentially like establishing a demand right right right you're establishing a sort of counter factual demand yeah and in you're establishing it in a way that is legible to other people who might have similar preferences and they
can see that you would like this state of the world and they can if they agree with you sort of uh credibly state in the form of an intent including digital signatures and potentially cryptographic proofs that they agree with you and in a way that will bind them if enough people agree and then that can be settled on the ledger once you hit 5000 and then that will communicate you know i mean maybe producers can even see this like before it happens right but at the very least at that point it will communicate to producers that their incentives have changed so in this example i mean i could see a situation where you would have perhaps uh um opportunities for civil attacks here where you know one or several several parties could be signing for each of those five thousand
um participants like to reach that threshold does enoma have the sybil resistance mechanisms to um to prevent that or is that something that one would have to build in their own application through like kyc or some other form of mechanism right um so i think in this particular example you actually don't need a really strict or like really unified notion of identity i think you only need the fractional identity of people buying coffee and the blockchain does know about that because and i mean in order to of course realize this you have to be buying the coffee in some way they could be like verified on the nova right but presumably you're you know sending some
funds privately using the shielded pool in order to buy your coffee and you could create a proof of that and that's sufficient like we don't need we don't need a stronger notion of identity because the producer just cares about the people buying the coffee and the people buying the coffee just care about like in addition to buying coffee they don't want to wreck the environment by accident um and that's really i think that's all you need um so that the purchase itself is the civil resistance mechanism in this case okay got it yeah okay oh yeah i see what you're saying um cool and so we we didn't mention i don't think we really talked about this but that anoma has privacy by design um can you explain how how that works and how it because
i think um typically one of the things that privacy private preserved blockchains uh enable is obviously like having private transactions but it does create complexities in terms of creating useful applications um how does anoma sit in this maybe spectrum right um anoma sits at the point that basically we should provide privacy uh you know privacy where people want it sometimes you don't want privacy um and but we should make it a uh an explicit choice
and we should uh you know give users of the system potentially through intermediaries like interfaces the tools which they need to craft like exact statements of what kind of privacy they're getting so also i guess from the architectural perspective we're really trying to figure out like where the information theoretic bounds on what kind of privacy you even can have and like what are the cryptographic components to instantiate that in different ways and can we arrange this in an architecture that makes sense where we can just slot in different cryptographic components later on as they get improved so for example in order to discover counterparties you have to share information like if you don't
uh you know in some very crazy extreme universe with infinite time you can fully homomorphically encrypt everything and you just like test too intense to see if they match but then you have to do you know n factorial tests in fully homomorphic encryption on the number of intents and it's it's never like it's never going to work right so in order to discover counterparties before settlement settlement private settlement is i mean it's sort of a programming architecture challenge but information theoretically is fine but in order to discover counterparties like if i have 10 bitcoin and want one ethereum and you have 10 ethereum and want one bitcoin we don't need to reveal who we are but we need to reveal what we want so in the you know architecture at the
moment users when they craft intents can uh do not reveal their identity but they do reveal what they want the the preferences that they would like to be enacted and they need to reveal that to enough other intent gossip nodes to discover counterparties once they've discovered counterparties that can be zipped up or so to speak with a zero knowledge proof and then submit it to the ledger for settlement so what kind of applications are you or others building on enoma um so you know we've talked about i think you know some examples that are somewhat hypothetical i think like i mean the whole like uh
coffee example i don't i don't know what would be required for that to actually uh manifest but like what are the practical things that uh are being built so um i should caveat all of this discussion with we've decided to launch noma as its architecturally quite complex project in several stages which have successively more complete versions of the protocol so um the first stage uh will be a blockchain called namada um hopefully launch the summer of course right yeah we can only propose genesis blocks uh it's up to up to the community to decide what they want to run but nevada will feature private transfers ibc he proof of stake cubic slashing
a uh bidirectional ethereum bridge and some other cool things but it will not feature counterparty discovery counterparty discovery we are uh incorporating into version two of the enabler protocol which hopefully will be ready later this year or soon thereafter so the first the first application for namado will just be multi-asset shielded transfers which seems kind of banal but it doesn't exist yet and i would like you know at least personally it's like something that i would use um i would much rather play pay with a zero knowledge proof on my phone for all of my everyday transactions rather than using a credit card and also rather than um i mean to to
um give credit where credit is due zcash is an amazing project they have basically single-handedly kick-started the integration of zero knowledge proofs and privacy technology into blockchains at the same time i'm not convinced the economic model of bitcoin is an asset makes sense for payments like when i want to pay people i don't want to use the asset as a store of value i want the asset to be stable with respect to the goods that i'm buying and selling so i would be like i would be fine honestly like if the european central bank could just issue euro and allow you know uh and we can change the backend settlement infrastructure to be um you know the multi-asset shielded pool or sort of sapling style private
transactions that would be a huge improvement over the current um financial system with trump don't stay up waiting for that uh right right true but at least we can you know approximate uh more stable assets uh in different ways so when you say multi-asset shield pool you're you're talking about ibc assets being transferable okay so with with this product um one would be able to move any ibc asset into um into these uh shiloh pools and transfer uh with privacy preserving um transactions that's right and the way the multi-asset child pool works the
privacy set is uh additive so all of these assets share the same privacy set no one no observer chain can see which asset you were spending so is it similar to tornado cache uh from from the like privacy pool perspective um tornado cache does not use sapling at least not as far as i know in the first version they had quantized amounts like specific i think they've changed that so now it's you can do variable um yeah so in that sense the privacy is pretty it's probably pretty similar um i yeah i don't know if they leak any more information to the sequencer or not
remind me what's sapling again i feel like it's the so sapling is the circuit architecture that started with the zerocash paper and was incorporated into z cash as then the first circuit was called sprout uh the next circuit was called sapling uh the most sort of recent circuit proposal is called orchard and the multi-acid children pool which uh nevada will launch with is based on sapling but adds support for um multiple assets so similarly like sexy as an architecture is sort of a descendant of the sapling architectural lineage of circuit design and the reason why there aren't more circuit designs is that the way you get
privacy with zero knowledge proofs is to have the user who's transacting with the system hold the data themselves so that like you can think of it as like a sharded database where the data is at all the edge devices and that's what provides privacy it's just like the data is on the device and then the user has to make the proof so that sort of informational topology pretty much necessitates that you shard the state like this and that pretty much necessitates something that looks like utxos paragraphy so i don't know exactly what the most recent version of tornado cache uses but if it supports like if it supports full privacy for asset denomination asset to mount and sender and receiver it probably has a node tree which means it's probably like sapling
although maybe not exactly yeah i'm not sure exactly i mean we we interviewed them on epicenter quite a while back and at at that point you couldn't do variable amounts i think that's been introduced now uh but i'm not quite sure how that works maybe there's some zero knowledge proof stuff going on there um [Music] so i i wonder so this is something just came up here like it's a good way to think about this the following so i i you know if we look at the the modular this whole new like modular blockchain space where you have uh data availability layers and execution layers that provide proofs to those subsequent layers so you know celestia
is one example we had redstone on last week they're doing something similar with r weave i think e2 is also moving in this direction does it make sense to think of a noma as a kind of data availability layer but with privacy or is that analogy like totally off that's just a question um i think it feels to me like there's some kind of like modular aspect here right right right that provides some primitives and then applications that can leverage that layer right um i should caveat this with i am you know uh i've talked to people at various projects
uh doing different parts of the modular blockchain stack but i'm not an expert in all of them so my you know summaries of kind of the differences in philosophies here could be somewhat uh misleading and i would love to like bring someone who is an expert on that particular approach to chat with to me i think the way i would contrast the approaches is that where they place the heterogeneous security so an approach like celestia or eth2 is vertically heterogeneous like the the data availability layer has one security model say the e2 validators and the execution layer or sequencing layer has another security model say different roll-up sequencers um and the like you know even sometimes
the dapps on top have like their own dao or something they have their own security models um that's uh like that's advantageous from a development perspective and that different sort of companies and organizations can build these different parts um one disadvantage it has is that in general the security you have is like the weakest of all of those layers so um if you if you're using you know if the dial associated with the dap can you know buy majority vote to do something or if the data availability layer uh gets corrupted or something like that then uh it doesn't matter if the other layers are secure right and it's also tricky to you know i think that's a tricky
model to explain to people using the system because the entities or actors they have to trust are involved in operating all of these like intermediate architectural components as opposed to operating like some unified thing um but the other the other usually like celestia or ethereum um you know i i don't know how much they take this is philosophy but um are seem to be operating under the idea that there can be like one single data availability layer and there are uh there are advantages to doing that um it makes like cross-domain mev well i don't know if it makes that simpler but it makes like you have this
like very large security set and it's sort of hard to corrupt the system because there's just one and it's very big um but on the other hand there's like a singular mechanism and if the whole world uses eth2 or celestial or whatever it doesn't matter but the whole world uses one data availability layer then the like that's just the most massive honeypot in existence right yeah so i i think this idea that i'm i'm like i still understand people who believe that there will be one date available there or one blockchain or one i mean like um [Music] yeah it's hard for me to wrap my head around this becoming a reality um
just because of just because of the way humans coordinate and you know just the same way we don't have a global currency or uh like one global government uh although that might you know who knows maybe that'll become the case one day but um i i think that things typically you know if you look at just like something like uh the linux kernel and all of the all of the um different versions of linux that that has produced and um operating systems and um different like web technologies or development like just programming languages and things like that there are going to be use cases that are
going to be more some technology is going to be more suited for some uh specific use cases and it might be that we end up with like you know uh an oligarchy of uh data availability errors or blockchains where you know there are like three or four uh that capture most of the value but i i can't i can't wrap my head around there being one you know right 95 of the value yeah i mean different people have different design philosophies one you know for me one thing that's important is crafting a system that is like resilient to faults and especially crafting a system where local guarantees are not dependent on
globally trusted actors so for example if we just think about the topology of actual commerce right uh right now say um you know economic settlement of transactions in berlin is dependent on a credit card network operated by visa like probably in some data center in like i don't know norway um which means that if there's a sort of loss of geopolitical complexity and some of these structures no longer cooperate perfectly then we can no longer do commerce in berlin not only can we no longer do commerce between berlin and norway right that makes sense but we can no longer do commerce here because we're dependent on the system which is controlled by somebody far away um so for that reason i think it's like
that's the reason you might want to craft security models where you keep the zone of trust as local as possible to the community which you care about and often the community which you care about is physical but it's not always physical it might be like a particular game that you're playing a particular like network of people who want to you know engage in some kind of some kind of you know say economic relationships together um i you really like you don't want to extend trust to people or entities outside that network where you don't have to and for commerce which is happening within that network you don't have to so run your own blockchain like don't you know don't use somebody else's data availability layer or settlement layer or roll-up player or whatever i mean
just like you don't you know run your own local network local area network for your lan party uh right now this is hard but that's a technology problem it's not like a sort of topology problem yeah so let's let's maybe um talk a little bit about yeah i wonder what your vision is for for uh blockchain infrastructure um so you know in the last 10 years we've had i think several iterations of um of the of the technology stack so we started with bitcoin where like everything was built into one um like basically but one binary basically
and then um ethereum [Music] created like an extra layer where you have applications that can now run on that on on a virtual machine on this binary and then cosmos um created and you know by some extent also polka dot and some other modular block change systems extended that horizontally where every chain has its own security model and has its own application and now we're starting to see fracturing i think with the modular blockchain like more modular blockchain infrastructure um design patterns like celestia and caveat like i'm also not very like super familiar on how that works and like i
want to dive into this on on a podcast here with other with people from celestia but um where do you think like what do you think is going to look like in five years from now and maybe i don't know like i i don't know if looking back at how web 2 infrastructure has abstracted makes sense is that a good reference point you know because like web 2 has gone through similar um phases as well where you know we started where you had very centralized uh infrastructure where everything was working on one system and now things are very much abstracted where you have like you know functions basically running as a sort of
like as a vm and like databases being decentralized like you know i'm also like not an expert on web 2 infrastructure but you know i can see the trajectory there and i wonder if it makes sense to look at that as a model for how things could break apart um work apart in the sense of like modulizing in the blockchain infrastructure right um i guess i think [Music] it's important to me at least to differentiate on two dimensions of modularization which i think are kind of orthogonal or like will end up being orthogonal there's technological modularization which just makes sense i mean you can come up with if you want to in order to architect complex systems
you need to split them into smaller parts that you can reason about more easily and you need to have clear abstraction boundaries between these parts that all what happens it happens like with layers in the internet protocol it happens with you know abstractions for running functions in web 2 it happens with modular blockchain infrastructure for web3 right that will happen but security um i think is a sort of orthogonal dimension where you do not want complex security you want simple security and you want to uh often often like you need incentive alignment which is not financial i'm skeptical of like purely financial incentive alignment model for example proof of stake is a
purely financial incentive alignment model and most of the like if you have a large like modular blockchain stack most of the layers are operating on purely financial incentive alignment models where you assume that the like operators of these different layers in the modular stack aren't like they don't care about the applications they just care about their particular reward function for operating their layer correctly and that has advantages i mean it's like kind of easy to reason about that in isolation but as long as they have some selective choices to make like which transactions to include for example or which like applications to support um or which roll-ups to prefer or something then their decisions on
you know that are always going to be like just financial kind of disconnected from what the system is actually being used for and i think that you know it's not clear that it's difficult to make these systems actually decentralized because or decentralized in the long term because there's no there's no identity it's just proof stake or something like this um so i think in order to get you know in order in order to facilitate long-term instead of alignment we should consider models where we expect that the say validators or the the parties actually operating the infrastructure are really like part of the communities which it is serving and really we should like move in the direction of eliminating this class
distinction between validators and delegators you know we want there to be i mean we already have like we have devices that can that can or will soon be able to run all the infrastructure right they're here i mean it will take a long time to you know it's cheaper to have centralized compute right there their gains to sophistication but centralized compute is just compute controlled by somebody else so um i think security will move in the opposite direction of going towards like as vertically integrated and towards the edge of people who are actually using the systems but it will do so in like spurts because some some you know centralized system or originally decentralized and then centralized by trajectory system will fail and then users will realize that
they should really control the infrastructure themselves and then they will take sort of cheapest exit option for their applications what do you think is like the practical path for the cosmos stack to align with this vision like how does the cosmos stack modularize uh where currently you know nodes run consensus and uh and the application layer you know with uh with it through abci and tendermint um do you do you think that these two pieces will at some point uh modularize where you know some actors will run security for
you know um a bunch of different applications so like cross cross application and then applications will um leverage that security and you know maybe this fits into the whole interchange security model that the cosmos sub is implementing um but it feels to me like the celestia model is like even more evolved than that i haven't quite like made up my mind about that yet how do i think the cosmos stack will evolve well um i mean i think one question that is really important to consider because it's has a very different answer than like the immediate short-term economics is
what will drive standardization like what will actually drive specific parts of blockchain architecture to be or not be a certain way and currently like the thing driving standardization is protocol funding and protocol funding uh like the fact that the protocols are the ones getting funded incentivizes divergence and experimentation so they're like there are a lot of different architectures and there are a lot of architectures which are similar but slightly different in certain ways and they're operating independently that's cool i mean it's like very different than web 2 was um i think it allows for a lot of architectural experimentation um and architectural experimentation is
helpful like different architectures have different security models but it's not clear to me that it will drive architectural economics in the long term because users don't care about architectures users care about applications and applications and we see this like you already kind of see this with a bunch of chains wanting to support evm i mean the evm is a an odd choice for a standardized virtual machine for blockchains let's just put it that way um but still there's like people want existing dabs to port themselves and apps do like you see units swap on like lots of different chains right and users know unit swap and they know they're sort of used to this like they're used to what it does and they're used to the brand name uh right now this is a huge like i think it's a security
disaster waiting to happen because these blocked it's not has a security model it's the blockchains which have security models but users there's this like complete disconnect between what people see as like the thing that they're interacting with uniswap and what the security they're actually getting is which is very very different on different block chains and currently this is sort of white listed by like uniswap having a reputation and deciding to support different blockchains or something like this but i think that's probably like going to fall apart eventually um not in the specific case only just in general because it depends on this trusted intermediary having reputation and making good decisions about which blockchains support and you know like if users treat all those blockchains equivalent then the security is like the security of the least least secure one
right so i think from that perspective what is very important for sort of uh the the uh you know anyone aligned with the cosmos vision of heterogeneous security is to reduce exit costs for applications and to allow for abstractions which can make it more transparent to users what security they're getting so right now if like a if you use um there aren't that many like super multi-chained apps but there's some that are starting to be if you use a decentralized application which is going to sequence state transitions on a bunch
of different chains this can be with bridges or it can be with ibc but over over some kind of cross chain infrastructure then um you know right now most of these applications do not have strong fault isolation properties they're just like they white list some chains and they have their state charted and if any of the state on any of the genes gets corrupted their whole application security and variants are lost but the way ibc approaches things uh does isolate security on different genes because the genes the atomic units of trust right so uh then like say users who don't send a particular token and no token is an application right so users who don't
send their atom to another chain are never subject to you know inflation potentially from security falls on that chain i think it's very important to generalize this um which is harder but it's possible and then that will allow developers to write applications on top of the stack that um allow users to use the same application like the same kind of conceptual model for doing something like swapping with an amm while choosing their trust zones so you don't think that um that security will uh become you don't think that like the block block produce block production
will become a commodity you think that there will be clear distinctions between um security models that users will have to make choices upon like which security model they uh they choose to transact because i've heard people talk about i've heard people say that like block space will become commoditized in the sense that like the the trust layer of blockchain networks um because of the i don't know how really to to explain this i i kind of i mean like they'll become fungible like you just will post yeah so yeah i think i think that's that's what it gets at is that block space will just become this sort of
fungible commodity because we need to have as much block space as possible i think the assumption is in order to remain decentralized we'll need many different uh security models producing blocks and validating transa validating state and yeah i'm skeptical of this because i think there are things that it's just very hard to incentivize the one thing that is very hard to incentivize is storing data for a long time so in you know for example in a model folks right but yeah in a model like um well okay in a model like r wave i'll start with r wave uh are we physical
project no no no hard feelings yeah but there's i think the economics are still like to be yeah i mean in our weave there's no coordination between people who store data um so you know there's in the absence of some separate system for coordination um there's you know it's like kind of inefficient and there's no way for a user to check that their data is actually stored like there's just other than requesting it but there's no way to check that it will be stored or checked that like you have to trust um and trust is fine but if your trust is very abstracted away from you in this like large network of commoditized you know whatever r weave block stores or celestia block stores
then it's abstracted very far away from you and it's like harder to you can't like talk to them and they aren't necessarily part of your community and they don't have any kind of long-term incentive alignment with the actual like economic system that people care about that you're using all the settlement infrastructure to support um so i think that that is one reason you might expect certain things not to be commoditized i think some things can be commoditized like maybe making zero knowledge proofs can be commoditized because it's really just computation and you can like make it so that the doing the computation doesn't like you don't learn any information you don't uh you can't censor anything you're just doing the computation probably that can
become commoditized but anything where there are you know sort of long-term incentive alignment questions that you just can't craft protocol to like somehow verify um and data availability i think is one of those uh i don't think like there might be waves that might become commoditized because we built some of these projects and then it'll you know take five years and then it'll break then we'll realize it like isn't really commoditized and then it'll be uncommoditized it'll take a long time yeah and we haven't really talked about ibc and i'm conscious of your time here but i wonder if we could just maybe spend a bit of time here and then you know we'll have to do a whole other episode about uh heterogeneous consensus um because i
think this is also pretty fascinating um so yeah i mean with without i think i i think we all uh agree that interoperability of uh blockchain systems uh is fundamental to the success of these technologies um but one of the things i see uh ibc and interoperability creating as a problem is like non-fungibility of assets and you know we're starting to see that now i mean this has already been the case i think in ethereum for for some time but we're starting to see it now um with like fmos and different bridges coming on uh to coming on board in cosmos and it will
become even more complex when you have bridges now cross ecosystems so like tokens moving from uh the evm world over to the outpost world how do we solve this like what's the solution here because i mean as a you know for users it is incredibly complex i think to try to reason about um what tokens uh represent what and what the security guarantees are and um yeah i i don't know like if people are actually thinking about this problem and trying to solve it with like actual uh solutions but it seems like a big one right i mean so ibc is built very like conservatively from a security model perspective which i think is is what provides the kind of the kind of safety
and the fault isolation um that in the long term at least you want um but of course there are there are some ux tradeoffs to that and one of them is that when you send tokens around in all these different directions they are non-fungible with each other because they went through different security paths um in the uh sort of like at least in the like ibc model of chains which can talk to each other um these security paths can be so there are different levels that they're different like sorry they're different levels of the stack at which you could try and improve this problem one level is kind of like what we'll just call it sort of top level is you can try and make markets so there can be some arbitragers and
they'll like trade your you know gravity usd for your axle or usd or whatever and you pay some like slight fee and they assume some risk that's you know not the worst solution in the world in some ways but it does require this like separate class of people to perform the service um and it you know means that users are incurring some costs um and it uh you know means that like there are somewhere there's still state transitions going around to actually send the tokens right so you can in the case of ibc we have what's called a diamond problem right and in the case of british root large which is that if we send we have some tokens on chain a and we send them to chain b and we send them all the way to chain d
and now we want to send them back so one thing like it seems like let's say all these chains are functioning fine and andy one thing it seems like we could do is we can send them back through c all the way back to a but the problem with allowing this is that if you send the tokens back to c uh then like you could also um if at the same time you still you know from chain a's perspective chain b is the one who has the tokens right so if you allow these tokens which came from chain b to go to chain c to chain d and back then uh sorry to chain uh d then chain c and back then chain b could also um uh uh like uh send back the tokens um at the same time right so
uh in order to prevent this uh these chains need to agree on who holds the tokens so if chain a chain b and chain t can agree that like these tokens have now been transferred to chain a from chain um a chain b then chain b to team d then chain a can allow them to be sent directly back to chain a because chain a has now changed its ledger to say that like you know originally i sent 50 tokens to b but now these 50 tokens are owned by d right so in order to do this you need to do a consensus between the black chains um so you need to do like a two-phase commit or something like this but you can batch all of this together and like reduce genes of prominence um for many different
applications such as tokens at once but it requires that your consensusly or like understands the stuff um so it requires like re-architecting at the the layer of tendermint i think it doesn't i mean you still have these are still separate zones of trust so there's still like tokens on b and tokens id are not the same thing but if you can get a to if you inform a about the balance changes in a way that a verify is actually coming from b and it can change its ledger to reassign things to d um then that will allow you to like now they're they're still like a tokens and they're only one hop away or so to speak um okay and so what kind of architectural changes to tendermint uh
is this the work that you're doing with um heterogeneous paxos and tendermint 2.0 or is that something else um in part i mean you can build two-phase commit on top of existing systems like you could build it on top of tendermint without rewriting tendermint um it's just a bit less efficient that what really needs to be integrated is tendermint and ibc um uh because if the consensus layer is aware of this interoperability because it becomes more efficient we can like bundle all of these you know it needs to be aware of the other validator sense kind of automatically reduce these chains of trust prominence
um in in cross chain across securities on applications um and in specifically our case the other thing we're working on is trying to enable atomic cross chain transactions or at least synchrony bounded ones for which you require some overlapping validator sets uh or some you know specific additional assumptions um okay and in order to in order to get either bounded synchrony because obviously treats tendermint as a black box right like tendonite just produces some blocks uh yeah it doesn't and there are like there's no visibility into the validator set right so in order to synchronous or atomic cross-chain transactions you need to check that there's sufficient validators that overlap
um and you need to schedule between those two to validate or set so joint commit around or you need to enforce synchrony bounds in your block acceptance criteria and all of these require awareness uh in between the sort of interoperability and consensus layers so what what are you most excited about when it comes to like the future of ibc and some of the things that are coming there like interchange accounts and stuff like that i'm most excited about obviously becoming boring if ibc is in 10 years like you know is the internet protocol really exciting anymore i mean yeah no uh it's there it works you don't even
need to think about it people who do not understand it can buy hardware and like use it pretty safely by plugging in cables um i i hope that at some point ibc looks like that admittedly that's a long way off uh in the short term i'm really excited about people using ibc for anything other than toku transfers because i'm just so bored of token transfers so entertain accounts are cool entertain accounts introduced complicated security dependencies i think i think that's something that is difficult to communicate if you add more blockchains into your into your trust model your security is you know unless you were doing other checks as secure as the weakest one um like it is convenient in some ways but i hope that that will be sort of clearly eliminated but it's a cool
feature um i'm excited about i mean there are all these like interesting features we had planned for ibc protocol development and then they got cut from the version one release but i don't know if anyone needs them yet but they would be cool such as like partial ordered packets and um broadcast one-to-n broadcast channels um oh yeah that'd be cool yeah i'm also very excited about ways like higher level abstractions on top of you know ibc is a really low level programming primitive when you think about it from the developer's perspective it's like if you were writing a concurrent program by specifying exactly all of the messages the cpu cores had to send to one another and that's
not something people do anymore because there are better tools that will like use the mathematical properties of the computation you're doing for example you're doing mapreduce or you're doing some kind of uh you know accumulation over a over a monod something like this you're doing addition multiplication uh these kinds of computations just by virtue of their mathematical nature can be parallelized right uh and similarly we can come up it has to incorporate the additional dimension of trust right but we can come up with programming paradigms over concurrently executing blockchains that are much easier for developers to write applications with and ultimately like compile down to messages being sent between the blockchains just as you know whatever you fancy stuff you do
in parallel haskell compiles down to messages being sent between cpu cores or being stored in your memory or something like this but developers don't need to deal with this kind of lower level of abstraction and can reason more easily about the safety of their applications by exporting some of the correctness checks to the compiler okay yeah and are you still doing are you still like actively contributing to ibc or has that moved on someone else um i still um so i i still read vpr sometimes i'm definitely not you know all credit to the the ibc team at ig is doing all the actual work i just occasionally like say silly things like i'm worried about something please please write more about this in the specs and sometimes people do which
is wonderful um one other thing i'm excited about or uh i think is kind of a design imperative is private cross cross-chain transfers um if every if we have like many different privacy sets they're all split across different blockchains and every time you bridge you do so in public you know that's gonna create a lot of linkability and we're splitting all these privacy sets and then blockchains are like competing with each other and have bigger privacy sets which is completely unnecessary because if we have private bridges then even if that we can keep the heterogeneous security domains right but then we can have one privacy set um and then we no longer like blockchains don't need to compete on having a bigger privacy set than other blockchains they can just share a
single privacy set and users can choose their security domains independently while getting like the privacy of everyone not perfectly but pretty close so we are working on a proposal for a private ibc bridge uh it first for like measurable assets functional and non-functional tokens uh and maybe later on we can generalize it generalizing privacy and trust at the same time there's two dimensions of difficulty but uh in principle possible yeah yeah that would be pretty cool and uh i have a final question for you right here uh this cause this game and i know this is like it's not super relevant anymore since uh it's it's no longer being uh being voted on i don't think so oh and
actually it is yeah it is still in voting period uh cause of muslim on the hub what's your vote on there did you vote did you vote no no no i didn't vote um i you know i i i think the people should be governance stakeholders when they are really like aware of the processes going on and different trade-offs and different considerations and i am not um so i don't want to like claim some kind of knowledge that i don't have um in my view blockchains are basically useless they like currently serve to
uh serve they currently service like some pretty simple financial applications um that you know by buy some lucky accidents of funding models have allowed us to do a lot of work on blockchains which is nice um but i think that the kind of you know we really haven't seen a wide variety of applications plural for that yet but at the same time this like extensive amount of financial usage has led to a sort of early solidification because all these systems are like oh it's like transacting hundreds of millions of dollars like we have to be super conservative about not changing it um and i think that's kind of tragic because it means that we're not iterating anymore because we're terrified of like breaking this financial system so
um number one i would say stop using public blockchains as financial systems that's like that's a surveillance capitalist like uh you know authoritarian dream uh as an awful blockchain or public options are awful like all of your financial information is going to be public for the rest of time um uh and it will only it's only a matter of i mean chain analysis is already selling like you know along with coinbase your identity data to whoever whoever is involved in your government if you're lucky and also a bunch of other brand of companies if you're unlucky um so i uh um all of that what's the relevance of that to constant wasm i guess only that i think blockchain should be just much less conservative
um and people should not treat them as you know battle-hardened financial infrastructure because for other reasons they're not qualified to be it anyways yeah i mean that's that's that's hard though when you look at big numbers on your screen yeah but i mean if we're still if we're if we're comparing things in terms of us dollars then like have we really built an alternative financial system i don't think so it's not the right metric no no i i agree but i think at the individual level people people tend to be conservative when uh when when their relative wealth increases and you know i mean like right you can see this in all sorts of like wealthy wealth acquisitions so yeah i think there's which is that point to you know buying real estate makes you uh
makes you more conservative and i think that from that perspective like you know people who have gotten uh relatively more rich in the last like two to five years or even longer um and this is the case like with bitcoin right like i mean like bitcoin is super conservative because the people who uh have been building and involved in bitcoin since you know five ten years uh now uh have gotten like immensely rich so um it's like it's like a human nature problem it's like it's more anthropological i think than it is uh than anything else yeah right i mean at the same time i think there's absolutely a case for having different blockchains or different sort of components of this large distributed system
which take different trade-off points along the like spectrum of being innovative to conservative and i think maybe like one challenge the cosmos hub has is that it doesn't have a really clear thesis as to where in that trade-off space it should lie yeah bitcoin has a really clear thesis and you know the community around bitcoin as i mean if people didn't like that thesis they went to something else which i think is good actually um but the challenge of the cosmos hub in part because it does have a governance model so it's like possible to change it right um is that there's not really a you know i think different different founders of the project at different perspectives different users have different perspectives the hub team at ig is like doing their
darndest to make the hub useful uh an approach which which they should be you know lauded for i mean it's like very completely plausible cosmos that just becomes useless if it doesn't do anything that people actually want in the long term um so i think it's difficult to i mean here's here okay here's my crazy proposal which no one will ever implement because i'm not uh you know not an official stakeholder i could say this right i think the hub should like fork the token so um there are other ways of like one thing i think uh you know one thing people do is like an airdrop to certain stakers who voted a certain way which is an interesting option um but i think it's not as clear a like split so i think you can sort of split
the like history of the cosmos hub and people if you want people can you have to construct a proposal which actually does this as opposed to this proposal which doesn't right like the precondition should be clear but you could construct a proposal where people can vote like would they like to be the part of the cosmos hub which will take the approach of being um uh you know very stable and be the part of the cosmos up which will take the approach of being very innovative and then you actually split the asset so as opposed to like forking and copying the asset you split the acid so there's like atom one and atom two and um you know the market can value them differently and people can like exit into one or the other if they want and that to me would achieve the kind of
like could achieve the kind of clear bifurcation of philosophy which then could be tested by different groups and and we can see you know what um what works yeah so also like fork the state and i have like separate validator sets and yeah yeah i mean of course validators could choose which one they want to continue to validate i mean there's always a you know this sort of happened with e thief classic and and yeah of course like there's a clear network effect to what community works on something um so there are reasons why people might not want the system to forks maybe maybe someone would think like i want cosmosome but i'm not willing to fork like this in order to do this but i also think that
splitting the acid as opposed to copying the acid is a really different strategy because it means that the people who are going to one side or the other like actually want to do the thing right like if you split if you just copy the asset then all of the people who you know you disagree with can kind of sell like they'll just exit um and it creates this kind of very adversarial nature because they're now two assets like competing to be ethereum or competing to be adam but if you just split the asset and if everyone understands that like this really is a bifurcation in history it's not there is no atom you know they're just two different versions now um that's a hard thing to to convey i realized but i think that would be great if it happened well uh but maybe you can make a
proposal to the hub but um yeah this has been great thanks so much for coming on and uh and spending all this time here has been really really interesting and uh just i i've got like so many notes from this from this call uh on things i want to follow up on and so um yeah we'll we'll either do another episode together at some point or uh or maybe with some of the other folks at um at helix so thanks thanks again thank you cheers