{"id":"wpXtrcYSV-U","title":"NEAR Onboarding Bootcamp | Part 4 of 5: Aurora","description":"Aurora is an Ethereum Virtual Machine created by the stellar team at the NEAR Protocol, delivering a turn-key solution for developers to operate their apps on an Ethereum-compatible, high-throughput, scalable and future-safe platform, with low transaction costs for their users.\n\nWhen you deploy your Ethereum app on Aurora, you’ll benefit from:\nFull Ethereum compatibility: Aurora is fully compatible with Ethereum. No need to re-write your applications.\nHigh throughput and scalability: Aurora runs on the NEAR Protocol, one of the highest performance third-generation L1 protocols, from one of the most highly regarded teams in the industry.\nLow transaction costs: Your users will not only enjoy fast transactions, but very economical ones as well.\nFeatures, Features, Features: From its core SputnikVM, to full tool-chain support, to gasless meta transactions, Aurora is the most advanced EVM on the market.\nTrustless Bridging: The Aurora Bridge, as a part of the NEAR Rainbow Bridge, is the only fully trustless asset bridge in the Ethereum industry.\nBase currency is ETH: Transaction fees in Aurora are paid in the base currency, ETH, providing a great UX for user, and opening the door to interesting ecosystem sustainability possibilities.\n\nAurora is an Ethereum-compatible scaling solution leveraging the next-generation NEAR Protocol.\n\nThe Aurora environment consists of the Aurora Engine, a high performance EVM—Ethereum Virtual Machine—and the Aurora Bridge, facilitating trustless transfer of ETH and ERC20 tokens between Ethereum and Aurora, within a great user experience.\n\nAurora exists and will be operated as an independent, self-funded initiative, but will continue to leverage the shared team DNA and continually evolving technology of the NEAR Protocol.\n\nThe governance of Aurora will take a hybrid form of a Decentralized Autonomous Organization—the AuroraDAO—complimented by a traditional entity which will hold one of several seats in the AuroraDAO.\n\nVisit http://aurora.dev for more\n\nFollow the latest from NEAR Protocol on:\nWebsite: https://near.org/\nDiscord: https://near.chat/\nBlog: https://near.org/blog/\nTwitter:   / nearprotocol  \nGitHub: https://github.com/near  https://github.com/nearprotocol\n#Blockchain #FutureIsNEAR #NEAR #nearprotocol","channel_name":"NEAR Protocol","published_at":"2021-07-13T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/wpXtrcYSV-U/hqdefault.jpg","transcript_text":"all right can you guys see this yep awesome all right so um hello everyone everyone my name is michael burch i've worked at near for a little bit over a year and i've been on the aurora team for a couple months um i'm just going to give a quick overview about aurora sort of what it is where where it's been and talk about some of the tech at a at a pretty high level um i'll keep it brief but i have some questions at the end if people want to ask more uh in-depth questions and and feel free to um interrupt me as well if something doesn't make any sense so the whole point of aurora is to connect near and ethereum and benefit both both ecosystems as a result um so on the ethereum side right thinking about like developers coming from ethereum and working on aurora what are they getting they're getting the benefits of near so they get a one-second block time the scalability of of near which is of course still a work in progress but um something that that they're definitely going to benefit from in the future and and the low transaction fees of near as well like much much much lower than what it would be on ethereum itself and then on on the other side when it's near get near gets all of the benefits from ethereum being you know a pretty well established blockchain right they've got all this d5 infrastructure with assets and liquidity that we can bridge over and make use of on the near side and they have an existing developer base you know that helps grow near helps push adoption when when other developers are um using the platform and an existing tooling as well which is which is a pretty big deal when you think about like people are worried about you know smart contract audits and people are worried about um deploy processes and and this sort of thing so being able to use tools that they are already familiar with means that they can sort of get going with with near and by aurora um with with as little um stumbling blocks as possible as little change as possible and so that brings me to this this final point here which is the ethereum compatibility we want aurora to be fully ethereum compatible so we want people to be able to just take their code as it is on ethereum not do any changes and be able to to deploy it on uh aurora so same byte code same tooling whether it's truffle or hard hat metamask for for interacting with apps same same interface all that kind of stuff so aurora has been uh around not very long technically uh officially launched may 12th but the bridge which is one of the big technological pieces of aurora was was launched much earlier back in april and then of course it's been worked on for a long time um originally the evm piece of aurora was actually part going to be part of near core but we sort of pivoted and decided to to make it as a smart contract on top excuse me on top of near instead and there's there's still a few artifacts hanging around in the near code base as a result of this pivot um but there there are to-do items to eventually get rid of them but i think this is worth pointing out you know for people onboarding uh onto the near team because they they might be confused like oh why why do we have all this evm stuff that doesn't appear to be um used at all yes sandy i see your hand is up and actually yeah i i'm not a boot camper but i have a question so like what does it mean that of like initially we wanted to have it as part of near core but then we decided to have it as a smart contract and like how does it work and what is the difference that's what i never understood so a good time for me to ask the question yeah yeah great question so when it's part of near core basically what that means is it's actually baked into the run time itself right so if you think about what a smart contract looks like on on near it's um a set of wasn't by code that gets executed by some wasm interpreter virtual machine and there are host functions because wasn't right has this external function interface that it calls out to the node itself and the node runtime fills in these these host functions so as far as i understand it and i i wasn't working on this at the time so this might not be exactly what the plan was um but as far as i understand it basically the evm commands were going to be essentially host functions right so you could take evm byte code and pass it into the runtime and say here run this for me and give me back the result whereas what we're doing now is we've actually got all of the evm logic as wasm byte code so it's executing within the wasm piece of the near runtime whatever the wasm vm is right so in some sense this is now like a near native contract there's nothing special about the evm relative to any other smart contract whereas if it was baked into near core then at some level the near protocol itself understands what the evm is and what it does which introduces a lot of complexity in the protocol and that's one of the main reasons why we didn't want to do it that way anymore so is the whole evm compiled into a wasn't bytecode and deployed like that yep oh amazing i didn't know that that yeah it is amazing it's pretty it's pretty impressive um right any any other questions about about that cool okay so we'll move on here um so the first technical piece that i want to talk about is is the rainbow bridge this is like i was saying in some ways the the big technological uh piece of of aurora um i actually chose to wear my rainbow bridge shirt today this was you know some near swag that uh was put out around the same time as the bridge launch um so very high level the idea here is we have two smart contracts you know we have a smart contract on here and a smart contract on ethereum and they understand how to use the data from each other's blockchain right so on the near side we've got a wasm smart contract written in rust and it understands what to do with ethereum block headers and on the ethereum side we've got a smart contract written in solidity and it understands what to do with near block headers so the idea is that you effectively have a ethereum node living on the near blockchain in the form of a smart contract and a near node living on the ethereum blockchain in the form of a smart contract and so what this lets you do is when you're interacting with either blockchain eventually and we'll talk about the eventually in a moment the other blockchain learns about this because of these clients so as an example and we'll talk about this again later on as well if i deposit some tokens i lock them up on the ethereum side say die or whatever there's going to be a block that contains that transaction and that block is eventually going to get relayed over to the ethereum node living on the near blockchain and then someone later can submit a proof to nir and say hey look this is a this is a merkel proof showing that this transaction was in this block please mint me some some dye on this side to correspond to the amount that got locked up and so we're effectively transferring the tokens in this way and the client is then able to verify that proof and say oh yes you know i understand that this miracle proof corresponds to this block header which i have um and and this is all a legit transaction it does the proof of work verification as well to make sure that it's on the longest chain um but again the high level is basically you've got ethereum node on the near blockchain and near node on the ethereum blockchain and then some infrastructure to relay the information back and forth and some logic that takes care of the proof of work stuff and the signature verification for proof of stake and that kind of thing um there's a couple caveats to to this which make it a little bit more complicated than this picture one is the rate at which you actually send data back and forth right it becomes expensive imagine if you were to try to send literally every block from near to ethereum every second you'd have to be sending a block and that would be totally infeasible so you you actually only have to send one block per epoch because of details around how the the near um protocol works um and then on on the other side um i think it's also done in batches there's some number of headers that get batched up into a single transaction for for efficiency reasons and so effectively what that amounts to from a user perspective is there's some latency when you try to go across blockchain because you have to wait for a certain number of blocks to appear before the transaction is finalized and there's some details there around that as well because ethereum doesn't actually have a real notion of finalization so there's questions of like how many blocks are good enough and so on but i'll i'll leave it there for now i'll share these slides afterwards so you can you know go through any of these links if you want for for more for more details or if you have a particular question we can talk about it at the end so now we'll talk about the the engine so this is a very rough sketch of what the the architecture looks like so i mentioned the evm logic is all baked into the was and by code of our contract itself that's courtesy of this sputnik vm library that's a library that was originally developed by parity and we've made some contributions to it as well but it's basically an evm written purely in rust and so we can compile it to wasm no problem um and in fact it's just an ordinary you know cargo dependency inside our rust smart contract which is compiling to wasm so the the engine contains this uh core evm library and then we've written some extra logic around it that includes things like account state management and the uh connectors which we'll talk about on the next slide so all that is wrapped up in our contract and it gets deployed on on near so then how does this actually get uh interacted with by ethereum infrastructure right because remember we want full compatibility so we want things like metamasks to be able to talk to it so we have an intermediate layer here which um we're still thinking of a good name for but for the purposes of this presentation we'll call it proxies in the code base we call them relayers but then relayers becomes kind of an overused term so for the sake of differentiating it from the three other usages of relay or we'll call it a proxy for now but the idea is that the engine exposes some interface right we hopefully you guys have already seen a presentation about interacting with smart contracts on near so there's some interface that the engine exposes and the proxy knows how to talk to it but the proxy also understands the web 3 rpc like the the geth or um i think it is actually exactly the guest standard that we're using uh for ethereum so any of the ethereum tooling can talk to the proxy and you know make requests like oh tell me the nonce of this account or get me the the code state of this account or process this transaction and the proxy understands how to take that request and translate it into the corresponding engine request which it can submit to the near blockchain get the result back and you know reformat it back to what the ethereum tool is expecting so at a very high level that's what's happening obviously there are some details here and again maybe i'll mostly hand wave them away but one thing you might wonder about is what about payment right because ethereum tooling expects payment to happen in eth whereas the near transaction that actually happens expects the transaction to be denominated and near um and so the the technical solution there is the proxy actually has an account on near and the uh proxy will try to convert the eth into near and sort of charge it in in that way um and we'll talk about that a little bit more in the next slide as well um but as of right now anyways we're not bothering with that complexity because we're still trying to build adoption so for now it's it's just all the transactions are actually free and that's that's fine we're willing to you know fund the um transactions that are happening right now because there aren't that many and again this is sort of the benefit of near right is that transactions are cheap anyways so this is sort of short term uh fine and then in the long term we have a technical solution and and again there there are some links here if people want to after the presentation go look at and get more details so the last thing i want to talk about is the aurora bridge which is a distinction from the rainbow bridge based on the target of this right so in both cases the bridge on the other side is ethereum but on the near side the rainbow bridge is actually targeting the near base run time whereas the aurora bridge is meant to target the the engine right we're targeting the sort of pseudo evm runtime that exists inside this engine so for this we have some some special codes so we have things called connectors connectors are basically just the logic that that talks about locking and unlocking eth um or erc20 or whatever um we still reuse a lot of the rainbow bridge infrastructure so i was talking about these clients being like nodes on the other blockchains like near on ethereum and ethereum on near and and provers to show that the the transactions are finalized correct so we reuse all that infrastructure we have some extra logic for the locking and unlocking and we also have some dedicated again we're using the word three layer here but here i think it's maybe the best usage of it because we're literally taking events from the ethereum solidity smart contract and we're converting them into um near transactions so that the minting process becomes automatic you know you send your eth to the eth connector on the east side and automatically 10 minutes later your um uh near beef your east on the near side has appeared because the relayers automatically picked up the event the deposit event from the smart contract and submitted a a new transaction on your behalf so this this a couple bullets summarizes that here so we send some ethereum to the eve connector contract there's a deposit event from that contract and the relayer captures it constructs a proof showing the event actually happened sends that over to near the near contract verifies that proof and mints the eth on the user's account and then i mentioned that the the idea here is you know we want to be able to mint directly into the sort of pseudo run time of the aurora engine as well as being able to mint directly onto mirror accounts so just wrapping up here i wasn't keeping super close taps on my time so i apologize sandy if i went over um again i'll show these slides afterwards but um a couple resources here again if people are looking for more details or want to chat about this some more we've got some telegram links and and that is all so happily taking questions","transcript_synced_at":"2026-11-04T04:15:33.114Z","segments":[{"start_seconds":0,"text":"all right can you guys see this yep awesome all right so um hello everyone everyone","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=0s"},{"start_seconds":10,"text":"my name is michael burch i've worked at near for a little bit over a year and i've been on the aurora team for","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=10s"},{"start_seconds":18,"text":"a couple months um i'm just going to give a quick overview about aurora sort of","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=18s"},{"start_seconds":24,"text":"what it is where where it's been and talk about some of the tech at a at a pretty high level um","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=24s"},{"start_seconds":32,"text":"i'll keep it brief but i have some questions at the end if people want to ask more uh in-depth questions","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=32s"},{"start_seconds":38,"text":"and and feel free to um interrupt me as well if something doesn't make any sense so the whole point of","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=38s"},{"start_seconds":47,"text":"aurora is to connect near and ethereum and benefit both both ecosystems as a result","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=47s"},{"start_seconds":55,"text":"um so on the ethereum side right thinking about like developers coming from ethereum and","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=55s"},{"start_seconds":62,"text":"working on aurora what are they getting they're getting the benefits of near so they get a one-second block time","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=62s"},{"start_seconds":70,"text":"the scalability of of near which is of course still a work in progress but um something that that they're definitely going to","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=70s"},{"start_seconds":77,"text":"benefit from in the future and and the low transaction fees of near as well like much much much lower than what it would be on ethereum itself and then on","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=77s"},{"start_seconds":87,"text":"on the other side when it's near get near gets all of the benefits from ethereum being you know a pretty well established blockchain right they've got","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=87s"},{"start_seconds":95,"text":"all this d5 infrastructure with assets and liquidity that we can bridge over and make use of on the near side","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=95s"},{"start_seconds":103,"text":"and they have an existing developer base you know that helps grow near helps push adoption when when other developers are","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=103s"},{"start_seconds":111,"text":"um using the platform and an existing tooling as well which is which is a pretty big deal when you think about like people are","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=111s"},{"start_seconds":119,"text":"worried about you know smart contract audits and people are worried about um deploy processes and and this sort of thing so being able to use tools that","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=119s"},{"start_seconds":128,"text":"they are already familiar with means that they can sort of get going with with near and by aurora","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=128s"},{"start_seconds":136,"text":"um with with as little um stumbling blocks as possible as little change as possible and so that brings me to this this final","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=136s"},{"start_seconds":145,"text":"point here which is the ethereum compatibility we want aurora to be fully ethereum compatible so we want people to be able to just","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=145s"},{"start_seconds":153,"text":"take their code as it is on ethereum not do any changes and be able to to deploy it on uh aurora so same byte code","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=153s"},{"start_seconds":162,"text":"same tooling whether it's truffle or hard hat metamask for for interacting with apps same same interface","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=162s"},{"start_seconds":170,"text":"all that kind of stuff so aurora has been uh around not very long technically","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=170s"},{"start_seconds":177,"text":"uh officially launched may 12th but the bridge which is one of the big technological pieces of aurora was was launched","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=177s"},{"start_seconds":185,"text":"much earlier back in april and then of course it's been worked on for a long time um originally the evm piece of aurora","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=185s"},{"start_seconds":193,"text":"was actually part going to be part of near core but we sort of pivoted and decided to to make it as a smart contract on top","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=193s"},{"start_seconds":202,"text":"excuse me on top of near instead and there's there's still a few artifacts hanging around in the near code base as a result of this pivot","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=202s"},{"start_seconds":211,"text":"um but there there are to-do items to eventually get rid of them but i think this is worth pointing out you know for people onboarding uh","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=211s"},{"start_seconds":218,"text":"onto the near team because they they might be confused like oh why why do we have all this evm stuff that doesn't appear to be","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=218s"},{"start_seconds":224,"text":"um used at all yes sandy i see your hand is up and actually yeah i i'm not a boot camper but i have a question so","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=224s"},{"start_seconds":233,"text":"like what does it mean that of like initially we wanted to have it as part of near core but then we decided to have it as a smart contract and like how","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=233s"},{"start_seconds":241,"text":"does it work and what is the difference that's what i never understood so a good time for me to ask the question yeah yeah great question","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=241s"},{"start_seconds":248,"text":"so when it's part of near core basically what that means is it's actually baked into the run time itself","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=248s"},{"start_seconds":256,"text":"right so if you think about what a smart contract looks like on on near it's um","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=256s"},{"start_seconds":263,"text":"a set of wasn't by code that gets executed by some wasm interpreter virtual machine and there are host functions because","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=263s"},{"start_seconds":272,"text":"wasn't right has this external function interface that it calls out to the node itself and the node runtime","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=272s"},{"start_seconds":279,"text":"fills in these these host functions so as far as i understand it and i i wasn't working on this at the time so this might not be exactly what the plan","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=279s"},{"start_seconds":287,"text":"was um but as far as i understand it basically the evm commands were going to be essentially","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=287s"},{"start_seconds":295,"text":"host functions right so you could take evm byte code and pass it into the runtime and say here run this for me and give me back the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=295s"},{"start_seconds":303,"text":"result whereas what we're doing now is we've actually got all of the evm logic","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=303s"},{"start_seconds":311,"text":"as wasm byte code so it's executing within the wasm piece of the near runtime whatever the wasm vm","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=311s"},{"start_seconds":320,"text":"is right so in some sense this is now like a near native contract there's nothing special about the evm","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=320s"},{"start_seconds":327,"text":"relative to any other smart contract whereas if it was baked into near core then at some level the near protocol itself","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=327s"},{"start_seconds":335,"text":"understands what the evm is and what it does which introduces a lot of complexity in the protocol and that's one of the main reasons why we didn't want to do it that way anymore","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=335s"},{"start_seconds":344,"text":"so is the whole evm compiled into a wasn't bytecode and deployed like that yep oh amazing","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=344s"},{"start_seconds":351,"text":"i didn't know that that yeah it is amazing it's pretty it's pretty impressive um right any any other questions about","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=351s"},{"start_seconds":361,"text":"about that cool okay so we'll move on here um so the first technical piece that i","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=361s"},{"start_seconds":369,"text":"want to talk about is is the rainbow bridge this is like i was saying in some ways the the big technological","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=369s"},{"start_seconds":376,"text":"uh piece of of aurora um i actually chose to wear my rainbow bridge shirt today this was you know some near swag","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=376s"},{"start_seconds":383,"text":"that uh was put out around the same time as the bridge launch um so very high level the idea here","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=383s"},{"start_seconds":393,"text":"is we have two smart contracts you know we have a smart contract on here and a smart contract on ethereum","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=393s"},{"start_seconds":400,"text":"and they understand how to use the data from each other's blockchain right so","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=400s"},{"start_seconds":408,"text":"on the near side we've got a wasm smart contract written in rust and it understands what to do with","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=408s"},{"start_seconds":414,"text":"ethereum block headers and on the ethereum side we've got a smart contract written in solidity and it understands what to do with","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=414s"},{"start_seconds":423,"text":"near block headers so the idea is that you effectively have a ethereum","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=423s"},{"start_seconds":431,"text":"node living on the near blockchain in the form of a smart contract and a near node living on the ethereum blockchain in the form of a smart","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=431s"},{"start_seconds":439,"text":"contract and so what this lets you do is when you're interacting with either blockchain eventually and we'll","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=439s"},{"start_seconds":447,"text":"talk about the eventually in a moment the other blockchain learns about this because of these clients","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=447s"},{"start_seconds":454,"text":"so as an example and we'll talk about this again later on as well if i deposit some tokens i lock them up on the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=454s"},{"start_seconds":463,"text":"ethereum side say die or whatever there's going to be a block that contains that transaction and that block is eventually going to","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=463s"},{"start_seconds":471,"text":"get relayed over to the ethereum node living on the near blockchain","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=471s"},{"start_seconds":478,"text":"and then someone later can submit a proof to nir and say hey look this is a this is a merkel proof showing that this transaction was","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=478s"},{"start_seconds":486,"text":"in this block please mint me some some dye on this side to correspond to the amount that got","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=486s"},{"start_seconds":494,"text":"locked up and so we're effectively transferring the tokens in this way and the client is then able to verify that proof and say oh yes you know i","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=494s"},{"start_seconds":502,"text":"understand that this miracle proof corresponds to this block header which i have um and and this is all a legit transaction","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=502s"},{"start_seconds":510,"text":"it does the proof of work verification as well to make sure that it's on the longest chain um but again the high level is","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=510s"},{"start_seconds":519,"text":"basically you've got ethereum node on the near blockchain and near node on the ethereum blockchain and then some infrastructure to relay","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=519s"},{"start_seconds":527,"text":"the information back and forth and some logic that takes care of the proof of work stuff and the signature verification for proof of","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=527s"},{"start_seconds":536,"text":"stake and that kind of thing um there's a couple caveats to to this which make it a little bit more","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=536s"},{"start_seconds":544,"text":"complicated than this picture one is the rate at which you actually send data back and forth right it","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=544s"},{"start_seconds":553,"text":"becomes expensive imagine if you were to try to send literally every block from near to ethereum every second you'd have to be sending a block and that would be","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=553s"},{"start_seconds":560,"text":"totally infeasible so you you actually only have to send one block per epoch because of details around how the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=560s"},{"start_seconds":567,"text":"the near um protocol works um and then on on the other side um","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=567s"},{"start_seconds":576,"text":"i think it's also done in batches there's some number of headers that get batched up into a single transaction for for efficiency reasons and so effectively what that amounts to","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=576s"},{"start_seconds":584,"text":"from a user perspective is there's some latency when you try to go across blockchain because you have to wait for","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=584s"},{"start_seconds":591,"text":"a certain number of blocks to appear before the transaction is finalized and there's some details there around that as well","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=591s"},{"start_seconds":599,"text":"because ethereum doesn't actually have a real notion of finalization so there's questions of like how many blocks are good enough and so on but i'll i'll leave it there for now i'll","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=599s"},{"start_seconds":607,"text":"share these slides afterwards so you can you know go through any of these links if you want for for more for more details or if you have a particular question we can","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=607s"},{"start_seconds":616,"text":"talk about it at the end so now we'll talk about the the engine so this is a very rough","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=616s"},{"start_seconds":623,"text":"sketch of what the the architecture looks like so i mentioned the evm logic is all","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=623s"},{"start_seconds":630,"text":"baked into the was and by code of our contract itself that's courtesy of this sputnik vm library that's a library that was originally","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=630s"},{"start_seconds":639,"text":"developed by parity and we've made some contributions to it as well but it's basically an evm written purely in rust and so we can","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=639s"},{"start_seconds":646,"text":"compile it to wasm no problem um and in fact it's just an ordinary you know cargo dependency inside our rust smart contract which is","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=646s"},{"start_seconds":656,"text":"compiling to wasm so the the engine contains this uh core evm library and then we've written some","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=656s"},{"start_seconds":663,"text":"extra logic around it that includes things like account state management and the uh connectors which we'll talk about on","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=663s"},{"start_seconds":671,"text":"the next slide so all that is wrapped up in our contract and it gets deployed on on near","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=671s"},{"start_seconds":677,"text":"so then how does this actually get uh interacted with by ethereum infrastructure right because remember we want full compatibility so we want","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=677s"},{"start_seconds":685,"text":"things like metamasks to be able to talk to it so we have an intermediate layer here which um we're still thinking of a good name for","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=685s"},{"start_seconds":694,"text":"but for the purposes of this presentation we'll call it proxies in the code base we call them relayers but then relayers becomes kind of an","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=694s"},{"start_seconds":701,"text":"overused term so for the sake of differentiating it from the three other usages of relay or we'll call it a proxy for now","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=701s"},{"start_seconds":710,"text":"but the idea is that the engine exposes some interface right we hopefully you guys have already seen a presentation","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=710s"},{"start_seconds":717,"text":"about interacting with smart contracts on near so there's some interface that the engine exposes and the proxy knows how to talk to it","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=717s"},{"start_seconds":725,"text":"but the proxy also understands the web 3 rpc like the the geth or um i think it is actually exactly the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=725s"},{"start_seconds":734,"text":"guest standard that we're using uh for ethereum so any of the ethereum tooling can talk to the proxy and you know","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=734s"},{"start_seconds":741,"text":"make requests like oh tell me the nonce of this account or get me the the code state of this account or process this transaction","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=741s"},{"start_seconds":749,"text":"and the proxy understands how to take that request and translate it into the corresponding engine request","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=749s"},{"start_seconds":757,"text":"which it can submit to the near blockchain get the result back and you know reformat it back to what the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=757s"},{"start_seconds":764,"text":"ethereum tool is expecting so at a very high level that's what's happening obviously there are some details here","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=764s"},{"start_seconds":771,"text":"and again maybe i'll mostly hand wave them away but one thing you might wonder about","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=771s"},{"start_seconds":779,"text":"is what about payment right because ethereum tooling expects payment to happen in eth whereas the near","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=779s"},{"start_seconds":787,"text":"transaction that actually happens expects the transaction to be denominated and near um and so the the technical solution there is","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=787s"},{"start_seconds":795,"text":"the proxy actually has an account on near and the uh proxy will","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=795s"},{"start_seconds":802,"text":"try to convert the eth into near and sort of charge it in in that way um and we'll talk about that a little bit more in the next slide as","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=802s"},{"start_seconds":810,"text":"well um but as of right now anyways we're not bothering with that complexity because we're still trying to build adoption","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=810s"},{"start_seconds":819,"text":"so for now it's it's just all the transactions are actually free and that's that's fine we're willing to you know fund the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=819s"},{"start_seconds":826,"text":"um transactions that are happening right now because there aren't that many and again this is sort of the benefit of near right is that transactions are cheap anyways so this is sort of","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=826s"},{"start_seconds":834,"text":"short term uh fine and then in the long term we have a technical solution and and again there there are some links","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=834s"},{"start_seconds":842,"text":"here if people want to after the presentation go look at and get more details so the last thing i want to talk about is the aurora bridge which is a","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=842s"},{"start_seconds":850,"text":"distinction from the rainbow bridge based on the target of this right so in both cases the bridge on the other","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=850s"},{"start_seconds":859,"text":"side is ethereum but on the near side the rainbow bridge is actually targeting the near base run time whereas the aurora bridge","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=859s"},{"start_seconds":867,"text":"is meant to target the the engine right we're targeting the sort of pseudo evm runtime that exists inside this","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=867s"},{"start_seconds":874,"text":"engine so for this we have some some special codes so we have things called connectors connectors are basically just the logic","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=874s"},{"start_seconds":884,"text":"that that talks about locking and unlocking eth um or erc20 or whatever um","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=884s"},{"start_seconds":892,"text":"we still reuse a lot of the rainbow bridge infrastructure so i was talking about these clients being like nodes on the other blockchains like near","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=892s"},{"start_seconds":901,"text":"on ethereum and ethereum on near and and provers to show that the the transactions are finalized","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=901s"},{"start_seconds":908,"text":"correct so we reuse all that infrastructure we have some extra logic for the locking and unlocking and we also have some dedicated again","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=908s"},{"start_seconds":916,"text":"we're using the word three layer here but here i think it's maybe the best usage of it because we're literally taking events from the ethereum solidity smart","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=916s"},{"start_seconds":925,"text":"contract and we're converting them into um near transactions so that the minting process becomes automatic","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=925s"},{"start_seconds":934,"text":"you know you send your eth to the eth connector on the east side and automatically 10 minutes later","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=934s"},{"start_seconds":942,"text":"your um uh near beef your east on the near side has appeared because the relayers automatically picked up the event","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=942s"},{"start_seconds":950,"text":"the deposit event from the smart contract and submitted a a new transaction on your behalf so","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=950s"},{"start_seconds":957,"text":"this this a couple bullets summarizes that here so we send some ethereum to the eve connector contract there's a deposit event from that","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=957s"},{"start_seconds":965,"text":"contract and the relayer captures it constructs a proof showing the event actually happened sends that over to near the near","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=965s"},{"start_seconds":972,"text":"contract verifies that proof and mints the eth on the user's account and then i mentioned that the the idea here is","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=972s"},{"start_seconds":981,"text":"you know we want to be able to mint directly into the sort of pseudo run time of the","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=981s"},{"start_seconds":987,"text":"aurora engine as well as being able to mint directly onto mirror accounts so just wrapping up here i wasn't","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=987s"},{"start_seconds":996,"text":"keeping super close taps on my time so i apologize sandy if i went over um again i'll show these slides afterwards","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=996s"},{"start_seconds":1004,"text":"but um a couple resources here again if people are looking for more details or want to chat about this some more we've got some telegram links","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=1004s"},{"start_seconds":1012,"text":"and and that is all so happily taking questions","url":"https://www.youtube.com/watch?v=wpXtrcYSV-U&t=1012s"}],"youtube_url":"https://youtube.com/watch?v=wpXtrcYSV-U","url":"https://near-pedia.xyz/videos/wpXtrcYSV-U"}