Dogethereum Bridge Live Demo for Judges
Devcon·Tue, Oct 9, 2018, 12:00 AM
Transcript
so we're in the true bed house in Marin north of San Francisco with the full team Robbie Harley Matt Sammy got Fred back there as well and looking down the stairs yeah it's a big showing so I can't live stream it because the internet connection at my Airbnb is not good enough but what I can do is record it so I'm gonna record it but I'll have to be on mute for like most of the time okay cool also we both both teams have recorded demos in advance the troupe of Pete's working and then of the dosimeter an agent also so we've sent those links by email so in addition to this recording we can send those out cuz it's more of a demo okay yeah we took 20 minutes to demo down drink vegan send the transactions live and we'll do we'll do something similar on this call perfect cool so with that the judges maybe want to give a quick you know 30 second intro who everybody is and then we'll just kick off okay should be storage waiting it's Oh tree I'm not sure who is here already and who is not overview okay so I am Alexander and I've been with the team since a long time I've helped set up the original boundary contract which now has about one thousand four hundred ninety one thousand eaters which used to be a lot more last week but hey anyway I basically help set that up back then because I thought it would be a good project and I sort of that's how I got involved and I believe right now we are talking about a bounty of distributing about twenty twenty-five percent of that right so that would be two hundred seventy two eaters which is I don't know how what's the price but about three hundred thousand dollars I would say with the current price or something like that so this is mostly the goal of this meeting is to figure out if if if all those guys out there in the teams have have done a good job and actually worked on the on the bridge they promised they would would be working on and if so I would be super happy to start start the request and see those doges start rolling the bridge across the cross on the river I even try Sheba you know in age forty for this meeting but I but I didn't go through with it but so I I might still do it I might feel doing a little Sheba you know crossing a bridge for for this so that's it for my introduction awesome okay Alderman hi I'm Ross of the dogecoin developers I'm really excited to see this yeah so you're flaky over to the right this is me reading the background material sorry had enough time to prepare to apologize terrible they are so looking this way it's me bringing back our tale but it looks really exciting and yeah good luck I want you sorry I'll go ahead huh I guess I'll just continue because I'm the other half of the dogecoin core development team that's active right now my max also known as lions I don't have anything else to say guess but I'm just really excited to see this project going on okay cool so um I'm Hudson I am on the multi-sig for the Doge ether bridge contract and I work at the etherium foundation doing some internal communication reddit moderating website redesign documentation and a bunch of other cool stuff so I'm real excited to see this and yeah I'm recording this so because I'm like recording environment I might have to put myself on me for the rest of the time to just know I'm cheering you guys though thanks guys so I think with that Oscar let's get started there's Christian make sure you did your hyper introduce themselves he's Piper here I'm here I am Piper I play Fantine but the foundation multi-sig and really excited to see that I would either potentially go somewhere after all of these months years Christian oh the judges are introducing themselves so waiting to make it owner yeah let's say we prepare a presentation can you see my screen yeah yes I was waiting for you just to see if Christian could could also make a quick introduction not that he made one but just say hello hi I'm Christian I'm not a judge right so yeah shall we start them yeah let's do it cool so okay let's let's start with how we planned the agenda for the call the idea is to first introduce ourselves and review the objectives and the stages of the project and then we will explain the solution we created and do a demo of it and we want to do everything in that in making 30 minutes and then you have as much time as you want for question and answers so thanks for being here my name is Oscar and I started working on this project in August before this I built to a peg for RSK when I started the project guys thought I could build the entire thing by myself but soon after that I realized it was a big lead a bit a little bit more complicated and I realized said we needed like disciplinary team and I found true beat was already working solving a key part of this problem and so we join it through VidCon fabric and I so now I will let Cena through it and Pablo confide Kilpatrick to introduce themselves and their team maybe see now you can start sure so I'm Tina from two bits we're here with the whole team Christian also contributed in a massive way to this project and where we really come in in the piece so for this chain for this bridge to work the etherium smart contract I will get into needs to verify dogecoins proof of work which is the S script function and that is both memory hard and computationally intensive in a way that doesn't fit within a theory and black-ass limit so we've built a we implemented true--but specific to the script program and are going to demo it on rinky Pablo I started comparing in 2014 working in different blockchain projects especially in ethereal and we worked with a host car with our SK to build their bridge and that way he approaches to to work for this bounty and ismail was the developer who was working in widows car side-by-side in our stay cool so I will can you see my screen yeah right so let's continue with you they can okay that's team now let's review the objective of the vampy the idea is to create a fully decentralized breach between darkonian Atheneum many people also refer to it as a jpeg when i discuss a project with some people many many people ask me if this is kind of a decentralized exchange or kind of atomic swap those are different things to what we are doing because in the bridge the JPEG we are creating we are not converting one coin to another but we are moving coins from one location to another so on the country freedom style we allow users to move coins on the.com blockchain to a near situated contract which we call door token and then the second part is Judas con we allow token holder to get their doors going back on the doors of the object Oh as I said well the project cost two big parts that's going to tedium and if you come to dogecoin and we like to map like projects tatius to boundary payments so using the feedback Alex gave me I presented in this proposal and today we are just presenting the dosh to eat Syrian side since that part is not complete we are not asking the entire 50 percent but just 25 percent cool let's review the dissolution are there any questions so far okay I guess there aren't cool so this sorry okay sir so this is kind of the big picture of the solution on one end that's the Boston blockchain and on the other end there is the dosh token contract so if a user wants to send money from this going to with iam she will have to create the dark on transactions and in France to a special address that we call the lock address and then we have this piece of software we call the submitter ation which is constantly monitoring the dodging blockchain for new transactions and once it finds a transaction to these special address it will relay that transaction to the dodge relay the Dutch relay will do a couple of checks and then notify das token that there's a new transaction and those token will mean the same amount of let's say 3 - % it will mean three new dodge tokens - field so dot relay in order before sending the transaction to toss token needs to have needs to do a couple of checks the most important one is to make sure that the transaction is part of the dos conduction it's not made up so in order to do that Doralee it needs a copy of the dodge conduction in the smart contract actually does not need the entire block chain but just the heaters so dodge submitter ation will not not only relay transaction but also the dork on block heaters so when doors relay receives a dutchman block heater it will check it slash it and it will add it to its copy of the dodge conduction the thing is one of the checks that need to be done is to validate the proof of work to do that we need to execute script but as Cena was saying before if you try to do that on chain it will need like three hundred millions units of gas so we integrated dart relay to the script interactive verification protocol that proved it created so before we doors relay ads either - it's copy of the connection it will send heater and a propos hash - to the true--but contract and after some time the trivet contract will reply there the block is okay and the door for a contract will added to its copy of the blockchain now I will pass on to Cena he will explain how more detail how the protocol works I yeah sure might be how do we check the latest version of the dodge dodge blockchain right so don't relay has a copy of of the dogecoin blockchain so as new blocks come in they are being added sugar to the blockchain so in order for a clock should be valid it has to be connected to the previous previous and also anyone can submit a block to delay so eventually all the blocks are being something if anyone is submitting valid blocks they will be discarded either because they don't they break a rule that because when I can check or because it breaks a load and move that script prove it inject I don't know it okay okay so let me let me see if I can explain it back to you so bathing it what happens that I submit a block and if I submitted a block that is have a larger variance or a fork of the dogecoin then what it will happen is that someone else can come later submit another block there and you will be able to verify that that new block has a higher proof of work than the one that I had submitted their form is invalid is that it yes you ready because don't relay ah it's kind of for doctrinal it's because lost in arts of the gospel notes it can know what blockchain is the best is the best chain and what part of the optional course because of the yeah the answer my question any other questions before we move on yes actually I wanted to ask sort of in that same vein in terms of keywords on the dog coin chain side is there anything in there built-in to handle like I really know what the timeline here is but possible for temporary small side chains to be validated and the coins to be issued through there and then the chain New York happens and those centers are no longer valid and how is that handled or is it right so that's a valid attack on the system so to avoid that attack what we request to a transaction before maintain the tokens is to have a number of confirmations not just one call to go that's what I add that it's exactly what else that answers my question the exact number of of others that we will request in the production environment it will be kind of a trade-off between how long we want to make users away and how costly is an attack of creating fake blocks but yes we do have a real quick I mean transactions and aren't related until they have let's say ten or a hundred confirmations sounds good thanks more question okay so I guess I'll take it over from here so so like Oscar said one of the main things that the Doge relay contract needs to do is verify the proof of work provided with one of these block headers and that involves I'm really sorry to interrupt you I forgot you the one important thing that I have to do before you start which is sending the first transaction that I will need in the demo yeah okay before I am moving to Cena let's go to my door Ryan I'm going to send a transaction to the log address I have to do this before Cena continues because it's not such a one confirming time so geography honest I'm gonna sound like 393 okay any sense then confirm something me now you're good to go then we will go back to the point okay Julie good question - you were just saying - a custom address that locks it right it's not any particular address well nowaday we are sending to an address the attractive actually observe ugly because we only have one street inside we are burning Josh as we get the tokens to be more technical the address that you just saw is the address that matched that matches the public key hash three which is impossible to get the private key that matches that so it's we are basically burning - goals for single suite so yeah so like Oscar was saying one of the main things that this relay contract needs to do and verifying a Doge header is to check it's proof of work and doges proof of work is the s script function dojos 1/4 of lucky coin which fork of litecoin and because of that they all use s scripts and s script is a memory hard and computationally intensive function that involves 2050 steps of the salsa 8 hashing function executed one after another and because of that it can't be it doesn't fit with him the theory I'm gas limit and this contract can't simply take the plain text header fields run the function on them get the script hash and compare them with the proof of work value provided and check that it's correct this made it a perfect use case for true--but which is what you've built so I'm gonna just share my screen now okay can you guys see everything that is that yes okay so we're the github repo for our projects github calm / - the foundation / script interactive and we have this schematic of the protocol that I'm just going to walk you through so there are two main participants in in this protocol there's a true but claimant up here and the Troubadour so just to kind of help orient you this is the Doge blockchain up here with new blocks getting created and everything below this line is happening inside of it area so the true--but claimant is the person who you know provides a block header and claims that the the script hash was correctly calculated from the plain text fields they're providing they're sending this transaction into the dogs relay contract which actually just passes it on to the claim manager contract so everything everything was within this light green box over here is the trivet protocol so so this calls a function called check scripts and really what it passes in at this point where we've abstracted away you don't really care that this is a block header that we're talking about anymore we just care that there's a plain text field there's a hash and the the the dirty lake contract also passes a proposal ID which will include in our callback to them and this claim gets created here so at this point this claimant has States their their their reputation and deposit and saying that this particular hash was correctly calculated from this plaintext now since you're within the troop approach all these verifiers down here are is anyone who's running a true bit client on their computer and these clients are configured to be listening for events inside the contrast and as a as a new claim gets created what these guys do is basically take that plain text locally run it through the escrowed function get the hash compare it with the value in the claim and if they agree then then there's no problem they just kind of let the claim sit there and each claim kind of has this timer that's counting down so if it goes for a certain number of blocks without getting challenged it's deemed correct and the claim manager contract at that point makes a script verified call back to to the doge relay saying that this proposal was deemed correct but in the more interesting case the verifier actually finds an issue with the hash and they find that they disagree so at that point they they submit a challenge they say challenge claim and so the contract the claim manager contract knows that there's a disagreement on what's happened here so at this point this kicks off to the script verifier contract saying you know using the function claim computation passing in the input-output a claimants Challenger and the claim ID which is kind of its unique ID so this again is another layer of abstraction which is the the input is is the plain text that was passed in that output is the output of the program which is the hash the claimant and the Challenger are the two addresses and so if you think about think back to the the generic treated protocol as described in the white paper I won't get into all those details but but the that true the protocol allows you to include what the program is so it's more generic it's like I claimed that this this output was generated from this input after being run through this particular program but in this particular case we know upfront that the program is a script so this is the Esprit verifier contract instead of a generic you know a true bit contract which is able to run any web assembly file so this at the point that this arrives a verification game begins between the verifier and the claimant and so I'll just give an overview of what happens which is which is one of the interesting parts of the true Boudreau Tikal it's it's an interactive game that that allows most of the computation to be performed off chain with one final step calculated on chain we the insight here is that the verifiers and a claimant or the particular verifier was involved in this game they actually agreed at time zero when they began running this program so they had inputs and they had the same ascribe function so they agreed at time zero and then after two thousand and fifty steps they disagree because they had different outputs so the verifier sends a query in so the game the interactive game involves multiple rounds of query and response from the claimant the verifier sends a query and saying i know we agreed in the beginning i know we disagree dad stepped 2050 what was what was your entire state at the halfway mark so what was your merkel route of the state of your virtual machine at step thousand 24 and the claimant calculates that response with step and merkel routes now this is sitting in here the verifier again now compares their own state route at step thousand 24 with the one provided by the claimant now they can deduce they can make the deduction here and that if their state routes agree they know that the error occurred that they basically agreed from step one to step thousand 24 so the error the disagreements occurred in the second half of the computation if their states are disagree at this point already they know that the disagreements occurred in the first half of the computation so then the verifier without knowledge either queries for step four the midpoint of you know step thousand twenty four and twenty fifty or they query for the midpoints of step zero and step thousand twenty five so they basically break the computation into another half there the clamp does the calculation responds the verifier again does the same computation queries another good point so if you take this game to its conclusion basically it's a binary search that's going from Sub Zero to the final step narrowing down the window of disagreement til it's till it lands on the first step at which both of the verifier and payment had the exact same state route they ran one round of that salsa Aid function and then they disagreed on the stage after that at that points that the computation is small enough the script verifier actually runs it on chain so you get the full security of the etherium network inside of here all the miners execute the code in this case it would be on rinkeby they get their state to calculate the route and compare it with what's the claimant had provided in this final step so if if the route that the contract calculated agrees with the route that the claimant provided then they know that the claimant was telling the truth so this session decided callback goes back here saying that the claimant was the winner and the Challenger was the loser in the case where the routes disagreed the script RFRA's sense that callback saying that the Challenger was the winner and the claimant was loser so this is the this protocol is crypto economic in the sense that both the verifier and the claimants had to have deposits inside the claim manager contract so when the game resolves one of them gets slashed and and that's basically it and so if if the claimant was proven correct this you know claim is deemed you know incorrect and the doors relay never the doors really never receives the call back so it never ends up adding that block header back block header to its you know list of doge headers if the claim lives long enough and goes long enough without a challenge and wins against all challengers then this call back is made saying that the script was verified so effectively this protocol allows allows you to run the script function within aetherium and so I'll just go back here yeah so this so this is interesting to us for for a number of reasons first it kind of acts as a as a proof of concept for for the generic trivet protocol which would allow you to run anything on etherion in this particular case we've narrowed it to s scripts moreover it's kind of like a pool you know a demonstration of how this binary search would work and is like just an interesting demo of the protocol and lastly it's helped us kind of so we have just to be clear we have a security assumption in here that both I guess I'll just go back here again that both the claimant and the verifier are are altruistic so they're participating in this system without any expectation of profit so in in the generic TripIt protocol everyone is kind of brought into this economy with the expectation of gain and the way that's achieved is there's rewards that are provided and there's this fourth error mechanism that occasionally paisa pays a jackpot out to the Challenger so that's that stuff is needed to to to build the generic true--but protocol but it adds a number of you know more nuanced economic attack vectors that you need to protect against and in this particular kit system where we're basically assuming that people are doing this altruistically so with that I'll open it up to questions and computation in a VM or solidity right so that that's one of the assumptions and lady is a true bit you could you it can be true bit it could be other things any sort of other sort of computation you could do like a single step on the EVM yeah so so that our yeah go ahead so the true bit protocol described in the white paper is able to run any web assembly module on chain on etherion and it does that by playing this binary search game in the instructions available in like the byte code of a drive assembly module so so yeah that's that's what the generic protocol allows you to do in this particular case we've taken the same idea implemented scripts in in the EVM so there's if you look inside of the github repo there are a number of the contracts that deal with computing a script and actually wrote the code for this originally and basically you play the binary search game over each round of each round of the salsa eight hash function okay second question so of course oh the members are altruistic is that there's always a chance that for some reason there are no verifier of mine maybe for a claim could be put there nobody check mine right yeah so yeah so in in the in the in the actual treatment protocol you as a verifier stand a chance of coming across a force error and getting a large jackpot and that's what incentivizes you to show up for every plane in this in this current iteration of this project we're making the assumption that the notes are altruistic and you know it kind of this goes hand-in-hand with with the design we use for the return tag so from a theorem to Doge because there are different proposals there the simplest one being you know a federated peg which also relies on on on you know trust and altruism but so just to just as a short tangent we're developing we're developing the true bit incentive layer which basically adds incentive to all these network participants as kind of as a separate module that can overlay any verification game so in parallel as I've give it gets developed this escrow verification could you use the same kind of security guarantees all right good also Jason's over here so we can hear hi I just wanted to elaborate a little bit on see this the security assumptions and why they're realistic to have an ultra Sigma first of all anyone can jump in and challenge so even think they're altruistic any altruistic node can jump in and create a challenge so that's open the second thing is that unlike true--but which we imagine it's like a scalable computer that could handle in theory an unbounded number of incoming tasks we're only gonna have the small number of tasks which is like Cal gurmann basically one task per block from dogecoins so that it's a bound that can be handled on a single computer and therefore one honest person we don't have to worry about it ever blowing up to something that they couldn't do on the laptops yeah I was gonna say it sounds like we can't hear it leave run this on existing dogecoin infrastructure anyway because we have various nodes just to make sure there's a backbone and you know do a single script function / dogecoin block is not an expensive operation I mean it sounds like this he's gonna run probably there'll be a lot of activity when we launch and then it will go quiet background tasks I don't see it sounds like you will have people pray running wrong sweet pies in their garage and eventually you a couple of thousand dollars apiece and they're also you probably go Oh crud what's with this sort of thing you know cool and then and just to add to that so one of the core properties of true bid is you're kind of you're kind of achieving consensus on the result of this computation but true bid really has what we call a unanimous consensus model so as long there's one honest verifier in the entire network that will be enough to to catch you know wrong claims so like jason said because the scale of the program because of the way it's structured you you just need you know a few honest now it's running on the network two together working you know belief is everything well I sort of intimidation mechanism is actually needed or some sort of funding we could we can also consider at the end of the whole process to leave let's say ten percent of the bounties to to be paid to those who are running and maintaining the system I think that that that would be a fair use of the Mounties in my opinion of course not other judge that way no agree we still have the demo there are there any other people are we still have an open room for questions at the end no question so far okay so let's go back to sharing my screen okay okay so next thing we do demonstrate the system working how do you remember couple of minutes ago I sent a transaction doors from the dash cam blockchain to this log address and I send 283 gosh sorry Millie - there is one - P so but they actually shuttle one sorry point 283 now what are the thing that I'm going to demo is once you send the transaction how you see that you are get the tokens so I'm going to open this transaction on a dog from the pocket you're right so I can see there are inputs and outputs the output of one 283 now the interesting thing that I need here is the input address so I will copy the onion to the address because this is the input this is the address but that is the one that that matches the private key that sends the funds and that private key shall be the owner of the tokens on Dodge conduction so now I have this address next thing I have to do is to get my own private key which you will be able to see but don't steal my Tashkent lives so here I'm on the dogecoin client and I will ask you to print my private key and then I will use a tool to convert it to to the helium format so this is the private key that send the Dodge one transaction I'm going to copy dibs and I'm going to use a utility created for our escape for competent use to converting private keys and public keys so using the public that the private key I shot God I get this address which is an RSK address but it uses the same format ETM use so this is also in tu madres now I am going to to go to the - token contract that is that you can see on interest and I'm going to refresh my screen to get it updated I'm crossing my fingers can you see my screen right yeah yeah see ya if I hope that the private key there is if something you just created for this presentation because otherwise we have to cut it out from their lives probably Shawn or Internet I'm open to to lose $40 okay things of light presentation ether is gun is taking its time all right so this is the token holder so the people that will just already send funds so I'm going to search here for the address that I'll just walk so this is the address and inside this is 283 melee tokens so here I can verify that I got the tokens of the on the doors come down check oh yeah Polly's a consonant first oh yeah okay so here are tokens are first this this is just me trying these several times to make sure that works um another thing you can see is if you go this is a dot-com block Explorer I'm going to refresh in order to get the latest Josh come talk to me Leon and then three nine three and this is the torch relay contact on intercom if i refresh I'm trying to check that the ghost the ghost conduction on those relays also have data monitors can not know anytime there's a live demo right yeah working on okay yeah sorry three three huh 93 and here behind running like clockwork so this is dot relay and token demo now I pass on to Cena to do a demo of the details of the script interactive protocol okay quick question before so or are you what are you are you constantly running you were running a related with reading like getting the hashes from the getting the latest block from Dodge and putting it on the on the on the contract right yes maybe I didn't hear the question problem okay is the reservation yeah yeah showed you you were running it processes so it's just aa nice bothered yeah this is this installation that yeah yeah this attention the Dawson iteration is the one and in information to Daschle a questions or should I pass to Cena okay T now go ahead alright so let's get into the demo of interactive expert verification so I'm going to share my screen again can everyone see it alright so back to the github repo so this repo has all of the other contracts and the client which you run locally on your computer to participate in the network so we so I I set up the demo beforehand just so you know because this process takes a while and there's time outs of blocks that need to pass so I'm going to kind of show you what we did earlier this morning and we sent you a video of the recording of the other was happening which is around 20 minutes long so this first tab in my turn to frame you is my local computer and basically I'm inside the scripts interactive repo and the client as the clients I do I get the status of of the client so this connects to the bridge says I have however much ether I have as much ether deposit it into the client manager contract and this is my address and look this up on drink of me so this is this particular address and then the next thing that I do is the so the client can really do two things and back to the back to github we have this CL ijs which you can refer to to really see what's possible there's the status there's deposit with raw and the mint one of the core functionalities is claim so this is where you submit a claim you pass in the blog header the hash and the proposal ID so we basically created this simple mock for the Doge relay contract that you're actually calling and then it sends it over to the claim manager so back to my terminal we see that we went npm start claim and this is a serialized you know Doge block header in plain text quote-unquote and this is a wrong script hash so we just made this up and this is the proposal idea that you're passing in so this says as the claimant I've connected to the connected to the bridge I create a claim and then I'm waiting to defense claim so at this point this would just kind of wait here until the number of blocks is passing so I'll take you over to my second tab this is a separate machine it's a digital ocean Ubuntu instance and if we scroll up basically I did npm start status you know different address different deposits and I ran the client and monitoring modes with the auto challenge flag turned on so this this client is really the verifier in the system and it begins monitoring for claims it sees a claim get created and runs the escrow - locally and sees that it's invalid so at this point the Challenger begins the process of enforcing the binary search and the first step that they query is the midpoint of the entire script process so they query that and then we go back to this hash we see that the claimant defends step thousand 24 and back to the second tab we see that the session steps it received it received a response four thousand twenty four it compares it with its own state and in this particular case they agree so it queries for the midpoints of the second half so this number is the midpoint of these two steps so the verification game proceeds with the Challenger querying for finer and finer slices of the computation and the back to the first tab and the claimant is responding with their state routes and finally over the the verifier gets two queries for step 2048 which is because this is zero index this is actually the you know the penultimate step and triggers this and which triggers the execution of the code on chain and we see that the claimant uses the game so to kind of show you how this played out on on ether scan we actually have a dot and file that has the addresses of all the all the deployed contracts so the script verifier contract is back to the script verifier is this one where the verification game is happening so we take this address and I'll just open up a new tab so we see that there's a bunch of transactions from from earlier today and if we the next thing we're gonna do is go back to my terminal inside the window running as the claimants I'm going to take their address and you know just do a control find and we see that this is the game playing and you know there's there's sometimes L transactions I wish wanted spies again so those types of things are are accounted for so let's open up a few of these transactions so we see that we are calling the respond function so this this tab was running the claimant I made a claim and basically after that I'm responding with now to the next tab you know another respond another respond so we are we were the claimant and you're responding at different steps and back to my second tab we go all the way up here and we see that the challengers address is this one so whoops rinkeby and we paste in or actually now I wanted to look at I'll do a control find inside the script profiler contract you know contract source verifier so we see that these are transactions from the Challenger so let's open up a few of these and we see that they're using their querying so they're querying for consecutive steps and eventually when you get to step 2048 which is the final step there's a query and then this transaction is actually special so this is the one that looking at it you say it says perform step verification and it includes the pre value the post value the proofs and the address of the claim manager because it's needed for for the callback so that's that's in the case of the challenge and then you know immediately after further down in these files so so here so that was we lost the game that was up here as the claimant then I submitted another claim the same misty realized blog header at this time I passed in the correct script hash so it creates the claim it waits to defend the claim and no challenges come in so the claim is immediately successful so back to the Challenger window we we see so here the the look here the previous game ended no ignore these these things will be washed over but so it's still monitoring the the contract and it's season you claim God's God created locally and sees that the script has was valid so it actually like doesn't proceed with a challenge that's basically the system in effect and and the screen shared so all the all the contracts are deployed to rinkeby and there's directions for installing the client it's a free entry system so you can just start running it starts like submitting script hashes with plain text and and or verifying so we're looking forward to you two people starting to play around with this actual live demo was included in that video that I said so you can look at that one you don't need to keep the contract right you can so let's say that the bridge is being very used there's like only one or two persons a single day that use the bridge you only need to start verifying and keep the and keep the Dodge relay contract up today to delay this blocks once you want to actually use it right so you can I can I can I can send the Dodge and then start the whole process where I submit the block and then I submit the block to I submit and I submit the block to to do to the verifier to make things and etc right yeah I'm going to take that the system that that we design it requires all those blocks to be leg to do dot relay it's not that you can stop relay in blogs and after three months you can start updating doors relay with new blocks those relay is based on relay for those of you know that are familiar with it so it needs every block in order to check that the Tashkent block chain is complete and there are no yes there are not bike locks I don't know if that is the question so at least there's a planned extent at least I planned I would like to see that where you do not submit every single block just submit the latest block or a block further ahead from the last known block and then you have a again an interactive game where you show that it's connected to the last known block but yes that's not all right and actually that's one of the main reasons he is like a beta and not a working system I'm going to share right away a issue that we have on our heat hub that that basically discusses that problem and proposes two different solutions let's see if I can pass it here yeah so I copied to the chat so yeah basically this is kind of a solution to the that the system karate even though we are using interactive script verification still consumes a lot of gas per day so basically we have an idea how to solve that and it's reading there we can discuss that during the question and out and also section later preach and I don't know if I answer your question there is info and for mine I think mine shall move to the summary and then to the questions or is there anything else do it well let's let's do a summary and go so it's my screen share light yeah okay so to sum up the you can go and test the system you can test the doors relay on drop zone and you can test this free publication game in Wicca be I shot sent in math and user manual before the presentation I hope you received ad that explained how to do the sensing that I shall steal so basically the system is composed of not related or spoken the screwed the true bits with interactive verification and the related Asian so the next steps of the project will be to finish the dodge to a theme side and an implement a medium to dark side now this room for all them you know i we you have already made a cup of question but now is a room to make the rest of the questions sorry I think we can't cover this total yeah can you remind me what happens if there's a so a dogecoin block is orphaned after someone submits a transaction cleaning theorem tokens am I correct in saying that there's a is there a window in wishes so there's a verification window yeah so when you submit a Dodge con transaction one of the checks that is done is that the transaction is in a door unlock another check is to check that that block is part of the main chain and the third check is that the block where the transaction is included asked at least n confirmations and could be a hundred fifty whatever number we finally decide but that's the security model for that attack I know he founds I answer the question or I mean I love this I'm gonna have to go over the code I mean how how are you feeling about the whole if there's no side because we obviously gonna need to do some New York codes and how is that looking feeling about the whole thing I mean kind of in many ways I do need any help for us actually we will probably so we mean when I when we started the project we thought that we will be done by now but then we found out that yeah let's first concentrate on finishing the inch of dodge my side so I I in the emulation before I sure a github repo a fork of course coin where we added a couple of new york codes this is not even in an alpha but it's something that we were working on and we need we don't need anything from you so far as we make progress we will for sure contact you and show you what we are building I can and I can answer that so on the truth that side we've been we've been we've been actually thinking through various ways that you could build the reverse peg without without a heart or a soft fork on the dogecoin side and we've come up with with some crypto economic schemes you know leveraging a theory instability to have smart contracts and now especially since we're available of the dogecoin blockchain inside of this node relay so just to kind of share the very high level you know the one of the idea that we've already evolved past it would involve the operators of the bridge whoever you know whoever's address is Doge is being spent to on the Doge side actually depositing eat into the Doge real a contract so having steak and then at that point they're responsible for relaying transactions back and forth in a timely manner so if someone burns their ethos tokens on the etherium side you know this other timer starts which is which says you have you know 20 Doge blocks or a hundred dos box to submit another Doge Merkel proof showing that money went from the bridge address to the person's address and that's and idea has gone like a lot more interesting on that I where working on a paper with Jason and Christian so as another potential thing like we're gonna collaborate with Oscar on this so we'll share that in the coming weeks as well comments I think I've teamed with a fantastic demo and I'm very glad to see I had read about it but I think just saying it in an action is a whole nother level it's interesting to watch and I think it's clear to everyone that it's it is a funny it started a funny project in a sense it is a project that is much bigger than just being a dogecoin ichiran bridge right because you can see there are there are a lot of applications outside of the strict dodge cognitive in community it's it helps a lot on human scalability it can be built as a bridge with other currencies which can help a lot I think the whole ecosystem making what we allow in smart contracts to be used in the ecosystem and allowing a lot of a lot more integration and I'm very happy that it has been so far I have a question for Christians and Christian in fact a question is it I am under the impression that this the dodges human project was a little bit proceed the true big protocol right and I believe I remember saying a few like but it was sort of inspired by a few could be done so there is a connection between like the whole process and true--but yeah so the history was that yeah I think someone suggested the bridge I don't remember who that was and then I discussed with yeah I think Vitalik made a proof of concept to verify a script with basically repeated so just iteratively so splitting up s code across multiple blocks and then I discussed with them how that might be improved using binary search and in that discussion we came up with a general idea I think and then Vitalik met tracing at some conference they talked about it right yeah I said sure truly this is a solution to the Doge aetherium bridge that that's why we did it I'm very happy to hear it and we're very excited to build an implementation of trivet for this bridge we've had you know versions of it on test night but last night you know Sammy who's also sitting here which so we're all living in this house in San Francisco and Sammy actually went went home and we played a verification game around 7:00 p.m. over the internet on Rigby which was it was really close like a cool moment for the team but awesome sharing this with you are there more question something I would like to comment on so the I hope that is still the case so I have to admit that I wrote most of the internals of this extra interactive verify it but I didn't have the time to participate in its further development over the past weeks and months but it is written in a way such that so the the on time part executes the fine step 2 - yeah basically decide the game but during the game the off train components always have to submit their internal state at certain steps of the computation and it is written the way such that the off train components use 99% of the on chain code to actually compute this state and that hopefully makes the quite resistant - yeah so any it's a segmentation so they cannot be conflicting there couldn't be kind of what he would call consensus bugs between the two implementations between a dolphin on chain part yes it a to add to that like it's actually super clever and Louis all the way to see this original implementation um as you know you're not exaggerating trips runner like the thing that people use often to compute SKS crypt is is the same code that the on chain contract uses so at inside of the client you're actually running a an aetherium client in desmos that is executing stuff locally as a pure function so you're not writing anything to the blockchain and you just run that locally get the results back but eventually when you've narrowed it down to one step of the salsa eight hashing function the same code is actually used by the on chain contract so that's kind of - the internals of it it's you know you can you can abstract the other way but it's kind of cool that in that way so I was wondering if you if you divided the whole process into like the 2050 iterations of salsa 8 how likely is it actually that the internal state diverts further out and like the first few iterations like is it is it really needed to to do this binary search because it would be like before the competition to divert in the first iteration yeah so you know if someone is naively passing in a you know hash it's likely that it will diverge early on you know and but if you're trying to build a protocol that actually that that is secure and can withstand any any type of attack then you put towards it doing a binary search over the steps of the computation is the fastest way you can get to get to the solution so it's like log in in the in this the number of steps and which is 2050 in this case because you know we're it's that sophisticated attacker you know crafted a solution that agreed and diverges you know eight steps down the line okay let mixed funds oh my god another question though Oscar you've shown how the private key is generated from the input address of the Doge transaction what would happen for a transaction that has multiple inputs or like multiple dozen of inputs is it like just on index 0 yes the first input is the one of the private key of the first simple this one that will get out of all the doubles ok and maybe another one like how would a hot off the dogecoin blockchain play into this is this the same concept as a reorg or would there be some different factors to take into account here normally we'll follow the chain with heavies so in case cardboard unless the part fault is super hard for meaning that it's in covered in compatible with previous chain which is probably very unlikely but you are still compatible to credit chain naturally we'll shall follow the chain yeah actually we think what would happen if we use if we switch the proof of work to sha-256 or to some other random algorithm i mean is there anybody to update don't relay later on and bug fix it or is it a fire-and-forget and prey was there a bug free launch I suppose we could we could hard work the the contract itself right we could always deploy a new contract and I said oh tokens yeah I would bring good verifier to yeah that's yeah that's correct what Alex was saying to answer the first question nor flag is more prepared to be updated as you see us in this today if you plan to change the proof of work algorithm it will be the idea to know about that soon but that's what that's our state right now you have no plans for that right now no worries but yes something may want to have some sort of complex you know six of nine signature the thing that we can get a federated replace update process if we have to something you have to do that you get the dogecoin and the ethereum and deaths from a number of other disparate organizations can get involved and applied bug fixes to the code we absolutely have to just so there is a backup in case or something cool I do apologize I have to run but have been great and have a great evening thank thank you no no me too I think I connecting oh thank you for this thank you for the demonstration before we disconnected step for just two minutes about next steps Rob you wanted yeah we just really would I guess want to get this done as soon as possible and some guidance here would be helpful so it would it be possible to kind of set a date for the next meeting or think through you know how do you guys see the next steps unfolding okay so here's how I see the next step I would first see if the first if they agree that it has been demonstrations I'm open it's a resounding yes the second step would be 25% I think that's subjective but I don't like the calculation to be fair unless someone has another roadmap where there's something that we really really really need to make sure that okay so we really need let's say 10% to keep to keep the conscious crying or something else but if there's no there's no if there's no nothing against that I would initiate the transaction to to start to pay the first step of the bounty as soon as there is and of course as soon as this video is published because I think it's it's nice that the communit you know then the next step would be to you and then you would be discussing what what do you believe is to like to be production ready so we can work on the next bounty but that I think that would be a whole new discussion my opinion ok so we'll wait on the response from the judges and then once that happens we'll come back to you with you know what we think the milestones are for each dog in production and a timeline that sounds perfect to me awesome thanks guys sweet thank you guys [Music]
Automatic transcript — names and jargon may be misspelled.