{"id":"LB984KzJTXQ","title":"Whiteboard Series with NEAR | Ep: 56 Anoma with Illia Polosukhin and Adrian Brink","description":"IIllia Polosukhin (Co-Founder, NEAR Protocol) and Adrian Brink, (Co-Founder, Anoma) discuss the innovative Anoma platform, which simplifies blockchain transactions by focusing on user intents rather than traditional balanced transactions.\n\nKey Takeaways:\n• Innovation in Blockchain: Anoma introduces a new approach to handling transactions, focusing on user intents rather than balanced state transactions.\n• User-Centric Design: The platform is designed to cater to the real needs of users, facilitating transactions that are intent-based rather than constrained by typical transactional formats.\n• Technical Insights: Ilya and Arienne provide deep dives into the technical foundations of Anoma, including its use of virtual machines and intent-driven transaction processing.\n• Future of Trading: Anoma supports a more flexible and efficient form of trading, where intents like \"trade A for B\" can be processed without direct executable states.\n• Accessibility and Understanding: The conversation aims to make complex blockchain technologies accessible and understandable, highlighting Anoma’s potential impact on the blockchain ecosystem.\n\nTimestamps:\n00:00:13-00:00:24 - Introduction by Illia and overview of Anoma.\n00:00:25-00:00:35 - Early challenges in blockchain that led to the creation of Anoma.\n00:01:06-00:01:43 - Discussion on the selection process of blockchain chains and the introduction of chain abstraction.\n00:02:15-00:02:49 - Exploring the broader benefits of Anoma to humanity and its contribution to the Web3 ecosystem.\n00:03:46-00:04:18 - Accessibility and benefits for users with mobile devices.\n00:04:48-00:05:27 - Daily habits and user engagement with the Anoma app.\n00:07:26-00:07:56 - The concept of the movement economy and its practical applications.\n\nJoin NEAR's community:\nWebsite: https://near.org/\nTwitter:   / nearprotocol  \nBlog: https://near.org/blog/\nMedium:   / nearprotocol  \nReddit:   / nearprotocol  \nDiscord: https://near.chat/\nGitHub: https://github.com/near  https://github.com/nearprotocol\nDev Docs: https://docs.near.org/\nCreate a wallet: https://wallet.near.org/create\nLearn to Build On NEAR: https://www.near.university/\n#NEAR #nearprotocol #chainabstraction","channel_name":"NEAR Protocol","published_at":"2024-05-29T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/LB984KzJTXQ/hqdefault.jpg","transcript_text":"For everyone. I'm Illia, cofounder of NEAR, and I'm joined with Adrian co-founder of Anoma. We're gonna dive in here into how Anoma works in Not So Sunny Seoul today. So Adrian, take it away. Thank you very much for having me. yeah, I'll try my best. this is the first time we were, like, whiteboarding So let's see how far we get. maybe just start. Describe what I know. So, Yeah, let's start. With a little bit here with. The sort of where it comes from and. Why. We ended up. Building a no. One thinking about this problem. back in 2020, everyone was building these VMs, and it seemed to us that really, most users don't. Actually have transactions, as in. Fully balanced things that can be executed against a specific state machine. But rather, they have intents, they have partial. Things, they. Have a partial state transition. Like I want to create A for. B, you may want to trade B for a. this is but I don't have anything. Sorry. Not hitting like. that you can that I. So my intent is not. Directly executable. Against some ledger because. Not balance yet. Right. And so one. Of the big problems was how do you actually do. Decentralized counterparty discovery or to steward kind of how does recovery and distributed. Solving. And really building this on the existing models of. Transactions is very, very. Difficult. because you. Don't have the networking infrastructure to, for. Example, gossip run intense, you don't have flexible network topology here. so. This is really the original idea of an OMA of allowing people to have intents which have partial state transitions. that can. Be combined with others, you know, order form, fully balanced transactions. maybe one extra important point here is that this model is also, incidentally, it turns out, better, way better information flow control. So when you think like okay, what does a less revealing world looks like around data protection? A lot of data sets living on your like device, and the current model of a lot of shared global state means we all have to ship the state into the same place so that we're revealing it. so once. You start having intends, it's way easier to. Construct also. proofs around over a partial state transition. So I can prove that I'm allowed to trade. I don't know. If will be. You could be transparent. You authorizing this is a normal signature, a silver. Someone else can sort of take these two things. and combine them. And maybe a third. Important point here is. You also get partial solving, which is kind of cool. so one of the big problems right now. Is that you always have to solve the entire thing. So solving becomes very centralized to us. And with. So basically the intensity of the capability of saying, well, I. Have a for B of C silver picks it up, goes well, I can collapses into the sea at some point and I send this off. The solver senses off as a new intent. and then. Sort of another person at some point in the futures, see for a and now this is actually solvable. And you. Maybe start to realize it starts looking a lot like rollups with computation compression. so I think what we just ended of sort of discovering from first principles. Is that. In terms of a very good. Match for. Lots of the actual activity. That's happening on these systems at the moment. Yeah. So maybe just to give a specific example, right. Usually when you are, you know, trading and transacting on chain, you need to be exactly specific about, you want to use this exchange or you want to use this smart contract, you want to, kind of trust this balance. And it's especially more complex when you doing it cross-chain and you have kind of need to specify now which bridge, you know, what are the, kind of counterparties involved in that. And then the idea of intent is you specifying kind of condition in a way like precondition condition, and you letting somebody else finding this route of how this thing should be connected, pretty much. I mean, like sort of a what's really happening in the current world of VM's is that people define computational traces. Right? Logical. larger fund. They define computational traces. And this is what people sign a lot like in the case of the EVM, for example. The sign over event bytecode. Right. And so here a user need to understand all the individual. Steps of. Like I'm at state a, then I'm at state A prime. A prime prime, and. So on and so forth. They are opcodes. Describe how to transition here. this. Is very difficult for people to do because they have to know all the intermediate. Steps. And so of this. I am well, in this. IAM world, it's very declarative. So you define I have state a and I want to get state B and here state A could be. I. Have Nia on Nia and I want is on base on no. On Ethereum. and actually in this case. This is just my. Intent. I. Just say I only have side. If I take. Delivery of. The asset on Ethereum, I am sort of. Giving this up on Nia. but here, I don't care whether it moves. Via some. Bridge, and I actually don't even care whether the bridge is insecure. because I don't take bridging risk because. I should also, I mean, this gets fairly complex in terms of specification in front end, so I have to do some work here. You also need to specify what kind of. Like you want. Native eath. Not like arbitrary is right. That's what I mean. You specified on the edge network right. So yeah, but that's not. Necessarily the same because I. Assume you also. Can have arbitrary eath on. Bridge and back on the. Yeah. So like. Just for clarity sake, you have to actually be very. Specific. on what kind of assets. You want to take. And so this is how from the state model, and the other thing is this doesn't just work for assets. I mean, for assets is. An obvious example. but this is fully programmatic. So and in can also say things like, I want to participate in this, bitcoin dollar and the $500 get together. the individual intents never get settled on chain, so we don't have to individually. Pay for, transaction. Fees, but has been git coin. We can rather. Combine all 500. Run the compute in not. To actually figure out what. Solution. like who's going to get funded. And then just post the end result with the. Intense asset or the, I think an authentication to this update. really think of autonomy as being very declared. Are the intent model or the intent machine. I should actually stick to the name. The intent machine being very declarative as an only specifying state changes and the system around and just being. Built up in order to allow for these state changes to. Happen. So pretty much investment in that Haskell of blockchain. it's. Not exactly Haskell. I know. But, there is a point we advance of programing languages towards declarative models and. functional. Languages. I think it's far. Fetched to say that some, But the blockchain is not built in Haskell. It's very important. No, no blockchain. Haskell works, I think. Okay. So yeah, I think like from the from what you're trying to solve this makes sense. Right. Provides a different way of interfacing with not just one blockchain but kind of every chain in a way. And sets really well, this chain infection. And it provides kind of this framework that, you know, it's pretty general. So let's dive in how it works. Yeah. actually, here, the important thing is, the intent machine really is a developer and user abstraction. this is it's an interface. It's not an intermediary. It's not this second intent blockchain. You must. Send all you intends to. For them to work. It's any chain that has. An intent adapter. Can just use. It. so you can retrofit, you can. Build an intent machine on Ethereum, can build on Nia. and a. Lot of the, Actually all of the PDP. Goes to infrastructure. For. So the intent. Gossip and solving opponent. Is completely chain agnostic that just in the intent framework, There is some advances here that we've made in terms of virtual machines. You can build virtual machines that are specifically, tailored to sort of. Accept these kind of. State updates. And, advantages there. And we can go into them later. Okay. yes. Yeah. Studio on stuff. Well, let's start with I mean, you're saying pretty much the overall architecture. So there it sounds like there's, adapters that live on every chain. There's gossip infrastructure, there's kind of. How you split. This best, There's some way to submit all this. So it all starts with a, P2P gossip stack. And just as a side note, not enough people on blockchains worry about gossip. we spend a lot of time on other things. We should spend way more time on actual networking. Because this is a really difficult problem. and so in our normal, there is one unified, a normal gossip network, effectively, And this may have many different nodes. and nodes can have different capabilities. So we don't have the same abstraction that exists in. For example, Solana where you have a. Bigger fund. Full node. That gets talked to via some RPC. Right. This is not the model here. so we don't have this abstraction boundary. nodes can run the entire. Software stack or the entire capability stack. Or they can choose which kind of capabilities, so on. So for example, this could be. Julia's phone and Elias phone only wants to participate in very. Limited intent Gasping. pretty much you just want to be able to send your own antennas. And maybe if you actually do a trading. you also want to like, subscribe to. A super small. Subset of intense that filter around the network. but then we can also have. Like a. Figment. Validator node for the a normal based chain. And the Ethereum based chain. and so like different nodes can have different capabilities. And importantly they can also live in. Different trust zones. Actually for from here. Right. Like actually switch. Oh give me your left. So. Oh yeah that's a good point. so you can have like different trust. Zones that are maybe. Overlapping but maybe not. Not necessarily overlapping. Right. And so different trust zones, What people would. Historically call different blockchains. but what I really mean here is, you have different trust assumptions. They may be proof of stake. Doing proof of authority. They may be. Single node. Chains run by a government. Who cares? but so all these things can sit on a, connected, sparsely connected P2P stack. And so when I send an intent focus on. From my. Phone. I can either decide to flood all and then anyone that's interest can actually. Receive this intent. I can also do more. Interesting things for them. Like let's say I want to trade. BTC for eath and actually want to do decentralized. Counterparty discovery. I can even do this sort of like. Reach out to who has. I don't flood everyone. I only flood. Like two. People. First. and if they can actually satisfy this intent, then I don't have. To reveal. My intent to everyone. I think. From an information flow control perspective, that's. Very important. Other stand that if you want to get kind of a discovery, you must reveal something. I can't go. I want to trade this closed box. Please, like, solve this for me. This doesn't really work. so you always. Need to reveal some sort of state that you're willing to trade. and here you. Can in this. Kind of. Networking model, you can actually decide, what kind of state you want to reveal. to whom? yeah. And here. Effectively, other chains can be, run via sidecar. so you have I can. I don't want and a new network and an Ethereum. Network. but they're still globally connected via this PDP gossip stack. and the other cool thing is, you can actually. Attach, Fees for. Intents. So, intense, I just arbitrary, but you can say. Well, I am willing. To put, I don't know, A05. USD fee on this intent. If this node cannot actually solve. This intent, it. Could rewrap this and say, well, I'm taking. Point one. Point one. The the next person gets 0.4. If this person can actually settle it, that node still gets a point one. And this node gets a point four. So it has an incentive for it. Yeah. But it's So yeah, I'm. Careful with using the word incentives because. Everyone now nowadays seems. To think points. should be points. Come on. That's true. no, it's like incentives, not a the architecture level, but rather the topology level. Of like, the user behavior level. we spent a bunch of time. Trying to sort of separate the what is the actual architecture. Of the system versus what is the. Topology of the system? Because the architecture is something you can write down. The topology is defined. By the market effect of it. Yeah. and you. Can take the same architecture and deploy it on a different topology. this is also. Yeah. So maybe like practically speaking. Right. So I mean, this is, this is some piece of code that connects, how, like how our peers discovered what is, like, how this information propagated around trust zones and, how, you know, you're saying, like, I can send it to specific nodes. How do I know like that this nodes are doing this function. so, all. Nodes, not address by IP addresses, but rather by cryptographic identities. and nodes would have to advertise their own capability stack. this will. Happen also in the P2P layer. but of course these. a node can all nodes can. Effectively advertise that they support. All capabilities. If they actually don't, then you need to like at some point start having local network know. It's like I keep sending things to this guy, but he doesn't do anything with them. Maybe I should like down rank them my local metric. So yeah, so do you. I mean, do you have kind of reputation system? yes. But it's, It is mostly. Local. It is not sort of like what people think of. There's a global reputation system that everyone follows. it's a local reputation system. A my node decides, this is a good PR that isn't a good peer. there is some interesting things you can do, though. Where, especially. With solvers so intense, come with our guardrails. And so it's jumping a little bit. Here, but. When, if you, trade a shared limit or a. For example, as an intent. You can you. Can. There's nothing preventing you from doing this, and you will get filled. right. So there are no. Guardrails here and tens and tens of. Just arbitrary. State changes. That you've authorized. If you authorized garbage. State changes. You will get filled. But it's an interesting question becomes. can. We build, solve, trust metrics. Where. For example, some of us may still. Get, like shitty limit orders, but they. Decide to return the. Surplus value back. To the users. And, there. Is a system to track this on chain, where effectively, maybe my node eventually also listens to this, like on chain data storage on like. Oh, these are like the top 20 salvos, that I should trust a lot because. Historically. They've, like, not fucked. Not fucked other users, even though they could have, and maybe then a lot of the defaults become. That we start having these. Untuned trust metrics. let's see. This is again, like more of a topology question on like, work optimization. Yeah. Where the market. Ends up moving. but I think sort. Of long term. It's the right call because it makes individual lives easier. Effectively. And so okay, so for the feature itself, I mean, what are you using for kind of peer discovery and underlying I'm assuming not P2P. We're not using it. Epitopi. it is Custom hand-rolled protocol. On Erlang effectively for P2P discovery. there's not that much to it. these guys, from point to point connectivity, I'd actually have to look up exactly which, routing. Algorithm we end up using. I don't know if I had, but this is roughly. So all. Of a Anoma is built on. An elixir. Don't hate me. Alex is a very good choice, in my opinion. I will defend this in public. so we're using. A lot of the underlying stack there. yeah. Yeah, I mean, the the main challenge has always been around P2P stacks is that eclipse attacks are pretty easy to do, given you don't have any, kind of Sybil resistance. And so. So the nice thing. Is, at least. Some operators in the network can mistake. For example, the validators. In the network. Have clear cryptographic identities that have that are staked. There are some thoughts around. You know, if you have like a low capability. Node, let's call the solver or a, gossip node, you could. Still require them to be staked if you wanted to. to when you say stake the stake in Anoma, Technically they could be staking. Any asset, but, Yes. So, like the initiative mutation stakes Zn. On on my tokens. to effectively provide to this trust network and the anti Sybil other Sybil. Resistant mechanism. and the staking on the base chain and on my base. Yes. Okay. So there is a normal base chain. There is an unknown base chain. yes. There is we can sort of think of I guess. This blue one as the. Animal base chain. there's no a base chain. But the important thing to realize is you never have to use normal tokens or the unknown base chain. If you just want to set up some alts. you can send intents and just get them settled in a completely different zone. I think this, Chris, what about this interface is nothing to me. And I think it's a very important concept. That. Intermediaries are people. That, actors on the network that can charge. Fees, extract rent. that. Potentially worsen a security. Model. Right. most modern bridges are currently intermediaries. because the factory 2 or 3 multisig that that ship state are owned, it's a little bit scary. but on the other hand, you have interfaces which are just protocol abstractions. these via. AP is an interface. everyone gets use it. You can connect to other people. Over this pipe. IBC. Is good example actually, of an interface to. where and I think this is. Like no one really understood this for the longest time. You can just. Use IBC without using atom. it's just the. Definition of identifiability. And sort of the I know my intent machine is very similar to this. It's, it's just an interface. it's. Not an intermediary in the. System that is capable of. Extracting rent. Yeah, it's pretty much like if you define this pretty much. I mean, this, message in this format, you can send it, and then somebody will try to solve it. Yeah. Yeah. Okay. makes sense. So, I mean, maybe I'm actually curious on the format of the intent itself, like kind of from the, structural perspective. like. What? I mean, what things I can specify as, like a fully Turing complete. is fully. Turing. Erlang. No. Haskell. No, no, this. Is, I think this hasn't changed recently. we were using, for the transparent execution, a simplified version of the virtual machine. because it's a very small language, it's. Very well standardized. and it's. Potentially. It's compiled as, like, circuits quite easily. so. What you can. Specify in an intent. Is, think of this as pre and post condition. So you have like. You currently have some state and you also. Specify so outgoing state. and then you also have effectively a program. Attached to this. And a program can do arbitrary things. So you can do things like if. Whether and so this is bad. By Bitcoin. Right. So you can do these very. Programmatic things of the specific state updates to the soft condition. Them on a what point are they actually allowed to. Happen or not. wait is it is it by bitcoin or give me a state to be effectively. Yeah. This is actually maybe. Like confusing written. It's I. Have some state this is. Fixed by sort. Of the system. State. Right. I can. Say I am willing to. Accept either state by state C, depending on the, whether I comes in, in Seoul. this of course. and here it's important. Understand? Again. Just submitting an intent does not give you settlement guarantees. If you try to buy something and no one else is, one is willing to sell, you're not going to get the thing right. Like intense don't mean. And this is the important difference. Like when you if you balance transactions, you can update the system state. Just because you have an idea for an intent does not mean you can update the system state necessarily. you. Need to find. A kind of Pi that's. Willing to interact with you here. and for example, here you can also do things like. which I think is actually very important. I only want to interact with the kind of Pi that's not on my local block list. For example, if I'm in Switzerland, I. Should like if you just Swiss sanctions law. Right. Because I'm. Local in. Switzerland, I should adopt Swiss sanctions. This is currently impossible to do in the space because. Someone lives, I don't. Know, in Zimbabwe, but they're still. Like, effectively bound by circles, U.S. sanctions, not by their local enforcement. And so with. A no more, you just make this. More flexible. Wherever can decide what kind of, restrictions they want to place and kind of parties. For example, you can also say I. Only want to interact with counterparties. That, on my whitelist. So it so just just for, for so I'm assuming there's a signature somewhere here. Yeah. Which, the signature, like, so when we talk about the state data, let's, let's use a specific example. Right. Let's say I have some NEAR tokens, for simplicity, and so is this signature like what what is a signature authorized? Pretty much. Right. Because it I'm assuming like I say, okay, here's ten NEAR. it authorizes the willingness to sort of spend this. Yeah. but in. Exchange for. Something that satisfy. This program. Condition. Yeah. So, so, when, when I, when I create this. Right. And I gossip it to other nodes, right. Like, it didn't actually withdraw minor yet. No. right. This is a good point, actually. You can issue as many interns as you want. Yeah. They're free. Okay. like, at some point, you gossip, you. May limit you because. You keep spamming them. That's a very well-established problem. And like Web2, we can solve this mostly. but so you can issue an arbitrary amounts of intense. And just when. They get executed in the specific. Trust domain that you. Want them to be executed or that they need to be executed in. Do they actually get executed, and then this gets taken from your account. Okay. So let's get there. All right. So so yeah. So this is just like here's, what I'm willing to spend, this is kind of result I want to receive, which indeed can be programmatic. this is written in or a bit VM We've tried Wasm wasn't it wasn't great. simple conversation right then. you said also you're specifying some additional like kind of broadcasting. That's not specified in the intent necessarily. Okay. So this is the wrapper around, messaging like network. This is just the. Sort of who you are willing to broadcast this to. Is just. But you do need to like, lock it. I mean, kind of spend it here as well, right? When when you actually suddenly end. no. So like just intense don't give don't spend protection. There's only happens actually at the settlement and ordering. Yeah. Side of things. So for example you could send the same intent to three different people. Yeah. They'll try to solve it. They try to solve it. And whoever gets their first gets their first. Okay. Yeah. So that's pretty very important. note then And so here you may have like, whitelist or blacklist. So this is just part of the program. It's all part of the program. There are no special fields here that's really you have this, executable. Yeah. Which should be very small because it ideally. for simple. Things, you ideally don't need it. because this costs gas in the end. So it's like makes your things more expensive. You can just say I have state in a. One state be. That's way easier because then you just you just like effectively write like a state out. Here. Like I'm in state A and I'm willing to hold these keys on the like in the. Local three in state B. and then you just. Sign over this and then what the actual, implementation checks is that, Whenever. So you then take multiple. Intents, you take like E1 and E2 into a single transaction, you execute them, and then, I. One checks. Whether the sort of proposed resulting state of this transaction. is compatible with its state. B let's like. Imagine a solver takes in ten, one and ten to. I mean, let's wait a minute. So what what is the format of this? again, this could be like, I don't know, what's a conversion. I don't let's get one. Is something like this for sure. but like you, I mean, how you're specifying this, like this address zero. Like, because this is, like I'm saying, NEAR is willing to spend ten there. But here you need to specify this address. Holds the holds. one. Is. One is. But let's say this address already holds. One is. then you'd have to specify it. Holds incremental. Incremental effective. Yeah. Okay. This depends a lot on the specific state layout. That's enforced by the annulment adapter. Yeah. So that's why it's because like let's say okay, it should hold two keys because I already have one is but then somebody's already settled this once and somebody is trying to sell it again. so they'll. Yes. And that state. Is already. You also. Want to. Contain this case in order to do conflict? Yes, I think so. Is there like a nonce? Like pretty much you specify here nonce. yes. And effectively, like if you have this model where you want to do incremental things, you'd also have to have a nonce in order to prevent this kind of thing that you like. Replay update a so incremental number. But but this isn't this is because it's not going to be submitted from this account. So it's not as accounts nonce is there like. I. Know this. Is sort of in the you have sort of state layout for here for in the intent. You'd have to say that. this account. It's okay if this account. Holds one eath. actually, wait, we're doing this in. The sense that. we just look at the. Transaction. Output. So you'd. Actually, ideally the state on chain doesn't matter. It should matter. Like what is the output of this transaction? Okay. I should say this gets a little. Bit tricky in terms of. Building these. Early adopters because the state layout doesn't work well for this. in a normal you'd. Like in the normal virtual machine, you would literally just say because it's a resource machine, it's not a it's not an account model. You check oh, Utxo model, but you. So I've created, you. Consume these. Resources and create new resources. So I mean the object. So I understand. Yeah. You're saying I want a new so which is effectively this, but owned by my key. Yeah. So you have to emulate this on top of Ethereum for example. So your num adapter pretty much is like a you takes internally. You take some. Model autonomous on. Utxo model. It's more. Like a resource model. Because Utx is it's like. Utx, but with full programmability. Like accounts. Sure. yeah. The problem is, like when. You tell people to normalize a utx. Model, everyone's very. Confused about how normal works at that point. because like, not a utx. Model in that. Sense. but yeah, this is roughly the intuition where, I sign of a specific, so origin state and I define what band state is. And I also actually the signatures of both here. Right. You have the. Sake of both, that support. you know, all the time. Yeah. Okay. And so, so program will be executed when this is pretty much settling. okay. So. Yeah. So let's, let's like, show like go through an adapter, like. Okay. It received solve didn't end. what's what's happening? Okay. Let's see, I can wait. Put this. Okay. So let me see. Where do we start? Here. we'll start with a very simple. So you have. So beginning state. Which is, I guess. Like, It's a number based chain is presumably is like. Heavily optimized. It's heavily optimized for just selling intent. Yes. Solutions. essentially, yes. this is like, the aAnomaly. execution. The I was talking about this yesterday two days ago, the normal. Resource machine, which is really similar to the new VM or the SVM or the EVM, is just, it. Unbundled. The state layout from the. Instruction set from sort of the message passing. Model. So the, the normal resource machine really. Just cares about the state layout. And it just casts like this transaction modifies these state keys. And is the intent okay with signing over these state keys. and so you have to build an implementation like an adapter as effectively an. Implementation for the I don't want resource machine on. Other. Systems. Yeah. So just for, for simplicity for me understand. So this address x y, z. And then it has a set of resources like, you know, a normal token entry and token touch token with, you know, x like ten, five, one. Yeah. And so and like this is just unbound like compared to, for example, TVM which has this inside there. So 20 is like each one of these is like a separate contract. It's inside some state. Try of that contract. And so like specifying condition on that is complicated. You just have this kind of or do you have more like an object. So like there's an object with like a unique ID that has an owner. like this would be the object effectively. all of the resources for their own. So like, my own, is effective. That's this is the object. And our transition this to a new object. Okay. Yeah. I don't want to spend. Yeah. And I mean that because alternative is what, for example, Sui is doing, which is each token or each NFT is a separate object which has an owner. And you can change those. So the other thing, tokens are also represented as these kind of objects. So like you self like A0XI don't know BTC. keyspace. Well, because this doesn't, it also includes it. So like a. Program. You can't go. On those zero for example. Right. Like or you. Can't mint more than. Was brought in via some bridge. So you can have more logic in these objects to then. So there's a program attached to the object. Now. yeah. So here you. Then define. Well, I'm willing to sort of my being. Status. This And I am. Willing to. Be at an end state where I hold. Zero neo. Yeah. If and only. If I hold. I no one is. and then sort of a. Solver. Would take also the inverse of this if that exists such a thing. Combine this into i1, i2. Run this locally effectively. because the compute doesn't happen on chain. So the solver runs. Locally, gets then in transaction cannot I like a. T1. O t prime and the t. Prime. Just contains all the stuff proposed state. And then the proposed state is again fed into this. Intent and the. You check. Does the intent return. True. When execute. Against this proposed state. All right. Let's walk through this. All right. So so this is you're saying there's two intents. Like for example, somebody else wants to set. This one effectively. This is. Then I is ten. Then NEAR for one is. And then there is one is. For ten year. For ten year. So this this is pretty much so for example I'm I'm a market maker. And so I run the solver and I'm willing to make this trade. So I'm going to like attach this okay. Just for simplicity. And so so I created this. So what this looks like is zero NEAR on this 0XA and 0XB, which is a market maker now has ten year. And oversold says one. Is. Yeah, one is. And this you know and now this has zero for example. So this is the transaction candidate. Exactly with. So there's some this is updated. With some proofs pretty much towards. yes. And this actually the cool thing this maybe is so intense. Me either we authorized with like plain text, like we just have an authorization field. It's not a second trial. It may be a signature, like if you use plain text signature. Sure. It could also be your knowledge proof. That you own some resource in the tree. so this there's just an authorization attached which also has to verify to true. Okay. So this transaction includes two authorization. so yes, it includes. A two intents. Effectively as authorizations. For these things. So intention included here. Yeah. And then it also includes an actual. Signature by the solver to pay for. Execution. Cost okay. And so for example. You can also do something here where you include. An extra, maybe you actually only want to trade like you're willing to spend nine. And the salt. yeah. You willing to trade. Nine, but you willing to spend one year. On the. Fee? As the. Fee, which are only claimable. On up on. Settlement. But, I mean, is this you specifying this isn't. And are you just saying I want ten for one ease, and the solver should, like, attach that. There's the one for nine. And then there is one year that comes to zero account. You can do this both ways. You can also you can trade. To limit prices and do this implicitly. Yeah. Or you can trade specific prices and just attach sort of like claimable output. just that anyone that settles it, it's spendable to whoever submits is on chain. if it's if the rest is balanced, right? Yeah. Not just I submit this in ten months and I get one year. That'd be problematic. Okay, so so then this this bundle goes on chain. The the blockchain kind of verifies that this this outcome state matches this intense. And, well, first verifies that solver has enough to pay for transaction fees, verifies this outcome. State matches and then and applies this outcome state to the chain. So you don't actually have any execution on chain. You just update the state. Yes. It's like the right model. Blockchains were designed for verification, not compute. we just ended up building systems that. Compute the colors of NFTs on chain and smart contracts, and it's great. Everyone won. That's why this is super expensive and inefficient. oh, and maybe the other important thing is, I mean, so, like, unchain Euclid, you double check spent, like, double spend checks, right? Like you still. This proposed thing still needs to be consistent with the chain history. Or the chain. State. So how how would you verify this? And like, you'd have to check does this account actually have. Ten years to spend. Right. So like is this account this account can't be negative and negative. But I guess like how do you do it in a generic case it's not about token like fungible tokens. as in does this account hold that, State key. And is like, is the, is this. Account the owner of the state key effectively? okay. Like think of states really just do very arbitrary things on like maybe a token of maybe something else. and we just check, on chain. You just check. Is this. Account, allowed. To. Modify this state space? and then in this case, you'd also for the token, it also involves off the. Token contract. Or the token. Resource. To make sure that the token doesn't go negative and that this person actually has access rights. To the token. If there's a question. Yeah, I'm I'm just I'm just in my head trying to execute intent. So, no, I just so I mean here it says like, okay, ten year is going to be spent, right? Yeah. so you check. Okay. Then there you have done the year to spend. This is, Okay. So my question is, let's say I had to intense. I had 20 year I had two intents in parallel, to for each one for ten year. So like I want both both solvers did this at the same time. They put that there should be ten year left right after their ten year second. Thing will fail. Okay. Got it. This is sort of a. Simple. Answer. if, like. If it's inconsistent with state. History, it will fail. Okay. Got it. So they'll need to like re-execute it. For example. And which is actually a very. Difficult. Problem. To solve in this interest. Way on how do you not waste. A bunch of compute cycles on. Many. Different solvers trying to do. Exactly the same thing? But this is really not a question of the architecture. It's a question of the topology of the network. Like there's probably. A point that all fungible token traits go to the same solver. If we can, like opt out of the solver immediately if the we don't like the solver. actually, I think what will happen long term and. I mean really long term. Is that. Latency matters. And so like. We should pick not we should pick the solid. If we insole we should pick the solvent Seoul. Because they can give us a way. latency. Latency guarantees then going to solve a New York. Okay. So yeah, I mean, that's just like, who do you who do around your intents and then. Yeah, like you can kind of optimize, but you can also just, yeah, flooded. And honestly, if you don't care. You should flood it. This is like the trivial answer. which is. Essentially, what this is what kind of inputs to you. So if. You're like. Yeah, yeah, fuck yeah. but somebody will figure. Out how to block. exactly. ethics. So to a large extent, I know my just provides an actual. Architectural and. Specked out. Version of. A lot of the systems that are starting to appear right now. Where. right now we just all go. We should all send our. Transaction to everyone. Transactions to everyone. And Justin Drake runs a major relay. which is. Fine. Right? But, like, it's a very ad hoc kind of thing where, I know I just provide sort of a, architecture description of the entire system and how other people can opt into this, how you can easily. Switch between people. it doesn't rely on having to like, like we all hardcode a single IP address into our configs, which is really kind of the case. So, I mean, from the perspective of, Emily's style, like, front running and things like that, right. I mean, you're specifying what you want end to end, so kind of. You're fine with whatever. That depends which movie can be sitting. Right. so to me, I will. Give you my definition. Of what I would consider maybe. Was not. Maybe, If there's information asymmetry, it's a movie. Yeah. As in, if I specify, I'm. Willing to trade. some asset for some other asset. And I don't trade on a fixed price. And someone else sort of. Sees this front, runs this. Now, and now I get a worse price. That's clearly a movie. if there's an. Arbitrage opportunity between New York, London. That is not. Maybe this is just geographic arbitrage. This will exist all the time now. so. I know my doesn't solve all. Geographic arbitrage. But a Anomad does solve for this move. Where you get front run because you didn't specify your end state. You specify your computational trace because. Right. Like if you interleave different execution traces. Yeah, you may end up. Different. Result, different results. one. On one. Case effectively. But here you can not specify like I want whatever market prices for this, you need to like specify some. Price pretty much. If you want specific market prices. This needs to be encoded. So that the application layer, like applications. Built on top of this intent machine. Can provide extra guarantees to the user. so actually we. Can. Like one cool thing is that. so. From an application perspective. So when you think of a, An app on the I am. The app can include guardrails. So for example, you can say things. I am willing you only make the spendable to, we have something. Call it we have. A threshold encryption decryption, within the base chain. So you can sort of submit an encrypted intent. Encrypted intent. this just gets order. It gets order on chain. the chain enforces settlement. Of, batching effectively it as well, or the application kind of force. My batch should be every 15 seconds. after 15 seconds or three blocks. The validators had jointly decrypt all these intents. Now you have a bunch of decrypted intents. That are specific. To this. Application. Now, some. Of us can go, we have. All these decrypted intents. Let me actually, computers. Solution to them, submit them to the app. And the app can sort of pick the optimal criteria. This is kind. Of. Similar to catch up. but instead of relying on a central solver to or a central server to pick the best. Solution. you can do this on chain here. But that like the solver need to respect disorder. not I mean this there's no water here. This is just. The solver need to respect. The batch. So this is like, I should not call this batch order. Because I want. The batch that just encrypted by strings. Right. And we just agree all these 200 byte string byte strings belong to this batch. And so when as a solver I find like I cannot split and like oh I'll solve this one in 10s and run everything else. Exactly. This is like this is sort of the optimal territory you can. Enforce. Within the application on chain to say. I want all of these things to come together. All these things must be come together. Maybe you logics include ECS and liquidity sources. Maybe you don't. this is really tough on the application side. but this is important to understand. Like intense at the base layer. Don't provide you any guarantees. If you do market orders, you will get fucked. this is just unless the like. I mean, you are. You spoke about this kind. Of trust metric. You can. Yeah, maybe, but this is not a guaranteed guarantee. Maybe you can. Build economic guarantees there. But it's not a sell off. Well, I mean, pretty much what you're saying, like, the reality is right now, actually, Uniswap is not a market order. Uniswap is actually a limit order with like hopefully it will do better than that. Yeah. Because what you're saying is you have a price like the current one, but actually you have a limit order of you will not take anything below that. Yeah. So just fine with everything above it. But that's true. So it's just like it's not already the market order. Just you hope that nobody will front run it. Just a very wide limit. All are effective. Well it's point five thread slippage right. Oh that's right. It is pretty right. But you can you can reduce it depends on liquidity of that other thing. so that's why I always like why doesn't Uniswap just return that. Whatever you specify as min min amount it just returns that. Yeah. And now there is no more Emelie and Uniswap LP actually earn more money. And now all the front ends can can. Actually and you can. Just reduce that percentage based on the volatility of the asset. Oh that's actually interesting I haven't thought about that. That's an interesting topic. Yeah. Just being like strict limit or. Yeah solving maybe one lap at a time. Yeah. All right. this is makes sense. You have thresholds to pretty much have some. Well not ordering but batching. Yeah. okay. So this is how it works on a normal base chain. Now how does it work on account base model. so this is honestly, harder because do you effectively I mean, all these things are Turing complete. Yeah. But you as a result, you then have to emulate. The normal resource machine. So the anonymous resource machine is. Also a secret. So you can. Technically. Constructor will approve. of the correct execution. Of the resource machine. It's like the way. This will work. If you have like, this is not a fixed name. I'm calling. Them APIs, the unknown protocol adapters. I don't know if that's a good name. But it's a short acronym. I could come up with. So if you want to emulate full or no more. Like the. Full, no more resource machine directly in solidity, you may run into. Some gas problems, let's say this way. so this will, for most. Systems look. Like effective. You SDK. Proof. over a valid state, transition off the unknown. What resource machine? So this is this will require somebody to deposit first into adapter the what they're planning to spend. yes. In the first step, this does require effectively ask to. Flow into. The adapter. So we under the control of the adapter. long term there's something with Typhon. And camera. Chains. Where. Maybe actually we can have validators guarantee sort of. That assets. Can move on the single block. And you don't lock them. think of it as a shared sequencing where, maybe if there's enough. So with. All right, we can actually also go into Typhon, where, which is the consensus of an OMA, which is said fuze novel. Plus heterogeneous Paxos. so here. I had this. Topology model. Right. And like different. Security zones may have different overlaps. and so if you have a large enough overlap between two systems, between the this is like a chain. This so this node is on both chains. Right. so if you. Have enough. Overlap in the validator set, the value to set can start offering, Atomic execution as well. Synchronicity guarantees for a single block. And the way this works and Typhon very high level. You have like chain A, chain B. You can split your state into effectively partitions. And this is like the state. B partition. And chain A chain B does the same thing. Has a state a partition. And then here in the middle you can form a. Block that is. Synchronous. With regards to both partition with both. Partitions. Effectively I hope this is this is why I was Yeah. What would what do you calling partitions here? so this. Is one thing, and within the chain you. Can split your state space. Okay. And you effectively say that, part. Of state state space. I want to, I want. To be able. To have an a Camaro chain with this other chain. Okay. and if the other. Chain does the same thing. And there's a large enough overlap in the validator, set em, the. Validators can effectively run a new. Process that just creates blocks, over the shared state space, because they also. Guarantee. That, you can't move out of the state space without this being cleared here. So. Okay, so actually is somewhat similar to what I tried not to think about it. Yeah, it is in the sense, but well, but like for this this chains are like needs to have your consensus. they. Need to have Typhon consensus. And consensus. Okay. So it's not like you can grab BTC and just say like, hey. Again, like. That shared sequence stuff. As long as you have fast analogy, this should. Work across many chains. Even if they. Don't have, by factory running smaller side. Casts. So like if you can run a side. But like, I mean so okay, well you, you're producing a block right for and let's say it's a was BFT consensus. So like you'll say that if this is a shared block across two chains, I mean in a way let's draw it like this. and the next block is already, but like, the only can touch, state that is shared. Yeah. And so, like, there is some validator who is in the both groups who says, like, you know, guys what? I'll produce a shared block and I'll just ignore every other transaction. That's not touching shared space. Yeah. Pretty much. and so this gets faster the larger the overlap is. Like all the others overlap. They just merge. Chains. Yeah. But the nice thing is. I don't have to. I mean, like, for example, you could have, like, exactly. The same logical validators. It's like sigma one, just two validators in the world, but they have a data center in Asia and a data center in North America. they could run. Two chains at the same time and only merge them when. People are actually willing for the willing to pay for the extra latency between North America and Asia. If that makes sense. No. Well I understand, yeah, they they don't need to produce this merge block if there's no transactions. For example, in this merge state, I'm just specifically is like this merge state means like all of the transactions are not included here. all other. Transactions that could influence this much state are not included. Yeah. I mean, you can have like, if I mean, again, like, this is a. Problem, I think with the existing designs, it's like our state space layouts kind. Of suck. like, and I mean, I like, yes, the attorneys, but the fact that all the US like that a single USD. 20 all balances live in the same global mutable. State. Yeah. Makes some of these things harder. Yes. Very hard. So it's like, This is an attempt to kind of resolve this so you can move. Parts of your state into it, without affecting all like, ideally you want to structure your contract so that you have lots of local state, not lots of. Mutable global state. Oh, about 40 minute, no, 50 minutes already. I think we need to do like now three hours. let me see what else is interesting. Him. We spoke about the intense. We spoke about consensus a bit. We spoke about the gossip stack. We spoke a little bit about, you know, our research machine. I think. So. I've just from I don't know if you want to touch a little bit up on sort of information flow control. Concerns here and how you kind of. Need these systems for to. Offer like reasonable privacy. Guarantees to users. Because I think this is something that actually most people just don't understand. around the idea that. So currently also streams that construct around. Shared mutable. Global. State, right. So we all have this. Thing living in the middle and we all just. Shared. Global. Mutable state, like, and we all modify this. It sounds like a casino, as Jim as. I do. Practically is right. so we all modify the. State all. The time. This has both concurrency. Problems. As well as, sort. Of information flow control problems. with intents. We stop having a lot of the shared mutable state because I intend a intent. I am intent, to prime. and actually get like a transaction candidate that contains both. So imagine this is like 50. I can do a bunch of knitting. I don't have to, do all the. Intermediate. Computations. I just like, net out all of the, and all of these. Intents. Because they may touch a bunch of things. So I got a very compact thing. That much is. Described as the state. Yeah. That just updates the net results of the state. In common lingo, this is called a rollup. with intent to effectively just get rollups for free to a large extent. or at least you get an architecture. That's uniform across. Many different rollups. If you want application specific. This is a state specific role. Oh point state specific. I like it. Yeah. I mean, I actually I've been trying to talk about application specific rollups is because right now when you start a roll up, you start a whole VM. Yeah. With all of the address space, which is not what you want. You want a users to have shared address space and then applications to have their own set of execution and kind of capacity. And so that's where like I call it applications is like when your address space is still lives on, let's say a one. But your execution kind of is for your, for your specific application is in a roll up. But you kind of doing this more on the state side. So yeah I know my is very state focused. Yeah. because I think that's a. I mean it's so, I mean, this specific example we have orderly which runs an order book off chain and then just shuttles all the traits. Interesting, which is actually very similar to yours. It just nets out in future balances. But there's also some limit orders for orderly. I think it'd be cool to. Try out the gossip stack. Because I assume currently all of these like. Yeah, someone runs a single server. Yeah, not a great model, but I mean, it's like we can do this right now, but I feel like we need models. That like, well, you don't have a single IP. Address control. I mean, I agree, yes. This is like a lot of what the. Yeah. The guy was saying that like the space needs to think way more about gossip because it's a very difficult problem. well, I mean, the, the question there is always like, okay, well, I mean, as we discussed, like this doesn't guarantee any ordering. So if somebody like, you know, sits on your sits in your intends for a while, right, like, okay, well now you decided, okay, now you're actually sending it to everyone. Yeah. I mean, but yeah. Anyway. But so I wanted to chat a little bit about privacy. So, one of the, Information flow. Control here, one. Of the important things becomes, in an intense undergrad model. Or like, if you want to have. Some sort of information flow control state needs to migrate to the edge. Of network, right? So we don't have this. Global mutable state. Everyone has their own like. personal state and. And if you want to actually allow these people to maintain their personal state without revealing to the public, we need a different model where they. Don't actually submit the entire state updates to on chain. So what it does is it allows users to. Attach risk. Proofs instead of revealing. that they own. Some resources in the normal resource machine instead of revealing the entire resource. So they can. Sort of show. I own. Ten eath. Without actually. Revealing which address they own those ten ether, but. Rather it's a zero knowledge proof, that attest to the fact that they own ten. Years and that they can transition this. Resource to someone else. So, for example, if I wanted to sell, ten eath for, 100 Nia, I think this conversion is off. But anyway. Instead of. Showing I own this at address x. Y z. I have to zk proof that I own this address x y z that I own. I own it, yeah. yeah. And I'm capable of spending this. And here's also. And anyone that sort of settles. This can claim this node. Right. Because these are fundamentally nodes in the Merkle tree. and so whoever settles this, whoever takes the inverse, can then claim this node and claim he doesn't mean, in fact, if it just means. They then become the on off the node. but I think this is really important to understand because it's very difficult to build. So this becomes then like a huge jigsaw of this proofs. Right. You know, I. Pretty much like. Free sort of, you. Know, I for zk proof of everything looks very much like you take still model. there's no way around this. Yeah. but this is like, whenever people tell me that, they're like, oh, we're going to. Build, like. Private Uniswap on some VM. Like, I'm pretty skeptical because the entire system is designed around the shared global stage. You need to this is going. To be fucking difficult to. Build this as, like. Within the system. Yeah. And I think this. Is sort of why this move from from VM to I am not in the sense of replacing the virtual machines, but in. Terms. Of having a way to. Yeah, allowing a. Higher level of abstraction for developers and users is kind of going through required, because it's going to be very difficult to build a. Lot of the things that most. People really will want. On top of VMs directly, if you don't have this layer of abstraction in terms of the state layout. So but, but like practically speaking, I mean, you need to first deposit this into as you get proof into something that like now is not controlled by you, but but you have, The nice thing of, in the normal state model, it all lives in the same Merkle tree. So, yeah. How is your state actually organized? How is the state organize? many Merkle trees, some of which, so effectively, the entire. System is so. Friendly. so, there are. Resources, and you can think of this as sort of a tree here. And there are. Many different resources in this tree. Resources have owners. And programs attached to them. Like they're just like these resources here. and then. There's like an owner field. yeah. And code. And state. And state. Yeah. Instead of just bytes. yeah. Okay. yeah. It's just it's just points the Keyspace associates by to, And so. If you want to spend this. You just try this, and then you recreate this again here. you don't update them. Which is how you then you can. Choose sort of whether you want to. Include a plaintext. Signature that you're the owner of this thing. Or you want to include a zero, your proof that you actually own this thing within the tree. So, but but then like, let's say I, I executed a sort of how how does everybody else know that this is destroyed and there's a new owner, you. Reveal. The null like this thing ends up revealing. The null. The final. I have to say, I'm not a cryptographer, so I am. Not. The best explaining this exactly. I can send you the blog post. Okay. so. Okay. I mean, this is like the, you know, the usual. Really. You take so tree, so you'd like you add a new node here and then. Yeah. And you have to nullify a tree. Yeah. to check and check. The cross it out if no file is not revealed. Okay. Got it. Yeah. Yeah. Let me see. But yeah. So I'm actually this is the other thing I'm skeptical of. Like everyone that wants to build like, privacy preserving things. without intense. I think it's going to have a really. Difficult time because intense allow you to move state to the edge. Of the network. Without intense. You end up in this like. A bunch of. State. So effectively, I think everyone. Will eventually have to move to. An intent centric model, Just to make. A bunch of this shit. Scale and actually work in practice for a bunch of like, ZK. Applications. I mean, the challenges we discussed, right, is that, it's all rosy, you know, you, like, compute it all this you're like, going to transition, but somebody like, executed this part and like, now you need to go and redo everything, right? So I mean that's that's always been the challenge with like doing Uniswap like things on you takes over a resource model. Yeah. The nice thing, which I think is underappreciated sometimes is when you have this very general. State model, that you can do partial state updates, so you can do like intent and. And. I two, can just transition to S3 there. Maybe not the observable. Yeah. but you can do. Like, like recirculate that. Yeah. And, and so. Really like what solves. Should optimize towards incremental compute. that like I just keep adding I. Don't wait for all the intensive. I'm trying to do global search. I'm trying like. Incrementally solve the intense. and if I sort of after five seconds, I can't actually solve the rest of them. And then I submit it onwards and maybe someone else can. this is also a very. Nice abstraction, actually, for like ZK. Proofs. And if you want. To outsource the. Compute. Because you can pick a specific person that you'd like to outsource, you. Compute to. and then that guy just produces the proof. It's, I think, going. To be important for constrained. Devices. Yeah. All right. Well, it's a lot. It is a lot. my big recommendation. Read the blog. Post, read Chris's. Ether research post. It's like a good hour. Two hours kind of thing. it's very dense. And very long, but it also. Points to, all the underlying. So. For better or for worse, you've taken a very. Principled approach of specs first and research first. so there's at this point, like 16 different. Research reports on all. These various. Components. Including the cryptography, the. Networking, it's all. On it. I don't know more about that. yeah. If you go to the ether research post, though, this up back links to all of the online, research. Honestly, we should be doing this more often. Because explaining 15 research papers is kind of difficult. but yeah. Well, thank you for coming. I mean, this was a good overview for sure. you know, I encourage everyone to check out the rest of the research and kind of deep dive and looking forward to start using this. Let me to thank you very much, Illia.","transcript_synced_at":"2026-11-03T05:52:22.018Z","segments":[{"start_seconds":3,"text":"For everyone. I'm Illia, cofounder of NEAR, and I'm joined with Adrian co-founder of Anoma. We're gonna dive in here into how Anoma works in Not So Sunny Seoul today.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3s"},{"start_seconds":13,"text":"So Adrian, take it away. Thank you very much for having me. yeah, I'll try my best. this is the first time we were, like, whiteboarding So let's see how far we get.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=13s"},{"start_seconds":23,"text":"maybe just start. Describe what I know. So, Yeah, let's start. With a little bit here with. The sort of where it comes from and. Why.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=23s"},{"start_seconds":31,"text":"We ended up. Building a no. One thinking about this problem.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=31s"},{"start_seconds":34,"text":"back in 2020, everyone was building these VMs, and it seemed to us that really, most users don't.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=34s"},{"start_seconds":42,"text":"Actually have transactions, as in. Fully balanced things that can be executed against a specific state machine. But rather, they have intents, they have partial.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=42s"},{"start_seconds":51,"text":"Things, they. Have a partial state transition. Like I want to create A for. B, you may want to trade B for a. this is but I don't have anything. Sorry.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=51s"},{"start_seconds":60,"text":"Not hitting like. that you can that I. So my intent is not. Directly executable. Against some ledger because. Not balance yet. Right. And so one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=60s"},{"start_seconds":68,"text":"Of the big problems was how do you actually do.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=68s"},{"start_seconds":70,"text":"Decentralized counterparty discovery or to steward kind of how does recovery and distributed. Solving. And really building this on the existing models of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=70s"},{"start_seconds":78,"text":"Transactions is very, very. Difficult. because you. Don't have the networking infrastructure to, for. Example, gossip run intense, you don't have flexible network topology here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=78s"},{"start_seconds":87,"text":"so. This is really the original idea of an OMA of allowing people to have intents which have partial state transitions. that can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=87s"},{"start_seconds":95,"text":"Be combined with others, you know, order form, fully balanced transactions.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=95s"},{"start_seconds":101,"text":"maybe one extra important point here is that this model is also, incidentally, it turns out, better, way better information flow control.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=101s"},{"start_seconds":107,"text":"So when you think like okay, what does a less revealing world looks like around data protection?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=107s"},{"start_seconds":114,"text":"A lot of data sets living on your like device, and the current model of a lot of shared global state means we all have to ship the state into the same place so that we're revealing it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=114s"},{"start_seconds":125,"text":"so once. You start having intends, it's way easier to. Construct also. proofs around over a partial state transition. So I can prove that I'm allowed to trade.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=125s"},{"start_seconds":133,"text":"I don't know. If will be. You could be transparent. You authorizing this is a normal signature, a silver. Someone else can sort of take these two things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=133s"},{"start_seconds":142,"text":"and combine them. And maybe a third. Important point here is. You also get partial solving, which is kind of cool. so one of the big problems right now.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=142s"},{"start_seconds":149,"text":"Is that you always have to solve the entire thing. So solving becomes very centralized to us. And with. So basically the intensity of the capability of saying, well, I.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=149s"},{"start_seconds":158,"text":"Have a for B of C silver picks it up, goes well, I can collapses into the sea at some point and I send this off.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=158s"},{"start_seconds":166,"text":"The solver senses off as a new intent. and then.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=166s"},{"start_seconds":169,"text":"Sort of another person at some point in the futures, see for a and now this is actually solvable. And you.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=169s"},{"start_seconds":174,"text":"Maybe start to realize it starts looking a lot like rollups with computation compression. so I think what we just ended of sort of discovering from first principles.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=174s"},{"start_seconds":182,"text":"Is that. In terms of a very good. Match for. Lots of the actual activity. That's happening on these systems at the moment. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=182s"},{"start_seconds":190,"text":"So maybe just to give a specific example, right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=190s"},{"start_seconds":192,"text":"Usually when you are, you know, trading and transacting on chain, you need to be exactly specific about, you want to use this exchange or you want to use this smart contract, you want to, kind of trust this balance.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=192s"},{"start_seconds":205,"text":"And it's especially more complex when you doing it cross-chain and you have kind of need to specify now which bridge, you know, what are the, kind of counterparties involved in that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=205s"},{"start_seconds":215,"text":"And then the idea of intent is you specifying kind of condition in a way like precondition condition,","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=215s"},{"start_seconds":223,"text":"and you letting somebody else finding this route of how this thing should be connected, pretty much.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=223s"},{"start_seconds":228,"text":"I mean, like sort of a what's really happening in the current world of VM's is that people define computational traces.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=228s"},{"start_seconds":238,"text":"Right? Logical. larger fund. They define computational traces.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=238s"},{"start_seconds":250,"text":"And this is what people sign a lot like in the case of the EVM, for example. The sign over event bytecode. Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=250s"},{"start_seconds":261,"text":"And so here a user need to understand all the individual.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=261s"},{"start_seconds":266,"text":"Steps of. Like I'm at state a, then I'm at state A prime. A prime prime, and. So on and so forth.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=266s"},{"start_seconds":274,"text":"They are opcodes. Describe how to transition here. this. Is very difficult for people to do because they have to know all the intermediate.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=274s"},{"start_seconds":282,"text":"Steps. And so of this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=282s"},{"start_seconds":284,"text":"I am well, in this. IAM world, it's very declarative.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=284s"},{"start_seconds":293,"text":"So you define I have state a and I want to get state B and here state A could be.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=293s"},{"start_seconds":300,"text":"I. Have Nia on Nia and I want is on base on no.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=300s"},{"start_seconds":312,"text":"On Ethereum. and actually in this case. This is just my. Intent. I. Just say I only have side.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=312s"},{"start_seconds":321,"text":"If I take. Delivery of. The asset on Ethereum, I am sort of. Giving this up on Nia. but here, I don't care whether it moves.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=321s"},{"start_seconds":330,"text":"Via some. Bridge, and I actually don't even care whether the bridge is insecure. because I don't take bridging risk because.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=330s"},{"start_seconds":335,"text":"I should also, I mean, this gets fairly complex in terms of specification in front end, so I have to do some work here. You also need to specify what kind of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=335s"},{"start_seconds":343,"text":"Like you want. Native eath.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=343s"},{"start_seconds":345,"text":"Not like arbitrary is right. That's what I mean. You specified on the edge network right. So yeah, but that's not. Necessarily the same because I. Assume you also.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=345s"},{"start_seconds":354,"text":"Can have arbitrary eath on. Bridge and back on the. Yeah. So like. Just for clarity sake, you have to actually be very.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=354s"},{"start_seconds":361,"text":"Specific. on what kind of assets. You want to take.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=361s"},{"start_seconds":364,"text":"And so this is how from the state model, and the other thing is this doesn't just work for assets.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=364s"},{"start_seconds":373,"text":"I mean, for assets is. An obvious example. but this is fully programmatic.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=373s"},{"start_seconds":377,"text":"So and in can also say things like, I want to participate in this, bitcoin dollar and the $500 get together.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=377s"},{"start_seconds":387,"text":"the individual intents never get settled on chain, so we don't have to individually. Pay for, transaction. Fees, but has been git coin. We can rather. Combine all 500.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=387s"},{"start_seconds":395,"text":"Run the compute in not. To actually figure out what. Solution. like who's going to get funded. And then just post the end result with the.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=395s"},{"start_seconds":403,"text":"Intense asset or the, I think an authentication to this update. really think of autonomy as being very declared.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=403s"},{"start_seconds":410,"text":"Are the intent model or the intent machine. I should actually stick to the name.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=410s"},{"start_seconds":414,"text":"The intent machine being very declarative as an only specifying state changes and the system around and just being. Built up in order to allow for these state changes to.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=414s"},{"start_seconds":422,"text":"Happen. So pretty much investment in that Haskell of blockchain. it's. Not exactly Haskell. I know.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=422s"},{"start_seconds":429,"text":"But, there is a point we advance of programing languages towards declarative models and. functional. Languages.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=429s"},{"start_seconds":436,"text":"I think it's far. Fetched to say that some, But the blockchain is not built in Haskell. It's very important. No, no blockchain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=436s"},{"start_seconds":445,"text":"Haskell works, I think. Okay. So yeah, I think like from the from what you're trying to solve this makes sense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=445s"},{"start_seconds":453,"text":"Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=453s"},{"start_seconds":454,"text":"Provides a different way of interfacing with not just one blockchain but kind of every chain in a way.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=454s"},{"start_seconds":461,"text":"And sets really well, this chain infection. And it provides kind of this framework that, you know, it's pretty general.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=461s"},{"start_seconds":470,"text":"So let's dive in how it works. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=470s"},{"start_seconds":472,"text":"actually, here, the important thing is, the intent machine really is a developer and user abstraction. this is it's an interface.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=472s"},{"start_seconds":481,"text":"It's not an intermediary. It's not this second intent blockchain. You must. Send all you intends to. For them to work. It's any chain that has. An intent adapter.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=481s"},{"start_seconds":490,"text":"Can just use. It. so you can retrofit, you can. Build an intent machine on Ethereum, can build on Nia. and a. Lot of the, Actually all of the PDP.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=490s"},{"start_seconds":499,"text":"Goes to infrastructure. For. So the intent. Gossip and solving opponent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=499s"},{"start_seconds":503,"text":"Is completely chain agnostic that just in the intent framework, There is some advances here that we've made in terms of virtual machines.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=503s"},{"start_seconds":511,"text":"You can build virtual machines that are specifically, tailored to sort of. Accept these kind of. State updates. And, advantages there.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=511s"},{"start_seconds":520,"text":"And we can go into them later. Okay. yes. Yeah. Studio on stuff.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=520s"},{"start_seconds":528,"text":"Well, let's start with I mean, you're saying pretty much the overall architecture.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=528s"},{"start_seconds":537,"text":"So there it sounds like there's, adapters that live on every chain. There's gossip infrastructure, there's kind of. How you split.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=537s"},{"start_seconds":545,"text":"This best, There's some way to submit all this. So it all starts with a, P2P gossip stack.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=545s"},{"start_seconds":561,"text":"And just as a side note, not enough people on blockchains worry about gossip. we spend a lot of time on other things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=561s"},{"start_seconds":569,"text":"We should spend way more time on actual networking. Because this is a really difficult problem.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=569s"},{"start_seconds":573,"text":"and so in our normal, there is one unified, a normal gossip","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=573s"},{"start_seconds":581,"text":"network, effectively, And this may have many different nodes.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=581s"},{"start_seconds":587,"text":"and nodes can have different capabilities. So we don't have the same abstraction that exists in.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=587s"},{"start_seconds":594,"text":"For example, Solana where you have a. Bigger fund.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=594s"},{"start_seconds":601,"text":"Full node. That gets talked to via some RPC. Right. This is not the model here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=601s"},{"start_seconds":610,"text":"so we don't have this abstraction boundary. nodes can run the entire. Software stack or the entire capability stack.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=610s"},{"start_seconds":617,"text":"Or they can choose which kind of capabilities, so on. So for example, this could be.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=617s"},{"start_seconds":623,"text":"Julia's phone and Elias phone only wants to participate in very. Limited intent Gasping.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=623s"},{"start_seconds":631,"text":"pretty much you just want to be able to send your own antennas. And maybe if you actually do a trading. you also want to like, subscribe to. A super small.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=631s"},{"start_seconds":639,"text":"Subset of intense that filter around the network. but then we can also have. Like a. Figment.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=639s"},{"start_seconds":649,"text":"Validator node for the a normal based chain. And the Ethereum based chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=649s"},{"start_seconds":659,"text":"and so like different nodes can have different capabilities. And importantly they can also live in. Different trust zones. Actually for from here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=659s"},{"start_seconds":668,"text":"Right. Like actually switch. Oh give me your left. So. Oh yeah that's a good point. so you can have like different trust.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=668s"},{"start_seconds":676,"text":"Zones that are maybe. Overlapping but maybe not. Not necessarily overlapping. Right. And so different trust zones, What people would.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=676s"},{"start_seconds":684,"text":"Historically call different blockchains. but what I really mean here is, you have different trust assumptions. They may be proof of stake. Doing proof of authority.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=684s"},{"start_seconds":692,"text":"They may be. Single node. Chains run by a government. Who cares?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=692s"},{"start_seconds":695,"text":"but so all these things can sit on a, connected, sparsely connected P2P stack.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=695s"},{"start_seconds":703,"text":"And so when I send an intent focus on. From my. Phone. I can either decide to flood all and then anyone that's interest can actually.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=703s"},{"start_seconds":711,"text":"Receive this intent. I can also do more. Interesting things for them. Like let's say I want to trade. BTC for eath and actually want to do decentralized.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=711s"},{"start_seconds":720,"text":"Counterparty discovery. I can even do this sort of like. Reach out to who has. I don't flood everyone. I only flood. Like two. People. First.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=720s"},{"start_seconds":729,"text":"and if they can actually satisfy this intent, then I don't have. To reveal. My intent to everyone. I think.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=729s"},{"start_seconds":737,"text":"From an information flow control perspective, that's. Very important.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=737s"},{"start_seconds":740,"text":"Other stand that if you want to get kind of a discovery, you must reveal something. I can't go.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=740s"},{"start_seconds":748,"text":"I want to trade this closed box. Please, like, solve this for me. This doesn't really work. so you always. Need to reveal some sort of state that you're willing to trade.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=748s"},{"start_seconds":757,"text":"and here you. Can in this. Kind of. Networking model, you can actually decide, what kind of state you want to reveal. to whom?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=757s"},{"start_seconds":766,"text":"yeah. And here. Effectively, other chains can be, run via sidecar. so you have I can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=766s"},{"start_seconds":773,"text":"I don't want and a new network and an Ethereum. Network. but they're still globally connected via this PDP gossip stack.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=773s"},{"start_seconds":782,"text":"and the other cool thing is, you can actually. Attach, Fees for. Intents. So, intense, I just arbitrary, but you can say.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=782s"},{"start_seconds":790,"text":"Well, I am willing. To put, I don't know, A05. USD fee on this intent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=790s"},{"start_seconds":798,"text":"If this node cannot actually solve. This intent, it. Could rewrap this and say, well, I'm taking. Point one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=798s"},{"start_seconds":806,"text":"Point one. The the next person gets 0.4. If this person can actually settle it, that node still gets a point one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=806s"},{"start_seconds":814,"text":"And this node gets a point four. So it has an incentive for it. Yeah. But it's So yeah, I'm.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=814s"},{"start_seconds":821,"text":"Careful with using the word incentives because. Everyone now nowadays seems. To think points. should be points. Come on. That's true.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=821s"},{"start_seconds":830,"text":"no, it's like incentives, not a the architecture level, but rather the topology level. Of like, the user behavior level. we spent a bunch of time.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=830s"},{"start_seconds":838,"text":"Trying to sort of separate the what is the actual architecture. Of the system versus what is the. Topology of the system?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=838s"},{"start_seconds":845,"text":"Because the architecture is something you can write down. The topology is defined. By the market effect of it. Yeah. and you. Can take the same architecture and deploy it on a different topology.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=845s"},{"start_seconds":855,"text":"this is also. Yeah. So maybe like practically speaking. Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=855s"},{"start_seconds":859,"text":"So I mean, this is, this is some piece of code that connects, how,","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=859s"},{"start_seconds":865,"text":"like how our peers discovered what is, like, how this information propagated around trust zones and,","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=865s"},{"start_seconds":875,"text":"how, you know, you're saying, like, I can send it to specific nodes. How do I know like that this nodes are doing this function.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=875s"},{"start_seconds":883,"text":"so, all. Nodes, not address by IP addresses, but rather by cryptographic identities. and nodes would have to advertise their own capability stack.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=883s"},{"start_seconds":894,"text":"this will. Happen also in the P2P layer. but of course these. a node can all nodes can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=894s"},{"start_seconds":901,"text":"Effectively advertise that they support. All capabilities.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=901s"},{"start_seconds":905,"text":"If they actually don't, then you need to like at some point start having local network know. It's like I keep sending things to this guy, but he doesn't do anything with them.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=905s"},{"start_seconds":915,"text":"Maybe I should like down rank them my local metric. So yeah, so do you. I mean, do you have kind of reputation system?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=915s"},{"start_seconds":923,"text":"yes. But it's, It is mostly. Local. It is not sort of like what people think of. There's a global reputation system that everyone follows.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=923s"},{"start_seconds":931,"text":"it's a local reputation system. A my node decides, this is a good PR that isn't a good peer.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=931s"},{"start_seconds":939,"text":"there is some interesting things you can do, though.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=939s"},{"start_seconds":941,"text":"Where, especially. With solvers so intense, come with our guardrails.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=941s"},{"start_seconds":949,"text":"And so it's jumping a little bit. Here, but. When, if you, trade a shared limit or a. For example, as an intent. You can you. Can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=949s"},{"start_seconds":957,"text":"There's nothing preventing you from doing this, and you will get filled. right. So there are no. Guardrails here and tens and tens of. Just arbitrary.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=957s"},{"start_seconds":964,"text":"State changes. That you've authorized. If you authorized garbage. State changes. You will get filled. But it's an interesting question becomes.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=964s"},{"start_seconds":973,"text":"can. We build, solve, trust metrics. Where. For example, some of us may still. Get, like shitty limit orders, but they.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=973s"},{"start_seconds":982,"text":"Decide to return the. Surplus value back. To the users. And, there.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=982s"},{"start_seconds":987,"text":"Is a system to track this on chain, where effectively, maybe my node eventually also listens to this, like on chain data storage on like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=987s"},{"start_seconds":997,"text":"Oh, these are like the top 20 salvos, that I should trust a lot because. Historically. They've, like, not fucked.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=997s"},{"start_seconds":1006,"text":"Not fucked other users, even though they could have, and maybe then a lot of the defaults become. That we start having these.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1006s"},{"start_seconds":1013,"text":"Untuned trust metrics. let's see. This is again, like more of a topology question on like, work optimization. Yeah. Where the market. Ends up moving.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1013s"},{"start_seconds":1021,"text":"but I think sort. Of long term. It's the right call because it makes individual lives easier. Effectively.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1021s"},{"start_seconds":1027,"text":"And so okay, so for the feature itself, I mean, what are you using for kind of peer discovery and underlying I'm assuming not P2P.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1027s"},{"start_seconds":1037,"text":"We're not using it. Epitopi. it is Custom hand-rolled protocol. On Erlang effectively for P2P discovery.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1037s"},{"start_seconds":1046,"text":"there's not that much to it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1046s"},{"start_seconds":1048,"text":"these guys, from point to point connectivity, I'd actually have to look up exactly which, routing.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1048s"},{"start_seconds":1056,"text":"Algorithm we end up using. I don't know if I had, but this is roughly. So all. Of a Anoma is built on. An elixir.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1056s"},{"start_seconds":1065,"text":"Don't hate me. Alex is a very good choice, in my opinion. I will defend this in public. so we're using.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1065s"},{"start_seconds":1072,"text":"A lot of the underlying stack there. yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1072s"},{"start_seconds":1076,"text":"Yeah, I mean, the the main challenge has always been around P2P stacks is that eclipse attacks are pretty easy to do, given you don't have any, kind of Sybil resistance.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1076s"},{"start_seconds":1086,"text":"And so. So the nice thing. Is, at least. Some operators in the network can mistake. For example, the validators. In the network.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1086s"},{"start_seconds":1093,"text":"Have clear cryptographic identities that have that are staked. There are some thoughts around. You know, if you have like a low capability.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1093s"},{"start_seconds":1101,"text":"Node, let's call the solver or a, gossip node, you could. Still require them to be staked if you wanted to.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1101s"},{"start_seconds":1108,"text":"to when you say stake the stake in Anoma, Technically they could be staking. Any asset, but, Yes. So, like the initiative mutation stakes Zn.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1108s"},{"start_seconds":1116,"text":"On on my tokens. to effectively provide to this trust network and the anti Sybil other Sybil. Resistant mechanism.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1116s"},{"start_seconds":1124,"text":"and the staking on the base chain and on my base. Yes. Okay. So there is a normal base chain. There is an unknown base chain. yes. There is we can sort of think of I guess.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1124s"},{"start_seconds":1133,"text":"This blue one as the. Animal base chain. there's no a base chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1133s"},{"start_seconds":1137,"text":"But the important thing to realize is you never have to use normal tokens or the unknown base chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1137s"},{"start_seconds":1145,"text":"If you just want to set up some alts. you can send intents and just get them settled in a completely different zone. I think this, Chris, what about this interface is nothing to me.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1145s"},{"start_seconds":1156,"text":"And I think it's a very important concept. That. Intermediaries are people. That, actors on the network that can charge.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1156s"},{"start_seconds":1163,"text":"Fees, extract rent. that. Potentially worsen a security. Model. Right. most modern bridges are currently intermediaries.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1163s"},{"start_seconds":1173,"text":"because the factory 2 or 3 multisig that that ship state are owned, it's a little bit scary.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1173s"},{"start_seconds":1179,"text":"but on the other hand, you have interfaces which are just protocol abstractions. these via. AP is an interface.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1179s"},{"start_seconds":1187,"text":"everyone gets use it. You can connect to other people. Over this pipe. IBC. Is good example actually, of an interface to. where and I think this is.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1187s"},{"start_seconds":1195,"text":"Like no one really understood this for the longest time. You can just. Use IBC without using atom. it's just the. Definition of identifiability.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1195s"},{"start_seconds":1203,"text":"And sort of the I know my intent machine is very similar to this. It's, it's just an interface. it's. Not an intermediary in the. System that is capable of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1203s"},{"start_seconds":1211,"text":"Extracting rent. Yeah, it's pretty much like if you define this pretty much.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1211s"},{"start_seconds":1216,"text":"I mean, this, message in this format, you can send it, and then somebody will try to solve it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1216s"},{"start_seconds":1223,"text":"Yeah. Yeah. Okay. makes sense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1223s"},{"start_seconds":1228,"text":"So, I mean, maybe I'm actually curious on the format of the intent itself, like kind of from the, structural perspective.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1228s"},{"start_seconds":1236,"text":"like. What? I mean, what things I can specify as, like a fully Turing complete. is fully. Turing. Erlang.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1236s"},{"start_seconds":1244,"text":"No. Haskell. No, no, this. Is, I think this hasn't changed recently.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1244s"},{"start_seconds":1252,"text":"we were using, for the transparent execution, a simplified version of the virtual machine.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1252s"},{"start_seconds":1260,"text":"because it's a very small language, it's. Very well standardized. and it's. Potentially. It's compiled as, like, circuits quite easily. so.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1260s"},{"start_seconds":1270,"text":"What you can. Specify in an intent. Is, think of this as pre and post condition.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1270s"},{"start_seconds":1278,"text":"So you have like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1278s"},{"start_seconds":1281,"text":"You currently have some state and you also. Specify so outgoing state.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1281s"},{"start_seconds":1289,"text":"and then you also have effectively a program. Attached to this. And a program can do arbitrary things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1289s"},{"start_seconds":1296,"text":"So you can do things like if. Whether and so this is bad.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1296s"},{"start_seconds":1310,"text":"By Bitcoin. Right. So you can do these very. Programmatic things of the specific state updates to the soft condition.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1310s"},{"start_seconds":1318,"text":"Them on a what point are they actually allowed to. Happen or not.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1318s"},{"start_seconds":1324,"text":"wait is it is it by bitcoin or give me a state to be effectively. Yeah. This is actually maybe. Like confusing written.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1324s"},{"start_seconds":1332,"text":"It's I. Have some state this is. Fixed by sort. Of the system. State. Right. I can. Say I am willing to.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1332s"},{"start_seconds":1340,"text":"Accept either state by state C, depending on the, whether I comes in, in Seoul.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1340s"},{"start_seconds":1349,"text":"this of course. and here it's important. Understand? Again. Just submitting an intent does not give you settlement guarantees.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1349s"},{"start_seconds":1356,"text":"If you try to buy something and no one else is, one is willing to sell, you're not going to get the thing right. Like intense don't mean. And this is the important difference.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1356s"},{"start_seconds":1364,"text":"Like when you if you balance transactions, you can update the system state.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1364s"},{"start_seconds":1368,"text":"Just because you have an idea for an intent does not mean you can update the system state necessarily. you. Need to find. A kind of Pi that's.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1368s"},{"start_seconds":1375,"text":"Willing to interact with you here. and for example, here you can also do things like. which I think is actually very important.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1375s"},{"start_seconds":1383,"text":"I only want to interact with the kind of Pi that's not on my local block list. For example, if I'm in Switzerland, I.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1383s"},{"start_seconds":1392,"text":"Should like if you just Swiss sanctions law. Right. Because I'm. Local in. Switzerland, I should adopt Swiss sanctions. This is currently impossible to do in the space because.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1392s"},{"start_seconds":1401,"text":"Someone lives, I don't. Know, in Zimbabwe, but they're still. Like, effectively bound by circles, U.S.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1401s"},{"start_seconds":1409,"text":"sanctions, not by their local enforcement. And so with. A no more, you just make this. More flexible.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1409s"},{"start_seconds":1414,"text":"Wherever can decide what kind of, restrictions they want to place and kind of parties. For example, you can also say I. Only want to interact with counterparties.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1414s"},{"start_seconds":1423,"text":"That, on my whitelist.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1423s"},{"start_seconds":1426,"text":"So it so just just for, for so I'm assuming there's a signature somewhere here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1426s"},{"start_seconds":1431,"text":"Yeah. Which, the signature, like, so when we talk about the state data, let's, let's use a specific example.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1431s"},{"start_seconds":1440,"text":"Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1440s"},{"start_seconds":1440,"text":"Let's say I have some NEAR tokens, for simplicity, and so is this signature like what what is a signature authorized?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1440s"},{"start_seconds":1452,"text":"Pretty much. Right. Because it I'm assuming like I say, okay, here's ten NEAR. it authorizes the willingness to sort of spend this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1452s"},{"start_seconds":1463,"text":"Yeah. but in. Exchange for. Something that satisfy.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1463s"},{"start_seconds":1469,"text":"This program. Condition. Yeah. So, so, when, when I, when I create this. Right. And I gossip it to other nodes, right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1469s"},{"start_seconds":1478,"text":"Like, it didn't actually withdraw minor yet. No. right. This is a good point, actually. You can issue as many interns as you want.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1478s"},{"start_seconds":1489,"text":"Yeah. They're free. Okay. like, at some point, you gossip, you. May limit you because. You keep spamming them. That's a very well-established problem.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1489s"},{"start_seconds":1497,"text":"And like Web2, we can solve this mostly. but so you can issue an arbitrary amounts of intense. And just when.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1497s"},{"start_seconds":1506,"text":"They get executed in the specific. Trust domain that you. Want them to be executed or that they need to be executed in. Do they actually get executed, and then this gets taken from your account.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1506s"},{"start_seconds":1515,"text":"Okay. So let's get there. All right. So so yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1515s"},{"start_seconds":1518,"text":"So this is just like here's, what I'm willing to spend, this is kind of result I want to receive, which indeed can be programmatic.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1518s"},{"start_seconds":1530,"text":"this is written in or a bit VM We've tried Wasm wasn't it wasn't great.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1530s"},{"start_seconds":1540,"text":"simple conversation right then. you said also you're specifying some additional like kind of broadcasting.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1540s"},{"start_seconds":1549,"text":"That's not specified in the intent necessarily. Okay. So this is the wrapper around, messaging like network. This is just the.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1549s"},{"start_seconds":1556,"text":"Sort of who you are willing to broadcast this to. Is just. But you do need to like, lock it. I mean, kind of spend it here as well, right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1556s"},{"start_seconds":1563,"text":"When when you actually suddenly end. no. So like just intense don't give don't spend protection.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1563s"},{"start_seconds":1570,"text":"There's only happens actually at the settlement and ordering. Yeah. Side of things. So for example you could send the same intent to three different people.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1570s"},{"start_seconds":1578,"text":"Yeah. They'll try to solve it. They try to solve it. And whoever gets their first gets their first. Okay. Yeah. So that's pretty very important.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1578s"},{"start_seconds":1586,"text":"note then And so here you may have like, whitelist or blacklist.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1586s"},{"start_seconds":1596,"text":"So this is just part of the program. It's all part of the program.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1596s"},{"start_seconds":1599,"text":"There are no special fields here that's really you have this, executable. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1599s"},{"start_seconds":1606,"text":"Which should be very small because it ideally. for simple. Things, you ideally don't need it. because this costs gas in the end.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1606s"},{"start_seconds":1615,"text":"So it's like makes your things more expensive. You can just say I have state in a. One state be.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1615s"},{"start_seconds":1620,"text":"That's way easier because then you just you just like effectively write like a state out. Here. Like I'm in state A and I'm willing to hold these keys on the like in the.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1620s"},{"start_seconds":1629,"text":"Local three in state B. and then you just.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1629s"},{"start_seconds":1633,"text":"Sign over this and then what the actual, implementation checks is that, Whenever.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1633s"},{"start_seconds":1642,"text":"So you then take multiple.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1642s"},{"start_seconds":1643,"text":"Intents, you take like E1 and E2 into a single transaction, you execute them, and then, I.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1643s"},{"start_seconds":1651,"text":"One checks. Whether the sort of proposed resulting state of this transaction. is compatible with its state. B let's like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1651s"},{"start_seconds":1659,"text":"Imagine a solver takes in ten, one and ten to. I mean, let's wait a minute. So what what is the format of this?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1659s"},{"start_seconds":1667,"text":"again, this could be like, I don't know, what's a conversion. I don't let's get one. Is something like this for sure.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1667s"},{"start_seconds":1676,"text":"but like you, I mean, how you're specifying this, like this address zero.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1676s"},{"start_seconds":1680,"text":"Like, because this is, like I'm saying, NEAR is willing to spend ten there. But here you need to specify this address.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1680s"},{"start_seconds":1689,"text":"Holds the holds. one. Is. One is. But let's say this address already holds. One is. then you'd have to specify it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1689s"},{"start_seconds":1697,"text":"Holds incremental. Incremental effective. Yeah. Okay. This depends a lot on the specific state layout.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1697s"},{"start_seconds":1704,"text":"That's enforced by the annulment adapter. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1704s"},{"start_seconds":1706,"text":"So that's why it's because like let's say okay, it should hold two keys because I already have one is but then somebody's already settled this once and somebody is trying to sell it again.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1706s"},{"start_seconds":1717,"text":"so they'll. Yes. And that state. Is already. You also. Want to. Contain this case in order to do conflict? Yes, I think so. Is there like a nonce?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1717s"},{"start_seconds":1725,"text":"Like pretty much you specify here nonce. yes.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1725s"},{"start_seconds":1728,"text":"And effectively, like if you have this model where you want to do incremental things, you'd also have to have a nonce in order to prevent this kind of thing that you like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1728s"},{"start_seconds":1737,"text":"Replay update a so incremental number.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1737s"},{"start_seconds":1741,"text":"But but this isn't this is because it's not going to be submitted from this account. So it's not as accounts nonce is there like. I. Know this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1741s"},{"start_seconds":1748,"text":"Is sort of in the you have sort of state layout for here for in the intent. You'd have to say that. this account. It's okay if this account.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1748s"},{"start_seconds":1756,"text":"Holds one eath. actually, wait, we're doing this in. The sense that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1756s"},{"start_seconds":1764,"text":"we just look at the. Transaction. Output. So you'd. Actually, ideally the state on chain doesn't matter. It should matter. Like what is the output of this transaction?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1764s"},{"start_seconds":1772,"text":"Okay. I should say this gets a little. Bit tricky in terms of. Building these. Early adopters because the state layout doesn't work well for this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1772s"},{"start_seconds":1781,"text":"in a normal you'd.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1781s"},{"start_seconds":1782,"text":"Like in the normal virtual machine, you would literally just say because it's a resource machine, it's not a it's not an account model.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1782s"},{"start_seconds":1791,"text":"You check oh, Utxo model, but you. So I've created, you. Consume these. Resources and create new resources. So I mean the object.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1791s"},{"start_seconds":1799,"text":"So I understand. Yeah. You're saying I want a new so which is effectively this, but owned by my key. Yeah. So you have to emulate this on top of Ethereum for example.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1799s"},{"start_seconds":1809,"text":"So your num adapter pretty much is like a you takes internally. You take some. Model autonomous on. Utxo model. It's more. Like a resource model.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1809s"},{"start_seconds":1816,"text":"Because Utx is it's like. Utx, but with full programmability. Like accounts. Sure. yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1816s"},{"start_seconds":1825,"text":"The problem is, like when. You tell people to normalize a utx. Model, everyone's very. Confused about how normal works at that point. because like, not a utx. Model in that. Sense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1825s"},{"start_seconds":1833,"text":"but yeah, this is roughly the intuition where, I sign of a specific, so origin state and I define what band state is.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1833s"},{"start_seconds":1841,"text":"And I also actually the signatures of both here. Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1841s"},{"start_seconds":1845,"text":"You have the. Sake of both, that support. you know, all the time. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1845s"},{"start_seconds":1853,"text":"Okay.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1853s"},{"start_seconds":1858,"text":"And so, so program will be executed when this is pretty much settling. okay. So. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1858s"},{"start_seconds":1865,"text":"So let's, let's like, show like go through an adapter, like. Okay. It received solve didn't end.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1865s"},{"start_seconds":1873,"text":"what's what's happening? Okay. Let's see, I can wait. Put this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1873s"},{"start_seconds":1889,"text":"Okay. So let me see. Where do we start? Here. we'll start with a very simple.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1889s"},{"start_seconds":1894,"text":"So you have. So beginning state. Which is, I guess.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1894s"},{"start_seconds":1902,"text":"Like, It's a number based chain is presumably is like. Heavily optimized. It's heavily optimized for just selling intent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1902s"},{"start_seconds":1910,"text":"Yes. Solutions. essentially, yes. this is like, the aAnomaly. execution.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1910s"},{"start_seconds":1917,"text":"The I was talking about this yesterday two days ago, the normal.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1917s"},{"start_seconds":1921,"text":"Resource machine, which is really similar to the new VM or the SVM or the EVM, is just, it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1921s"},{"start_seconds":1929,"text":"Unbundled. The state layout from the. Instruction set from sort of the message passing. Model. So the, the normal resource machine really.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1929s"},{"start_seconds":1937,"text":"Just cares about the state layout. And it just casts like this transaction modifies these state keys.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1937s"},{"start_seconds":1944,"text":"And is the intent okay with signing over these state keys.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1944s"},{"start_seconds":1949,"text":"and so you have to build an implementation like an adapter as effectively an. Implementation for the I don't want resource machine on. Other. Systems. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1949s"},{"start_seconds":1956,"text":"So just for, for simplicity for me understand. So this address x y, z.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1956s"},{"start_seconds":1964,"text":"And then it has a set of resources like, you know, a normal token","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1964s"},{"start_seconds":1971,"text":"entry and token touch token with, you know, x like ten, five, one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1971s"},{"start_seconds":1982,"text":"Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1982s"},{"start_seconds":1983,"text":"And so and like this is just unbound like compared to, for example, TVM which has this inside there. So 20 is like each one of these is like a separate contract.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1983s"},{"start_seconds":1991,"text":"It's inside some state. Try of that contract. And so like specifying condition on that is complicated. You just have this kind of or do you have more like an object.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=1991s"},{"start_seconds":2000,"text":"So like there's an object with like a unique ID that has an owner. like this would be the object effectively.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2000s"},{"start_seconds":2009,"text":"all of the resources for their own. So like, my own, is effective. That's this is the object. And our transition this to a new object. Okay. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2009s"},{"start_seconds":2017,"text":"I don't want to spend. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2017s"},{"start_seconds":2018,"text":"And I mean that because alternative is what, for example, Sui is doing, which is each token or each NFT is a separate object which has an owner.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2018s"},{"start_seconds":2027,"text":"And you can change those. So the other thing, tokens are also represented as these kind of objects.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2027s"},{"start_seconds":2033,"text":"So like you self like A0XI don't know BTC. keyspace.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2033s"},{"start_seconds":2040,"text":"Well, because this doesn't, it also includes it. So like a. Program. You can't go. On those zero for example.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2040s"},{"start_seconds":2048,"text":"Right. Like or you. Can't mint more than. Was brought in via some bridge. So you can have more logic in these objects to then.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2048s"},{"start_seconds":2056,"text":"So there's a program attached to the object. Now. yeah. So here you. Then define. Well, I'm willing to sort of my being. Status.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2056s"},{"start_seconds":2063,"text":"This And I am. Willing to.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2063s"},{"start_seconds":2068,"text":"Be at an end state where I hold. Zero neo. Yeah. If and only.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2068s"},{"start_seconds":2076,"text":"If I hold. I no one is. and then sort of a. Solver.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2076s"},{"start_seconds":2082,"text":"Would take also the inverse of this if that exists such a thing. Combine this into i1, i2. Run this locally effectively.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2082s"},{"start_seconds":2091,"text":"because the compute doesn't happen on chain. So the solver runs. Locally, gets then in transaction cannot I like a. T1.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2091s"},{"start_seconds":2099,"text":"O t prime and the t. Prime. Just contains all the stuff proposed state. And then the proposed state is again fed into this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2099s"},{"start_seconds":2109,"text":"Intent and the. You check. Does the intent return. True. When execute. Against this proposed state. All right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2109s"},{"start_seconds":2117,"text":"Let's walk through this. All right. So so this is you're saying there's two intents. Like for example, somebody else wants to set. This one effectively. This is.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2117s"},{"start_seconds":2125,"text":"Then I is ten. Then NEAR for one is. And then there is one is. For ten year. For ten year. So this this is pretty much so for example I'm I'm a market maker.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2125s"},{"start_seconds":2135,"text":"And so I run the solver and I'm willing to make this trade. So I'm going to like attach this okay. Just for simplicity.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2135s"},{"start_seconds":2143,"text":"And so so I created this. So what this looks like is zero NEAR on this 0XA and 0XB, which is a market maker now has ten year.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2143s"},{"start_seconds":2155,"text":"And oversold says one. Is. Yeah, one is. And this you know and now this has zero for example. So this is the transaction candidate.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2155s"},{"start_seconds":2164,"text":"Exactly with. So there's some this is updated. With some proofs pretty much towards. yes. And this actually the cool thing this maybe is so intense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2164s"},{"start_seconds":2173,"text":"Me either we authorized with like plain text, like we just have an authorization field. It's not a second trial. It may be a signature, like if you use plain text signature.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2173s"},{"start_seconds":2182,"text":"Sure. It could also be your knowledge proof. That you own some resource in the tree.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2182s"},{"start_seconds":2189,"text":"so this there's just an authorization attached which also has to verify to true. Okay. So this transaction includes two authorization.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2189s"},{"start_seconds":2200,"text":"so yes, it includes. A two intents. Effectively as authorizations. For these things. So intention included here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2200s"},{"start_seconds":2206,"text":"Yeah. And then it also includes an actual. Signature by the solver to pay for.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2206s"},{"start_seconds":2215,"text":"Execution. Cost okay. And so for example.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2215s"},{"start_seconds":2222,"text":"You can also do something here where you include.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2222s"},{"start_seconds":2225,"text":"An extra, maybe you actually only want to trade like you're willing to spend nine.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2225s"},{"start_seconds":2233,"text":"And the salt. yeah. You willing to trade. Nine, but you willing to spend one year. On the. Fee? As the. Fee, which are only claimable.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2233s"},{"start_seconds":2240,"text":"On up on. Settlement. But, I mean, is this you specifying this isn't.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2240s"},{"start_seconds":2246,"text":"And are you just saying I want ten for one ease, and the solver should, like, attach that. There's the one for nine.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2246s"},{"start_seconds":2253,"text":"And then there is one year that comes to zero account. You can do this both ways. You can also you can trade. To limit prices and do this implicitly. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2253s"},{"start_seconds":2262,"text":"Or you can trade specific prices and just attach sort of like claimable output.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2262s"},{"start_seconds":2269,"text":"just that anyone that settles it, it's spendable to whoever submits is on chain. if it's if the rest is balanced, right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2269s"},{"start_seconds":2277,"text":"Yeah. Not just I submit this in ten months and I get one year. That'd be problematic.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2277s"},{"start_seconds":2283,"text":"Okay, so so then this this bundle goes on chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2283s"},{"start_seconds":2288,"text":"The the blockchain kind of verifies that this this outcome state matches this intense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2288s"},{"start_seconds":2297,"text":"And, well, first verifies that solver has enough to pay for transaction fees, verifies this outcome. State matches and then and applies this outcome state to the chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2297s"},{"start_seconds":2307,"text":"So you don't actually have any execution on chain. You just update the state. Yes. It's like the right model. Blockchains were designed for verification, not compute.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2307s"},{"start_seconds":2314,"text":"we just ended up building systems that. Compute the colors of NFTs on chain and smart contracts, and it's great. Everyone won. That's why this is super expensive and inefficient.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2314s"},{"start_seconds":2323,"text":"oh, and maybe the other important thing is, I mean, so, like, unchain Euclid, you double check spent, like, double spend checks, right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2323s"},{"start_seconds":2330,"text":"Like you still. This proposed thing still needs to be consistent with the chain history. Or the chain. State. So how how would you verify this?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2330s"},{"start_seconds":2339,"text":"And like, you'd have to check does this account actually have. Ten years to spend. Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2339s"},{"start_seconds":2345,"text":"So like is this account this account can't be negative and negative.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2345s"},{"start_seconds":2351,"text":"But I guess like how do you do it in a generic case it's not about token like fungible tokens.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2351s"},{"start_seconds":2358,"text":"as in does this account hold that, State key. And is like, is the, is this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2358s"},{"start_seconds":2365,"text":"Account the owner of the state key effectively? okay.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2365s"},{"start_seconds":2369,"text":"Like think of states really just do very arbitrary things on like maybe a token of maybe something else. and we just check, on chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2369s"},{"start_seconds":2378,"text":"You just check. Is this. Account, allowed. To. Modify this state space?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2378s"},{"start_seconds":2386,"text":"and then in this case, you'd also for the token, it also involves off the. Token contract. Or the token. Resource.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2386s"},{"start_seconds":2393,"text":"To make sure that the token doesn't go negative and that this person actually has access rights. To the token.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2393s"},{"start_seconds":2407,"text":"If there's a question. Yeah, I'm I'm just I'm just in my head trying to execute intent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2407s"},{"start_seconds":2412,"text":"So, no, I just so I mean here it says like, okay, ten year is going to be spent, right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2412s"},{"start_seconds":2421,"text":"Yeah. so you check. Okay. Then there you have done the year to spend.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2421s"},{"start_seconds":2425,"text":"This is, Okay. So my question is, let's say I had to intense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2425s"},{"start_seconds":2430,"text":"I had 20 year I had two intents in parallel, to for each one for ten year.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2430s"},{"start_seconds":2437,"text":"So like I want both both solvers did this at the same time.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2437s"},{"start_seconds":2445,"text":"They put that there should be ten year left right after their ten year second. Thing will fail. Okay. Got it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2445s"},{"start_seconds":2453,"text":"This is sort of a. Simple. Answer. if, like. If it's inconsistent with state. History, it will fail. Okay. Got it. So they'll need to like re-execute it. For example.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2453s"},{"start_seconds":2461,"text":"And which is actually a very. Difficult. Problem. To solve in this interest. Way on how do you not waste. A bunch of compute cycles on.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2461s"},{"start_seconds":2469,"text":"Many. Different solvers trying to do. Exactly the same thing? But this is really not a question of the architecture. It's a question of the topology of the network.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2469s"},{"start_seconds":2477,"text":"Like there's probably. A point that all fungible token traits go to the same solver.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2477s"},{"start_seconds":2482,"text":"If we can, like opt out of the solver immediately if the we don't like the solver. actually, I think what will happen long term and.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2482s"},{"start_seconds":2489,"text":"I mean really long term. Is that. Latency matters. And so like. We should pick not we should pick the solid.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2489s"},{"start_seconds":2498,"text":"If we insole we should pick the solvent Seoul. Because they can give us a way. latency. Latency guarantees then going to solve a New York.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2498s"},{"start_seconds":2511,"text":"Okay.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2511s"},{"start_seconds":2513,"text":"So yeah, I mean, that's just like, who do you who do around your intents and then. Yeah, like you can kind of optimize, but you can also just, yeah, flooded.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2513s"},{"start_seconds":2521,"text":"And honestly, if you don't care. You should flood it. This is like the trivial answer. which is.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2521s"},{"start_seconds":2529,"text":"Essentially, what this is what kind of inputs to you. So if. You're like. Yeah, yeah, fuck yeah. but somebody will figure. Out how to block.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2529s"},{"start_seconds":2537,"text":"exactly. ethics. So to a large extent, I know my just provides an actual.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2537s"},{"start_seconds":2545,"text":"Architectural and. Specked out. Version of. A lot of the systems that are starting to appear right now. Where. right now we just all go.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2545s"},{"start_seconds":2554,"text":"We should all send our. Transaction to everyone. Transactions to everyone. And Justin Drake runs a major relay.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2554s"},{"start_seconds":2561,"text":"which is. Fine. Right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2561s"},{"start_seconds":2563,"text":"But, like, it's a very ad hoc kind of thing where, I know I just provide sort of a, architecture description of the entire system and how other people can opt into this, how you can easily.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2563s"},{"start_seconds":2574,"text":"Switch between people.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2574s"},{"start_seconds":2575,"text":"it doesn't rely on having to like, like we all hardcode a single IP address into our configs, which is really kind of the case.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2575s"},{"start_seconds":2586,"text":"So, I mean, from the perspective of,","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2586s"},{"start_seconds":2596,"text":"Emily's style, like, front running and things like that, right. I mean, you're specifying what you want end to end, so kind of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2596s"},{"start_seconds":2606,"text":"You're fine with whatever. That depends which movie can be sitting. Right. so to me, I will. Give you my definition.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2606s"},{"start_seconds":2614,"text":"Of what I would consider maybe.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2614s"},{"start_seconds":2615,"text":"Was not. Maybe, If there's information asymmetry, it's a movie. Yeah. As in, if I specify, I'm. Willing to trade.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2615s"},{"start_seconds":2624,"text":"some asset for some other asset. And I don't trade on a fixed price. And someone else sort of. Sees this front, runs this. Now, and now I get a worse price.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2624s"},{"start_seconds":2633,"text":"That's clearly a movie. if there's an. Arbitrage opportunity between New York, London. That is not. Maybe this is just geographic arbitrage.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2633s"},{"start_seconds":2641,"text":"This will exist all the time now. so. I know my doesn't solve all. Geographic arbitrage. But a Anomad does solve for this move.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2641s"},{"start_seconds":2648,"text":"Where you get front run because you didn't specify your end state. You specify your computational trace because. Right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2648s"},{"start_seconds":2655,"text":"Like if you interleave different execution traces. Yeah, you may end up. Different. Result, different results. one. On one. Case effectively.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2655s"},{"start_seconds":2662,"text":"But here you can not specify like I want whatever market prices for this, you need to like specify some.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2662s"},{"start_seconds":2670,"text":"Price pretty much. If you want specific market prices. This needs to be encoded. So that the application layer, like applications.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2670s"},{"start_seconds":2679,"text":"Built on top of this intent machine. Can provide extra guarantees to the user. so actually we. Can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2679s"},{"start_seconds":2687,"text":"Like one cool thing is that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2687s"},{"start_seconds":2699,"text":"so. From an application perspective.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2699s"},{"start_seconds":2701,"text":"So when you think of a, An app on the I am.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2701s"},{"start_seconds":2709,"text":"The app can include guardrails. So for example, you can say things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2709s"},{"start_seconds":2715,"text":"I am willing you only make the spendable to, we have something. Call it we have.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2715s"},{"start_seconds":2722,"text":"A threshold encryption decryption, within the base chain. So you can sort of submit an encrypted intent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2722s"},{"start_seconds":2729,"text":"Encrypted intent. this just gets order. It gets order on chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2729s"},{"start_seconds":2736,"text":"the chain enforces settlement. Of, batching effectively it as well, or the application kind of force.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2736s"},{"start_seconds":2744,"text":"My batch should be every 15 seconds. after 15 seconds or three blocks. The validators had jointly decrypt all these intents.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2744s"},{"start_seconds":2752,"text":"Now you have a bunch of decrypted intents. That are specific. To this. Application. Now, some. Of us can go, we have.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2752s"},{"start_seconds":2760,"text":"All these decrypted intents. Let me actually, computers. Solution to them, submit them to the app. And the app can sort of pick the optimal criteria.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2760s"},{"start_seconds":2768,"text":"This is kind. Of. Similar to catch up.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2768s"},{"start_seconds":2772,"text":"but instead of relying on a central solver to or a central server to pick the best. Solution. you can do this on chain here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2772s"},{"start_seconds":2780,"text":"But that like the solver need to respect disorder. not I mean this there's no water here. This is just. The solver need to respect.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2780s"},{"start_seconds":2788,"text":"The batch. So this is like, I should not call this batch order. Because I want. The batch that just encrypted by strings.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2788s"},{"start_seconds":2797,"text":"Right. And we just agree all these 200 byte string byte strings belong to this batch.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2797s"},{"start_seconds":2802,"text":"And so when as a solver I find like I cannot split and like oh I'll solve this one in 10s and run everything else. Exactly.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2802s"},{"start_seconds":2810,"text":"This is like this is sort of the optimal territory you can. Enforce. Within the application on chain to say. I want all of these things to come together.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2810s"},{"start_seconds":2818,"text":"All these things must be come together. Maybe you logics include ECS and liquidity sources. Maybe you don't. this is really tough on the application side.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2818s"},{"start_seconds":2826,"text":"but this is important to understand. Like intense at the base layer. Don't provide you any guarantees. If you do market orders, you will get fucked.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2826s"},{"start_seconds":2835,"text":"this is just unless the like. I mean, you are. You spoke about this kind. Of trust metric. You can. Yeah, maybe, but this is not a guaranteed guarantee.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2835s"},{"start_seconds":2843,"text":"Maybe you can. Build economic guarantees there. But it's not a sell off.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2843s"},{"start_seconds":2847,"text":"Well, I mean, pretty much what you're saying, like, the reality is right now, actually, Uniswap is not a market order.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2847s"},{"start_seconds":2854,"text":"Uniswap is actually a limit order with like hopefully it will do better than that. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2854s"},{"start_seconds":2861,"text":"Because what you're saying is you have a price like the current one, but actually you have a limit order of you will not take anything below that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2861s"},{"start_seconds":2869,"text":"Yeah. So just fine with everything above it. But that's true. So it's just like it's not already the market order.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2869s"},{"start_seconds":2877,"text":"Just you hope that nobody will front run it. Just a very wide limit. All are effective. Well it's point five thread slippage right.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2877s"},{"start_seconds":2884,"text":"Oh that's right. It is pretty right. But you can you can reduce it depends on liquidity of that other thing.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2884s"},{"start_seconds":2891,"text":"so that's why I always like why doesn't Uniswap just return that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2891s"},{"start_seconds":2896,"text":"Whatever you specify as min min amount it just returns that. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2896s"},{"start_seconds":2903,"text":"And now there is no more Emelie and Uniswap LP actually earn more money. And now all the front ends can can. Actually and you can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2903s"},{"start_seconds":2911,"text":"Just reduce that percentage based on the volatility of the asset. Oh that's actually interesting I haven't thought about that. That's an interesting topic.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2911s"},{"start_seconds":2919,"text":"Yeah. Just being like strict limit or. Yeah solving maybe one lap at a time. Yeah. All right. this is makes sense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2919s"},{"start_seconds":2927,"text":"You have thresholds to pretty much have some. Well not ordering but batching. Yeah. okay.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2927s"},{"start_seconds":2935,"text":"So this is how it works on a normal base chain. Now how does it work on account base model.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2935s"},{"start_seconds":2944,"text":"so this is honestly, harder because do you effectively I mean, all these things are Turing complete.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2944s"},{"start_seconds":2953,"text":"Yeah. But you as a result, you then have to emulate. The normal resource machine. So the anonymous resource machine is. Also a secret. So you can. Technically.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2953s"},{"start_seconds":2962,"text":"Constructor will approve. of the correct execution. Of the resource machine. It's like the way. This will work.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2962s"},{"start_seconds":2969,"text":"If you have like, this is not a fixed name. I'm calling. Them APIs, the unknown protocol adapters. I don't know if that's a good name.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2969s"},{"start_seconds":2977,"text":"But it's a short acronym. I could come up with. So if you want to emulate full or no more.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2977s"},{"start_seconds":2984,"text":"Like the. Full, no more resource machine directly in solidity, you may run into. Some gas problems, let's say this way. so this will, for most.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2984s"},{"start_seconds":2992,"text":"Systems look. Like effective. You SDK. Proof. over a valid state, transition off the unknown.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2992s"},{"start_seconds":2999,"text":"What resource machine?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=2999s"},{"start_seconds":3001,"text":"So this is this will require somebody to deposit first into adapter the what they're planning to spend.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3001s"},{"start_seconds":3009,"text":"yes. In the first step, this does require effectively ask to. Flow into. The adapter. So we under the control of the adapter.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3009s"},{"start_seconds":3018,"text":"long term there's something with Typhon. And camera. Chains. Where. Maybe actually we can have validators guarantee sort of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3018s"},{"start_seconds":3027,"text":"That assets. Can move on the single block. And you don't lock them. think of it as a shared sequencing where, maybe if there's enough.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3027s"},{"start_seconds":3035,"text":"So with.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3035s"},{"start_seconds":3036,"text":"All right, we can actually also go into Typhon, where, which is the consensus of an OMA, which is said fuze novel. Plus heterogeneous Paxos. so here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3036s"},{"start_seconds":3046,"text":"I had this. Topology model. Right. And like different. Security zones may have different overlaps.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3046s"},{"start_seconds":3052,"text":"and so if you have a large enough overlap between two systems, between the this is like a chain.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3052s"},{"start_seconds":3060,"text":"This so this node is on both chains. Right. so if you. Have enough.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3060s"},{"start_seconds":3066,"text":"Overlap in the validator set, the value to set can start offering, Atomic execution as well.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3066s"},{"start_seconds":3073,"text":"Synchronicity guarantees for a single block. And the way this works and Typhon very high level.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3073s"},{"start_seconds":3078,"text":"You have like chain A, chain B.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3078s"},{"start_seconds":3085,"text":"You can split your state into effectively partitions. And this is like the state. B partition.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3085s"},{"start_seconds":3093,"text":"And chain A chain B does the same thing. Has a state a partition. And then here in the middle you can form a.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3093s"},{"start_seconds":3101,"text":"Block that is. Synchronous. With regards to both partition with both. Partitions.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3101s"},{"start_seconds":3107,"text":"Effectively I hope this is this is why I was Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3107s"},{"start_seconds":3114,"text":"What would what do you calling partitions here? so this. Is one thing, and within the chain you.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3114s"},{"start_seconds":3123,"text":"Can split your state space. Okay. And you effectively say that, part. Of state state space. I want to, I want. To be able.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3123s"},{"start_seconds":3130,"text":"To have an a Camaro chain with this other chain. Okay. and if the other. Chain does the same thing.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3130s"},{"start_seconds":3136,"text":"And there's a large enough overlap in the validator, set em, the. Validators can effectively run a new.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3136s"},{"start_seconds":3142,"text":"Process that just creates blocks, over the shared state space, because they also. Guarantee.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3142s"},{"start_seconds":3149,"text":"That, you can't move out of the state space without this being cleared here.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3149s"},{"start_seconds":3157,"text":"So. Okay, so actually is somewhat similar to what I tried not to think about it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3157s"},{"start_seconds":3160,"text":"Yeah, it is in the sense, but well, but like for this this chains are like needs to have your consensus.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3160s"},{"start_seconds":3172,"text":"they. Need to have Typhon consensus. And consensus. Okay. So it's not like you can grab BTC and just say like, hey. Again, like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3172s"},{"start_seconds":3180,"text":"That shared sequence stuff. As long as you have fast analogy, this should. Work across many chains. Even if they. Don't have, by factory running smaller side.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3180s"},{"start_seconds":3189,"text":"Casts. So like if you can run a side.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3189s"},{"start_seconds":3191,"text":"But like, I mean so okay, well you, you're producing a block right for and let's say it's a was BFT consensus.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3191s"},{"start_seconds":3199,"text":"So like you'll say that if this is a shared block across two chains, I mean in a way let's draw it like this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3199s"},{"start_seconds":3209,"text":"and the next block is already, but like, the only can touch, state that is shared.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3209s"},{"start_seconds":3218,"text":"Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3218s"},{"start_seconds":3219,"text":"And so, like, there is some validator who is in the both groups who says, like, you know, guys what? I'll produce a shared block and I'll just ignore every other transaction.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3219s"},{"start_seconds":3227,"text":"That's not touching shared space. Yeah. Pretty much. and so this gets faster the larger the overlap is.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3227s"},{"start_seconds":3236,"text":"Like all the others overlap. They just merge. Chains. Yeah. But the nice thing is. I don't have to. I mean, like, for example, you could have, like, exactly.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3236s"},{"start_seconds":3245,"text":"The same logical validators.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3245s"},{"start_seconds":3247,"text":"It's like sigma one, just two validators in the world, but they have a data center in Asia and a data center in North America. they could run.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3247s"},{"start_seconds":3255,"text":"Two chains at the same time and only merge them when.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3255s"},{"start_seconds":3258,"text":"People are actually willing for the willing to pay for the extra latency between North America and Asia. If that makes sense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3258s"},{"start_seconds":3267,"text":"No. Well I understand, yeah, they they don't need to produce this merge block if there's no transactions.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3267s"},{"start_seconds":3271,"text":"For example, in this merge state, I'm just specifically is like this merge state means like all of the transactions are not included here. all other.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3271s"},{"start_seconds":3280,"text":"Transactions that could influence this much state are not included. Yeah. I mean, you can have like, if I mean, again, like, this is a.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3280s"},{"start_seconds":3288,"text":"Problem, I think with the existing designs, it's like our state space layouts kind. Of suck.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3288s"},{"start_seconds":3293,"text":"like, and I mean, I like, yes, the attorneys, but the fact that all the US like that a single USD. 20 all balances live in the same global mutable. State.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3293s"},{"start_seconds":3302,"text":"Yeah. Makes some of these things harder. Yes. Very hard.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3302s"},{"start_seconds":3306,"text":"So it's like, This is an attempt to kind of resolve this so you can move.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3306s"},{"start_seconds":3312,"text":"Parts of your state into it, without affecting all like, ideally you want to structure your contract so that you have lots of local state, not lots of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3312s"},{"start_seconds":3321,"text":"Mutable global state. Oh, about 40 minute, no, 50 minutes already. I think we need to do like now three hours.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3321s"},{"start_seconds":3332,"text":"let me see what else is interesting. Him. We spoke about the intense. We spoke about consensus a bit.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3332s"},{"start_seconds":3340,"text":"We spoke about the gossip stack. We spoke a little bit about, you know, our research machine.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3340s"},{"start_seconds":3352,"text":"I think. So.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3352s"},{"start_seconds":3353,"text":"I've just from I don't know if you want to touch a little bit up on sort of information flow control. Concerns here and how you kind of.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3353s"},{"start_seconds":3361,"text":"Need these systems for to. Offer like reasonable privacy. Guarantees to users.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3361s"},{"start_seconds":3367,"text":"Because I think this is something that actually most people just don't understand. around the idea that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3367s"},{"start_seconds":3381,"text":"So currently also streams that construct around. Shared mutable. Global. State, right. So we all have this. Thing living in the middle and we all just.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3381s"},{"start_seconds":3391,"text":"Shared. Global. Mutable state, like, and we all modify this. It sounds like a casino, as Jim as.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3391s"},{"start_seconds":3400,"text":"I do. Practically is right. so we all modify the. State all. The time. This has both concurrency. Problems.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3400s"},{"start_seconds":3408,"text":"As well as, sort. Of information flow control problems. with intents.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3408s"},{"start_seconds":3414,"text":"We stop having a lot of the shared mutable state because I intend a intent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3414s"},{"start_seconds":3421,"text":"I am intent, to prime.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3421s"},{"start_seconds":3428,"text":"and actually get like a transaction candidate that contains both. So imagine this is like 50. I can do a bunch of knitting.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3428s"},{"start_seconds":3436,"text":"I don't have to, do all the. Intermediate. Computations. I just like, net out all of the, and all of these. Intents. Because they may touch a bunch of things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3436s"},{"start_seconds":3445,"text":"So I got a very compact thing. That much is. Described as the state. Yeah. That just updates the net results of the state.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3445s"},{"start_seconds":3451,"text":"In common lingo, this is called a rollup. with intent to effectively just get rollups for free to a large extent.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3451s"},{"start_seconds":3459,"text":"or at least you get an architecture. That's uniform across. Many different rollups. If you want application specific. This is a state specific role.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3459s"},{"start_seconds":3466,"text":"Oh point state specific. I like it. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3466s"},{"start_seconds":3470,"text":"I mean, I actually I've been trying to talk about application specific rollups is because right now when you start a roll up, you start a whole VM. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3470s"},{"start_seconds":3478,"text":"With all of the address space, which is not what you want.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3478s"},{"start_seconds":3482,"text":"You want a users to have shared address space and then applications to have their own set of execution and kind of capacity.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3482s"},{"start_seconds":3492,"text":"And so that's where like I call it applications is like when your address space is still lives on, let's say a one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3492s"},{"start_seconds":3499,"text":"But your execution kind of is for your, for your specific application is in a roll up. But you kind of doing this more on the state side.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3499s"},{"start_seconds":3508,"text":"So yeah I know my is very state focused. Yeah. because I think that's a.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3508s"},{"start_seconds":3514,"text":"I mean it's so, I mean, this specific example we have orderly which runs an order book off chain and then just shuttles all the traits.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3514s"},{"start_seconds":3524,"text":"Interesting, which is actually very similar to yours. It just nets out in future balances. But there's also some limit orders for orderly.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3524s"},{"start_seconds":3532,"text":"I think it'd be cool to. Try out the gossip stack. Because I assume currently all of these like. Yeah, someone runs a single server.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3532s"},{"start_seconds":3539,"text":"Yeah, not a great model, but I mean, it's like we can do this right now, but I feel like we need models. That like, well, you don't have a single IP.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3539s"},{"start_seconds":3547,"text":"Address control. I mean, I agree, yes. This is like a lot of what the. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3547s"},{"start_seconds":3552,"text":"The guy was saying that like the space needs to think way more about gossip because it's a very difficult problem.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3552s"},{"start_seconds":3558,"text":"well, I mean, the, the question there is always like, okay, well, I mean, as we discussed, like this doesn't guarantee any ordering.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3558s"},{"start_seconds":3565,"text":"So if somebody like, you know, sits on your sits in your intends for a while, right, like, okay, well now you decided, okay, now you're actually sending it to everyone. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3565s"},{"start_seconds":3576,"text":"I mean, but yeah. Anyway. But so I wanted to chat a little bit about privacy. So, one of the, Information flow. Control here, one.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3576s"},{"start_seconds":3582,"text":"Of the important things becomes, in an intense undergrad model. Or like, if you want to have. Some sort of information flow control state needs to migrate to the edge.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3582s"},{"start_seconds":3591,"text":"Of network, right? So we don't have this. Global mutable state. Everyone has their own like. personal state and.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3591s"},{"start_seconds":3603,"text":"And if you want to actually allow these people to maintain their personal state without revealing to the public, we need a different model where they.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3603s"},{"start_seconds":3610,"text":"Don't actually submit the entire state updates to on chain. So what it does is it allows users to.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3610s"},{"start_seconds":3616,"text":"Attach risk. Proofs instead of revealing. that they own.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3616s"},{"start_seconds":3621,"text":"Some resources in the normal resource machine instead of revealing the entire resource. So they can. Sort of show. I own. Ten eath.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3621s"},{"start_seconds":3629,"text":"Without actually. Revealing which address they own those ten ether, but.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3629s"},{"start_seconds":3633,"text":"Rather it's a zero knowledge proof, that attest to the fact that they own ten. Years and that they can transition this. Resource to someone else.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3633s"},{"start_seconds":3641,"text":"So, for example, if I wanted to sell, ten eath for, 100 Nia, I think this conversion is off.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3641s"},{"start_seconds":3651,"text":"But anyway. Instead of. Showing I own this at address x. Y z.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3651s"},{"start_seconds":3660,"text":"I have to zk proof that I own this address x y z that I own. I own it, yeah. yeah. And I'm capable of spending this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3660s"},{"start_seconds":3668,"text":"And here's also. And anyone that sort of settles. This can claim this node. Right. Because these are fundamentally nodes in the Merkle tree.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3668s"},{"start_seconds":3677,"text":"and so whoever settles this, whoever takes the inverse, can then claim this node and claim he doesn't mean, in fact, if it just means.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3677s"},{"start_seconds":3685,"text":"They then become the on off the node.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3685s"},{"start_seconds":3688,"text":"but I think this is really important to understand because it's very difficult to build. So this becomes then like a huge jigsaw of this proofs.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3688s"},{"start_seconds":3696,"text":"Right. You know, I. Pretty much like. Free sort of, you. Know, I for zk proof of everything looks very much like you take still model.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3696s"},{"start_seconds":3705,"text":"there's no way around this. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3705s"},{"start_seconds":3709,"text":"but this is like, whenever people tell me that, they're like, oh, we're going to. Build, like. Private Uniswap on some VM.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3709s"},{"start_seconds":3716,"text":"Like, I'm pretty skeptical because the entire system is designed around the shared global stage. You need to this is going.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3716s"},{"start_seconds":3723,"text":"To be fucking difficult to. Build this as, like. Within the system. Yeah. And I think this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3723s"},{"start_seconds":3730,"text":"Is sort of why this move from from VM to I am not in the sense of replacing the virtual machines, but in.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3730s"},{"start_seconds":3737,"text":"Terms. Of having a way to. Yeah, allowing a.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3737s"},{"start_seconds":3739,"text":"Higher level of abstraction for developers and users is kind of going through required, because it's going to be very difficult to build a. Lot of the things that most.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3739s"},{"start_seconds":3748,"text":"People really will want.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3748s"},{"start_seconds":3749,"text":"On top of VMs directly, if you don't have this layer of abstraction in terms of the state layout.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3749s"},{"start_seconds":3756,"text":"So but, but like practically speaking, I mean, you need to first deposit this into as you get proof into something","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3756s"},{"start_seconds":3761,"text":"that like now is not controlled by you, but but you have, The nice thing of, in the normal state model, it all lives in the same Merkle tree.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3761s"},{"start_seconds":3772,"text":"So, yeah. How is your state actually organized? How is the state organize?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3772s"},{"start_seconds":3779,"text":"many Merkle trees, some of which, so effectively, the entire. System is so. Friendly. so, there are.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3779s"},{"start_seconds":3788,"text":"Resources, and you can think of this as sort of a tree here. And there are. Many different resources in this tree. Resources have owners.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3788s"},{"start_seconds":3796,"text":"And programs attached to them. Like they're just like these resources here. and then. There's like an owner field. yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3796s"},{"start_seconds":3804,"text":"And code. And state. And state. Yeah. Instead of just bytes. yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3804s"},{"start_seconds":3811,"text":"Okay. yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3811s"},{"start_seconds":3814,"text":"It's just it's just points the Keyspace associates by to, And so. If you want to spend this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3814s"},{"start_seconds":3822,"text":"You just try this, and then you recreate this again here. you don't update them. Which is how you then you can.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3822s"},{"start_seconds":3832,"text":"Choose sort of whether you want to. Include a plaintext. Signature that you're the owner of this thing.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3832s"},{"start_seconds":3837,"text":"Or you want to include a zero, your proof that you actually own this thing within the tree.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3837s"},{"start_seconds":3842,"text":"So, but but then like, let's say I, I executed a sort of how how does everybody else know that this is destroyed and there's a new owner, you.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3842s"},{"start_seconds":3850,"text":"Reveal. The null like this thing ends up revealing. The null. The final. I have to say, I'm not a cryptographer, so I am.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3850s"},{"start_seconds":3858,"text":"Not. The best explaining this exactly. I can send you the blog post. Okay. so.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3858s"},{"start_seconds":3867,"text":"Okay. I mean, this is like the, you know, the usual. Really. You take so tree, so you'd like you add a new node here and then.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3867s"},{"start_seconds":3875,"text":"Yeah. And you have to nullify a tree. Yeah. to check and check. The cross it out if no file is not revealed. Okay. Got it.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3875s"},{"start_seconds":3883,"text":"Yeah. Yeah. Let me see. But yeah. So I'm actually this is the other thing I'm skeptical of. Like everyone that wants to build like, privacy preserving things.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3883s"},{"start_seconds":3892,"text":"without intense. I think it's going to have a really. Difficult time because intense allow you to move state to the edge. Of the network. Without intense. You end up in this like.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3892s"},{"start_seconds":3903,"text":"A bunch of. State. So effectively, I think everyone. Will eventually have to move to. An intent centric model, Just to make. A bunch of this shit.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3903s"},{"start_seconds":3911,"text":"Scale and actually work in practice for a bunch of like, ZK. Applications.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3911s"},{"start_seconds":3916,"text":"I mean, the challenges we discussed, right, is that, it's all rosy, you know, you, like, compute it all this you're like,","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3916s"},{"start_seconds":3923,"text":"going to transition, but somebody like, executed this part and like, now you need to go and redo everything, right?","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3923s"},{"start_seconds":3930,"text":"So I mean that's that's always been the challenge with like doing Uniswap like things on you takes over a resource model. Yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3930s"},{"start_seconds":3938,"text":"The nice thing, which I think is underappreciated sometimes is when you have this very general.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3938s"},{"start_seconds":3943,"text":"State model, that you can do partial state updates, so you can do like intent and. And.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3943s"},{"start_seconds":3951,"text":"I two, can just transition to S3 there. Maybe not the observable. Yeah. but you can do. Like, like recirculate that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3951s"},{"start_seconds":3958,"text":"Yeah. And, and so. Really like what solves. Should optimize towards incremental compute. that like I just keep adding I.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3958s"},{"start_seconds":3967,"text":"Don't wait for all the intensive. I'm trying to do global search. I'm trying like. Incrementally solve the intense.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3967s"},{"start_seconds":3975,"text":"and if I sort of after five seconds, I can't actually solve the rest of them. And then I submit it onwards and maybe someone else can. this is also a very.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3975s"},{"start_seconds":3984,"text":"Nice abstraction, actually, for like ZK. Proofs. And if you want. To outsource the. Compute. Because you can pick a specific person that you'd like to outsource, you.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3984s"},{"start_seconds":3991,"text":"Compute to. and then that guy just produces the proof. It's, I think, going. To be important for constrained. Devices.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=3991s"},{"start_seconds":4001,"text":"Yeah. All right. Well, it's a lot. It is a lot. my big recommendation.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4001s"},{"start_seconds":4009,"text":"Read the blog. Post, read Chris's. Ether research post. It's like a good hour. Two hours kind of thing.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4009s"},{"start_seconds":4017,"text":"it's very dense. And very long, but it also. Points to, all the underlying. So. For better or for worse, you've taken a very.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4017s"},{"start_seconds":4025,"text":"Principled approach of specs first and research first. so there's at this point, like 16 different. Research reports on all.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4025s"},{"start_seconds":4033,"text":"These various. Components. Including the cryptography, the. Networking, it's all. On it. I don't know more about that.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4033s"},{"start_seconds":4042,"text":"yeah.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4042s"},{"start_seconds":4042,"text":"If you go to the ether research post, though, this up back links to all of the online, research. Honestly, we should be doing this more often.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4042s"},{"start_seconds":4050,"text":"Because explaining 15 research papers is kind of difficult. but yeah. Well, thank you for coming.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4050s"},{"start_seconds":4058,"text":"I mean, this was a good overview for sure.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4058s"},{"start_seconds":4061,"text":"you know, I encourage everyone to check out the rest of the research and kind of deep dive and looking forward to start using this.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4061s"},{"start_seconds":4069,"text":"Let me to thank you very much, Illia.","url":"https://www.youtube.com/watch?v=LB984KzJTXQ&t=4069s"}],"youtube_url":"https://youtube.com/watch?v=LB984KzJTXQ","url":"https://near-pedia.xyz/videos/LB984KzJTXQ"}