{"id":"CS3w1--0gcE","title":"Whiteboard Series with NEAR | Ep: 51 Bowen Wang & Jordi Baylina discuss Polygon zkEVM","description":"In the latest NEAR Whiteboard Series, Director of Protocol Bowen Wang dives deep into the details of Polygon zkEVM with Jordi Baylina, cofounder of Polygon. zkEVM is an EVM-compatible rollup secured by a zero-knowledge proof, which verifies that transaction data is correct. Bowen and Jordi unpack proving systems, polynomial commitments, interactions with L2 and L1, and more.a\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":"2023-12-01T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/CS3w1--0gcE/hqdefault.jpg","transcript_text":"hey everyone welcome to another episode of the Whiteboard session and today we have uh wish Jordy uh co-founder of polygon and uh we're going to talk about um polygon the KVM today um so yeah Jord do you want to talk a bit about yourself and and polygon kvn yeah well I'm Jord valina I'm the technical lead at polygon zvn mainly what I've been doing for the last uh three years now is the the polygon Z kbm so what I expect you to ask me exactly so actually I believe three years ago many people including some of the pr the researchers don't believe that we can have ZK evm in in a few years and Jord you Pro them wrong I mean I I didn't believe it either so when we when we started this was a kind of a dream actually the story was that uh bar white hat from the th Foundation he convinced me actually we're like spending uh couple of months in my home just uh in the white whiteboard just trying to figure out what were the the stoppers for building that and we were like solving all the concrete details and small details and uh at some point say okay this is super complex but this is theorically possible and it was from there that we just start building and and for the last two years has been also a journey of uh solving challenges a lot of challenges and until we got to the to the to the points yeah that's an Engineering Process I would say right right actually I'm curious from your point of view what are the major obstacles back in 2020 like from like when you first started what what do you think are the the major bottlenecks well the technology that we um started with uh was uh uh I mean was the normal Z technology was was very much I like to talk about the simil between electronics and uh circuits I mean this is not Electronics circuits we are not talking about transistors we are talking about pols right but from the mindset designing um circuit I mean we call it circuits designing designing ZK circuits and designing electronic circuits has a lot of similarities so that's why we like to to talk and at that point where like if we were designing um circuits without a clock so that means that okay you can build a you can build a um I mean any computation the end you have ANS and ORS okay you can do whatever you want but the quantity of an and ORS that you you need to do for uh something specific is is is is huge especially if you want to uh do ifs I mean if you want to do conditional things and inm you have a lot of conditions depending on the transaction you will execute one up code or the other and there is a lot of condition and conditional things so doing a generic ebm was like uh impossible and you count the number of uh of constraints and it's like a huge number there and uh and here the the the big invention was like inventing the clock I mean inventing the clock was very much this this concept of a state machine this these Starks are very good because uh it it comes very naturally Y and and and and and and at the moment that you have a state transition function I mean at the moment that you have a this kind of a clock then you can build a processor and if you can build a processor then doing conditionals and generic programs are easy and this is very much the strategy that we follow I mean we built a processor we built a processor with polinomial not with transistors but we build a processor we buil an assembly on that processor and we uh buil a a program that running that processor that mainly what it does is interprets the the evm this was the full strategy this was uh well and this was proven the right way to go y this is was the the biggest part and from there we can talk about different challenges I mean the memory kcks uh um um ecdsa or even Bings recently or I mean it's it's we can we can even even arithmetic operations for example it's a it's a challenge for itself or how we do the storage or I mean each of the stain machines is a challenge by by itself but this technology has been Prov that you can do whatever you want it's like having transistors I mean if you get the transistor of course you need to build the processors but you can build whatever you want yeah okay maybe let's uh start from there like uh maybe we can talk about uh how the state machine works and how the analogy between the like regular like CPU and the the key processor actually actually works so uh maybe we can start with the the different state machines that you you build and then uh uh yeah we can talk about how that relates to the EVN yeah the idea is that we can me what's the the the idea is imine that State machine you can imagine any state machine but the probably the easiest State machine to think about is the Fibonacci you can read as a state machine but at the end is like you have two states okay so let may say this is State A and B okay and then uh okay what's the next step what's the next step well the next if a a a uh a + one is equal with uh a plus b okay and if you want B uh uh uh I + one maybe it's equal to a MH MH okay it's a state machine I mean you are just this this is a the the state transition function of course you have maybe initial state but you have a state transition function and you can do that as many times as you want you can do a multiplication actually you can build a processor I mean this a state machine okay so um um here uh the the the the way is built so how we convert that to a polinomial uh to a polinomial uh thing okay so this is the problem okay let me explain first how a polinomial commitment works because I think it's quite easy and then we try to join the the both pieces together so when we have a a polinomial I mean polinomial when we're talking about polinomial but a polinomial you can understand as a as an AR of values okay if you have a for and Main we call it this in devaluation form for example you have a a straight line This is poomi of degree one and you have two evaluations for example if you have the evaluation at 0 and one you have a maybe this is uh I don't know 43 and here you have uh 31 okay so this is a straight line so this is a polinomial f ofx equals to A X plus b okay so you can I mean you have a polinomial but with these two evaluations with 31 and you can express this as uh uh 43 and 31 okay MH this is what we call it this the the polinomial expressed in evaluation for this is for degree one but you can do that with degree 1 million okay that's a degree 1 million you with 1 million and one values you get you get the definition of that polinomial okay this is the I mean this AB whatever it is I mean whatever numbers are there here will be the the coefficients this will be the coefficients expression okay and this is the this is the the evaluations expression this case this is like a vector in this case the the base of this would be uh 1 X or even x squ x to 3 okay and in this case the the base would be the lrange polinomial one the lrange polinomial 2 lrange polinomial three and so on lran polinomial is a polom such that lrange one at one this is one and in the other points is zero and and so on okay but this is just the same way of expressing uh a polinomial yeah okay so the the schema that we have when we do a a polinomial is okay the is we have a a prover and we have a verifier okay prover in general is called Peggy okay and the verifier is Victor okay so this is we can find this okay this is Victor okay and this is Peggy okay okay so the is so what's the the the the polinomial commitment schema so how it works well so Peggy just uh think about the polinomial for example this this one okay he commits to this polinomial polinomial F ofx full polinomial one way to thinking about committing the polinomial is uh uh uh I mean it's hashing the polinomial okay comet is in general is a has we see that's a special hash but it's a kind of a hashing of itself okay so if we are here we are thinking in finite Fields here instead of reals we are talking with finite Fields one way of hashing polinomial it's very un practical way but one way to think about is okay you can take all the possible values it's a finite field so you have like all of them you see how evaluates to all them and then you just create a miracle tree of all that okay and then you just create a this would be I mean this equally will generate a has I mean this is not practical but for thinking it's a way so I commit to a pol okay and in this case Peggy just um send a random random number random number zit okay and Peggy just sends the okay it sends F of z z is a concrete number and he sends F of Z but also sends a kind of a proof y that uh F of Z is matches to this this polinomial okay in this case the proof in the in the case that I explained you before would be the proof would be the meral path of this uh polom of course this is not practical okay but this schema I mean there are different methods of doing this but this is perfectly perfectly possible right okay this is a polinomial commitment schema okay but imagine that I want to imagine that instead of working with one polinomial I want to send I I want to work with two polinomial or three polinomial okay imag they have f of x and G of X here I can send commitment of f ofx g of X maybe the Comm h of X Y okay so I can send you three commitments okay and here I want to prove you that this has some relationship for example imagine that I want to prove that f ofx is equal to uh G of X plus uh uh h of X yep okay yep well uh the thing is that uh way to do it okay I send you the three commitments I you send me one single zit here I send you of course F of so G of z g of Z and H of Z okay here is PF P send you PG and pH okay so you know that these evaluations are here okay and here the idea is we can check that this um constraint this relationships fits at zit M and if zit is inly High I mean if it's a small uh you can trick that but if Z is a big number y okay uh then um I can uh so I can I proving just one single point I can prove that yeah the full polom is the same and this is I mean this is this is this is a fundamental part of this so here is with a single check in a single point I'm just checking all the Pol so all the Pol I'm just checking the relationship so I'm just checking like a lot of things in parallel yeah yeah yeah yeah yeah this is as you said a fundamental part of the K this is because the polinomial degrees are relatively low compared to the size of the field so if you randomly choose like a pointing the field and they actually hold that means like they with extremely high probability that equation but this is I mean this is fundamental because I mean this polinomial can be of degree uh 1 million or 10 Millions so I'm I'm checking at at at the time in parall it's just a single commitment I'm just checking uh 1 million or 2 million constraints at a time okay so this is the main trigger of all this there is another important thing here that's important to know this is an interactive protocol okay so here you need Peggy and Victor but actually H you want to convert this to what we call it a non-interactive I want to generate the proof that I commit this and I just generate the proof here there is one one one trick is the F sham aristic but the idea is okay so here we don't have verifier so we compute Z as a as the hash of the transcript I mean of the hash of all these commitments we said the commitments then we Comm to Hash because hash is not reversible uh we don't control so cannot control Z so this is like kind of a random so and I mean there is a full mathematical theory behind that but this is the idea so we can convert any interactive protocol to a non interactive so generating a proof where there are some polinomial relationships H you can commit to some polinomial and then you prove that those polinomial these commitment polinomial fulfill a specific relationship of polinomial okay and this is very powerful y okay but next question that comes is okay this is cool but we have a problem here that's the same machine so how we convert that from here to here okay so let's let's let's let's try to connect this this problem in a polinomial constraints yeah uh uh uh thing so let's I clean it a little bit so let me see how I clean that I keep the well here is well you see the there so I can I clean it everything okay okay let me just uh start let write the state machine so here is a let's do it with eight times okay this is a this is B okay let's start with two numbers let's just start with one and two okay so then a is uh one this is three and B is first just one two three put two here just to be more clear okay okay so the three goes here yep and here I'm just stting five okay so here is five 8 Y is uh eight uh 13 this is 21 no 13 21 this is 3 no 21 34 and this is going to be 55 no well 344 455 okay that would be the M okay so imagine that this is a so this just put it in in red okay so here what I have here actually is we have two polinomial okay this is one polinomial this is polinomial a of X okay and this is polinomial B of X Y mhm okay yeah so what's this polinomial well uh just a polinomial of degree seven yep okay where it evaluates to these places where we need to pick up a a point to evaluate so here is I can I can choose any of those any any of those work okay but there are one that are very very very useful okay the ones that we are using is the one that are what we call it the roots of unity roots of unity I mean it's the roots of unity you know the root of the root of if you go to the complex yeah for example the root of so the square root of one is uh uh one minus One MH if you do a square uh the cubic is Square so the uh three Square the three root uh of one is uh actually is one is one of those it's always but it's always it's going to be also two complex numbers I mean if you go to the complex here you have the Circle Unit so you just divide the circle in in these are the The Roots three okay if you want to do the roots nine just divide this circle in in in nine in nine equal parts and here you will have the nine the nine Roots okay so these are the Roots the Roots of unity okay M here we are in finite Fields but if the final field is certain way you also have this roots of unity but the root the roots of unity are going to be certain numbers okay so there's numbers that when you um I mean if it's a square fourth and when you multiply that that number four times it at the end will give you one okay but they're going to be concrete so these numbers if the final field exist they if the final field is well uh has a good doity that's what we have actually if uh if Pi actually is if Pi minus one so Pi is a prime field if Pius one is multiple is divides is something like two to the 28 times uh C that means that you will have a a 2 to the 28 Roots roots of of unity okay so that's 2 to the 28 2 to the 27 2 to have square roots Square okay you have all of them okay so if the prime is good defined and we are working with primes that are will Define this uh ful fills okay and here so the idea is that well these roots of unity we we can express that in this case we need the square the eth root of unity okay so that this square roots I mean it works the same I mean we having one imagine that we have one uh so here I can uh I can have I can convert uh I can I can I know all the all the egg uh so if I one primitive I can have all of them so I can get Z 1 to one way to two to three way to four way to five six over to 7 actually W to 8 is is a square eth root so it's going to be one and W to zero is something to zero is one so it's a you see it's a it's a circle itself okay so here we have of course that F of uh w0 is equal to F of W1 well this case is a a of a is one a of is five okay and the same the same thing here yep okay b z equals 1 B one equals two and and so on yep okay y this is our I mean this is our the uh evaluations okay the cool thing is that for example for converting two evaluations to coefficients here I would I can apply one thing that's called the fft uh and and I can go back and forth super fast okay so I can go to Cici and so on okay so what I would do okay so here I have the polinomial okay and what's the relationship that needs to follow so how can I convert this to some relation to this to some relationship okay well the relationship here is well here is A+ one okay so if here is if if a is f of U here you see that uh a of okay so here let me put here so here is sub would be a of WX equal a of X plus b of X okay and B of WX see here is that WX is the next one of course here we have the problem of the last one okay we we will solve it now okay but here B of X is equal to a of X Y okay mhm yeah let's let's solve uh let's solve this problem because I mean okay this works but of course you see that this relationship will feel every well but the last one the last one doesn't work doesn't work okay so here what we can do is we can Define another polinomial we call it a constant polinomial so it's a polinomial that this is a trace I mean this is depending of of the numbers it changes but uh there is another some constant doesn't yeah so here is we are going to Define one polinomial Let's uh put a polinomial where U here is going to be 1 0 0 0 0 0 0 0 this is actually is the lrange polinomial is the basis is the this we call it l L1 of X okay so this is L1 okay so what I'm doing okay I want to convert so this needs this this equations needs to apply but only when L1 is is is is zero okay not when L1 is one so what one thing that I can do is um well I can uh well I I just I'm going to reconvert this so I'm converting this this this to equal to zero okay this equals to to zero okay and I want this to happen so so what I'm going to do is I'm going to going to multiply that multiply that going to multiply that by L one uh actually uh one okay and this equals to zero and all this 1 minus L1 f equals right okay yep so you see here that well of course if if L1 is is zero this is this this condition must fulfill this is in uh uh uh everywhere okay so this is everywhere but in the first one uh zero yeah yeah actually this is this is wrong well let's let's this let's put here so actually the last one is the one that not that's not defined okay so it's in the last step uh so the next in the last step is the one okay but okay this is L L8 right l z yeah so here is okay just to be precise on that okay but okay so we already have a polinomial we have two polinomial we have a constraint these polinomial we call it the the trace polinomial okay because this is a l is we call it a constant polinomial okay but uh constant is known by the pro and the verifier and then I do exactly the same so how the protocol would work well half again pegan Victor the first I would commit to commit to a of X and commit to B of X mhm okay Victor would send Z okay here I would send so Peggy would send uh a of z b of Z mhm and it's proof yeah Y and Victor would check this I mean would check this equations by just substituting x with uh actually you see here that well here is WX so actually here uh I need for these equations I need a of X so in this case a of Z but here I would need also a a of uh w z so I need this opening too right right and p uh a and B of see it okay here will be P of B okay well no no problem instead of doing one opening I'm doing two openings okay and then I'm just checking just substituting this this values with these equations and I mean the prime field is not fi of course I can convert that to to f shamier so I can generate a proof so here you see that I generated a proof for for for for for for that y okay here another important part is okay but here is I mean you're proving here that for any value but I want to force here the prover wants to the verifier wants to force for example the input okay so how would you force the the input well you see here well here the verifier would need also the evaluation of LA to FX but La of X is a constant polinomial so he can he knows how to evaluate that MH okay but so imagine that this is what we call it public inputs in this case or public inputs of so I want to force public inputs this is something that the verifier have okay but uh you want to prove you want to prove that those values are correct okay and the idea is that you do this you do this by adding another constraint in this case it would be uh L1 well here I'm using a light but imagine that here is L1 here I want to prove that in L1 so when L1 or if you want l l if you want L8 WX which is L1 okay because it's the next value okay times and here is a of x minus and here is the let's say a z equal Z and then here I can do the same eight this is L1 this is the the first line okay uh B of x b 0 equal Z here you see that we extended so this is but then again it's due to the same you come it to a of X and B of X here you sense it of course here you you will need these values in order to these values a z and b 0 are public inputs so you want to the verifier this will be part of the of the verifier proof so they will be known by the verifier and and they will check that a of X Min Z at a of Z so actually you will you will check that L1 of uh z w so L1 is is is well L eight of Z L8 is known okay it's a known polinomial times uh a of Z this was sented by the pr and and and and be sure that's correct mean you say zero which is the public input is equal to zero okay so you see here that uh I mean this is the kind of for public input but here we converted a state transition function you see this a state uh machine State transition function to a polinomial uh problem and using the polinomial commitment schemas there is a lot of ways of doing this polinomial commitment schemas you can understand this as a blackbox okay and uh we uh so we are able to uh get uh I mean we can prove if you have a state machine I mean it's like we have a clock okay so we have this state transition functions we can prove this in parallel so we can build processors out of that okay so that's the this is the basic the core the basic part and from here we can uh uh start talking uh uh about other things yep yep okay actually one quick question usually in practice how are the constant pols communicated to the verifiers here well I mean no the constant polinomial they are they are like part of the circuit I mean they are part they are defined at so when you design a circuit uh here I designed it a circuit and here I designed that should be a constant polinomial that should have exactly these values so there is I mean so this is theorically you don't need to do anything else I mean the verifier knows these polinomial the thing is that a lot of times um I mean you can have a lot of these constant polinomial and uh uh in order to reduce the the memory of the verifier and and the complexity sometimes what you do is uh okay uh instead of the verifier having to compute the the the evaluations the idea is uh we can have like this this pols like ProMed we have a commitment of this like if you send these pols but they are ProMed so you can you can generating the setup phase okay and then what you can do is uh here you can send the openings with the proof itself so here I mean I would have the verifier would have just a commitment of uh L8 of X MH okay this is computed in the in the setup phase okay and here you would just send here L8 of Z and approve p l l L8 y z okay uh this is sometimes is more practical okay so this is instead of having the verifier to compute okay let the pro the prover to compute it and and and prove it and you in general this this protocols here I'm sending a lot of proofs here we can aggregate all these proof in a single one and I mean the the mechanism for for doing this in a more efficient way there is things but the yeah essentially what you're doing is is is very much uh is very much this mhm MH okay okay yeah sounds good so this is I mean this is the would say the basic of the but but this the the core part I mean is the the the basic there are some other Primitives that are relevant uh that are important there are for example the permutation checks and the and the plaps which are important pieces so here is for example I can have like two polinomial uh imagine that well here this two polins and uh well imagine that you have a polinomial that's 1 3 4 8 four four five MH five okay and you want to check that this is for example is in one two 3 4 five 6 7 eight okay so this would be a kind of a range check okay so here you can there are some you can express this kind of relationships that mean this the numbers of these polins must be included in this polinomial or it's just a permutation check okay im here have a polinomial is 1 2 three and here have three four five 6 7 8 uh 2 1 okay so this is a permutation of the other you can express this kind of uh relationships with some uh mathematical Expressions if you are interested here you can check the pl up arguments and and there is a lot of literat talking about that but these are very useful because for example permutation check allows you to have like specialized stain machines I can have like a main processor stain machine but then I can have for example a arithmetic stain machine or a vinary stain machine or a KET stain machine so some State machines that act like very much like a co-processor so they are State machines that are doing specific operations and then I can link them one each other just by a permutation check I'm just checking what's here is also there so what I'm assuming that's correct this machine it's actually proven ma in that side okay I mean how you solve memory I mean there is a lot of uh things but I mean see a processor how it works I mean it's just a normal processor with instructions with conditional jumps with uh um we got memory actually we got a ROM ROM is the program that's executed in this processor and uh yeah and with that is I mean if you see Z kbm at the end is this processor with this ROM and this ROM is a code that actually is a is like a GU I mean it's just yeah actually Jord do you want to draw the architecture of like how the the KVM like processors actually like the main State machine and the other uh different state machines here is uh well we have a well it's not I mean it's not very different that what would be a normal so here we have a main estate machine the main estain machine there are two processors that they are tied very much together one is we call it the ROM ROM is not D on the state machine it's just our our polinomial that represents the the the program okay and then we have the memory this is like the core part and then there are auxiliary State machines here we have the most important part are let's say the binary binary St machines are doing things like U addition subtraction uh exor and Thor I mean binary things and I mean things that are by to by bit to bit operations we have the arithmetic arithmetic same machine is mainly for multiplications y uh 32 bits I mean uh 256 bit arithmetic so it's a a doing a 256 bits multiplication in a different Prime field this is has some complexity machine that's mainly doing that here um but we have others here we have another that's the storage for example for the storage we're using a spars Merle tree it's kind of a Patricia try but much simple binary just uh have a storage we have a uh here we have a uh M uh storage KCK for example y or Shadow 56 no mhm and some other I would say uh some other uh very specific mate for example we have a these are more evbm expected for we have one for to deal with uh on alignments in memory for example inm for example there is a problem with uh I mean you have uh words of 256 uh bits but you actually when you are the memory is bite align it so you can do things like that so I mean we could do that in a very with binary sary meting but but this is used so many times that we have like a specific arithmetic specific State machine to split and divide I mean to join to to deal with this that specific with that specific cases okay but this is very much the the this is very much the I mean the the architecture is is just different Ste machines and developers don't need to worry very much about that yep yeah yeah um and do you also want to talk a bit about ZM like the Assembly Language you develop for the for the well here the idea is um we built um so one of the in order to build this arithmetization I mean we see this polinomial things actually we build one language to to to to to deal with I mean to create this and one language and a a tooling for we call it this arithmetization for creating these estain machines okay this is called uh pill okay it's polinomial identity language it's just a a language for defining that yeah we have also a lot of uh State machines already designed it like the arithmetic stain machine and binary stain machine that they are that they apply directly or with very small modifications to what would be a ZK wasm um State machine so what we are doing is uh we are taking all all all the all the all the tech all the work that's already in the Z kbm we are adapting if you want changing small pieces but they they just taking and instead of having a evm you can have a wasm thing of course arithmetic instead of being for example 56 bits it's going to be 64 bits uh operation okay maybe KCK you need it or not okay so maybe you will need some other I mean uh uh here discussion for example if we were interested in floting points or not okay but this is uh but uh this is a hard one but I mean at the end it would be another uh a state machine so here the idea is like a hardware design I mean you can have like different stain machines and then you can plug them together in a different way in order to build different of course the the the the ROM is going to be different because the program that you are going to run probably going is going to be different but uh the architecture is very much the is very much the same so this is the the work that we have been doing until now is just uh um trying to see and adapting the current technology to do the ZK maybe for people who don't like fully understand how this works in practice like it might be helpful to talk about this entire execution Trace right so like on like on the one side you have this like row like a lot of them I think I think you have like two to the 23 that's limit today and then on the other well you can change that but yeah this is this is what and then on the other side you have those all those like columns and each column essentially represents some kind of like variables you're introducing in each of those like circuits and then or like processors and then um eventually like you get like all those the entire table filled with the execution trace and then you kind of commit to to to that yeah I mean this each column is a polinomial and then you come it to all of them that's very much what what you do yeah here I mean there is a lot of things to talk about I mean uh but yeah this is the the main architecture I think this is are the the the main pieces and with this you can have more or less an idea how uh everything is uh works of course there is the details where things get more complex but yeah this is very much the the main idea okay um okay maybe we can switch to talking a bit about how the the KVM works on the high level like from like a L2 like from a row up point of view I think so far we've been talking mostly about how it works from a ZK or like a computation point of view but there's still this uh part of like how the how it works is like L2 because it has you sequencer interaction with L1 and and like L1 to L2 messaging yeah at the end this is just uh food technology yeah to prove I mean what so how we see this pro at high level I mean the pro is okay this is like a normal I mean you you you have a state route okay you have a set of transactions y this say transation function okay is you have so if you have this state route and you have these transactions you get to this new State Route yep okay so here at the end the the pro alog together is at the end it's a piece of code that okay you give them this this and this and it generates a proof that actually this is correct I mean you cannot generate a proof with a different state route that this other that this uh uh other one okay so this is the pro you can understand it as a blackbox that actually does that okay but then you need to fit that in a in a system in a in a layer two okay so how the layer twos work and here of course there are different layer tools and can be some details on the way I'm going to explain very much how the the polygon cavm works but it's not very different that whole other L tools works okay so the idea here is um the best way to think about is um uh so we have a network okay that's uh running okay so we have a state route and sometimes uh this it's the B so some transaction are sent the state but it's a different chain I mean it's not ethereum chain it's a different that's why it's a different network someh okay and um here is when you want to submit something to the network in general the first thing you do is uh we car the sequencer okay the user just sends this to a sequencer that's in this case imagine that's a centralized sequencer okay just the server that's getting the sequencer okay the sequencer sequence that transactions actually sequencer is building the these blocks okay so it's building State actually it's building here the transactions it's building all these transactions transaction one transaction two transaction three transaction four okay maybe here have a new state here it's can be a batch or different blocks okay but at the end is sequencing transactions it's getting the transactions and put putting them one after the other okay and if you trust the sequencer you don't need anything else I mean you the sequencer is give you like a normal blockchain you new state the state is is valid okay but of course the sequencer can can can lie and I mean if you want to build that you go to a bank I think it's it's it's that makes no no sense okay so the the sequencer what it does is uh once in a while maybe when it gets maybe a bunch of transactions or after a timeout okay it sends this information okay to the to the main net to the L1 okay just take and it just sequence and here this is L1 M okay and um actually with this step so they don't they don't tell which the new state it just put the transactions actually just it just take the transactions and they put them there okay so at this point the transactions are final I mean these are committed um anybody so the thing is that the blockchain doesn't know what's the the current state y but they know that the transactions are going to be executed with this order and because this state transition function is deterministic and one property that maybe I don't mention but all the transactions are valid or are executable maybe they are not valid but imagine that not valid transaction is just an operation transaction it just don't modify the state okay but I mean so you deterministically when you have a set of transactions you have a state you have a set of transactions you deterministically you compute what's the new the new state so at this point without generating any proof yet just putting the the the transactions here we already have a blockchain okay the problem of that is that the people needs to well there are many problems with this okay so one problem is that people needs to follow the full chain I mean it needs to compute the change from the beginning uh if you want you want to know the current state and the other problem is that this L2 okay so when you want to withdraw funds have withraw f okay the FKS are stuck in the L1 so how the L1 knows that this state is actually yeah valid you can you valid than you can withraw funds okay so here there is another process different actor in parallel we call it the aggregator that actually is seeing what's in L1 I mean everything that's committed and they are generating these proofs so they are generating the proof Computing the new state and generating the proof that state is actually this one okay so the here we have we call it an implicit State it's a state that's it's known but it's not on blockchain but this guy is because the proof is sending the new state here you are sending the state and with a proof and this proof is verified on chain so you know that this state is correct and it's at this point where um you can withdraw the fonts because you already know the state this state can include so uh what exits you can do so you can this point for you can exit Okay so this is this explicit State this is the the appr okay and this is uh important for withdrawing the the phones for examp in optimistic rollups uh this stage is much longer there is a process well yeah because it's a process for I mean it's a gaming pro mean it's a challenge process and then you need to give time for others to to prove we call this this this is the the challenge period yeah it's a challenge period that you need to to to to deal with okay but in a ZK roll up this this this time is the I mean is a time so it just generate the proof and that's it you know if the proof is well generated and the proof system is correct you know that this state is correct so you don't need to wait anything more yeah yeah yeah and this is the this is the big difference between one or the other and this this this transition this transition uh period yeah yeah so there there are some details on the bridge I mean because the idea of the lay one two is like you need to be able to uh transfer funds from L1 to L2 and transfer back okay and here there is a a mechanism it's a special mechanism it's a trustless reach is kind of automatic yeah okay and some mechanism that happens here here okay so but actually yeah how about we just talk about the the bridge because there needs to be like a mechanism to communicate between the the L1 and L2 like people needs to be able to deposit and then withraw their phones back and then maybe our2 also needs to read all one state and then things like this yeah then the the idea let me explain you give you the big big picture of how it works the idea is that when somebody um um when somebody wants to send fonts to L2 okay actually is uh here what you do is um well you send the fonts to L1 you put it in you send the fonts to some smart contract in L1 and this smart contract builds what we call it is a global global xit Tre but in any case here what you do is it's a it's a this is buil in a smart contract and it's a a pen only uh tree it's very much like when you are depositing something in in uh for for a staking in ethereum you're just sending fonts there and you build the miracle tree of all the fonts that are set there okay and one leaf for each deposit y okay so This Global exit route at some point okay so and this is part I mean when I pin the the the sequencer at some point the sequencer but in this sequence here actually you are including the global X3 and putting this Global X3 in the route in the state three of L2 M okay this is done automatically in this mechanism actually here is the sequencer can include this Global X3 whenever he wants in when you are doing this this sequencer you verify that what you are putting there is is the correct uh the correct one and even more than that I mean the the the sequencer in this transaction in the smart contract it's forced that you include the the root yeah so this is and this is very important for what we call it the force transactions so uh so but but you are putting this so you you are sure that I mean if you are depositing here this is going to be include in the this is going to be include in the in the in the in the in the in in the state three So This Global This Global This Global exit route I mean this route of all the deposits that you are doing the at some point this is going be available in the in the l2s this can go really fast because the sequencer don't even need I mean the only what they will do is they want that this is final but once this is final so they don't need to wa to approve I mean they can include quite quite quite fast okay and once this Global X3 is is in a smart contract in del2 then in del2 what you do is a claim a claim I mean it's it's in this smart contract in Del two and here you can do mainly what you do is okay you get the fonts L2 the ones of course they need to match in the exit 3 needs to exist and then of course you you just check I mean you just uh Mark that you cannot withdraw the phones twice I mean you just put that this Leaf is already used so you cannot uh use it again okay so this is how you transfer from L1 to L2 okay and for the 2 l21 the mechanism is very similar but the other way around I mean in each St machine we have like a a it's the the local exit route it's a for the exit it's like so when you want you are in L2 no and you want to uh withw the phon in L1 actually what you are doing is you are sending those phones to L1 so you are creating this three in L2 this you are putting a leaf on in these l2s there is a mechanis for synchronizing this root of the of the L2 to the L1 L1 yeah and then in the L1 you do the same I mean you have this mechanis you can do you do withdraw you prove that this Leaf is in there that you have not used that leaf before then you get the phones back but this the mechanism for updating the local exit route in L1 this happens uh in the Pro in the the proof site so you need to prove that actually this is a new state that includes This Global actually I mean to be more uh concrete uh I mean uh the the the pr that I mentioned here is a uh State I uh this is the outut is a state I + one okay here okay you are proving that go from one state to the state here we also saying the local exit Tre so and this this local Exit 3 is updated in the smart contract in L1 so every time that uh a proof is generated that a proof is generated we update the local exit mean all the exits of the L2 uh we are dat in in in L1 so that we can withdraw that in L one here to mention that um the proof uh this proof is not one proof per batch okay it's a proof that uh we can aggregate many proofs so Thea is that we have we can have like 1,000 or 100 batch and and we aggregate that in a single proof example we are doing I think we are sending now one proof every half an hour and in half an hour maybe there is I don't know 1,000 2,000 10,000 transactions batches Bates yeah batches and each batch has a proof and then we aggregate all the proofs in a single proof this is the aggregation the aggregation is just most down to to save on cost uh like to so that cost mainly yeah because I mean but it's not it's not the proving cost it's the I mean if you have to send one transaction yeah yeah the the cost verification on L1 it's not not cheap it's not the cost of verification but even the cost of sending a transaction sending a transaction or updating all these roots and all that stuff which is called you pack all together and and and it's you convert something that would be a variable cost with something that just a fixed cost of the network well in in in the polygon in in the polygon 2.0 the idea is not to have one single proof per chain MH of many batches but have one single proof for all the chains of polygon 2.0 mhh is an optional I mean if you are a chain you want to generate your own proof that's fine but uh it's going to be a mechanism that with a single proof we are able to verify all the all the chains yep uh at a time yep yep okay so like on the L1 to L2 interaction um how does Forks on L1 handled I assume for example on the sequencer side when it needs to read our one state it needs to read the the final State unless it the sequencer itself has a way to revert well no one reverts right so well here yeah the the the what we're doing is I mean the sequencer so when you are sending this when you are sending the when you're sending the sequencer here it need it needs to be correct so you cannot sequence something that uh you cannot sequence a global exit route that's not not not fin well you well this is L1 so you can you can you you can you don't need to be final right but uh the sequencer in general is going to White wait for wait for the finality in L1 uh because I mean if it changes then all the all the state that Hever would need to in there so it's more practical right now just wait a couple of a couple of epo in ethereum and you know that for sure that's final and then you can and what about the L L2 to L1 Direction L2 to L1 is not much a problem because of the the problem that's um that that you send the proof so when you are sending the proof you are already committing to there so it doesn't M doesn't matter I mean if you revert it the proof will be reverted too so I mean and and and the withdraws that you had been done later on will be reverted too so it's not not not a problem on on that side but yeah the sequencer here is uh finality in L1 uh is important for the deposits mhhh yeah yeah yeah makes sense um okay so given that we are kind of about to run out of time um is there anything and we also cover both the kind of the rollup side as well as the the cas side um is there anything else you want to talk about maybe like the future of polygon the KVM or like how how do you see this uh like Po how do you see this whole like thing like including polygon cdk evolving uh in the future yeah well in polygon we are building this polygon 2.0 this is what we call the this constellation of uh rollups or chains of different uh different different different chains yeah and the idea is that they can share the same liquidity and because of this uh zero I mean this this single proof that somehow validates the the chain of the Food Network this can be seen very much like a clock I mean imagine that this this proof happens every 30 seconds so that means that if you have different chains you can uh do what you can transfer from one side every 30 seconds so you can see the full uh constellation of rollups I mean the full the full polygon to. zero as a very much as a as a single chain here I mean interesting things that uh I mean that you're doing uh are important I mean this inter sharding communication for example something that's super interesting thing to look about or even that availability is also another point I mean here there is a lot of points of exploration that uh we can learn one each other yeah yeah what what about on the DK side specifically where do you see the like new break through on the on the DK front well in the cdk uh of course for example for us having zik wasam as a POS as an option for for for chain in the polygon 2.0 this is uh I mean this is very important I think this is giving the options to the users to the applications to to develop in in in wasm the ZK this opens up the the the the market uh for this this is really important but here I mean I would say I'm more worried more in the the the short run at this point is we have right now A A constellation with one single star the zkm now we need to put the next star okay and and from here start uh uh start growing I mean this is the plan for them the next years and and here we'll start connecting all these things and see how the things are evolving I mean there is a lot of you do the zbm but then it's like you open a new a new a new world and and and we are starting now and right right that's where that's very much where we are at the beginning of everything cool that's a very exciting future and uh again thanks JY for joining me uh for another episode of the whiteb session and thanks everyone thank you","transcript_synced_at":"2026-11-03T06:10:54.644Z","segments":[{"start_seconds":2,"text":"hey everyone welcome to another episode of the Whiteboard session and today we have uh wish Jordy uh co-founder of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2s"},{"start_seconds":10,"text":"polygon and uh we're going to talk about um polygon the KVM today um so yeah Jord do you want to talk a bit about yourself","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=10s"},{"start_seconds":18,"text":"and and polygon kvn yeah well I'm Jord valina I'm the technical lead at polygon zvn mainly what I've been doing for the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=18s"},{"start_seconds":25,"text":"last uh three years now is the the polygon Z kbm so what I expect you to ask me exactly so actually I believe","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=25s"},{"start_seconds":34,"text":"three years ago many people including some of the pr the researchers don't believe that we can have ZK evm in in a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=34s"},{"start_seconds":42,"text":"few years and Jord you Pro them wrong I mean I I didn't believe it either so when we when we started this was a kind","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=42s"},{"start_seconds":49,"text":"of a dream actually the story was that uh bar white hat from the th Foundation he convinced me actually we're like","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=49s"},{"start_seconds":56,"text":"spending uh couple of months in my home just uh in the white whiteboard just trying to figure","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=56s"},{"start_seconds":62,"text":"out what were the the stoppers for building that and we were like solving all the concrete details and small details","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=62s"},{"start_seconds":71,"text":"and uh at some point say okay this is super complex but this is theorically possible and it was from there that we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=71s"},{"start_seconds":80,"text":"just start building and and for the last two years has been also a journey of uh solving challenges a lot of challenges and until we got to the to the to the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=80s"},{"start_seconds":89,"text":"points yeah that's an Engineering Process I would say right right actually I'm curious from your point of view what are the major obstacles back in 2020 like","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=89s"},{"start_seconds":98,"text":"from like when you first started what what do you think are the the major bottlenecks well the technology that we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=98s"},{"start_seconds":105,"text":"um started with uh was uh uh I mean was the normal Z technology","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=105s"},{"start_seconds":113,"text":"was was very much I like to talk about the simil between electronics and uh circuits I mean this is not Electronics circuits we are not talking about","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=113s"},{"start_seconds":120,"text":"transistors we are talking about pols right but from the mindset designing um circuit I mean we call it circuits","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=120s"},{"start_seconds":128,"text":"designing designing ZK circuits and designing electronic circuits has a lot of similarities so that's why we like to to talk and at that point where like if","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=128s"},{"start_seconds":136,"text":"we were designing um circuits without a clock so that means that okay you can build a you can build a um I mean any","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=136s"},{"start_seconds":146,"text":"computation the end you have ANS and ORS okay you can do whatever you want but the quantity of an and ORS that you you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=146s"},{"start_seconds":153,"text":"need to do for uh something specific is is is is huge especially if you want to uh do ifs I mean if you want to do","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=153s"},{"start_seconds":162,"text":"conditional things and inm you have a lot of conditions depending on the transaction you will execute one up code or the other and there is a lot of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=162s"},{"start_seconds":169,"text":"condition and conditional things so doing a generic ebm was like uh impossible and you count the number of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=169s"},{"start_seconds":176,"text":"uh of constraints and it's like a huge number there and uh and here the the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=176s"},{"start_seconds":183,"text":"big invention was like inventing the clock I mean inventing the clock was very much this this concept of a state machine this these Starks are very good","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=183s"},{"start_seconds":191,"text":"because uh it it comes very naturally Y and and and and and and at the moment that you have a state transition","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=191s"},{"start_seconds":199,"text":"function I mean at the moment that you have a this kind of a clock then you can build a processor and if you can build a processor then doing conditionals and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=199s"},{"start_seconds":207,"text":"generic programs are easy and this is very much the strategy that we follow I mean we built a processor we built a processor with polinomial not with","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=207s"},{"start_seconds":214,"text":"transistors but we build a processor we buil an assembly on that processor and we uh buil a a program that running that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=214s"},{"start_seconds":222,"text":"processor that mainly what it does is interprets the the evm this was the full strategy this was uh well and this was","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=222s"},{"start_seconds":230,"text":"proven the right way to go y this is was the the biggest part and from there we can talk about different challenges I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=230s"},{"start_seconds":237,"text":"mean the memory kcks uh um um","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=237s"},{"start_seconds":244,"text":"ecdsa or even Bings recently or I mean it's it's we can we can even even arithmetic operations for example it's a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=244s"},{"start_seconds":252,"text":"it's a challenge for itself or how we do the storage or I mean each of the stain machines is a challenge by by itself but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=252s"},{"start_seconds":262,"text":"this technology has been Prov that you can do whatever you want it's like having transistors I mean if you get the transistor of course you need to build the processors but you can build","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=262s"},{"start_seconds":270,"text":"whatever you want yeah okay maybe let's uh start from there like uh maybe we can talk about uh how the state machine","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=270s"},{"start_seconds":278,"text":"works and how the analogy between the like regular like CPU and the the key processor actually actually works so uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=278s"},{"start_seconds":285,"text":"maybe we can start with the the different state machines that you you build and then uh uh yeah we can talk","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=285s"},{"start_seconds":292,"text":"about how that relates to the EVN yeah the idea is that we can me what's the the the idea is imine that State","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=292s"},{"start_seconds":300,"text":"machine you can imagine any state machine but the probably the easiest State machine to think about is the Fibonacci you can read as a state","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=300s"},{"start_seconds":309,"text":"machine but at the end is like you have two states okay so let may say this is State A and B okay and then uh okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=309s"},{"start_seconds":318,"text":"what's the next step what's the next step well the next if a a a uh a + one","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=318s"},{"start_seconds":324,"text":"is equal with uh a plus b okay and if you want B uh uh uh I +","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=324s"},{"start_seconds":332,"text":"one maybe it's equal to a MH MH okay it's a state machine I mean you are just this this is a the the state transition","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=332s"},{"start_seconds":339,"text":"function of course you have maybe initial state but you have a state transition function and you can do that as many times as you want you can do a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=339s"},{"start_seconds":346,"text":"multiplication actually you can build a processor I mean this a state machine okay so um um here uh the the the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=346s"},{"start_seconds":356,"text":"way is built so how we convert that to a polinomial uh to a polinomial uh thing okay so this is the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=356s"},{"start_seconds":364,"text":"problem okay let me explain first how a polinomial commitment works because I think it's quite easy and then we try to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=364s"},{"start_seconds":371,"text":"join the the both pieces together so when we have a a polinomial I mean polinomial when we're talking about polinomial","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=371s"},{"start_seconds":379,"text":"but a polinomial you can understand as a as an AR of values okay if you have a for and Main we call it this in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=379s"},{"start_seconds":386,"text":"devaluation form for example you have a a straight line This is poomi of degree one and you have two evaluations for example if you have the evaluation at 0","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=386s"},{"start_seconds":394,"text":"and one you have a maybe this is uh I don't know 43 and here you have uh 31 okay so this is a straight line so this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=394s"},{"start_seconds":402,"text":"is a polinomial f ofx equals to A X plus b okay so you can I mean you have a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=402s"},{"start_seconds":409,"text":"polinomial but with these two evaluations with 31 and you can express this as uh uh 43 and 31 okay MH this is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=409s"},{"start_seconds":421,"text":"what we call it this the the polinomial expressed in evaluation for this is for degree one but you can do that with","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=421s"},{"start_seconds":428,"text":"degree 1 million okay that's a degree 1 million you with 1 million and one values you get you get the definition of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=428s"},{"start_seconds":435,"text":"that polinomial okay this is the I mean this AB whatever it is I mean whatever numbers are there here will be the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=435s"},{"start_seconds":444,"text":"coefficients this will be the coefficients expression okay and this is the this is the the evaluations expression","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=444s"},{"start_seconds":453,"text":"this case this is like a vector in this case the the base of this would be uh 1 X or even x squ x to 3 okay and in this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=453s"},{"start_seconds":462,"text":"case the the base would be the lrange polinomial one the lrange polinomial 2 lrange polinomial three and so on lran","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=462s"},{"start_seconds":470,"text":"polinomial is a polom such that lrange one at one this is one and in the other points is zero and and so on okay but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=470s"},{"start_seconds":478,"text":"this is just the same way of expressing uh a polinomial yeah okay so the the schema that we have when we do a a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=478s"},{"start_seconds":487,"text":"polinomial is okay the is we have a a prover and we have a verifier okay prover in general is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=487s"},{"start_seconds":494,"text":"called Peggy okay and the verifier is Victor okay so this is we can find this okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=494s"},{"start_seconds":502,"text":"this is Victor okay and this is Peggy okay okay so the is so what's the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=502s"},{"start_seconds":512,"text":"the the the polinomial commitment schema so how it works well so Peggy just uh think about the polinomial for example","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=512s"},{"start_seconds":519,"text":"this this one okay he commits to this polinomial polinomial F ofx full polinomial one way to thinking","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=519s"},{"start_seconds":528,"text":"about committing the polinomial is uh uh uh I mean it's hashing the polinomial okay comet is in general is a has we see","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=528s"},{"start_seconds":537,"text":"that's a special hash but it's a kind of a hashing of itself okay so if we are here we are thinking in finite Fields here instead of reals we are talking","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=537s"},{"start_seconds":545,"text":"with finite Fields one way of hashing polinomial it's very un practical way but one way to think about is okay you can take all the possible values it's a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=545s"},{"start_seconds":553,"text":"finite field so you have like all of them you see how evaluates to all them and then you just create a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=553s"},{"start_seconds":560,"text":"miracle tree of all that okay and then you just create a this would be I mean this equally will generate a has I mean this is not practical but for thinking","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=560s"},{"start_seconds":568,"text":"it's a way so I commit to a pol okay and in this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=568s"},{"start_seconds":575,"text":"case Peggy just um send a random random number random number zit okay and Peggy","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=575s"},{"start_seconds":583,"text":"just sends the okay it sends F of z z is a concrete number and he sends F of Z","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=583s"},{"start_seconds":591,"text":"but also sends a kind of a proof y that uh F of Z is matches to this this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=591s"},{"start_seconds":599,"text":"polinomial okay in this case the proof in the in the case that I explained you before would be the proof would be the meral path of this uh polom of course","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=599s"},{"start_seconds":608,"text":"this is not practical okay but this schema I mean there are different methods of doing this but this is perfectly perfectly possible right okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=608s"},{"start_seconds":617,"text":"this is a polinomial commitment schema okay but imagine that I want to imagine that instead of working with one polinomial I want to send I I want to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=617s"},{"start_seconds":625,"text":"work with two polinomial or three polinomial okay imag they have f of x and G of X here I can send commitment of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=625s"},{"start_seconds":632,"text":"f ofx g of X maybe the Comm h of X Y okay so I can send you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=632s"},{"start_seconds":640,"text":"three commitments okay and here I want to prove you that this has some relationship for example imagine that I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=640s"},{"start_seconds":647,"text":"want to prove that f ofx is equal to uh G of X plus uh uh h of X yep okay yep","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=647s"},{"start_seconds":658,"text":"well uh the thing is that uh way to do it okay I send you the three commitments I you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=658s"},{"start_seconds":667,"text":"send me one single zit here I send you of course F of so G of z g of Z and H of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=667s"},{"start_seconds":674,"text":"Z okay here is PF P send you PG and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=674s"},{"start_seconds":682,"text":"pH okay so you know that these evaluations are here okay and here the idea is we can check that this um","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=682s"},{"start_seconds":692,"text":"constraint this relationships fits at zit M and if zit is inly High I mean if","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=692s"},{"start_seconds":699,"text":"it's a small uh you can trick that but if Z is a big number y okay uh then um I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=699s"},{"start_seconds":707,"text":"can uh so I can I proving just one single point I can prove that yeah the full polom is the same and this is I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=707s"},{"start_seconds":715,"text":"mean this is this is this is a fundamental part of this so here is with a single check in a single point I'm","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=715s"},{"start_seconds":722,"text":"just checking all the Pol so all the Pol I'm just checking the relationship so I'm just checking like a lot of things in parallel yeah yeah yeah yeah yeah","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=722s"},{"start_seconds":730,"text":"this is as you said a fundamental part of the K this is because the polinomial degrees are relatively low compared to the size of the field so if you randomly","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=730s"},{"start_seconds":737,"text":"choose like a pointing the field and they actually hold that means like they with extremely high probability that equation but this is I mean this is fundamental because I mean this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=737s"},{"start_seconds":745,"text":"polinomial can be of degree uh 1 million or 10 Millions so I'm I'm checking at at at the time in parall it's just a single","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=745s"},{"start_seconds":754,"text":"commitment I'm just checking uh 1 million or 2 million constraints at a time okay so this is the main trigger of all this there is another important","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=754s"},{"start_seconds":762,"text":"thing here that's important to know this is an interactive protocol okay so here you need Peggy and Victor but actually H you want to convert this to what we call","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=762s"},{"start_seconds":771,"text":"it a non-interactive I want to generate the proof that I commit this and I just generate the proof here there is one one one trick is the F sham aristic but the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=771s"},{"start_seconds":780,"text":"idea is okay so here we don't have verifier so we compute Z as a as the hash of the transcript I mean of the hash of all these commitments we said","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=780s"},{"start_seconds":788,"text":"the commitments then we Comm to Hash because hash is not reversible uh we don't control so cannot control Z so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=788s"},{"start_seconds":796,"text":"this is like kind of a random so and I mean there is a full mathematical theory behind that but this is the idea so we can convert any interactive protocol to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=796s"},{"start_seconds":804,"text":"a non interactive so generating a proof where there are some polinomial relationships H you can commit to some","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=804s"},{"start_seconds":813,"text":"polinomial and then you prove that those polinomial these commitment polinomial fulfill a specific relationship of polinomial okay and this is very","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=813s"},{"start_seconds":821,"text":"powerful y okay but next question that comes is okay this is cool but we have a problem here that's the same machine so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=821s"},{"start_seconds":830,"text":"how we convert that from here to here okay so let's let's let's let's try to connect this this problem in a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=830s"},{"start_seconds":837,"text":"polinomial constraints yeah uh uh uh thing so let's I clean it a little bit","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=837s"},{"start_seconds":845,"text":"so let me see how I clean that I keep the well here is well you see the there so I can I clean it everything","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=845s"},{"start_seconds":863,"text":"okay okay let me just uh start let write the state machine","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=863s"},{"start_seconds":869,"text":"so here is a let's do it with eight","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=869s"},{"start_seconds":877,"text":"times okay this is a this is B okay let's start with two numbers let's just start with one and two okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=877s"},{"start_seconds":885,"text":"so then a is uh one this is three and B is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=885s"},{"start_seconds":893,"text":"first just one two three put two here just to be more clear okay okay so the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=893s"},{"start_seconds":900,"text":"three goes here yep and here I'm just stting five okay so here is five 8 Y is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=900s"},{"start_seconds":908,"text":"uh eight uh 13 this is 21 no 13 21 this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=908s"},{"start_seconds":916,"text":"is 3 no 21 34 and this is going to be 55 no well","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=916s"},{"start_seconds":925,"text":"344 455 okay that would be the M okay so imagine that this is a so this just","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=925s"},{"start_seconds":934,"text":"put it in in red okay so here what I have here actually is we have two polinomial okay this is one polinomial","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=934s"},{"start_seconds":940,"text":"this is polinomial a of X okay and this is polinomial B of X","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=940s"},{"start_seconds":947,"text":"Y mhm okay yeah so what's this polinomial well uh just a polinomial of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=947s"},{"start_seconds":954,"text":"degree seven yep okay where it evaluates to these places where we need to pick up a a point to evaluate so here is I can I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=954s"},{"start_seconds":964,"text":"can choose any of those any any of those work okay but there are one that are very very very useful okay the ones that we are using is the one that are what we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=964s"},{"start_seconds":972,"text":"call it the roots of unity roots of unity I mean it's the roots of unity you know the root of the root of if you go to the complex yeah for example the root","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=972s"},{"start_seconds":980,"text":"of so the square root of one is uh uh one minus One MH if you do a square uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=980s"},{"start_seconds":987,"text":"the cubic is Square so the uh three Square the three root uh of one is uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=987s"},{"start_seconds":995,"text":"actually is one is one of those it's always but it's always it's going to be also two complex numbers I mean if you go to the complex here you have the Circle Unit so you just divide the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=995s"},{"start_seconds":1003,"text":"circle in in these are the The Roots three okay if you want to do the roots nine just divide this circle in in in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1003s"},{"start_seconds":1011,"text":"nine in nine equal parts and here you will have the nine the nine Roots okay so these are the Roots the Roots of unity okay M here we are in finite","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1011s"},{"start_seconds":1020,"text":"Fields but if the final field is certain way you also have this roots of unity but the root the roots of unity are going to be certain numbers okay so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1020s"},{"start_seconds":1028,"text":"there's numbers that when you um I mean if it's a square fourth and when you multiply that that number four times it at the end will give you one okay but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1028s"},{"start_seconds":1036,"text":"they're going to be concrete so these numbers if the final field exist they if the final field is well uh has a good","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1036s"},{"start_seconds":1045,"text":"doity that's what we have actually if uh if Pi actually is if Pi minus one so Pi is a prime field if Pius one is multiple","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1045s"},{"start_seconds":1054,"text":"is divides is something like two to the 28 times uh C that means that you will","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1054s"},{"start_seconds":1062,"text":"have a a 2 to the 28 Roots roots of of unity okay so that's 2 to the 28 2 to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1062s"},{"start_seconds":1070,"text":"the 27 2 to have square roots Square okay you have all of them okay so if the prime is good defined and we are working","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1070s"},{"start_seconds":1077,"text":"with primes that are will Define this uh ful fills okay and here so the idea is that well these roots of unity we we can","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1077s"},{"start_seconds":1086,"text":"express that in this case we need the square the eth root of unity okay so that this square roots I mean it works","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1086s"},{"start_seconds":1093,"text":"the same I mean we having one imagine that we have one uh so here I can uh I can have I can convert uh I can I can I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1093s"},{"start_seconds":1103,"text":"know all the all the egg uh so if I one primitive I can have all of them so I can get Z 1 to one way to two to three","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1103s"},{"start_seconds":1111,"text":"way to four way to five six over to 7 actually W to 8 is is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1111s"},{"start_seconds":1119,"text":"a square eth root so it's going to be one and W to zero is something to zero is one so it's a you see it's a it's a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1119s"},{"start_seconds":1128,"text":"circle itself okay so here we have of course that F of uh w0 is equal to F of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1128s"},{"start_seconds":1135,"text":"W1 well this case is a a of a is one a of is five okay and the same","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1135s"},{"start_seconds":1144,"text":"the same thing here yep okay b z equals 1","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1144s"},{"start_seconds":1154,"text":"B one equals two and and so on yep okay y this is our I mean this is our the uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1154s"},{"start_seconds":1162,"text":"evaluations okay the cool thing is that for example for converting two evaluations to coefficients here I would I can apply one thing that's called the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1162s"},{"start_seconds":1170,"text":"fft uh and and I can go back and forth super fast okay so I can go to Cici and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1170s"},{"start_seconds":1176,"text":"so on okay so what I would do okay so here I have the polinomial okay and what's the relationship that needs to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1176s"},{"start_seconds":1185,"text":"follow so how can I convert this to some relation to this to some relationship okay well the relationship","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1185s"},{"start_seconds":1193,"text":"here is well here is A+ one okay so if here is if if a is f of U here you see","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1193s"},{"start_seconds":1201,"text":"that uh a of okay so here let me put here so here is sub would be a of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1201s"},{"start_seconds":1209,"text":"WX equal a of X plus b of X okay and B","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1209s"},{"start_seconds":1216,"text":"of WX see here is that WX is the next one of course here we have the problem of the last one okay we we will solve it","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1216s"},{"start_seconds":1224,"text":"now okay but here B of X is equal to a of X Y okay mhm yeah let's let's solve uh let's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1224s"},{"start_seconds":1232,"text":"solve this problem because I mean okay this works but of course you see that this relationship will feel every well but the last one the last one doesn't","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1232s"},{"start_seconds":1239,"text":"work doesn't work okay so here what we can do is we can Define another polinomial we call it a constant polinomial so it's a polinomial that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1239s"},{"start_seconds":1248,"text":"this is a trace I mean this is depending of of the numbers it changes but uh there is another some constant doesn't yeah so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1248s"},{"start_seconds":1256,"text":"here is we are going to Define one polinomial Let's uh put a polinomial where U here is going to be 1 0 0 0 0 0","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1256s"},{"start_seconds":1264,"text":"0 0 this is actually is the lrange polinomial is the basis is the this we call it l L1 of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1264s"},{"start_seconds":1272,"text":"X okay so this is L1 okay so what I'm doing okay I want to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1272s"},{"start_seconds":1280,"text":"convert so this needs this this equations needs to apply but only when L1 is is is is zero okay not when L1 is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1280s"},{"start_seconds":1289,"text":"one so what one thing that I can do is um well I can uh well I I just I'm going to reconvert this so I'm converting this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1289s"},{"start_seconds":1298,"text":"this this to equal to zero okay this equals to to zero okay and I want this to happen so so what I'm going to do is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1298s"},{"start_seconds":1307,"text":"I'm going to going to multiply that multiply","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1307s"},{"start_seconds":1314,"text":"that going to multiply that by L one uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1314s"},{"start_seconds":1324,"text":"actually uh one okay and this equals to zero and all","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1324s"},{"start_seconds":1333,"text":"this 1 minus L1 f equals right okay yep so you see here","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1333s"},{"start_seconds":1343,"text":"that well of course if if L1 is is zero this is this this condition must fulfill this is in uh uh uh everywhere okay so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1343s"},{"start_seconds":1351,"text":"this is everywhere but in the first one uh zero yeah yeah actually this is this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1351s"},{"start_seconds":1359,"text":"is wrong well let's let's this let's put here so actually the last one is the one that not that's not","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1359s"},{"start_seconds":1367,"text":"defined okay so it's in the last step uh so the next in the last step is the one okay but okay this is L","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1367s"},{"start_seconds":1376,"text":"L8 right l z yeah so here is okay just to be precise on that okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1376s"},{"start_seconds":1386,"text":"but okay so we already have a polinomial we have two polinomial we have a constraint these polinomial we call it the the trace polinomial okay because","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1386s"},{"start_seconds":1395,"text":"this is a l is we call it a constant polinomial okay but uh constant is known by the pro and the verifier and then I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1395s"},{"start_seconds":1402,"text":"do exactly the same so how the protocol would work well","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1402s"},{"start_seconds":1409,"text":"half again pegan Victor the first I would","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1409s"},{"start_seconds":1415,"text":"commit to commit to a of X and commit to B of X mhm okay Victor","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1415s"},{"start_seconds":1424,"text":"would send Z okay here I would send so Peggy would send uh a of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1424s"},{"start_seconds":1433,"text":"z b of Z mhm and it's proof","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1433s"},{"start_seconds":1441,"text":"yeah Y and Victor would check this I mean would check this equations by just substituting x with uh actually you see","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1441s"},{"start_seconds":1450,"text":"here that well here is WX so actually here uh I need for these equations I need a of X so in this case a of Z but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1450s"},{"start_seconds":1458,"text":"here I would need also a a of uh w z so I need this opening too right right and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1458s"},{"start_seconds":1465,"text":"p uh a and B","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1465s"},{"start_seconds":1470,"text":"of see it okay here will be P of B okay well no no problem instead of doing one","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1470s"},{"start_seconds":1478,"text":"opening I'm doing two openings okay and then I'm just checking just substituting this this values with these equations","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1478s"},{"start_seconds":1486,"text":"and I mean the prime field is not fi of course I can convert that to to f shamier so I can generate a proof so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1486s"},{"start_seconds":1493,"text":"here you see that I generated a proof for for for for for for that y okay here another important part is okay but here","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1493s"},{"start_seconds":1501,"text":"is I mean you're proving here that for any value but I want to force here the prover wants to the verifier wants to force for example the input okay so how","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1501s"},{"start_seconds":1510,"text":"would you force the the input well you see here well here the verifier would need also the evaluation of LA to FX but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1510s"},{"start_seconds":1520,"text":"La of X is a constant polinomial so he can he knows how to evaluate that MH okay but so imagine that this is what we call it public inputs in this case or","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1520s"},{"start_seconds":1529,"text":"public inputs of so I want to force public inputs this is something that the verifier have okay but uh you want to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1529s"},{"start_seconds":1537,"text":"prove you want to prove that those values are correct okay and the idea is that you do this you do this by adding another constraint in this case it would","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1537s"},{"start_seconds":1545,"text":"be uh L1 well here I'm using a light but imagine that here is L1 here I want to prove that in L1 so when L1 or if you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1545s"},{"start_seconds":1554,"text":"want l l if you want L8 WX which is L1 okay because it's the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1554s"},{"start_seconds":1561,"text":"next value okay times and here is a of x","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1561s"},{"start_seconds":1567,"text":"minus and here is the let's say a z equal Z and then here I can do the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1567s"},{"start_seconds":1575,"text":"same eight this is L1 this is the the first line okay uh B of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1575s"},{"start_seconds":1583,"text":"x b 0 equal Z here you see that we extended so this is but then again it's due to the same you come it to a of X","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1583s"},{"start_seconds":1591,"text":"and B of X here you sense it of course here you you will need these values in order to these values a z and b 0 are public inputs so you want to the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1591s"},{"start_seconds":1600,"text":"verifier this will be part of the of the verifier proof so they will be known by the verifier and and they will check","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1600s"},{"start_seconds":1607,"text":"that a of X Min Z at a of Z so actually you will you will check that L1 of uh z","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1607s"},{"start_seconds":1614,"text":"w so L1 is is is well L eight of Z L8 is known okay it's a known polinomial times","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1614s"},{"start_seconds":1621,"text":"uh a of Z this was sented by the pr and and and and be sure that's correct mean you say zero which is the public input","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1621s"},{"start_seconds":1630,"text":"is equal to zero okay so you see here that uh I mean this is the kind of for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1630s"},{"start_seconds":1637,"text":"public input but here we converted a state transition function you see this a state uh machine State transition function to a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1637s"},{"start_seconds":1645,"text":"polinomial uh problem and using the polinomial commitment schemas there is a lot of ways of doing this polinomial commitment schemas you can understand","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1645s"},{"start_seconds":1653,"text":"this as a blackbox okay and uh we uh so we are able to uh get uh I mean we can","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1653s"},{"start_seconds":1662,"text":"prove if you have a state machine I mean it's like we have a clock okay so we have this state transition functions we can prove this in parallel so we can","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1662s"},{"start_seconds":1669,"text":"build processors out of that okay so that's the this is the basic the core the basic part and from here we can uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1669s"},{"start_seconds":1677,"text":"uh start talking uh uh about other things yep yep okay actually one quick question usually in practice how are the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1677s"},{"start_seconds":1685,"text":"constant pols communicated to the verifiers here well I mean no the constant polinomial they are they are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1685s"},{"start_seconds":1693,"text":"like part of the circuit I mean they are part they are defined at so when you design a circuit uh here I designed it a circuit and here I designed that should","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1693s"},{"start_seconds":1701,"text":"be a constant polinomial that should have exactly these values so there is I mean so this is theorically you don't","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1701s"},{"start_seconds":1709,"text":"need to do anything else I mean the verifier knows these polinomial the thing is that a lot of times um I mean you can have a lot of these constant","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1709s"},{"start_seconds":1717,"text":"polinomial and uh uh in order to reduce the the memory of the verifier and and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1717s"},{"start_seconds":1725,"text":"the complexity sometimes what you do is uh okay uh instead of the verifier having to compute the the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1725s"},{"start_seconds":1733,"text":"evaluations the idea is uh we can have like this this pols like ProMed we have a commitment of this like if you send","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1733s"},{"start_seconds":1742,"text":"these pols but they are ProMed so you can you can generating the setup phase okay and then what you can do is uh here","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1742s"},{"start_seconds":1750,"text":"you can send the openings with the proof itself so here I mean I would have the verifier would have just a commitment of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1750s"},{"start_seconds":1758,"text":"uh L8 of X MH okay this is computed in the in the setup phase okay and here you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1758s"},{"start_seconds":1766,"text":"would just send here L8 of Z and approve p l l L8 y z okay uh this is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1766s"},{"start_seconds":1776,"text":"sometimes is more practical okay so this is instead of having the verifier to compute okay let the pro the prover to compute it and and and prove it and you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1776s"},{"start_seconds":1786,"text":"in general this this protocols here I'm sending a lot of proofs here we can aggregate all these proof in a single one and I mean the the mechanism for for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1786s"},{"start_seconds":1794,"text":"doing this in a more efficient way there is things but the yeah essentially what you're doing is is is very much uh is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1794s"},{"start_seconds":1801,"text":"very much this mhm MH okay okay yeah sounds good so this is I mean this is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1801s"},{"start_seconds":1807,"text":"the would say the basic of the but but this the the core part I mean is the the the basic there are some other","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1807s"},{"start_seconds":1815,"text":"Primitives that are relevant uh that are important there are for example the permutation checks and the and the plaps which are important pieces so here is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1815s"},{"start_seconds":1824,"text":"for example I can have like two polinomial uh imagine that well here this two","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1824s"},{"start_seconds":1831,"text":"polins and uh well imagine that you have a polinomial that's 1 3 4 8 four four","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1831s"},{"start_seconds":1840,"text":"five MH five okay and you want to check that this is for example is in one two 3","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1840s"},{"start_seconds":1847,"text":"4 five 6 7 eight okay so this would be a kind of a range check okay so here you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1847s"},{"start_seconds":1854,"text":"can there are some you can express this kind of relationships that mean this the numbers of these polins must be included","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1854s"},{"start_seconds":1862,"text":"in this polinomial or it's just a permutation check okay im here have a polinomial is 1 2 three and here have three four five 6 7 8 uh 2 1 okay so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1862s"},{"start_seconds":1872,"text":"this is a permutation of the other you can express this kind of uh relationships with some uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1872s"},{"start_seconds":1880,"text":"mathematical Expressions if you are interested here you can check the pl up arguments and and there is a lot of literat talking about that but these are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1880s"},{"start_seconds":1889,"text":"very useful because for example permutation check allows you to have like specialized stain machines I can have like a main processor stain machine","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1889s"},{"start_seconds":1897,"text":"but then I can have for example a arithmetic stain machine or a vinary stain machine or a KET stain machine so some State machines that act like very","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1897s"},{"start_seconds":1904,"text":"much like a co-processor so they are State machines that are doing specific operations and then I can link them one each other just by a permutation check","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1904s"},{"start_seconds":1912,"text":"I'm just checking what's here is also there so what I'm assuming that's correct this machine it's actually","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1912s"},{"start_seconds":1919,"text":"proven ma in that side okay I mean how you solve memory I mean","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1919s"},{"start_seconds":1928,"text":"there is a lot of uh things but I mean see a processor how it works I mean it's just a normal processor with instructions with conditional jumps with","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1928s"},{"start_seconds":1936,"text":"uh um we got memory actually we got a ROM ROM is the program that's executed in this processor and uh yeah and with","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1936s"},{"start_seconds":1945,"text":"that is I mean if you see Z kbm at the end is this processor with this ROM and this ROM is a code that actually is a is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1945s"},{"start_seconds":1953,"text":"like a GU I mean it's just yeah actually Jord do you want to draw the architecture of like how the the KVM","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1953s"},{"start_seconds":1961,"text":"like processors actually like the main State machine and the other uh different state","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1961s"},{"start_seconds":1974,"text":"machines here is uh well we have a well it's not I mean it's not very different that what would be a normal so here we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1974s"},{"start_seconds":1981,"text":"have a main estate machine the main estain machine there are two processors that they are tied","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1981s"},{"start_seconds":1990,"text":"very much together one is we call it the ROM ROM is not D on the state machine it's just our our polinomial that represents the the the program okay and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1990s"},{"start_seconds":1998,"text":"then we have the memory this is like the core part and then there are auxiliary State machines","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=1998s"},{"start_seconds":2005,"text":"here we have the most important part are let's say the binary binary St machines are doing things like U addition","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2005s"},{"start_seconds":2014,"text":"subtraction uh exor and Thor I mean binary things and I mean things that are by to by bit to bit operations we have","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2014s"},{"start_seconds":2023,"text":"the arithmetic arithmetic same machine is mainly for multiplications y uh 32 bits","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2023s"},{"start_seconds":2032,"text":"I mean uh 256 bit arithmetic so it's a a doing a 256 bits multiplication in a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2032s"},{"start_seconds":2040,"text":"different Prime field this is has some complexity machine that's mainly doing that here um but we have others here we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2040s"},{"start_seconds":2048,"text":"have another that's the storage for example for the storage we're using a spars Merle tree it's kind of a Patricia","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2048s"},{"start_seconds":2056,"text":"try but much simple binary just uh have a storage we have a uh here we have a uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2056s"},{"start_seconds":2067,"text":"M uh storage KCK for example y or Shadow 56 no","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2067s"},{"start_seconds":2076,"text":"mhm and some other I would say uh some other uh very specific mate for example","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2076s"},{"start_seconds":2084,"text":"we have a these are more evbm expected for we have one for to deal with uh on alignments in memory for example","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2084s"},{"start_seconds":2093,"text":"inm for example there is a problem with uh I mean you have uh words of 256 uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2093s"},{"start_seconds":2100,"text":"bits but you actually when you are the memory is bite align it so you can do things like that so I mean we could","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2100s"},{"start_seconds":2108,"text":"do that in a very with binary sary meting but but this is used so many times that we have like a specific arithmetic specific State machine to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2108s"},{"start_seconds":2117,"text":"split and divide I mean to join to to deal with this that specific with that specific cases okay but this is very much the the this is very much the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2117s"},{"start_seconds":2127,"text":"I mean the the architecture is is just different Ste machines and developers don't need to worry very much about that yep yeah yeah um and do","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2127s"},{"start_seconds":2136,"text":"you also want to talk a bit about ZM like the Assembly Language you develop for the for the well here the idea is um","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2136s"},{"start_seconds":2144,"text":"we built um so one of the in order to build this arithmetization I mean we see this polinomial things actually we build","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2144s"},{"start_seconds":2151,"text":"one language to to to to to deal with I mean to create this and one language and a a tooling for we call it this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2151s"},{"start_seconds":2160,"text":"arithmetization for creating these estain machines okay this is called uh pill okay it's polinomial identity language it's just a a language for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2160s"},{"start_seconds":2169,"text":"defining that yeah we have also a lot of uh State machines already designed it like the arithmetic stain machine and binary stain machine that they are that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2169s"},{"start_seconds":2178,"text":"they apply directly or with very small modifications to what would be a ZK wasm um State machine so what we are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2178s"},{"start_seconds":2187,"text":"doing is uh we are taking all all all the all the all the tech all the work that's already in the Z kbm we","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2187s"},{"start_seconds":2197,"text":"are adapting if you want changing small pieces but they they just taking and instead of having a evm you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2197s"},{"start_seconds":2206,"text":"can have a wasm thing of course arithmetic instead of being for example 56 bits it's going to be 64 bits uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2206s"},{"start_seconds":2214,"text":"operation okay maybe KCK you need it or not okay so maybe you will need some other I mean uh uh here discussion for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2214s"},{"start_seconds":2221,"text":"example if we were interested in floting points or not okay but this is uh but uh this is a hard one but I mean at the end","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2221s"},{"start_seconds":2229,"text":"it would be another uh a state machine so here the idea is like a hardware design I mean you can have like different stain machines and then you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2229s"},{"start_seconds":2237,"text":"can plug them together in a different way in order to build different of course the the the the ROM is going to be different because the program that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2237s"},{"start_seconds":2244,"text":"you are going to run probably going is going to be different but uh the architecture is very much the is very much the same so this is the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2244s"},{"start_seconds":2253,"text":"work that we have been doing until now is just uh um trying to see and adapting","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2253s"},{"start_seconds":2259,"text":"the current technology to do the ZK maybe for people who don't like fully","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2259s"},{"start_seconds":2266,"text":"understand how this works in practice like it might be helpful to talk about this entire execution Trace right so like on like on the one side you have","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2266s"},{"start_seconds":2275,"text":"this like row like a lot of them I think I think you have like two to the 23 that's limit today and then on the other well you can change that but yeah this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2275s"},{"start_seconds":2282,"text":"is this is what and then on the other side you have those all those like columns and each column essentially represents some kind of like variables","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2282s"},{"start_seconds":2290,"text":"you're introducing in each of those like circuits and then or like processors and then um eventually like you get like all","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2290s"},{"start_seconds":2299,"text":"those the entire table filled with the execution trace and then you kind of commit to to to that yeah I mean this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2299s"},{"start_seconds":2305,"text":"each column is a polinomial and then you come it to all of them that's very much what what you do yeah here I mean there","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2305s"},{"start_seconds":2312,"text":"is a lot of things to talk about I mean uh but yeah this is the the main architecture I think this is are the the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2312s"},{"start_seconds":2320,"text":"the main pieces and with this you can have more or less an idea how uh everything is uh works of course there","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2320s"},{"start_seconds":2328,"text":"is the details where things get more complex but yeah this is very much the the main idea okay um okay maybe we can","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2328s"},{"start_seconds":2336,"text":"switch to talking a bit about how the the KVM works on the high level like from like a L2 like from a row up point","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2336s"},{"start_seconds":2344,"text":"of view I think so far we've been talking mostly about how it works from a ZK or like a computation point of view but there's still this uh part of like","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2344s"},{"start_seconds":2352,"text":"how the how it works is like L2 because it has you sequencer interaction with L1 and and like L1 to L2 messaging yeah at","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2352s"},{"start_seconds":2359,"text":"the end this is just uh food technology yeah to prove I mean what so how we see this pro at high level I mean the pro is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2359s"},{"start_seconds":2368,"text":"okay this is like a normal I mean you you you have a state route okay you have a set of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2368s"},{"start_seconds":2377,"text":"transactions y this say transation function okay is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2377s"},{"start_seconds":2384,"text":"you have so if you have this state route and you have these transactions you get to this new State Route","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2384s"},{"start_seconds":2391,"text":"yep okay so here at the end the the pro alog together is at the end it's a piece of code that okay you give them this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2391s"},{"start_seconds":2400,"text":"this and this and it generates a proof that actually this is correct I mean you cannot generate a proof with a different state route that this other that this uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2400s"},{"start_seconds":2408,"text":"uh other one okay so this is the pro you can understand it as a blackbox that actually does that okay but then","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2408s"},{"start_seconds":2416,"text":"you need to fit that in a in a system in a in a layer two okay so how the layer","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2416s"},{"start_seconds":2424,"text":"twos work and here of course there are different layer tools and can be some details on the way I'm going to explain","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2424s"},{"start_seconds":2431,"text":"very much how the the polygon cavm works but it's not very different that whole other L tools works okay so the idea","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2431s"},{"start_seconds":2440,"text":"here is um the best way to think about is um uh so we have a network okay that's uh running okay so we have a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2440s"},{"start_seconds":2449,"text":"state route and sometimes uh this it's the B so some transaction are sent the state but it's a different chain I mean it's not ethereum chain it's a different","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2449s"},{"start_seconds":2456,"text":"that's why it's a different network someh okay and um here is when you want to submit something to the network in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2456s"},{"start_seconds":2464,"text":"general the first thing you do is uh we car the sequencer okay the user just sends this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2464s"},{"start_seconds":2474,"text":"to a sequencer that's in this case imagine that's a centralized sequencer okay just the server that's getting the sequencer okay the sequencer sequence","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2474s"},{"start_seconds":2482,"text":"that transactions actually sequencer is building the these blocks okay so it's building State actually it's building","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2482s"},{"start_seconds":2490,"text":"here the transactions it's building all these transactions transaction one transaction two transaction three transaction four okay maybe here","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2490s"},{"start_seconds":2499,"text":"have a new state here it's can be a batch or different blocks okay but at the end is sequencing transactions it's getting the transactions and put putting them one after the other okay","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2499s"},{"start_seconds":2508,"text":"and if you trust the sequencer you don't need anything else I mean you the sequencer is give you like a normal","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2508s"},{"start_seconds":2516,"text":"blockchain you new state the state is is valid okay but of course the sequencer can can can lie and I mean if you want","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2516s"},{"start_seconds":2524,"text":"to build that you go to a bank I think it's it's it's that makes no no sense okay so the the sequencer what it does is uh once in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2524s"},{"start_seconds":2533,"text":"a while maybe when it gets maybe a bunch of transactions or after a timeout okay it sends this information okay to the to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2533s"},{"start_seconds":2542,"text":"the main net to the L1 okay just take and it just sequence and here this is L1 M okay and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2542s"},{"start_seconds":2553,"text":"um actually with this step so they don't they don't tell which the new state it just put the transactions actually just","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2553s"},{"start_seconds":2561,"text":"it just take the transactions and they put them there okay so at this point the transactions are final I mean these are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2561s"},{"start_seconds":2570,"text":"committed um anybody so the thing is that the blockchain doesn't know what's the the current state y but they know that the transactions are going to be","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2570s"},{"start_seconds":2579,"text":"executed with this order and because this state transition function is deterministic and one property that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2579s"},{"start_seconds":2586,"text":"maybe I don't mention but all the transactions are valid or are executable maybe they are not valid but imagine that not valid","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2586s"},{"start_seconds":2594,"text":"transaction is just an operation transaction it just don't modify the state okay but I mean so you deterministically when you have a set of transactions you have a state you have a set of transactions you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2594s"},{"start_seconds":2602,"text":"deterministically you compute what's the new the new state so at this point without generating any proof yet just","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2602s"},{"start_seconds":2609,"text":"putting the the the transactions here we already have a blockchain okay the problem of that is that the people needs","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2609s"},{"start_seconds":2616,"text":"to well there are many problems with this okay so one problem is that people needs to follow the full chain I mean it needs to compute the change from the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2616s"},{"start_seconds":2623,"text":"beginning uh if you want you want to know the current state and the other problem is that this L2 okay so when you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2623s"},{"start_seconds":2633,"text":"want to withdraw funds have withraw f okay the FKS are stuck in the L1 so how the L1 knows that this state is actually","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2633s"},{"start_seconds":2642,"text":"yeah valid you can you valid than you can withraw funds okay so here there is another process different actor in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2642s"},{"start_seconds":2651,"text":"parallel we call it the aggregator that actually is seeing what's in L1 I mean everything that's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2651s"},{"start_seconds":2658,"text":"committed and they are generating these proofs so they are generating the proof Computing the new state and generating","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2658s"},{"start_seconds":2665,"text":"the proof that state is actually this one okay so the here we have we call it an implicit State it's a state that's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2665s"},{"start_seconds":2674,"text":"it's known but it's not on blockchain but this guy is because the proof is sending the new state here you are sending the state and with a proof and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2674s"},{"start_seconds":2683,"text":"this proof is verified on chain so you know that this state is correct and it's at this point where um you can withdraw","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2683s"},{"start_seconds":2691,"text":"the fonts because you already know the state this state can include so uh what exits you can do so you can this point","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2691s"},{"start_seconds":2697,"text":"for you can exit Okay so this is this explicit State this is the the appr okay and this is uh important for withdrawing","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2697s"},{"start_seconds":2706,"text":"the the phones for examp in optimistic rollups uh this stage is much longer there is a process well yeah because","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2706s"},{"start_seconds":2714,"text":"it's a process for I mean it's a gaming pro mean it's a challenge process and then you need to give time for others to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2714s"},{"start_seconds":2721,"text":"to prove we call this this this is the the challenge period yeah it's a challenge period that you need to to to to deal with okay but in a ZK roll up","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2721s"},{"start_seconds":2730,"text":"this this this time is the I mean is a time so it just generate the proof and that's it you know if the proof is well generated and the proof system is correct you know that this state is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2730s"},{"start_seconds":2738,"text":"correct so you don't need to wait anything more yeah yeah yeah and this is the this is the big difference between one or the other and this this this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2738s"},{"start_seconds":2745,"text":"transition this transition uh period yeah yeah so there there are some details on the bridge I mean because the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2745s"},{"start_seconds":2753,"text":"idea of the lay one two is like you need to be able to uh transfer funds from L1 to L2 and transfer back okay and here there is a a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2753s"},{"start_seconds":2761,"text":"mechanism it's a special mechanism it's a trustless reach is kind of automatic yeah okay and some mechanism that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2761s"},{"start_seconds":2768,"text":"happens here here okay so but actually yeah how about we just talk about the the bridge because there needs to be like a mechanism to communicate between","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2768s"},{"start_seconds":2776,"text":"the the L1 and L2 like people needs to be able to deposit and then withraw their phones back and then maybe our2 also needs to read all one state and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2776s"},{"start_seconds":2784,"text":"then things like this yeah then the the idea let me explain you give you the big big picture of how it works the idea is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2784s"},{"start_seconds":2790,"text":"that when somebody um um when somebody wants to send fonts to L2 okay actually","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2790s"},{"start_seconds":2797,"text":"is uh here what you do is um well you send the fonts to L1 you put it in you send the fonts to some smart contract in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2797s"},{"start_seconds":2805,"text":"L1 and this smart contract builds what we call it is a global global xit Tre but in any case here what you do is it's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2805s"},{"start_seconds":2813,"text":"a it's a this is buil in a smart contract and it's a a pen only uh tree it's very much like when you are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2813s"},{"start_seconds":2820,"text":"depositing something in in uh for for a staking in ethereum you're just sending fonts there and you build the miracle tree of all the fonts that are set there","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2820s"},{"start_seconds":2830,"text":"okay and one leaf for each deposit y okay so This Global exit route at some point okay so and this is part I mean","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2830s"},{"start_seconds":2838,"text":"when I pin the the the sequencer at some point the sequencer but in this sequence here actually you are including the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2838s"},{"start_seconds":2846,"text":"global X3 and putting this Global X3 in the route in the state three of L2 M okay this is done automatically in this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2846s"},{"start_seconds":2855,"text":"mechanism actually here is the sequencer can include this Global X3 whenever he wants in when you are doing this this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2855s"},{"start_seconds":2862,"text":"sequencer you verify that what you are putting there is is the correct uh the correct one and even more than that I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2862s"},{"start_seconds":2871,"text":"mean the the the sequencer in this transaction in the smart contract it's forced that you include the the root yeah so this is and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2871s"},{"start_seconds":2880,"text":"this is very important for what we call it the force transactions so uh so but but you are putting this so you you are sure that I mean if you are depositing","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2880s"},{"start_seconds":2889,"text":"here this is going to be include in the this is going to be include in the in the in the in the in the in in the state","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2889s"},{"start_seconds":2896,"text":"three So This Global This Global This Global exit route I mean this route of all the deposits that you are doing the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2896s"},{"start_seconds":2904,"text":"at some point this is going be available in the in the l2s this can go really fast because the sequencer don't even","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2904s"},{"start_seconds":2911,"text":"need I mean the only what they will do is they want that this is final but once this is final so they don't need to wa to approve I mean they can include quite","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2911s"},{"start_seconds":2920,"text":"quite quite fast okay and once this Global X3 is is in a smart contract in del2 then in del2 what you do is a claim","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2920s"},{"start_seconds":2929,"text":"a claim I mean it's it's in this smart contract in Del two and here you can do mainly what you do is okay you get the fonts L2 the ones of course they need to","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2929s"},{"start_seconds":2939,"text":"match in the exit 3 needs to exist and then of course you you just check I mean you just uh Mark that you cannot withdraw the phones twice I mean you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2939s"},{"start_seconds":2947,"text":"just put that this Leaf is already used so you cannot uh use it again okay so this is how you transfer from L1 to L2","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2947s"},{"start_seconds":2955,"text":"okay and for the 2 l21 the mechanism is very similar but the other way around I mean in each St machine we have like a a","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2955s"},{"start_seconds":2963,"text":"it's the the local exit route it's a for the exit it's like so when you want you are in L2 no and you want to uh withw","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2963s"},{"start_seconds":2971,"text":"the phon in L1 actually what you are doing is you are sending those phones to L1 so you are creating this three in L2 this you are putting a leaf on in these","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2971s"},{"start_seconds":2979,"text":"l2s there is a mechanis for synchronizing this root of the of the L2 to the L1 L1 yeah and then in the L1 you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2979s"},{"start_seconds":2988,"text":"do the same I mean you have this mechanis you can do you do withdraw you prove that this Leaf is in there that you have not used that leaf before then","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2988s"},{"start_seconds":2995,"text":"you get the phones back but this the mechanism for updating the local exit","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=2995s"},{"start_seconds":3001,"text":"route in L1 this happens uh in the Pro in the the proof site so you need to prove that actually this is a new state","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3001s"},{"start_seconds":3009,"text":"that includes This Global actually I mean to be more uh concrete uh I mean uh","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3009s"},{"start_seconds":3017,"text":"the the the pr that I mentioned here is a uh State I uh this is the outut is a state I + one okay here","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3017s"},{"start_seconds":3026,"text":"okay you are proving that go from one state to the state here we also saying the local exit Tre so and this this local Exit 3 is updated in the smart","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3026s"},{"start_seconds":3034,"text":"contract in L1 so every time that uh a proof is generated that a proof is generated we update the local exit mean","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3034s"},{"start_seconds":3043,"text":"all the exits of the L2 uh we are dat in in in L1 so that we can withdraw that in L one here to mention that","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3043s"},{"start_seconds":3053,"text":"um the proof uh this proof is not one proof per batch okay it's a proof that uh we can aggregate","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3053s"},{"start_seconds":3062,"text":"many proofs so Thea is that we have we can have like 1,000 or 100 batch and and we aggregate that in a single proof example we are doing I think we are","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3062s"},{"start_seconds":3070,"text":"sending now one proof every half an hour and in half an hour maybe there is I don't know 1,000 2,000 10,000 transactions batches Bates yeah batches","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3070s"},{"start_seconds":3079,"text":"and each batch has a proof and then we aggregate all the proofs in a single proof this is the aggregation the aggregation is just most down to to save","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3079s"},{"start_seconds":3086,"text":"on cost uh like to so that cost mainly yeah because I mean but it's not it's not the proving cost it's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3086s"},{"start_seconds":3095,"text":"the I mean if you have to send one transaction yeah yeah the the cost verification on L1 it's not not cheap it's not the cost of verification but","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3095s"},{"start_seconds":3103,"text":"even the cost of sending a transaction sending a transaction or updating all these roots and all that stuff which is called you pack all together and and and","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3103s"},{"start_seconds":3112,"text":"it's you convert something that would be a variable cost with something that just a fixed cost of the network well in in in the polygon in in","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3112s"},{"start_seconds":3120,"text":"the polygon 2.0 the idea is not to have one single proof per chain MH of many batches but have one single proof for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3120s"},{"start_seconds":3128,"text":"all the chains of polygon 2.0 mhh is an optional I mean if you are a chain you want to generate your own proof that's fine but uh it's going to be a mechanism","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3128s"},{"start_seconds":3137,"text":"that with a single proof we are able to verify all the all the chains yep uh at a time yep yep","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3137s"},{"start_seconds":3146,"text":"okay so like on the L1 to L2 interaction um how does Forks on L1 handled I assume for example on the sequencer side when","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3146s"},{"start_seconds":3154,"text":"it needs to read our one state it needs to read the the final State unless it the sequencer itself has a way to revert","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3154s"},{"start_seconds":3161,"text":"well no one reverts right so well here yeah the the the what we're doing is I mean the sequencer so when you are sending this when you are sending the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3161s"},{"start_seconds":3169,"text":"when you're sending the sequencer here it need it needs to be correct so you cannot sequence something that uh you cannot sequence a global exit","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3169s"},{"start_seconds":3178,"text":"route that's not not not fin well you well this is L1 so you can you can you you can you don't need to be final right","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3178s"},{"start_seconds":3187,"text":"but uh the sequencer in general is going to White wait for wait for the finality in L1 uh because I mean if it changes","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3187s"},{"start_seconds":3196,"text":"then all the all the state that Hever would need to in there so it's","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3196s"},{"start_seconds":3203,"text":"more practical right now just wait a couple of a couple of epo in ethereum and you know that for","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3203s"},{"start_seconds":3211,"text":"sure that's final and then you can and what about the L L2 to L1 Direction L2 to L1 is not much a problem because of","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3211s"},{"start_seconds":3218,"text":"the the problem that's um that that you send the proof so when you are sending the proof you are already committing to there so it doesn't M doesn't matter I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3218s"},{"start_seconds":3226,"text":"mean if you revert it the proof will be reverted too so I mean and and and the withdraws that you had been done later on will be reverted too so it's not not","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3226s"},{"start_seconds":3233,"text":"not a problem on on that side but yeah the sequencer here is uh finality in L1","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3233s"},{"start_seconds":3240,"text":"uh is important for the deposits mhhh yeah yeah yeah makes sense um okay so","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3240s"},{"start_seconds":3249,"text":"given that we are kind of about to run out of time um is there anything and we also cover both the kind of the rollup side as well as the the cas side um is","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3249s"},{"start_seconds":3258,"text":"there anything else you want to talk about maybe like the future of polygon the KVM or like how how do you see this uh like Po how do you see this whole","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3258s"},{"start_seconds":3267,"text":"like thing like including polygon cdk evolving uh in the future yeah well in polygon we are building this polygon 2.0 this is what we call the this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3267s"},{"start_seconds":3275,"text":"constellation of uh rollups or chains of different uh different different","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3275s"},{"start_seconds":3282,"text":"different chains yeah and the idea is that they can share the same liquidity and because of this uh zero I mean this this single proof that somehow validates","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3282s"},{"start_seconds":3291,"text":"the the chain of the Food Network this can be seen very much like a clock I mean imagine that this this proof happens every 30 seconds so that means","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3291s"},{"start_seconds":3299,"text":"that if you have different chains you can uh do what you can transfer from one side every 30 seconds so you can see the","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3299s"},{"start_seconds":3306,"text":"full uh constellation of rollups I mean the full the full polygon to. zero as a very much as a as a single chain here I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3306s"},{"start_seconds":3314,"text":"mean interesting things that uh I mean that you're doing uh are important I mean this inter sharding communication","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3314s"},{"start_seconds":3322,"text":"for example something that's super interesting thing to look about or even that availability is also another point I mean here there","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3322s"},{"start_seconds":3330,"text":"is a lot of points of exploration that uh we can learn one each other yeah yeah what what about on the DK side specifically where do you see the like","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3330s"},{"start_seconds":3338,"text":"new break through on the on the DK front well in the cdk uh of course for example for us having zik wasam as a POS as an","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3338s"},{"start_seconds":3347,"text":"option for for for chain in the polygon 2.0 this is uh I mean this is very","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3347s"},{"start_seconds":3354,"text":"important I think this is giving the options to the users to the applications to to develop in in in wasm the ZK this","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3354s"},{"start_seconds":3361,"text":"opens up the the the the market uh for this this is really important but here I","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3361s"},{"start_seconds":3369,"text":"mean I would say I'm more worried more in the the the short run at this point is we have right now A A constellation","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3369s"},{"start_seconds":3376,"text":"with one single star the zkm now we need to put the next star okay and and from here start uh uh start growing I mean","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3376s"},{"start_seconds":3385,"text":"this is the plan for them the next years and and here we'll start connecting all these things and see how the things are evolving I mean there is a lot of you do","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3385s"},{"start_seconds":3394,"text":"the zbm but then it's like you open a new a new a new world and and and we are starting now and right right that's where that's very much where we are at","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3394s"},{"start_seconds":3402,"text":"the beginning of everything cool that's a very exciting future and uh again thanks JY for joining me uh for another","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3402s"},{"start_seconds":3409,"text":"episode of the whiteb session and thanks everyone thank you","url":"https://www.youtube.com/watch?v=CS3w1--0gcE&t=3409s"}],"youtube_url":"https://youtube.com/watch?v=CS3w1--0gcE","url":"https://near-pedia.xyz/videos/CS3w1--0gcE"}