{"id":"V-16v_h0s5s","title":"Whiteboard Series with NEAR | Ep: 53 Gil Binder & Illia Polosukhin - Lava Network Deep Dive","description":"This Whiteboard Series episode features Co-Founder of Lava Network, Gil Binder, in conversation with Illia Polosukhin, Co-Founder of NEAR Protocol. \n\nLava is a modular network which blockchains plug into to scale and optimize RPC & APIs. Requests are routed to the best available provider, giving developers and users optimal service.\n\nGil and Illia cover deep dive into Lava Network, how it works, and what it means for the future of Web3.\n\nhttps://www.lavanet.xyz/\n\nJoin NEAR's community:\nWebsite: https://near.org/\nReddit:   / nearprotocol  \nDiscord: https://near.chat/\nMedium:   / nearprotocol  \nBlog: https://near.org/blog/\nTwitter:   / nearprotocol  \nGitHub: https://github.com/near  https://github.com/nearprotocol\nDev Docs: https://docs.near.org/\nCreate a wallet: https://wallet.near.org/create\nApps on NEAR: https://awesomenear.com/\nLearn to Build On NEAR: https://www.near.university/\nGrants & Funding: https://near.org/grants/\n#Blockchain #FutureisNEAR #NEAR #nearprotocol\n#nft #dao","channel_name":"NEAR Protocol","published_at":"2024-03-25T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/V-16v_h0s5s/hqdefault.jpg","transcript_text":"hello everyone we are joining here from East Denver with Gil uh founder of lava Network and I'm excited to dive in and how lava works so go introduce yourself lava Network and let's dive in into how it works yeah thanks and thanks for having me my name is Gil binder I'm the co-founder and CTO of uh lava networks uh we've been building uh a modular data access layer for blockchains basically uh it's a way to access uh data from different blockchains using rpcs and apis all right so let's dive in how it works yeah so in lava we have uh few different uh roles on the network we have validators um we have uh providers who provide data we have Champions who build the access and this manifests that Define how to access the uh blockchain data um and we have consumers who access the data so basically maybe before that let's like so RPC Network and kind of data Pro yeah sure so when a user you know uh goes to his wallet on metamask or whatever they need to see his account balance uh they need to send transactions uh they need to uh you know get the spot price of you know some kind of uh pair of tokens to do that they have to use uh RPC basically uh the user creates a query and traditionally it sends it to an RPC server an RPC server uh is usually just a full node of that blockchain that syncs with the other nodes on the blockchain let's say we have a lot of nodes and the RPC node is connected and has a local state it keeps progressing the blockchain obviously storing the local state and then it retrieves the data for the user executing is RPC and returns for example the account balance so this is the most basic usage of RPC mhm and so okay yeah so for the other data types um we can go into that later yeah but this is the most basic uh usage basic yeah you can also obviously index data uh on the back end for example for to show like a graph MH so the way it works in lava is that we have uh basically a blockchain the communication is still offchain so we've built a protocol uh a blockchain uh an offchain protocol uh and we also built a blockchain uh to coordinate uh all the nodes and everything like that so when a consumer uh sends an RPC call in lava it sends it directly to the providers on lava so maybe you should start with giving an example of of let's say ethereum yeah so uh we have a champion they Define a manifest basically a Json file with all the different API calls that you can do and RPC calls that you can do on ethereum uh so let's for example say uh if call uh e let's just say get balance right and the list goes on and this is what makes by the way lava modular is that we have these manifests um then the the champion sends this manifest onchain and basically we have a list of manifests uh of all the different blockchains uh the incentive for the champion is that all the traffic that goes through this uh specification basically he can get some portion of the rewards for the traffic mhm the second thing that we have we have providers providers are basically these node runners in traditional web 2 you can think of them as uh like uh the devop them that is running all the servers so in lava we have providers they basically stake tokens um let's take them put them here and they stake on these specs that gives them the ability to provide uh users access to the to these RPC codes okay so providers yeah it's just for examples right it can be in fura it can be you know near like pagot RPC they are know which types of RPC nodes they're running so they find out of the all of the um specs we call them specs and uh they say okay I will be providing this spec and for that I need to stake the lava tokens yes and that pretty much guarantees the quality of service exactly yes so the staking mechanism is there to to ensure that the provider is providing quality data uh it ensures that they have a stake in what they're providing so if someone basically a provider is trying to provide malicious data or uh is giving fake data uh we have a mechanism we can talk about it later it's called conflict detection to catch it uh upload it on chain and slash or jail for doing that okay and then from consumer side I'm assuming now as a user your wallet will now use a different you know will not go directly to in fura but will now use a different URL so how does that data flow works great question so in lava we have um so as I was saying we have an onchain protocol right and we have the offchain protocol mhm the reason we have two uh the offchain protocol is because when you're using RPC you need to you know get a lot of messages right you need to send a lot of queries and get a lot of data if you needed to do that on chain that wouldn't be very fast it would be very expensive and slow so we basically built a way to rep uh a query let's say we're getting the balance here yeah uh it's called get we have what we call a consumer uh server uh that is like a proxy it takes the get uh query repset a protuff mhm and uh the user this what what we call a consumer they sign the message M and send it to the to any of the providers so as I was saying providers can stake on the network y so let's say we have one provider two provider three provider four providers and they are all connected to the RPC nodes M right oh the providers are running RPC yeah they are running RPC nodes and individually MH and these are all connected to blockchains yeah so now as a user um they take the protuff uh this is a grpc protocol so it's very fast and uh supports streaming so it's very nice uh the providers they uh unrep the protuff and send the relay regularly to the RPC node M they get the response back they wrap it back back up they sign it with their public key that they used with the private key that they used on chain to stake or some other key but it's uh yeah they're Associated yeah and they're Associated and they get to the user MH the user on repet and sends back the response to the user okay so consumer pretty much in a way your gateways which are the kind of from the you know client side they just use Gateway URL to send regular RPC requests and then this is kind of your off protocol so so we have two ways to do it right so you can this is like open source so you can run your own Gateway yeah or we have a typ script implementation of the same consumer code that you can just run here inside the wallet inside the wallet inside the application exactly and so okay so then on the consumer side uh you sign the protuff as your key and then why are you sending it to multiple providers well you only send one at a time right so basically here uh on the RPC consumer and also here on the S we have what we call the provider Optimizer M provider Optimizer uh let call op it probes so maybe we should start with how do you know which providers to talk to yeah so as I've said providers take onchain on a specific uh spec which is a blockchain usually and uh they stake a certain amount of tokens uh so for example today on testnet we have like almost 400 providers M staked obviously you're not going to talk to every single provider it's too it's too many also you want to give equal opportunity to Providers to talk to different consumers M so we have a s of random function um that runs on chain uh like an RPC call it's called get pairing and it basically returns every Epoch every 15 minutes a different list of providers based on their stake it's stake weighted uh function mhm so now uh you get this list and the consumer gets this list and it has uh can start probing these uh providers so the first thing it does the optimizer starts probing based on weight uh and seeing who replies the fastest and who has the latest block right so now they can uh basically give the consumer the best service possible okay so you pretty much check for latency and check that they are presumably up to date MH um you're not validating like client presume so you don't know actually they have the latest block just checking that yeah but we can yes but we can estimate and we can see if someone's like way ahead of somebody else they also because the uh as I've said they signed the replies they're basically committing to a block hash mhm so if they're telling you oh I me block 1 million you know and the blockchain is at 100 they sign it and then they can be SL they can present that okay okay so then um so how's providers getting paid and let's say consumer is paying for this request so they signing it how does this get settled on blockchain to actually do the payment so every every time a consumer starts talking to a provider it starts a new session it's like a random uid okay uh and um there's what we call a compute unit so in addition to the function call there's the cost of the call compute units right so we call it CU um and uh it says let's say eth call is 10c right uh the consumer knows this because it gets the list of all specs and it has it stored locally mhm and then when you send let's say uh we said uh e call to the provider in the pru that you sign uh you say total CU MH equals 10 right you send it over session let's say Session One you send it to the provider the provider checks that your your key can use the services M and uh sends back the response when you want to get another eth call instead of writing 10 you write 20 mhm you send it back to the provider he knows that you already had 10 so he can charge you now for 20 at the end of the session uh the provider takes the last prot buff right and sends it on chain okay so pretty much consumers kind of tracking how much they used providers also per session tracks how much that session have used already and then when session is done you can just settle it on chain yeah they send a transaction and at the end of like an epok they get paid okay and so it's not exactly accurate because we also have subscriptions yeah well I mean even in this model right so as as a consumer do I initiate session on chain as well no you need to no need so how is the tokens locked for let's say My Consumer balance is you know zero a great question so we initially we were thinking about how to solve this and we said instead of going for a pay as youo model which we had initially let's go for subscriptions on change subscriptions it's like a sess uh the consumer goes on chain they buy a subscription for 30 days uh the subscription defines how many C they have have okay and then we every time you do a payment reward you just withdraw from yes exactly right so you pretty much on chain you have somewhere like you know consumer one has you know like thousand CU budget and uh you know it's like time to life is you know 28 days left kind of thing exactly yes and so and then consumer need to just renew this with a transaction he can buy for a whole year or you can renew it okay and so so okay this is cool um how are you pricing this that's a great question so when we first started we're like we looked at all the competitors trying to price it uh so we put in jpt and got a you know good result I think it's still too early to say uh we're hitting mayet next month and I think the governance of the token will decide the pricing of the packages this is all determined all the packages on chain are determined by governance okay so pretty much I mean there is like I mean for a Simplicity there's some smart contract which says you know you call subscribe you attach you know some amount of lava yes and so that that I mean contract presumably it's just your module in Cosmos SDK right it's a module in go yeah uh so you say like uh duration and do you specify cuse or it kind of duration gives you so think about when you go to a sass website and you see like oh I'm getting yeah I'm subscribing 100 users $10 per user so it's the same thing on chain well like is there like another parameter which is like yeah the name of the subscri the index of the uh package that they're buying okay there's the package index got it okay so yeah so there's like some packages that governance defined which is like exactly 10,000 to use 100,000 to use and yeah and you have all these parameters as well like you can Define how how big is the pairing list is it like five providers 10 providers for Enterprise they might want to only talk to providers who are kyc or KYB right so in the Enterprise package they can specify which providers they want for example okay cool um okay so so from provider perspective I come in I say hey I'm running you know this five chains so I'm stake on on this five chains the higher my stake is the more I will get traffic pretty much yes um and then I'm pretty pretty much Runing and blava node which is kind of a front for receiving uh requests and I route them to my RPC nodes and this front pretty much accepts requests routes into RPC yes and then keeps track of all the sessions for all the consumers and then sett them and sessions done do you have like time to live for sessions um yeah sessions are actually I think sessions are uh you you create a new session every Epoch okay which which is 15 minutes on chain and they keep track of the block height of the lava chain I see so they know when aook is changing okay so like every 15 minutes they settle and yeah they have like two hours to settle actually they can settle later if it's really busy okay so yeah I'm just like thinking of the of the traffic from providers alone right it's yeah we're seeing yeah it's a it's a lot of traffic it's very interesting to see uh but actually you know one of the things that we've built as I've said we have these specs yeah and then we have this protuff right yeah now in the spec you can tell the specific query how to parse it so now you set a parser and the query uh the both the onchain and the offchain can take look at the query and take the block let's say the block height from the query so that gives us the superpower of basically um sending for example let's say this provider only has uh the latest latest blocks right mhm so and let's say this provider is archive which is more expensive because they have to store a lot more data they have to store all the states uh uh the consumer when he gets the query can parse the uh the number the block height and send it to the right provider okay so so this is done on on consumer like there's a specialized code or it's part of the spec that you can route to different there's a in the spec you def find the parser and then the parser sits on the consumer and basically calls into the consumer parser for this specific query but I mean where is the logic that decides that this provider is archival versus this provider only when they stake they they can say like I'm staking for let's say e mhm uh spec uh with the uh archive add-on okay so there's like set of tags pretty much it has but there's no like kind of provider could just specify a function like it could be provider specifying parser that says like if this condition satisfies send it to me no they cannot do that they would have to modify the spec with governance yeah yeah but I'm just saying as an alternative you can have provider when they stake also specify a parser for for their like route me stuff that looks like this and so they parse the function it says yes route to this provider or not and then you can maintain pretty much set of parsers yeah so so just kind of allows providers to Define better what they want to rece yeah one of the things is we're cons we have to worry about is what if providers say they have archives but they're they're returning you know nothing yeah so on the spec we also have what we call validations so uh it's like a query that is built in into the spec they can check that the provider is no line for example it can say um let's say uh give me block know zero yeah and if the provider is not able to do that anyone can take that query cuz and the response of the query is signed by the provider and they can upload it to the conflict mechanism with the validation of the block zero mhm and we know the the response should be some kind of block so I mean okay so yeah let's talk about challenges pretty much so so there's a one is invalid data right yes and two is no response yes well malicious data is invalid right so invalid data yeah so this is the example I'm asking for Block zero this provider is like I don't not actually Aral note so I'll just reply with like random block uh like block you know 5,000 and so this consumer how does this consumer actually like even realizes to do this that's a great question so it's a role of the dice it's optimistic right okay so let's say I'm asking for this blog you reply back with some nothing uh every once in a while I will also randomly ask another guy yeah same question and because it's a blockchain the response should be uh deterministic with the same answer and okay so then if I see a conflict coming in then I can just submit this to validation and validation takes uh pretty much two responses right yes two hashes uh from two different one query hash and two response hashes okay so yeah so query and then one response and two response and so how does the validation know which one slash okay it's a voting mechanism chain right oh so it's it like this is just recorded this is a conflict and these are salted so it's a it's like a commit and reveal hash okay uh to see who's right so we ask basically all the providers mhm to then make the query and uh return back uh their answer on chain MH they uh they add assault and then they reveal the assault and in the end whoever's wrong can get slashed okay so you're pretty much yeah so then whoever's in the minority they might not be wrong but let's hope let's hope the majority are honest okay and because I mean the way the way to well we'll talk how to trick this but uh so so okay so you pretty much launching this and so is this has a time period when this validation happens yes there's like a a clock on how long you can do it for and and so what happens when if there's not enough like if providers didn't vote or if there's not enough uh uh answers they they can get slashed like the providers can get slashed or jailed for not answering okay so you you're required if there is a challenge on Jing you need to actually go and like in the future we want to reduce the number right now we just choose a random Quorum a stake weight okay but in the future we can make it more of like a jewelry mechanism okay all right so yeah so this kicks off a process which runs for some T ebox I'm assuming yeah uh and then and then so you collect kind of responses from others and you say it's commit review so you you can you collect hashes first yeah plus salt and then they reveal it and then you have pretty much you know whatever majority rules majority rules exactly slashed well slashed or jailed we don't want to slash usually because it's a very uh you know it's a drastic measure okay and I think something we have to test and F tune on mainnet the exact parameters yeah so far yeah I mean if somebody keeps you know giving bad data they should get slashed at some point so then if there's no response so as a consumer I I ask this you know give me block zero and just don't hear back yeah so we glimpsed over a very important aspect which is quality of service yeah so we spoke about cus uh we spoke about the sessions but also something we called uh we have two types we have the uh passible quality of service mhm and we have uh Excellence quality of service these are two different ones pass is basically availability uh is this guy answering is this provider answering or is it just timing out every single time uh we have uh freshness like where are you in the blockchain yeah and we can Al actually also uh look into the future because we know that every block is let's say one 12 seconds and it's right here in the spec mhm so we know that okay uh most likely you're going to have this block in 6 seconds you should have it mhm um so and we have latency which is the easiest one so this this consumer basically uh the passable is just zero and ones uh averaged over time so if this guy doesn't answer you create this uh prot buff for him and you just say you know zero on the availability over time when you talk to him sometimes he answers sometimes he doesn't maybe he's going to have 50% avail ility uh when you end a session with him uh you just basically send him this report card so to get payment he has to upload it on chain and uh basically he's not going to get let's say he did very badly he's only going to get like 50% of the rewards um and not the whole 100 so you sending them report card the user cons the consumer sends a report card to provider and provider needs to attach that to when Settles correct and so they would do that because they want to get paid it's a subjective uh mechanism right yeah yeah so if they get very bad service they will send it to the provider and if the provider sees that you know I don't want to keep giving service to this user then he can just stop okay so yes a few questions so one is I cannot send then so let's say like user comes in sends me like first request I don't reply to it and then I say okay session is closed with the what just what that one request they they can they can do that okay that's one of the yeah we it's it's a trade-off right yeah so like you can lose a little bit it's 10 cus but you generally have like hundreds of millions of cus so so it's not much yeah and then so then like I just you know stop using this presumably if they don't reply to me or if they reply like you know intermittently yeah like every 10% they drop for examp I might move to somebody else uh okay and then like how so this report card how is that enforced like like the consumer it's it's what do you mean look when do you send this report as you go oh like for every request part of and then so when you submit it it needs to have that report it has to have it yes okay and it's sign yeah so that report is signed by sign by the consumer Okay so so yeah so consumers can yeah potentially say like oh you haven't replied to me at all and then provider will just like okay I'm not going to maintain connection to this consumer exactly if the consumer is like really really malicious and he's trying to say oh this guy is always you know answering I'm just not going to talk to you guys and then okay yeah so pretty much provider maintains you know Blacklist of consumers they don't want to work with yeah but this is more more effective for uh the Excellence quality of service M this is actually like a zero or one yeah so if you're under 200 M for example and it's also uh in the spec then you get you get one if you're you know but if what if you're very very fast what if you're like 20 milliseconds yeah uh how do you measure that so this is what we have the Excellence for mhm so the Excellence is very similar only it uses more objective uh numbers objective scores it's also included in the report it goes on chain but it actually affects future um pairing if you remember pairing it affects future pairing with these providers okay so you it's not just stake based it's also kind of Excellence score yeah so this the excellent score is uh calculated into the provider and then this is like a reputation yeah uh and it's like a half-life uh situation where is the newer scores are more affect affecting affect the overall score uh over time and this the the older ones basically reduce they get decayed okay so just like a weighted average pretty much much over time uh and so excellent score how is that computed exactly Again by the by consumer you let's say you have 20 Mills you then you will actually write 20 milliseconds okay and this will you can use this uh objectively against other providers I see and but like I mean I'm assuming let's say as a provider I have you know a like 100,000 consumers connecting to me so I'm going to send 100,000 like session closes and uh I need to close the like how's that averaged out on chain across like 100,000 so it's it's a really good question uh hopefully it's not going to be 100,000 usually the consumers are more like in the lower numbers well if you assume it's an SDK and sign a wallet yes if it's an SDK then uh you still the SDK uh will still have a session you're right and you're going to have to close it uh for that we're going to do aggregations M uh on the provider side okay we don't do the yet uh because we usually only have about 10 consumers who do all the traffic yeah I mean you have right now gateways right people and the Gateway is mostly used yes but yeah in general if we do want to become this decentralized this will be on the other side as soon as this scales we will we will have to do aggregations we already have some research around it so like is it gay proof of aggregation or no we can do that uh or we can just uh we can ask the consumer can you give me a total of all the sessions for but I mean ni if you have a lot of consumers yes like a lot of how do you aggregate all yes you're going to have to do some ZK yeah okay uh got it so then you just you can aggregate all the signatures from the all the users all the providers chain yeah exactly well it's if you have a you can just ZK proof compress all signatures as a provider okay um that makes sense uh and so you can add pretty much new chains by you know chion coming in yeah saying okay here's a new spec providers then like okay cool we're going to provide so probably some one of the providers will just do it Be A Champion that's a good idea for them yeah uh if they support new like new chain that's not there yet and then uh and then yeah you have currently like spe specific consumers which are just kind of gateways but then people can spin up their own and presumably that has its own economic model through data and M as well as if people don't want to be exposed to that they can use this directly in their wallet or the app and then they can pretty much route their traffic across different providers toize thems so if one's down you can talk to another one yeah if one's slow you can move on uh so you get all these you get all the best providers and they basically fight on the arena to get you know to see who's the best one yeah another incentivization model we have is uh what's called incentiv public RPC mhm it's basically a pool on chain on the spec yeah where anyone can sponsor send tokens to okay and Define how long they're going to be distributed for so let's say you send 100,000 tokens to this pool and say I want to distribute them over 10 months uh so every month uh this pool will distribute to Providers as well so it's a way for ecosystems to come in uh and offer this incentive for providers to come in run nodes and provide service to users and so then like how do I as a consumer say actually don't charge me Bills as guys it's a it's so it's an addition so a consumer uh will still pay okay right uh but in it's uh the IPR PC is in addition this is just like more more revenue for providers it's not actually like taking out and so okay so but then you're you're right now default gateway like if I go to Lava right now and set up like I get the RPC URL that they can just use yeah exactly you your this is this yeah it's your like we have a subscription we have a subscription on chain that we bought and that is uh the private key that we use yes to sign all the requests okay we have a few subscriptions obviously but yeah yeah and so you're providing that um like as a like what's a what's a model there for subscriptions for no for you providing this subscription oh so uh we work with the foundation and and this is we basically have an agreement that we help them uh run these servers okay right so this this is separate from this separate from incentivization okay this goes directly to the providers that's what I was asking yeah so so you have separately say like hey we can set up a subscription for the ecosystem us or anybody wants to be a Gateway on lava can do it okay and through that you say okay well now uh you know up to this many cus and so like you have API key here yeah that now you can actually uh rate limit on the consumer side and then correct pretty much provide the service yes these are usually dedicated uh subscriptions by governance they have a lot of cus so that you can bring in uh free users yeah cuz if you look at other uh if you look at web 2 type uh providers like Alchemy and fura they all have a free package how do you how do you how do you uh do a free package in web 3 so we have this partnership and basically we have the uh the big whale subscription and then we give them access and IPC is another way to bring all these providers to give this free service okay cool and then probably worse mentioning like this doesn't need to be RPC right this can be like any index or data this can be like any API and pretty much anything that you can specify as a spec that you can have you know to put the provider in front yes correct uh and so don't I guess the anything that has deterministic data yeah deterministic data and like mostly reads right although you do support So for Trans okay reads this makes sense for for sending transactions uh you send transaction here you don't expect any response right usually get uh usually get a response from the RPC that is sending a transaction obviously don't if it's included yet well so that's my question like how do you there's no way for you to guarantee or like to to to slash right for for the provider not sending correct we don't have a way to do that but what we do with a transaction is actually we usually spray them off to all the providers the reason is the nons issue yeah uh so when you talk to uh this is a a stickiness issue MH uh consistency issue when you talk uh to when you are trying to s a transaction you have to get your nons right so my nons is the account number on on the blockchain let's say I'm one yeah uh when I send a transaction I have to send this number uh along my transaction uh and then when I get a response back I need to increase it plus one yeah uh and the way but the way worlds work is that they ask again the RPC what's my nons yeah but if you and the first uh pass go to this provider and the second pass go to the second uh second provider you might get a different nouns MH why because the first transaction was not uh yet included or even if it was included the second didn't receive BL RPC maybe not received the block so then the user sees this annoying message oh incorrect Nots M so one of the ways to solve there's a few ways to solve it one is stickiness saying okay as soon as you send a transaction we're going to stick you to this the consumer can say we're going to optimize and just stick you to this provider MH the second way is just to send to everyone to everyone and that guarantees better execution probably yeah okay and then is sending transaction to use as well how you it's very low but it's very low okay all right that makes sense um and generally if providers don't send the cus no one's going to end up using the service and they're not going to get paid yeah so we think of providers they should be usually honest participants yeah and like if they're not honest over time they get so is there for me as a consumer to send that like hey I've been trying to use this provider but they like yes like completely down so like inside this protuff we have something called reports uh and if you are getting more reports from consumers uh over the the a few ebooks then you have served RPC to other users you will get jailed so basically let's say uh I'm talking to you and there's a lot of reports and these reports you can send them in any prot to any provider okay okay so you can send oh so I can send like that I'm I report for provider one I can set it to provider two yeah I can say oh this is the report list this guy is not answering yeah um so if you uh if the number of cus over inside the reports uh is uh if the number of cus served over time is uh less and reports okay so exactly so in theory but there's like a mul there's a multiplier there obviously so like just if I want to like grief one specific provider um I need to uh prettyy much I will be just sending reports all the time all the time send reports this guy doesn't answer this guy doesn't answer zero quality of service yeah and so uh so how how do you because like I can create you know infinite number of consumers to do that well you would you're going to have to have a subscription for each one for each one yeah right so it's that's like a cost uh fine tuning right so if it cost $20 to buy this and there's like a 100 consumers um and they are all not malicious then you would need to you know you buy another you need to work more with that provider than all the report uh have a lot of reports against him more than the actual service the provider gave in cus yeah well I mean like the reason why would I do this is and as a provider I want to kick somebody out right with higher stake and so I would be incentivized to send a bunch of reports so I can like buy a bunch of subscriptions um hope that you get them in the pairing which reduces the the number so the pairing is is also the it's binding right like you cannot connect to someone who's not the provider checks is this guy in my pairing exactly and the other way around got it well yeah I mean I like probably the people you want to kick out is like at the top who has like highest quality of service and the most steak right yeah I mean bring them down yeah you'll have to coordinate between all of the uh subscriptions or well you need to get a bunch of subscriptions for example to do that yeah and this but if it's in the top it's unlikely that he's not going to be serving a lot of cus to other uh users yeah so it's unlikely that your report cus is going to be enough to bring it up yeah yeah well I mean you can do it by like spinning up a you know public consume consumer that is serving actually a bunch of other but you're going to have to pay a lot to to do that yeah right so I think uh on mainnet it's a it's a question of like pricing fine tuning the pricing yeah yeah and like I mean you probably will see if like is like a bifurcation of like highest quality of service High St getting jailed is probably like somebody's playing with this okay yeah and then I guess the other interesting thing is I mean you mentioned a couple times is that I mean it's blockchain so it's eventually consistent so you do have different RPC nodes at a different state correct especially for faster chains yes uh like one second blocks for example yeah and and um so you do get actually different response uh from yes so as remember we were talking about the parser for each call so when you do get latest on lava we actually parse that and we uh the provider parses that and and uh it takes that changes that to his latest block and when he flies back he shows you this is the RPC block that you got and the consumer also keeps track of the destination blockchain um block height mhm so that it knows and and he can also say if it's 1 second it's been 5 Seconds it should be 105 yeah so this is part of the like Optimizer pretty much it's part of the optimizer yes there's like a when a provider finishes talking when he talks to a consumer in his signature also what's my lce block okay and block cash yeah and this can be used against him by the way if he lies about it well if he like gives completely wrong hash yeah if the block hash doesn't it's like yeah but you cannot use it if like just stale yes if it's stale it's it's okay the RPC consumer Optimizer will probably not talk to yeah it'll just like stop yeah I'm just like the optimize you can set a few different strategies right you can go for latency you can go for uh freshness availability okay yeah I'm just the the direction of thinking was more like can I pretty much spam with forks for Pino to like try to get it to be slashed uh spam it with forks yeah so like I'll create a fork on a chain right which you know um for some chains I mean not any not anymore yeah BF is fast finality it's going to be tough yeah uh well you can create Fork like you know in salana for example creating Forks is super easy right and so so I'll I'll like be a peer-to-peer node for this yesc I'll be sending this for Works they're R quicker so when somebody like uh asking right it's not the final block but yeah my slot is very high yeah and so so people like pretty much get something that's like you know the main chain continues of this so they got like misinformation this validator is not getting slashed because it's like valid Fork uh just like reworked out that's difficult that's difficult to solve uh with these types of blockchains right because well it's also on ethereum youum exactly you can have a reorg and you can have a a partition state but this is for any RPC service it's not something we we could solve right we just don't want to slash these well I'm I'm just saying like as a as a malicious actor who wants to bring a specific provider down I can like getting you know no but if he if he provides a true block like a block that is actually valid he should not be slashed right but here it's a different question it's a question of how many people how many valers voted for this slot right well I'm saying nobody voted because I I just produced this block and I never showed it to anyone except this note yeah I no I see what you're saying that's I'm saying I'm griefing with a fork pretty much yeah that's interesting and and I do this like every time I have a so the question is like then the results because this is different uh state right so I mean this RPC will re rework like next you know second or next 12 seconds but um so so one thing that we could do uh that we have is that you can ask for a CO from the consumer so a consumer can say I don't want to response if this is this type of blockchain where there's a lot of uh for griefing um I want I want to have a quorum of at least uh two responses or three responses before pushing it down back to the user this is one way to solve this the other way is to look at how many what's the actual threshold what's how many actual signatures are in this block and ask that from the consu from the uh Provider from the RPC yeah well that's that's just latency like that's why just waiting for finale yeah I mean the the in Sal specifically right you can just like you're producing your own blocks in parallel right yeah like you can be just in they Val Solana is one of the most difficult chains to provide RPC for I'll just yeah yes okay um cool I mean this all makes sense uh and kind of provides yeah a way to pretty much access the centralized pool of RPC providers they can permissionless come in and participate you can permission launch new Networks which is really cool and new like API one one cool feature is that if you look at this SDK which is our actual final vision is not to go through any Gateway just use the SDK directly from the browser you actually don't need any any Central server at all exact you just load a list from the blockchain yeah you don't need to talk to the blockchain well to to to your blockchain yeah yeah you so forget about L of blockchain for one second you produce a snapshot yeah of all the validators of lava yeah uh and they all have to provide service for lava RPC uh you create a snapshot every month they are staked on this uh stake and they can only unbond over you know 3 weeks or four weeks MH uh and then you just load that file mhm uh on your SDK you can load it from a server you can load it locally you can create your own Snapchat uh and then you can just use this protocol which already has um you know the conflict detection quality of service to talk to lav RPC providers we call it LOL lava over lava okay I see yeah so I mean you and then ideally you have like a like like a very cheap like client like when validators rotate that you can just update this you just need uh there's a few ways to do it we're just doing with with a file and we can ask the validators the providers for lava networks back the unbonding time we can make it like six months yeah but I mean I mean like you can update the validator set here right you could also do that yes by just cre validators and but then you need to run stuff it's more well just signatures of validator set of a new validator set yeah you could do that you can rely on some snapshot block uh some height that you trust and update devel set based on signatures yeah yeah it's just like I mean usually it's it's kind of this like validator update pretty much light client so you have new validator set that's signed by the like super majority of pevious others yeah actually I think uh uh com B and Cosmos s DEC they have a light client yeah exactly I mean Cosmos has that yeah yeah yeah yeah I we have that f as well um it's very useful for Bridges and for other stuff okay um Lava over lava yeah that's a all right um anything else we should know no I think we covered a lot uh there's obviously a lot of fine details in in the protocol so every every one of these aspects we've worked on a long time try to to make sure it's uh you know reliable mhm yeah but I mean the high level is like because of chain right this is like you know it's kind of an overlay Network on regular RPC but it allows to route to any provider and then you have a blockchain which is like actually doing settlement and corre kind of economic and I think the the superpow is like being able to parse the queries and like say oh this is this block number oh this is a you know a trace function and being able to Route them yeah but also to validate uh the responses yeah yeah no that's that's fair powerful for sure and yeah I mean I think like you can probably continue expanding this functionality to Consumer is able to like reason more about like what providers do yeah yeah really cool all right well hopefully this was educational and check out lava yeah lavet XYZ right yeah exactly yeah and uh try it out for your applications amazing thank you thank you","transcript_synced_at":"2026-11-03T06:06:51.921Z","segments":[{"start_seconds":4,"text":"hello everyone we are joining here from East Denver with Gil uh founder of lava Network and I'm excited to dive in and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=4s"},{"start_seconds":12,"text":"how lava works so go introduce yourself lava Network and let's dive in into how it works yeah thanks and thanks for having me my name is Gil binder I'm the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=12s"},{"start_seconds":21,"text":"co-founder and CTO of uh lava networks uh we've been building uh a modular data access layer for blockchains basically","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=21s"},{"start_seconds":29,"text":"uh it's a way to access uh data from different blockchains using rpcs and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=29s"},{"start_seconds":36,"text":"apis all right so let's dive in how it works yeah so in lava we have uh few","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=36s"},{"start_seconds":43,"text":"different uh roles on the network we have validators um we have uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=43s"},{"start_seconds":54,"text":"providers who provide data we have Champions who build the access and this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=54s"},{"start_seconds":60,"text":"manifests that Define how to access the uh blockchain data um and we have consumers who access","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=60s"},{"start_seconds":68,"text":"the data so basically maybe before that let's like so RPC Network and kind of data","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=68s"},{"start_seconds":76,"text":"Pro yeah sure so when a user you know uh goes to his wallet on metamask or","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=76s"},{"start_seconds":83,"text":"whatever they need to see his account balance uh they need to send transactions uh they need to uh you know","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=83s"},{"start_seconds":90,"text":"get the spot price of you know some kind of uh pair of tokens to do that they","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=90s"},{"start_seconds":97,"text":"have to use uh RPC basically uh the user creates a query and traditionally it sends it to an RPC","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=97s"},{"start_seconds":105,"text":"server an RPC server uh is usually just a full node of that blockchain that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=105s"},{"start_seconds":113,"text":"syncs with the other nodes on the blockchain let's say we have a lot of nodes and the RPC node is connected and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=113s"},{"start_seconds":121,"text":"has a local state it keeps progressing the blockchain obviously storing the local state and then it retrieves the data for the user executing is RPC and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=121s"},{"start_seconds":130,"text":"returns for example the account balance so this is the most basic usage of RPC","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=130s"},{"start_seconds":136,"text":"mhm and so okay yeah so for the other data types","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=136s"},{"start_seconds":144,"text":"um we can go into that later yeah but this is the most basic uh usage basic yeah you can also obviously index data","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=144s"},{"start_seconds":152,"text":"uh on the back end for example for to show like a graph MH so the way it works in lava is that we have uh basically a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=152s"},{"start_seconds":160,"text":"blockchain the communication is still offchain so we've built a protocol uh a blockchain uh an offchain protocol uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=160s"},{"start_seconds":169,"text":"and we also built a blockchain uh to coordinate uh all the nodes and everything like that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=169s"},{"start_seconds":175,"text":"so when a consumer uh sends an RPC call in lava it sends it directly to the providers on lava so maybe you should","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=175s"},{"start_seconds":183,"text":"start with giving an example of of let's say ethereum yeah so uh we have a champion they Define a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=183s"},{"start_seconds":192,"text":"manifest basically a Json file with all the different API calls that you can do and RPC calls that you can do on","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=192s"},{"start_seconds":199,"text":"ethereum uh so let's for example say uh if","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=199s"},{"start_seconds":206,"text":"call uh e let's just say get balance right and the list goes on and this is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=206s"},{"start_seconds":214,"text":"what makes by the way lava modular is that we have these manifests um then the the champion sends this manifest onchain","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=214s"},{"start_seconds":221,"text":"and basically we have a list of manifests uh of all the different blockchains uh the incentive for the champion is that all the traffic that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=221s"},{"start_seconds":230,"text":"goes through this uh specification basically he can get some portion of the rewards for the traffic mhm the second","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=230s"},{"start_seconds":237,"text":"thing that we have we have providers providers are basically these node runners in traditional web 2 you can","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=237s"},{"start_seconds":245,"text":"think of them as uh like uh the devop them that is running all the servers so in lava we have providers they basically","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=245s"},{"start_seconds":253,"text":"stake tokens um let's take them put them","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=253s"},{"start_seconds":260,"text":"here and they stake on these specs that gives them the ability to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=260s"},{"start_seconds":268,"text":"provide uh users access to the to these RPC codes okay so providers yeah it's just","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=268s"},{"start_seconds":278,"text":"for examples right it can be in fura it can be you know near like pagot RPC they","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=278s"},{"start_seconds":285,"text":"are know which types of RPC nodes they're running so they find out of the all of the um specs we call them specs","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=285s"},{"start_seconds":294,"text":"and uh they say okay I will be providing this spec and for that I need to stake","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=294s"},{"start_seconds":300,"text":"the lava tokens yes and that pretty much guarantees the quality of service exactly yes so the staking mechanism is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=300s"},{"start_seconds":309,"text":"there to to ensure that the provider is providing quality data uh it ensures that they have a stake in what they're providing so if someone basically a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=309s"},{"start_seconds":317,"text":"provider is trying to provide malicious data or uh is giving fake data uh we have a mechanism we can talk about it later it's called conflict detection to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=317s"},{"start_seconds":326,"text":"catch it uh upload it on chain and slash or jail for doing that okay and then from consumer side I'm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=326s"},{"start_seconds":335,"text":"assuming now as a user your wallet will now use a different you know will not go directly to in fura but will now use a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=335s"},{"start_seconds":344,"text":"different URL so how does that data flow works great question so in lava we have","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=344s"},{"start_seconds":351,"text":"um so as I was saying we have an onchain protocol right and we have the offchain protocol mhm the reason we have two uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=351s"},{"start_seconds":359,"text":"the offchain protocol is because when you're using RPC you need to you know get a lot of messages right you need to send a lot of queries and get a lot of","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=359s"},{"start_seconds":367,"text":"data if you needed to do that on chain that wouldn't be very fast it would be very expensive and slow so we basically","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=367s"},{"start_seconds":375,"text":"built a way to rep uh a query let's say we're getting the balance here yeah uh it's called get we have what we call a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=375s"},{"start_seconds":383,"text":"consumer uh server uh that is like a proxy it takes the get uh query repset a protuff mhm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=383s"},{"start_seconds":392,"text":"and uh the user this what what we call a consumer they sign the message M and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=392s"},{"start_seconds":399,"text":"send it to the to any of the providers so as I was saying providers can stake on the network y so let's say we have","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=399s"},{"start_seconds":407,"text":"one provider two provider three provider four providers and they are all connected to the RPC nodes M","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=407s"},{"start_seconds":414,"text":"right oh the providers are running RPC yeah they are running RPC nodes and individually MH and these are all","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=414s"},{"start_seconds":422,"text":"connected to blockchains yeah so now as a user um they take the protuff uh this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=422s"},{"start_seconds":430,"text":"is a grpc protocol so it's very fast and uh supports streaming so it's very nice uh the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=430s"},{"start_seconds":440,"text":"providers they uh unrep the protuff and send the relay regularly to the RPC node M they get the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=440s"},{"start_seconds":448,"text":"response back they wrap it back back up they sign it with their public key that they used with the private key that they used on chain to stake or some other key","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=448s"},{"start_seconds":456,"text":"but it's uh yeah they're Associated yeah and they're Associated and they get to the user MH the user on repet and sends back the response to the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=456s"},{"start_seconds":465,"text":"user okay so consumer pretty much in a way your gateways which are the kind of from the you know client side they just","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=465s"},{"start_seconds":473,"text":"use Gateway URL to send regular RPC requests and then this is kind of your off protocol so so we have two ways to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=473s"},{"start_seconds":481,"text":"do it right so you can this is like open source so you can run your own Gateway yeah or we have a typ script implementation of the same consumer code","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=481s"},{"start_seconds":490,"text":"that you can just run here inside the wallet inside the wallet inside the application exactly and so okay so then","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=490s"},{"start_seconds":497,"text":"on the consumer side uh you sign the protuff as your key and then why are you sending it to multiple providers well you only send one at a time right so","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=497s"},{"start_seconds":506,"text":"basically here uh on the RPC consumer and also here on the S we have what we call the provider Optimizer M provider Optimizer uh let","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=506s"},{"start_seconds":514,"text":"call op it probes so maybe we should start with how do you know which providers to talk to yeah so as I've","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=514s"},{"start_seconds":522,"text":"said providers take onchain on a specific uh spec which is a blockchain usually and uh they stake a certain amount of tokens uh so for example today","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=522s"},{"start_seconds":531,"text":"on testnet we have like almost 400 providers M staked obviously you're not going to talk to every single provider it's too it's too many also you want to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=531s"},{"start_seconds":539,"text":"give equal opportunity to Providers to talk to different consumers M so we have a s of random function um that runs on","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=539s"},{"start_seconds":547,"text":"chain uh like an RPC call it's called get pairing and it basically returns every Epoch every 15 minutes a different","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=547s"},{"start_seconds":554,"text":"list of providers based on their stake it's stake weighted uh function mhm so now uh you get this list and the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=554s"},{"start_seconds":563,"text":"consumer gets this list and it has uh can start probing these uh providers so the first thing it does the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=563s"},{"start_seconds":570,"text":"optimizer starts probing based on weight uh and seeing who replies the fastest and who has the latest block right so","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=570s"},{"start_seconds":578,"text":"now they can uh basically give the consumer the best service possible okay so you pretty much check","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=578s"},{"start_seconds":585,"text":"for latency and check that they are presumably up to date MH um you're not validating like client presume so you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=585s"},{"start_seconds":593,"text":"don't know actually they have the latest block just checking that yeah but we can yes but we can estimate and we can see if someone's like way ahead of somebody","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=593s"},{"start_seconds":600,"text":"else they also because the uh as I've said they signed the replies they're basically committing to a block hash mhm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=600s"},{"start_seconds":608,"text":"so if they're telling you oh I me block 1 million you know and the blockchain is at 100 they sign it and then they can be","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=608s"},{"start_seconds":615,"text":"SL they can present that okay okay so then um so how's providers getting paid and let's say consumer is paying for","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=615s"},{"start_seconds":623,"text":"this request so they signing it how does this get settled on blockchain to actually do the payment so every every time a consumer starts talking to a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=623s"},{"start_seconds":632,"text":"provider it starts a new session it's like a random uid okay uh and um there's what we call a compute unit so in","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=632s"},{"start_seconds":639,"text":"addition to the function call there's the cost of the call compute units right so we call it CU um and uh it says let's say eth call","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=639s"},{"start_seconds":647,"text":"is 10c right uh the consumer knows this because it gets the list of all specs and it has it stored locally mhm and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=647s"},{"start_seconds":656,"text":"then when you send let's say uh we said uh e call to the provider in the pru","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=656s"},{"start_seconds":662,"text":"that you sign uh you say total CU MH equals 10 right you send it over session let's say Session","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=662s"},{"start_seconds":671,"text":"One you send it to the provider the provider checks that your your key can use the services M and uh sends back the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=671s"},{"start_seconds":679,"text":"response when you want to get another eth call instead of writing 10 you write 20 mhm you send it back to the provider he knows that you already had 10 so he","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=679s"},{"start_seconds":687,"text":"can charge you now for 20 at the end of the session uh the provider takes the last prot buff right and sends it on","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=687s"},{"start_seconds":694,"text":"chain okay so pretty much consumers kind of tracking how much they used providers also per session tracks how much that session have used already and then when","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=694s"},{"start_seconds":703,"text":"session is done you can just settle it on chain yeah they send a transaction and at the end of like an epok they get","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=703s"},{"start_seconds":711,"text":"paid okay and so it's not exactly accurate because we also have subscriptions yeah well I mean even in this model right so as as a consumer do","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=711s"},{"start_seconds":720,"text":"I initiate session on chain as well no you need to no need so how is the tokens locked for let's say My Consumer balance","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=720s"},{"start_seconds":728,"text":"is you know zero a great question so we initially we were thinking about how to solve this and we said instead of going","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=728s"},{"start_seconds":736,"text":"for a pay as youo model which we had initially let's go for subscriptions on change subscriptions it's like a sess uh the consumer goes on chain they buy a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=736s"},{"start_seconds":744,"text":"subscription for 30 days uh the subscription defines how many C they have have okay and then we every time you do a payment reward you just","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=744s"},{"start_seconds":752,"text":"withdraw from yes exactly right so you pretty much on chain you have somewhere like you know consumer one has you know","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=752s"},{"start_seconds":761,"text":"like thousand CU budget and uh you know it's like time to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=761s"},{"start_seconds":768,"text":"life is you know 28 days left kind of thing exactly yes and so and then consumer need to just renew this with a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=768s"},{"start_seconds":775,"text":"transaction he can buy for a whole year or you can renew it okay and so so okay this is cool um how are you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=775s"},{"start_seconds":783,"text":"pricing this that's a great question so when we first started we're like we looked at all the competitors trying to price it uh so we put in jpt and got a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=783s"},{"start_seconds":792,"text":"you know good result I think it's still too early to say uh we're hitting mayet next month and I think the governance of the token","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=792s"},{"start_seconds":800,"text":"will decide the pricing of the packages this is all determined all the packages on chain are determined by governance okay so pretty much I mean there is like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=800s"},{"start_seconds":810,"text":"I mean for a Simplicity there's some smart contract which says you know you call subscribe you attach you know some","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=810s"},{"start_seconds":817,"text":"amount of lava yes and so that that I mean contract presumably it's just your module in Cosmos SDK right it's a module","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=817s"},{"start_seconds":824,"text":"in go yeah uh so you say like uh duration and do you specify cuse or it","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=824s"},{"start_seconds":832,"text":"kind of duration gives you so think about when you go to a sass website and you see like oh I'm getting yeah I'm subscribing 100 users $10 per user so","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=832s"},{"start_seconds":840,"text":"it's the same thing on chain well like is there like another parameter which is like yeah the name of the subscri the index of the uh package that they're","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=840s"},{"start_seconds":849,"text":"buying okay there's the package index got it okay so yeah so there's like some","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=849s"},{"start_seconds":856,"text":"packages that governance defined which is like exactly 10,000 to use 100,000 to use and yeah and you have all these parameters as well like you can Define","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=856s"},{"start_seconds":864,"text":"how how big is the pairing list is it like five providers 10 providers for Enterprise they might want to only talk to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=864s"},{"start_seconds":871,"text":"providers who are kyc or KYB right so in the Enterprise package they can specify which providers they want for example","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=871s"},{"start_seconds":879,"text":"okay cool um okay so so from provider perspective I come in I say hey I'm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=879s"},{"start_seconds":887,"text":"running you know this five chains so I'm stake on on this five chains the higher my stake is the more I will get traffic","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=887s"},{"start_seconds":895,"text":"pretty much yes um and then I'm pretty pretty much Runing and blava node which is kind of a front for receiving uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=895s"},{"start_seconds":904,"text":"requests and I route them to my RPC nodes and this front pretty much accepts","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=904s"},{"start_seconds":911,"text":"requests routes into RPC yes and then keeps track of all the sessions for all the consumers and then sett them and sessions done do you have like time to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=911s"},{"start_seconds":920,"text":"live for sessions um yeah sessions are actually I think sessions are uh you you create a new session every Epoch okay","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=920s"},{"start_seconds":928,"text":"which which is 15 minutes on chain and they keep track of the block height of the lava chain I see so they know when aook is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=928s"},{"start_seconds":936,"text":"changing okay so like every 15 minutes they settle and yeah they have like two hours to settle","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=936s"},{"start_seconds":943,"text":"actually they can settle later if it's really busy okay so yeah I'm just like thinking of the of the traffic from","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=943s"},{"start_seconds":951,"text":"providers alone right it's yeah we're seeing yeah it's a it's a lot of traffic it's very interesting to see uh but actually you know one of the things that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=951s"},{"start_seconds":959,"text":"we've built as I've said we have these specs yeah and then we have this protuff right yeah now in the spec you can tell","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=959s"},{"start_seconds":967,"text":"the specific query how to parse it so now you set a parser and the query uh the both the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=967s"},{"start_seconds":977,"text":"onchain and the offchain can take look at the query and take the block let's say the block height from the query so that gives us the superpower of","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=977s"},{"start_seconds":985,"text":"basically um sending for example let's say this provider only has uh the latest latest blocks right mhm so and let's say","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=985s"},{"start_seconds":993,"text":"this provider is archive which is more expensive because they have to store a lot more data they have to store all the states uh uh the consumer when he gets","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=993s"},{"start_seconds":1002,"text":"the query can parse the uh the number the block height and send it to the right provider okay so so this is done","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1002s"},{"start_seconds":1010,"text":"on on consumer like there's a specialized code or it's part of the spec that you can route to different there's a in the spec you def find the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1010s"},{"start_seconds":1019,"text":"parser and then the parser sits on the consumer and basically calls into the consumer parser for this specific query","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1019s"},{"start_seconds":1027,"text":"but I mean where is the logic that decides that this provider is archival versus this provider only when they stake they they can say like I'm staking","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1027s"},{"start_seconds":1034,"text":"for let's say e mhm uh spec uh with the uh archive add-on okay so there's like set of tags pretty","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1034s"},{"start_seconds":1043,"text":"much it has but there's no like kind of provider could just specify a function","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1043s"},{"start_seconds":1051,"text":"like it could be provider specifying parser that says like if this condition satisfies send it to me no they cannot do that they would have to modify the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1051s"},{"start_seconds":1059,"text":"spec with governance yeah yeah but I'm just saying as an alternative you can have provider when they stake also specify a parser for for their like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1059s"},{"start_seconds":1068,"text":"route me stuff that looks like this and so they parse the function it says yes route to this provider or not and then you can maintain pretty much set of","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1068s"},{"start_seconds":1077,"text":"parsers yeah so so just kind of allows providers to Define better what they want to rece yeah one of the things is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1077s"},{"start_seconds":1084,"text":"we're cons we have to worry about is what if providers say they have archives but they're they're returning you know nothing yeah so on the spec we also have","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1084s"},{"start_seconds":1092,"text":"what we call validations so uh it's like a query that is built in into the spec","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1092s"},{"start_seconds":1101,"text":"they can check that the provider is no line for example it can say um let's say uh give me block know zero yeah and if","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1101s"},{"start_seconds":1110,"text":"the provider is not able to do that anyone can take that query cuz and the response of the query is signed by the provider and they can upload it to the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1110s"},{"start_seconds":1118,"text":"conflict mechanism with the validation of the block zero mhm and we know the the response should be some kind of","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1118s"},{"start_seconds":1127,"text":"block so I mean okay so yeah let's talk about challenges pretty much so so there's a one is invalid data right yes","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1127s"},{"start_seconds":1137,"text":"and two is no response yes well malicious data is invalid right so","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1137s"},{"start_seconds":1144,"text":"invalid data yeah so this is the example I'm asking for Block zero this provider is like I don't not actually Aral note so I'll just reply with like random","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1144s"},{"start_seconds":1152,"text":"block uh like block you know 5,000 and so this consumer how does this consumer actually like even realizes to do this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1152s"},{"start_seconds":1160,"text":"that's a great question so it's a role of the dice it's optimistic right okay so let's say I'm asking for this blog you reply back with some nothing","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1160s"},{"start_seconds":1169,"text":"uh every once in a while I will also randomly ask another guy yeah same question and because it's a blockchain","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1169s"},{"start_seconds":1176,"text":"the response should be uh deterministic with the same answer and okay so then if I see a conflict coming in then I can just submit this to validation and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1176s"},{"start_seconds":1184,"text":"validation takes uh pretty much two responses right yes two hashes uh from two different one","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1184s"},{"start_seconds":1194,"text":"query hash and two response hashes okay so yeah so query and then one response and two response and so how does the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1194s"},{"start_seconds":1201,"text":"validation know which one slash okay it's a voting mechanism chain right oh so it's it like this is just recorded this is a conflict and these are salted","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1201s"},{"start_seconds":1210,"text":"so it's a it's like a commit and reveal hash okay uh to see who's right so we ask basically all the providers mhm to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1210s"},{"start_seconds":1218,"text":"then make the query and uh return back uh their answer on chain MH they uh they","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1218s"},{"start_seconds":1225,"text":"add assault and then they reveal the assault and in the end whoever's wrong can get slashed okay so you're pretty much yeah so then whoever's in the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1225s"},{"start_seconds":1233,"text":"minority they might not be wrong but let's hope let's hope the majority are honest","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1233s"},{"start_seconds":1239,"text":"okay and because I mean the way the way to well we'll talk how to trick this but uh so so okay so you pretty much","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1239s"},{"start_seconds":1249,"text":"launching this and so is this has a time period when this validation happens yes there's like a a clock on how long you can do it for and and so what happens","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1249s"},{"start_seconds":1258,"text":"when if there's not enough like if providers didn't vote or if there's not enough uh uh answers they they can get","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1258s"},{"start_seconds":1265,"text":"slashed like the providers can get slashed or jailed for not answering okay so you you're required if there is a challenge on Jing you need to actually go and like in the future we want to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1265s"},{"start_seconds":1274,"text":"reduce the number right now we just choose a random Quorum a stake weight okay but in the future we can make it more of like a jewelry mechanism okay all right so yeah so this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1274s"},{"start_seconds":1283,"text":"kicks off a process which runs for some T ebox I'm assuming yeah uh and then and then so you collect kind","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1283s"},{"start_seconds":1292,"text":"of responses from others and you say it's commit review so you you can you collect hashes first yeah plus salt and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1292s"},{"start_seconds":1302,"text":"then they reveal it and then you have pretty much you know whatever","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1302s"},{"start_seconds":1310,"text":"majority rules majority rules exactly slashed well slashed or jailed we don't","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1310s"},{"start_seconds":1317,"text":"want to slash usually because it's a very uh you know it's a drastic measure okay and I think something we have to test and F tune on mainnet the exact","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1317s"},{"start_seconds":1326,"text":"parameters yeah so far yeah I mean if somebody keeps you know giving bad data they should get slashed at some point so then if there's no response so as a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1326s"},{"start_seconds":1335,"text":"consumer I I ask this you know give me block zero and just don't hear back yeah so we glimpsed over a very important aspect which is quality of service yeah","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1335s"},{"start_seconds":1343,"text":"so we spoke about cus uh we spoke about the sessions but also something we called uh we have two types we have the uh passible quality of service mhm and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1343s"},{"start_seconds":1352,"text":"we have uh Excellence quality of service these are two different ones pass is basically availability uh is this guy","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1352s"},{"start_seconds":1361,"text":"answering is this provider answering or is it just timing out every single time uh we have uh freshness like where are","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1361s"},{"start_seconds":1369,"text":"you in the blockchain yeah and we can Al actually also uh look into the future because we know that every block is let's say one 12 seconds and it's right","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1369s"},{"start_seconds":1378,"text":"here in the spec mhm so we know that okay uh most likely you're going to have this block in 6 seconds you should have","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1378s"},{"start_seconds":1385,"text":"it mhm um so and we have latency which is the easiest one so this this consumer basically uh the passable is just zero","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1385s"},{"start_seconds":1393,"text":"and ones uh averaged over time so if this guy doesn't answer you create this uh prot buff for him and you just say","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1393s"},{"start_seconds":1401,"text":"you know zero on the availability over time when you talk to him sometimes he answers sometimes he doesn't maybe he's going to have 50%","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1401s"},{"start_seconds":1408,"text":"avail ility uh when you end a session with him uh you just basically send him this report","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1408s"},{"start_seconds":1415,"text":"card so to get payment he has to upload it on chain and uh basically he's not going to get let's","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1415s"},{"start_seconds":1423,"text":"say he did very badly he's only going to get like 50% of the rewards um and not the whole 100 so you sending them report","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1423s"},{"start_seconds":1431,"text":"card the user cons the consumer sends a report card to provider and provider needs to attach that to when Settles","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1431s"},{"start_seconds":1438,"text":"correct and so they would do that because they want to get paid it's a subjective uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1438s"},{"start_seconds":1446,"text":"mechanism right yeah yeah so if they get very bad service they will send it to the provider and if the provider sees that you know I don't want to keep","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1446s"},{"start_seconds":1454,"text":"giving service to this user then he can just stop okay so yes a few questions so one is I cannot send then so let's say like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1454s"},{"start_seconds":1464,"text":"user comes in sends me like first request I don't reply to it and then I say okay session is closed with the what just what that one","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1464s"},{"start_seconds":1473,"text":"request they they can they can do that okay that's one of the yeah we it's it's a trade-off right yeah so like you can lose a little bit it's 10 cus but you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1473s"},{"start_seconds":1481,"text":"generally have like hundreds of millions of cus so so it's not much yeah and then","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1481s"},{"start_seconds":1487,"text":"so then like I just you know stop using this presumably if they don't reply to me or if they reply like you know","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1487s"},{"start_seconds":1496,"text":"intermittently yeah like every 10% they drop for examp I might move to somebody else uh okay and then like how so this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1496s"},{"start_seconds":1504,"text":"report card how is that enforced like like the consumer it's it's what do you mean look when do you send this report as you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1504s"},{"start_seconds":1512,"text":"go oh like for every request part of and then so when you submit it it needs to have that report it has to have it yes","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1512s"},{"start_seconds":1520,"text":"okay and it's sign yeah so that report is signed by sign by the consumer Okay so so yeah so consumers","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1520s"},{"start_seconds":1529,"text":"can yeah potentially say like oh you haven't replied to me at all and then provider will just like okay I'm not going to maintain connection to this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1529s"},{"start_seconds":1537,"text":"consumer exactly if the consumer is like really really malicious and he's trying to say oh this guy is always you know answering I'm just not going to talk to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1537s"},{"start_seconds":1545,"text":"you guys and then okay yeah so pretty much provider maintains you know Blacklist of consumers they don't want to work with yeah but this is more more","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1545s"},{"start_seconds":1554,"text":"effective for uh the Excellence quality of service M this is actually like a zero or one yeah so if you're under 200","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1554s"},{"start_seconds":1560,"text":"M for example and it's also uh in the spec then you get you get one if you're you know but if what if you're very very","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1560s"},{"start_seconds":1568,"text":"fast what if you're like 20 milliseconds yeah uh how do you measure that so this is what we have the Excellence for mhm so the Excellence is very similar only","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1568s"},{"start_seconds":1576,"text":"it uses more objective uh numbers objective scores it's also included in the report it goes on chain but it","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1576s"},{"start_seconds":1583,"text":"actually affects future um pairing if you remember pairing it affects future pairing with these","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1583s"},{"start_seconds":1591,"text":"providers okay so you it's not just stake based it's also kind of Excellence score yeah so this the excellent score is uh calculated into the provider and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1591s"},{"start_seconds":1599,"text":"then this is like a reputation yeah uh and it's like a half-life uh situation where is the newer scores are more affect affecting affect the overall","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1599s"},{"start_seconds":1609,"text":"score uh over time and this the the older ones basically reduce they get decayed okay so just like a weighted","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1609s"},{"start_seconds":1617,"text":"average pretty much much over time uh and so excellent score how is that computed exactly Again by the by consumer you let's say you have 20 Mills","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1617s"},{"start_seconds":1626,"text":"you then you will actually write 20 milliseconds okay and this will you can use this uh objectively against other providers I","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1626s"},{"start_seconds":1635,"text":"see and but like I mean I'm assuming let's say as a provider I have you know a like 100,000 consumers connecting to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1635s"},{"start_seconds":1642,"text":"me so I'm going to send 100,000 like session closes and uh I need to close the like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1642s"},{"start_seconds":1651,"text":"how's that averaged out on chain across like 100,000 so it's it's a really good question uh hopefully it's not going to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1651s"},{"start_seconds":1658,"text":"be 100,000 usually the consumers are more like in the lower numbers well if you assume it's an SDK and sign a wallet","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1658s"},{"start_seconds":1665,"text":"yes if it's an SDK then uh you still the SDK uh will still have a session you're right and you're going to have to close it uh for that we're going to do","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1665s"},{"start_seconds":1674,"text":"aggregations M uh on the provider side okay we don't do the yet uh because we usually only have about 10 consumers who","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1674s"},{"start_seconds":1681,"text":"do all the traffic yeah I mean you have right now gateways right people and the Gateway is mostly used yes but yeah in general if we do want to become this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1681s"},{"start_seconds":1691,"text":"decentralized this will be on the other side as soon as this scales we will we will have to do aggregations we already have some research around it so like is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1691s"},{"start_seconds":1698,"text":"it gay proof of aggregation or no we can do that uh or we can just uh we can ask the consumer can you give me a total of","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1698s"},{"start_seconds":1706,"text":"all the sessions for but I mean ni if you have a lot of consumers yes like a lot of how do you aggregate all yes","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1706s"},{"start_seconds":1712,"text":"you're going to have to do some ZK yeah okay uh got it so then you just you can aggregate all the signatures from the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1712s"},{"start_seconds":1720,"text":"all the users all the providers chain yeah exactly well it's if you have a you can just ZK proof compress all","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1720s"},{"start_seconds":1726,"text":"signatures as a provider okay um that makes","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1726s"},{"start_seconds":1732,"text":"sense uh and so you can add pretty much new chains by you know chion coming in yeah saying okay here's a new spec","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1732s"},{"start_seconds":1740,"text":"providers then like okay cool we're going to provide so probably some one of the providers will just do it Be A Champion that's a good idea for","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1740s"},{"start_seconds":1747,"text":"them yeah uh if they support new like new chain that's not there yet and then uh and then yeah you have currently","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1747s"},{"start_seconds":1757,"text":"like spe specific consumers which are just kind of gateways but then people can spin up their own and presumably that has its own","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1757s"},{"start_seconds":1766,"text":"economic model through data and M as well as if people don't want to be exposed to that they can use this directly in their wallet or the app and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1766s"},{"start_seconds":1776,"text":"then they can pretty much route their traffic across different providers toize thems so if one's down you can talk to another one yeah if one's slow you can","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1776s"},{"start_seconds":1784,"text":"move on uh so you get all these you get all the best providers and they basically fight on the arena to get you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1784s"},{"start_seconds":1791,"text":"know to see who's the best one yeah another incentivization model we have is uh what's called incentiv public RPC mhm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1791s"},{"start_seconds":1799,"text":"it's basically a pool on chain on the spec yeah where anyone can sponsor send tokens to okay and Define how long","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1799s"},{"start_seconds":1806,"text":"they're going to be distributed for so let's say you send 100,000 tokens to this pool and say I want to distribute","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1806s"},{"start_seconds":1814,"text":"them over 10 months uh so every month uh this pool will distribute to Providers as well so it's a way for ecosystems to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1814s"},{"start_seconds":1821,"text":"come in uh and offer this incentive for providers to come in run nodes and provide service to users and so then","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1821s"},{"start_seconds":1829,"text":"like how do I as a consumer say actually don't charge me Bills as guys it's a it's so it's an","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1829s"},{"start_seconds":1836,"text":"addition so a consumer uh will still pay okay right uh but in it's uh the IPR PC is in","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1836s"},{"start_seconds":1844,"text":"addition this is just like more more revenue for providers it's not actually like taking out and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1844s"},{"start_seconds":1852,"text":"so okay so but then you're you're right now default gateway like if I go to Lava right now and set up like I get the RPC","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1852s"},{"start_seconds":1860,"text":"URL that they can just use yeah exactly you your this is this yeah it's your like we have a subscription we have a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1860s"},{"start_seconds":1868,"text":"subscription on chain that we bought and that is uh the private key that we use yes to sign all the requests okay we have a few subscriptions obviously but","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1868s"},{"start_seconds":1876,"text":"yeah yeah and so you're providing that um like as a like what's a what's a model there for subscriptions for no for","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1876s"},{"start_seconds":1884,"text":"you providing this subscription oh so uh we work with the foundation and and this is we basically have an agreement that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1884s"},{"start_seconds":1891,"text":"we help them uh run these servers okay right so this this is separate from this separate from incentivization okay this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1891s"},{"start_seconds":1900,"text":"goes directly to the providers that's what I was asking yeah so so you have separately say like hey we can set up a subscription for the ecosystem us or","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1900s"},{"start_seconds":1908,"text":"anybody wants to be a Gateway on lava can do it okay and through that you say okay well now uh you know up to this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1908s"},{"start_seconds":1918,"text":"many cus and so like you have API key here yeah that now you can actually uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1918s"},{"start_seconds":1925,"text":"rate limit on the consumer side and then correct pretty much provide the service yes these are usually dedicated uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1925s"},{"start_seconds":1933,"text":"subscriptions by governance they have a lot of cus so that you can bring in uh free users yeah cuz if you look at other","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1933s"},{"start_seconds":1940,"text":"uh if you look at web 2 type uh providers like Alchemy and fura they all have a free package how do you how do","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1940s"},{"start_seconds":1947,"text":"you how do you uh do a free package in web 3 so we have this partnership and basically we have the uh the big whale","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1947s"},{"start_seconds":1955,"text":"subscription and then we give them access and IPC is another way to bring all these providers to give this free service","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1955s"},{"start_seconds":1963,"text":"okay cool and then probably worse mentioning like this doesn't need to be RPC right this can be like any index or data this can be like any API and pretty","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1963s"},{"start_seconds":1973,"text":"much anything that you can specify as a spec that you can have you know to put the provider in front yes correct uh and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1973s"},{"start_seconds":1982,"text":"so don't I guess the anything that has deterministic data yeah deterministic data and like mostly reads right","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1982s"},{"start_seconds":1990,"text":"although you do support So for Trans okay reads this makes sense for for sending","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1990s"},{"start_seconds":1997,"text":"transactions uh you send transaction here you don't expect any response right usually get uh usually get a response","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=1997s"},{"start_seconds":2005,"text":"from the RPC that is sending a transaction obviously don't if it's included yet well so that's my question like how do you there's no way for you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2005s"},{"start_seconds":2011,"text":"to guarantee or like to to to slash right for for the provider not sending correct we don't have a way to do that but what we do with a transaction is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2011s"},{"start_seconds":2019,"text":"actually we usually spray them off to all the providers the reason is the nons issue yeah uh so when you talk to uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2019s"},{"start_seconds":2026,"text":"this is a a stickiness issue MH uh consistency issue when you talk uh to when you are trying to s a transaction","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2026s"},{"start_seconds":2033,"text":"you have to get your nons right so my nons is the account number on on the blockchain let's say I'm one yeah uh when I send a transaction I have to send","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2033s"},{"start_seconds":2041,"text":"this number uh along my transaction uh and then when I get a response back I need to increase it plus one yeah uh and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2041s"},{"start_seconds":2049,"text":"the way but the way worlds work is that they ask again the RPC what's my nons yeah but if you and the first uh pass go","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2049s"},{"start_seconds":2057,"text":"to this provider and the second pass go to the second uh second provider you might get a different nouns MH why because the first transaction was not uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2057s"},{"start_seconds":2065,"text":"yet included or even if it was included the second didn't receive BL RPC maybe not received the block so then the user sees this annoying message oh incorrect","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2065s"},{"start_seconds":2074,"text":"Nots M so one of the ways to solve there's a few ways to solve it one is stickiness saying okay as soon as you send a transaction we're going to stick","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2074s"},{"start_seconds":2082,"text":"you to this the consumer can say we're going to optimize and just stick you to this provider MH the second way is just to send to everyone to everyone and that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2082s"},{"start_seconds":2090,"text":"guarantees better execution probably yeah okay and then is sending","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2090s"},{"start_seconds":2096,"text":"transaction to use as well how you it's very low but it's very low okay all right that makes sense um and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2096s"},{"start_seconds":2106,"text":"generally if providers don't send the cus no one's going to end up using the service and they're not going to get paid yeah so we think of providers they","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2106s"},{"start_seconds":2114,"text":"should be usually honest participants yeah and like if they're not honest over time they get so is there for me as a consumer to send","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2114s"},{"start_seconds":2123,"text":"that like hey I've been trying to use this provider but they like yes like completely down so like inside this protuff we have something called reports","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2123s"},{"start_seconds":2132,"text":"uh and if you are getting more reports from consumers uh over the the a few ebooks then you have served RPC to other","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2132s"},{"start_seconds":2140,"text":"users you will get jailed so basically let's say uh I'm","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2140s"},{"start_seconds":2148,"text":"talking to you and there's a lot of reports and these reports you can send them in any prot to any provider okay okay so you can send oh so I can send","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2148s"},{"start_seconds":2155,"text":"like that I'm I report for provider one I can set it to provider two yeah I can say oh this is the report list this guy is not answering yeah um so if you uh if","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2155s"},{"start_seconds":2165,"text":"the number of cus over inside the reports uh is uh if the number of cus served over time is uh less and reports","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2165s"},{"start_seconds":2175,"text":"okay so exactly so in theory but there's like a mul there's a multiplier there obviously so like just if I want to like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2175s"},{"start_seconds":2182,"text":"grief one specific provider um I need to uh prettyy much I will be just sending","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2182s"},{"start_seconds":2190,"text":"reports all the time all the time send reports this guy doesn't answer this guy doesn't answer zero quality of service yeah and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2190s"},{"start_seconds":2197,"text":"so uh so how how do you because like I can create you know infinite number of consumers to do that well you would you're going to have to have a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2197s"},{"start_seconds":2205,"text":"subscription for each one for each one yeah right so it's that's like a cost uh fine tuning right so if it cost $20 to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2205s"},{"start_seconds":2212,"text":"buy this and there's like a 100 consumers um and they are all not malicious then you would need to you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2212s"},{"start_seconds":2221,"text":"know you buy another you need to work more with that provider than all the report uh have a lot of reports against him more than the actual service the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2221s"},{"start_seconds":2229,"text":"provider gave in cus yeah well I mean like the reason why would I do this is and as a provider I","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2229s"},{"start_seconds":2237,"text":"want to kick somebody out right with higher stake and so I would be incentivized to send a bunch of reports","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2237s"},{"start_seconds":2246,"text":"so I can like buy a bunch of subscriptions um hope that you get them in the pairing which reduces the the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2246s"},{"start_seconds":2255,"text":"number so the pairing is is also the it's binding right like you cannot connect to someone who's not the provider checks is this guy in my pairing exactly and the other way around","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2255s"},{"start_seconds":2264,"text":"got it well yeah I mean I like probably the people you want to kick out is like at the top who has like highest quality of service and the most steak right yeah","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2264s"},{"start_seconds":2273,"text":"I mean bring them down yeah you'll have to coordinate between all of the uh subscriptions or well you need to get a bunch of subscriptions for example to do that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2273s"},{"start_seconds":2281,"text":"yeah and this but if it's in the top it's unlikely that he's not going to be serving a lot of cus to other uh users yeah so it's unlikely that your report","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2281s"},{"start_seconds":2290,"text":"cus is going to be enough to bring it up yeah yeah well I mean you can do it by like spinning up a you know public consume consumer that is serving","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2290s"},{"start_seconds":2298,"text":"actually a bunch of other but you're going to have to pay a lot to to do that yeah right so I think uh on mainnet it's a it's a question of like pricing fine","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2298s"},{"start_seconds":2306,"text":"tuning the pricing yeah yeah and like I mean you probably will see if like is like a bifurcation of like highest","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2306s"},{"start_seconds":2314,"text":"quality of service High St getting jailed is probably like somebody's playing with this okay yeah and then I guess the other","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2314s"},{"start_seconds":2322,"text":"interesting thing is I mean you mentioned a couple times is that I mean it's blockchain so it's eventually consistent so you do have different RPC","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2322s"},{"start_seconds":2330,"text":"nodes at a different state correct especially for faster chains yes uh like one second blocks for example yeah and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2330s"},{"start_seconds":2337,"text":"and um so you do get actually different response uh from yes so as remember we were talking about the parser for each","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2337s"},{"start_seconds":2345,"text":"call so when you do get latest on lava we actually parse that and we uh the provider parses that and and uh it takes","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2345s"},{"start_seconds":2354,"text":"that changes that to his latest block and when he flies back he shows you this is the RPC block that you got and the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2354s"},{"start_seconds":2361,"text":"consumer also keeps track of the destination blockchain um block height mhm so that it knows and and he can also","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2361s"},{"start_seconds":2370,"text":"say if it's 1 second it's been 5 Seconds it should be 105 yeah so this is part of the like Optimizer pretty much it's part of the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2370s"},{"start_seconds":2379,"text":"optimizer yes there's like a when a provider finishes talking when he talks to a consumer in his signature also what's my lce block okay and block cash","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2379s"},{"start_seconds":2388,"text":"yeah and this can be used against him by the way if he lies about it well if he like gives completely wrong hash yeah if the block hash doesn't it's like yeah","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2388s"},{"start_seconds":2397,"text":"but you cannot use it if like just stale yes if it's stale it's it's okay the RPC consumer Optimizer will probably not","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2397s"},{"start_seconds":2405,"text":"talk to yeah it'll just like stop yeah I'm just like the optimize you can set a few different strategies right you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2405s"},{"start_seconds":2413,"text":"can go for latency you can go for uh freshness availability okay yeah I'm just the the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2413s"},{"start_seconds":2422,"text":"direction of thinking was more like can I pretty much spam with forks for Pino","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2422s"},{"start_seconds":2429,"text":"to like try to get it to be slashed uh spam it with forks yeah so like I'll create a fork on a chain right","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2429s"},{"start_seconds":2436,"text":"which you know um for some chains I mean not any not anymore yeah BF is fast","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2436s"},{"start_seconds":2443,"text":"finality it's going to be tough yeah uh well you can create Fork like you know in salana for example creating Forks is","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2443s"},{"start_seconds":2450,"text":"super easy right and so so I'll I'll like be a peer-to-peer node for this yesc I'll be sending this for Works","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2450s"},{"start_seconds":2457,"text":"they're R quicker so when somebody like uh asking right it's not the final block but yeah my slot is very high yeah and","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2457s"},{"start_seconds":2467,"text":"so so people like pretty much get something that's like you know the main chain continues of this so they got like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2467s"},{"start_seconds":2476,"text":"misinformation this validator is not getting slashed because it's like valid Fork uh just like reworked out that's difficult that's difficult to solve uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2476s"},{"start_seconds":2485,"text":"with these types of blockchains right because well it's also on ethereum youum exactly you can have a reorg and you can have a a partition state but this is for","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2485s"},{"start_seconds":2494,"text":"any RPC service it's not something we we could solve right we just don't want to slash these well I'm I'm just saying like as a as a malicious actor who wants","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2494s"},{"start_seconds":2501,"text":"to bring a specific provider down I can like getting you know no but if he if he provides a true block like a block that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2501s"},{"start_seconds":2509,"text":"is actually valid he should not be slashed right but here it's a different question it's a question of how many people how many valers voted for this","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2509s"},{"start_seconds":2517,"text":"slot right well I'm saying nobody voted because I I just produced this block and I never showed it to anyone except this note yeah I no I see what you're saying that's I'm saying I'm griefing with a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2517s"},{"start_seconds":2525,"text":"fork pretty much yeah that's interesting and and I do this like every time I have a so the question is like then the results because this is different uh","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2525s"},{"start_seconds":2534,"text":"state right so I mean this RPC will re rework like next you know second or next 12 seconds but um so so one thing that","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2534s"},{"start_seconds":2543,"text":"we could do uh that we have is that you can ask for a CO from the consumer so a consumer can say I don't want to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2543s"},{"start_seconds":2550,"text":"response if this is this type of blockchain where there's a lot of uh for griefing um I want I want to have a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2550s"},{"start_seconds":2558,"text":"quorum of at least uh two responses or three responses before pushing it down back to the user this is one way to solve this the other way is to look at","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2558s"},{"start_seconds":2566,"text":"how many what's the actual threshold what's how many actual signatures are in this block and ask that from the consu from the uh Provider from the RPC yeah","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2566s"},{"start_seconds":2575,"text":"well that's that's just latency like that's why just waiting for finale yeah I mean the the in Sal specifically right you can just like you're producing your","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2575s"},{"start_seconds":2582,"text":"own blocks in parallel right yeah like you can be just in they Val Solana is one of the most difficult chains to provide RPC for I'll just","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2582s"},{"start_seconds":2591,"text":"yeah yes okay um cool I mean this all makes sense uh and kind of provides yeah","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2591s"},{"start_seconds":2598,"text":"a way to pretty much access the centralized pool of RPC providers they can permissionless come in and participate you can permission launch","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2598s"},{"start_seconds":2606,"text":"new Networks which is really cool and new like API one one cool feature is that if you look at this SDK which is our actual final vision is not to go","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2606s"},{"start_seconds":2614,"text":"through any Gateway just use the SDK directly from the browser you actually don't need any any Central server at all exact you just load a list from the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2614s"},{"start_seconds":2623,"text":"blockchain yeah you don't need to talk to the blockchain well to to to your blockchain yeah yeah you so forget about L of blockchain for one second you produce a snapshot yeah of all the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2623s"},{"start_seconds":2631,"text":"validators of lava yeah uh and they all have to provide service for lava RPC uh you create a snapshot every month","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2631s"},{"start_seconds":2639,"text":"they are staked on this uh stake and they can only unbond over you know 3 weeks or four weeks MH uh and then you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2639s"},{"start_seconds":2645,"text":"just load that file mhm uh on your SDK you can load it from a server you can load it locally you can create your own Snapchat uh and then you can just use","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2645s"},{"start_seconds":2654,"text":"this protocol which already has um you know the conflict detection quality of service to talk to lav RPC providers we","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2654s"},{"start_seconds":2662,"text":"call it LOL lava over lava okay","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2662s"},{"start_seconds":2669,"text":"I see yeah so I mean you and then ideally you have like a like like a very cheap like client like when validators","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2669s"},{"start_seconds":2678,"text":"rotate that you can just update this you just need uh there's a few ways to do it we're just doing with with a file and we","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2678s"},{"start_seconds":2686,"text":"can ask the validators the providers for lava networks back the unbonding time we can make it like six months yeah but I","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2686s"},{"start_seconds":2694,"text":"mean I mean like you can update the validator set here right you could also do that yes by just cre validators and but then you need to run stuff it's","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2694s"},{"start_seconds":2703,"text":"more well just signatures of validator set of a new validator set yeah you could do that you can rely on some snapshot block uh some height that you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2703s"},{"start_seconds":2712,"text":"trust and update devel set based on signatures yeah yeah it's just like I mean usually","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2712s"},{"start_seconds":2720,"text":"it's it's kind of this like validator update pretty much light client so you have new validator set","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2720s"},{"start_seconds":2727,"text":"that's signed by the like super majority of pevious others yeah actually I think uh uh com B and Cosmos s DEC they have a","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2727s"},{"start_seconds":2736,"text":"light client yeah exactly I mean Cosmos has that yeah yeah yeah yeah I we have that f as well um","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2736s"},{"start_seconds":2743,"text":"it's very useful for Bridges and for other stuff okay um Lava over lava yeah that's","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2743s"},{"start_seconds":2753,"text":"a all right um anything else we should know no I think we covered a lot uh there's obviously a lot of fine details in in the","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2753s"},{"start_seconds":2761,"text":"protocol so every every one of these aspects we've worked on a long time try to to make sure it's uh you know reliable","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2761s"},{"start_seconds":2770,"text":"mhm yeah but I mean the high level is like because of chain right this is like you know it's kind of an overlay Network","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2770s"},{"start_seconds":2776,"text":"on regular RPC but it allows to route to any provider and then you have a blockchain which is like actually doing","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2776s"},{"start_seconds":2784,"text":"settlement and corre kind of economic and I think the the superpow is like being able to parse the queries and like","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2784s"},{"start_seconds":2791,"text":"say oh this is this block number oh this is a you know a trace function and being able to Route them yeah but also to","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2791s"},{"start_seconds":2798,"text":"validate uh the responses yeah yeah no that's that's fair powerful for","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2798s"},{"start_seconds":2805,"text":"sure and yeah I mean I think like you can probably continue expanding this functionality to Consumer is able to like reason more about like what","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2805s"},{"start_seconds":2813,"text":"providers do yeah yeah really cool all right well hopefully this was educational and check","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2813s"},{"start_seconds":2821,"text":"out lava yeah lavet XYZ right yeah exactly yeah and uh try it out for your applications amazing thank you thank","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2821s"},{"start_seconds":2832,"text":"you","url":"https://www.youtube.com/watch?v=V-16v_h0s5s&t=2832s"}],"youtube_url":"https://youtube.com/watch?v=V-16v_h0s5s","url":"https://near-pedia.xyz/videos/V-16v_h0s5s"}