State Channels Summit (Devcon5)
Devcon·Fri, Oct 9, 2020, 12:00 AM
By Qingkai Liang, Liam Horne, Lisa Eckey, Sebastian Stammler, Franziska Heintel, Arjun Bhuptani, Augusto Hack, Jeremy Longley, Tom Close
Transcript
[Applause] certainly the joint statement group as you've seen teams we all these developed technology [Music] so it's on tape dominating particular properties of what it is that you want this channel to be about where he rules of that channel and then participants directly with each other or train advancing state the site of the channel by the choices that they make following the rules of the chat and they can make some funds into a context on change effected concert in this case we have an initial state where they like that fine and then it's Alison's in seven etc these are the series of transactions that people make even saw you so we end up with a final state is mind so this channel is just which funds so we use too much for more complex interactions with the extensive sheet so stay tuned see a turnaround [Music] [Music] so choosing how much this is the properties of the channel so it's using how much funds to open the channel width and signing in transaction and that trans nexus center chain so while this and we will want to close the channel so so sorry times action she's always girls anybody so we need to [Music] [Music] okay so yeah the way that we're gonna be going to this is I'm going to do a good the tongues gonna do a bit and we're going to explain just one part very clearly that we just anodized first a channel so this is specifically the state progression of protocol and how you move state forward and we're going to go through the example of rillettes but before we do the reluctant one there's the abstract what new state so dive into that so what does this take thinking I mean if this question was like please much that the mountain is a this is like took a long time people the point where this was all agreed upon and does anything because understood is very useful to clarify so what Wednesday English this is exactly everything so it's a pretty comprehensive list them to go through and then plan or go go through them so obviously in every state object you need to know who's involved and reason why is because this is a fixed set of people you know absent sent where a company needs to know that so it's in the state the list of addresses to is the chain that identifier is this maintenance at Robson's that rinkeby what is this i say like did he also there it is in the know of the champion fighters three is that unique to that apartment this particular channel so that's one number for all the channels to ever use as a client to attract of that fourth is the challenge period so if you or the change you want to know how long are we gonna wait so again this is month this is per state you try for this then lettuce version number obviously because this is say channeling to keep track of each time here committed person number any of these are there's somewhat obvious but it's important to know this is that every state object you see one but there would be out by the state this one's a bit more nuanced if you're not familiar with say channels every single time you update the state of your channel for all channels to keep track of if this state with a last state never you know for example in the real life game you'll see it's using exams of this if it's just ended there you know who gets much money right is it a final state Wednesday challenge the notion of like a week but we've done for sure and if everyone signs off on about the final stage which I'll show you can know that you do not need a challenge because there's no staff out you're not going to progress further from this particular state you sign off on the definition of a state machine which Jeremy just described as a necessary and important part of state channels what exactly defines how you move from one thing to the other and these for the application specific state David obviously like the same machine only makes sense that you're passing in data and then the most obvious piece is a signature of eternity now normally maybe is a challenge of remember we'd like you sign each state update with everybody but we're going to ascribe to that TV bit more simple button for each individual state using ones nature to me before so that's the English question so it seems like some of these are in addition wives with the channels created them and they never change but then other ones are okay yeah I'll show you I'll say exactly that in a second so this is that when I subscribe but salinity types okay so look it's pretty self-explanatory some of these are some other numbers where dynamic data types and you can see to your question that some were fixed summer than ever the fixed part is the entire duration of the state champion so on a related ten people skills the same people same long chain the same unique that apart for this channel the same challenge duration under the YouTube and everybody's included aesthetic and the same state machine which is what we call the app definition you'll see why it's half devolution variables eternal group goes up the outcome changes based on the situation that you're at the game the app data obviously changes because professing the state because it's final changes because you might have some ends it's time to be especially so this verse specifically is important to keep in mind all his properties of space fighting so some some things to keep in mind each individual state it has a mover that's a good you can see an example of how state has progressed between two people as a fastball situation here one goes and the other goes and one goes the other goes in one of those nearly goes as always it's not one thought maybe to see maybe maybe it's it's always ABC ABC ABC cyclical in that sense and again there's a lot of reasons fundamentally because this is a unanimous consent protocol you need to be able to account the fact that every single person is involved in this protocol and has to be consensual to state updates where were nothing without the good case then one compute the other they've entered every situation since it's fundamentally ganas and sense you want to move through each person for simplicity and so we have a mover and movers pretty straightforwardly it's the it's the person of dismiss lists who is turn them to person on says March I was electrified coolest time to is officiating forward 0 1 0 1 0 1 0 so obviously the person whose turn it is at the sign of the state that should be fairly straightforward you can't have Alice any state where it's meant to be bought which means if Alice is signing some state sensing and sending it to Bob if that is the latest of known state it's expected that Bob is going to reply and that's a very important property if you want to know if any way you can assert that someone is at fault might not respond that is very useful for running on chain logic sweet simple as possible and the properties that would be is final on apart anyone can exit at any time if at any time I choose I'm done I can say that this is final for me if the rest of the participants sign up with their return I think it's also finally it's over so this is not always something you want to do usually it's going to be not in your favor to this end abruptly for example and it seems roulette if you will if you want to end abruptly when yours when you're expected to be making a move such as like rolling on the machine then you're basically doing is you're bored you just quit properly but it's useful property because do not want to be locked up so the main point being made here is that you should want to be able to pack we should be able to exit any point in time if you choose just anybody's unlocked but I hope that you're gonna be losing out because you did support where operation in angry channel attempt puts more simple because you can end their payment channel at any time and so declaring his final is saying I've done with a channel and then some of the southern the core state challenge magician logic is operated on by this voucher just a function the way that state is considered to be valid probably programs to that the balance just between any two function returns true so you take two states s1 that's two it should be true it's three that should be true and the most basic possible example and right on the slide is a counter in a counter this application would be as a number the next logical state is that number plus 1 ok so here you can see the most basic you know statement mr. Khan has ever seen you want the s2 counter to be s 1 counter plus 1 if it's not it'll obviously this one so there will not be a true and so that's another question so Jeremy was talking about advanced state is there a difference between the advanced yeah so this is the new ones we want to be I can explain that now that's a new ones that we didn't want which one the slides but basis as it as clear as I can travel tradition as a function is defined if you have two states if you want about some of the jitter so the truth advanced state is from the way we look at it more functional interface on top of this function and you can think of it as if I have some state and I want to advance with an action so let's say that you get to it it took borders I want to place the excellent that will work then result is the ticket to a point I would be excellent so we've three thing to do the previous or give the action we have the new board if you know you can write a function file condition which says take the hash of the period of the young of the side of the new state with the X on the board that's very well 1 and then we're on the playa in advance state for the old board and the action and you get the output from that function and compare the hash of that equal to the hash of the new state being proposed which as to disease so the hash of basically the sentence states is equal to the ban statement s1 plus an action that is about conditional so this is just a slightly higher level abstraction which allows for that to have application to be built and also for this kind of operator to be built and since we're not this is more about the standard of the state professional protocol and on this so standards for how you have applications over whatever you or maybe that's been simpler to think about I shot it this way because this could be non deterministic so there's one thing I didn't well I say it can't be this was pure and so the reason is because the shamanistic business day [Music] yeah let's so you don't have access to the action so essentially you have to be able to tell that it's a valid transition yeah so like you mentioned in that for this but if however the other thing I mentioned you can do right on top of this generalize the person that you do have access to that okay and that's more of a way of describes for example a team like artichoke could be defined in terms of the thinking general essentially like it if it was hard to like it the state transforms complicated death essential just potentially without the action it might be hard to actually like calculate whether or not that's to properly and that's one way always action in the state that's right how you define yeah that's what I recommended for application building marisapeter for the Roth Oracle definition and he handsome polar traction so that's my part of the song so I'm just going to describe that's in the country the audience just explained metas is structured estates that are gonna pull me straight home and what I'm gonna start by talking about is how you actually write an application that runs in this format and can focus on is based on the roulette table patient the Jeremy VG's we're gonna simplify it slightly abscess in his talk there will be in a look at is this example which we're calling red black who left and red black through that is basically just relax but you can only choose the red numbers black numbers so you just went through how this works you can either pick spread back and I think we're looking at a two-player scenario where as it does giving what we've got player and a house because the two participant stationed out here there's not one person's parents so they are Pixies available at the house Ben decides an unannounced wager on that color the house decides whether to accept the pattern on the roulette wheel has been spun I generate a random number between zero and ten six and player wins if they chose red mr. Bennett not zero or if they chose black so the interesting thing here is going to be that all the third point where the roulette wheel is spun it generates a random number in 0:36 and we're going to State Channel and as a spoiler young stranger to me reveal scheming for ameliorate balance a little neck style so in order to write this mistake channel we have to break this process down into a series different states and define which transitions are now between those things so the case of roulette we're gonna end up with this state machine here so we start in the top left hand corner in the start state the start state test scores balances for the house and the player so when they like entered the state channel when I land in that state and those amounts should match the amounts there as was given a bit later the next steps that the posters say this is the thing that the player is a light as as the insert these festive tents there we go to start and start proposed is going to be in player does the house is gonna responded except the players in a spot to reveal and then we're going to go around in terms of these days so to start the game the player formulates proposed step and doing that first step has balances in activate the wager in this case I want to wait until they achieve their color and then they commit to a random number I think you mentor random number finding a hash of the number that she chosen in this case for and some secret Valley and that's the thing they made into the state and they said that over to the house and a half takes a look at that that I and I happy to accept this bet it is like yes and say then they replied with this other state they take everything into place late and to that they add their random number so we're actually doing a website from it revealed but that's fine say like at this point the houses just like pick their own number and then they said no matter player now the pair of this point there is worth every one or not they can see the house is rounded number they were there under contours and their next action is to reveal this state so the reveal stage has the final position so I can take that home position they had to get a list you random numbers moduli admitted six seven there's a bay 7 to generate that run and they would feel their salt we used to hash they run a number so that the house would have verified that they're not cheating and you can take the winner and the updated and then they can continue out this thing's many rounds they want to do so these are the different states and this is how we're going to model this roulette game in our state Channel so when we're actually writing the state our contract we need to encode these states I mean also need to code the valid transition rules between these things so if the if he's dying to start state what are the possible bodies post eight of the pair's obviously not we have to be quite specific about which which states are okay so what I'm gonna do now is just go through each these transitions what are expendable quality start guessing say their quality sensitivity the first rule here is the house balance can't change so we can't have to pee like formulating at the bed and 70 North us it's funny really where this is kind of basic stuff the wager has to be smaller than equal to house balance and the way to have to be small or equal to the Pythons choice has to be red flag and a solute so these are just like pretty much like data validation things is without be paid up to a smart contract to check though it's multi variable it has to be equated into a small contract and the reason has missed by creditors our contract is if we end up having to disk in to step on chain the chain needs to able to check like to come to this later they're like one thing but the problems about the interstates like is the one of the problems that state channels is one player stops responding and that's the thing that we need to get changed you know and you have to be able to say you know like you know responding I'm gonna try and show change by the next state and it's the chain has to be able to check whether this thing you provided about a transition said these Google's do need to fit into small contract and this is like the Miss point card they each did not give you writing okay the next one is a proposal is get little bits or anything so in this step we are these offices and again we can explain why your fate he pounces like this later but as a quick sneak preview is basically because you're thinking what happens if player doesn't respond as a next step and he basically is prepared to respond to the next day yep let's do it later so these bonuses have to after you update this does he missing part of in this book that way to change the choice to change the house changing the players running eventually change the next one if you set the reveal this is where Mike makes the coaching of the actual application so to make sure that this tepid planet we need to make sure I have calculated the joy kind of number correctly and in doing that they've used the value that they've read entity and that's what this basically said you look at the captivating person what was the difference and then we checking that when you touch that with the solders provided you get this this random planning for the last and the other thing is that you have to calculate and win it correctly now that's just that that looks like a rather describing worth earlier now they if it's red and even free my sister and we also need to make sure you update a house balance and play around correctly in this case you can see that the player is 1 and by this mistake then finally going to him reveal that to start the facial balances okay so what I guess what I've just described there is a gain of this cific parts of right Internet as a state channel application combined to that for the framework parts which isn't as definitely ability to so so here is the state where our jailer is how we actually take that light a specific and put it into you the state towel framework so this is the statement the in the producer this is how it mounts onto that Star State graduate okay so we've taken that light game specific stuff we've put it into a donut framework stuff so that it things like participants addresses in signing addresses the participants build an array got the chain ID talents the channel monsters picked by the players to make sure definition by writing that we let their I mean the address at the unchanged smart contract I've cleared out the bullseye expansion between his life number starting at 0 is the first stage another thing outcome is what you would kept it for China Scott to this petition that's the house balancing pay a balance and then we got it's not fine all that signature so the actual satellite the game state and the game rules and that put inside the framework state which has extra staff and there are also some framework rules which define the how these states are out about dates and framework will cover things like participants had changed j9e had changed the ten number must increment and so on and anything gradually gonna go a place in these talks the five news okay so this is how we construct the initial state and what to say one that they have actually prompt in their software and they also have a channel ID so the travel 19 is activated by mashing together the participant sandwich anomalies and the chain 19 so that's how we like identify this channel and that's going to be important when we start putting money on the chain purposes at this tunnel and we just really cool that our one two three in fact that's going to be a vise 32 buddy that's going to be each other to find a channel and it's one of the participants made sure that is so together they can make sure that along they change that time ones to make sure that they met I did which they that's one of the things they have to take on they should never enter into a tunnel with a untidy curry on the campus we are off temple it's already not check its own user content filled to make sure you don't enter into another channel for the same ID so the burden that in addition to all the other optional stuff I have every kind of Tokyo all the NASA deals with the same there is enough to store the highest page you can also do things like you can get around this pipe didi addresses the top temperatures sent my name in your software just generates from the content that not care so it's actually what we made possible yet to see kind of like every country yes sir you'd like a lot his channel is a lot of cavities like the change really can't keep track of us working you have to do it again the first is talk within a place and I important fields so basically gonna find a lot of stuff that stays the same and say this is what I got to give you a look at what I'm going to do now is I'm going to go through state by state how an interactionist agent would actually work with all the updates in this format all right okay so this is the this is the first thing we start with they emulate the state and you can see it's got like to be the star state in their house and a house is going to convey to the next state send it back and what the players are doing here is they're doing a big handshake so we're doing this round where they're doing equal is the pre-fund setup round and it's making sure that both players have a state that site by both of them before they put any money on the chain and that's important in order to play it safe it's basically their key to releasing that money if something goes wrong so both parties now hold to sign States one of each of the signature we call this is the court through a state one it's like something applies to change to show you that both it's like we got to state 1 it's like it's I guess the format is like signature pair 1 by the transition signature they're - they're like two states we join together with you see me mm that's like you Supremes that changed say they're like of this statement why remember a higher yes if you because each one is I be signed by one participant said general brief like doctor point I need signatures from all the participants involved otherwise I could do it naturally I just like be like if I get a great slate and they're not to change and do that it will open it basically the reason is because s we do this turn taking stuff and as a consequence about it you can assign if each person is gonna sign one state you need two signatures not into each in space we do not have an optimization we need but after you send your son part of the party that sends that remember one that he has no confirmation they are forgiven Plan C yes very simple medicine zero what yet Bob sees a nice Maxie and Coulson back yeah then powers and Emil turn number one to a basic what happens not a century to cope and then folks in 2000 at that point Alice material one and quote has zero money and when they both have zero and one then it's a to them as much as so the only two entities is Jean hater which is one chain contract which is going to hold the funds for the duration of tunnel and it's also going to be responsible for enforcing the rules if the challenge it cleared up in a dispute situation is covered a bit so at the moment we're gonna have to just think of it like in an actual plan teaching pager the suite number of contracts I'm just going to consider it as one for us and it's going to have addresses that's created a channel policies and outcomes so now they both hold in these two states they make to pair the player into first and say the first participant today call this deposit method and into ght get the channel ID and announce or next to it and then the house deposits and you end up with channel ID and 10 stored next to it the ordering there is important the ordering there has to match the ordering of the participants and the reason it has to match that is victor as the city water they get the money out since so like if you ended in if their channels any partly funded the first player is going to have precedence in getting money out first which is quite a good reinvest that should become a bit of stuff for these do okay so once they see the points to the gym later and then proceed with you off the exchange in spades to have done this pre fund set up that deposit we're now going to have the close upon the setup stage and this is again part of this framework position and that is to focus or participant to like acknowledge that we know that mr. Thomas now landed they both see the money on the chain so again they're just gonna go the same state back and forth so they've now basically got four copies that this like start state with increasing turn numbers the first two other being the refund set up but a skipping postman set up and now we're in a position where all the participants agreed and going to the channel with other channel and now I can actually start running the algorithm which is like this so these the next states when you start in the algorithm here we are actually you can see the update has expanded and side the updater we've got a states that I have the state machine so you can see that we've got a private operator choices around an event today Penn State and the house responded is this access thing and a random thought that we read in the next stage three to you the reveal state again it's all packed into the updater and we finally finish up in fátima start states who don't like all four states in that relationship it will packed into this light framework the state is round suppose now that player wants to start stop playing so what I'm showing you here is a hatch case by the state there's a channel so I deposit in play you can conclude collaboratively so in this case what happens is player then incites the exact same state but its final to true so this is where it was going to happen here it's both but it's gonna you know like sign off on the final state so that the player signed the state final tree house by the state final true there then both 42 states with quite this final true we call that a future proof so like it's like both both players have signed off on this and that's evidencing get to this change say we finish this channel capacity C and then take that conclusion proof we're going to provide adjudicator and the outcome from this channel is going to get printed in hater so if I announcement for this repair that seven thousand three and ice that it's like stored on the chain and at this point you say the child is finalized the outcome that we agreed of chain has been registered on chain and is the final version of that child so this is a view that between method between method checks the big birthdays are I like final states and their mother condition in stone and then finally the final step is to actually get the money out of this and the way you do that the transfer so transfer by the channel it looks at what was indeed Jupiter that's their best pick out the best place out to the first thing the after it sets out to zero and then paid out to second person to hang out their external material addresses so the money is now after the contract and we finish the state talent Russian name is now in talk about what happened to things go wrong even for that question separate bet we're doing in our contracts for each application no so the way you have it currently is that we have one adjudicate contract which is responsible for the third way going from channel 19 and then we have best Suites of a settlement in fact one into each type you want to use as bait chances like an asset holder is ERC 20 asset open but it's pretty important that these things have all the same contract which you get on having my core bounce channels the fund for another is any to be able to send money within the contact to each other there any more questions before ever so okay so great that's how it's supposed to work what what can go wrong I'm not going to talk about the two most important cases at once I lost it most important scenarios one is the player is playing he's sending estate to the house I was tempted and he's waiting for the player to respond and not being that they're just the software is just waiting and specifically when this matters in this example right here or the player like gambled some money on some unread and the house accepted the gamble and the player now is expected to the revealed state that we started to talk earlier and realizing oh like Isaac lost that's a they sleep what happens in a scenario like I said the house is gonna have its funds locked unless it does something so I'm gonna do is we introduced into the adjudicator this new method called challenge and challenge is basically a button you can push on the adjudicator which requires that you send in like Tom mentioned a has to be in a supported state that shows that the player chose this after this choice I accepted it and now the guy's not responding so forced entry basically by initiating entitlement so UMass in the last state where temper was aides they had proposed their their state capacity or 7-elevens you taking them up bundle them into the contract and first challenge what happens is it puts this data on say it's supposed to end at 73 at this point in my acceptance of the state which is an important kind of subtlety there damn come immediately after the house accepts it at this point says the house wins because if that state were to be the last state network which is the case if the players are responding this challenge the house should win it's basically one attack what that means is that that this was the last state the player does deflect which is a kin to that informant so we say hey seven three I want my money I attended it as a timeout now that's the time ends the length of this take about talents duration I mentioned earlier and you know this is basically behavior that looks like and the guy who doesn't respond after that timeout is finished the number of blocks is past four to summon the translation then basically it's considered to be done and in the same way that you would with a conclusion grew from what Tom just mentioned with the chain says single 7-3 that's basically selling chain it's now seven three when the channel is done this is what happens if someone stops responding to you you can always force them that's why this whole things before school protocol fees if anything at a point in time goes wrong you can push this button and force your our party to make they would take their time so they're forced to pay without a confederate flag they're forced to respond in some way in a fight they both get it off of my region and in the states in this when they pounce accepted the bet that the player made the element was changed to be the size of the house one this point has the sender bet I now get money and as the player route provides a reveal state after this that is one that calculates the thing with a winner basis that function we've mentioned then it would change some either the player one in the next state however you know ultimately maybe the house one that's the same as this situation so that's basically what happens here is you force them to make that move and the only log with is something that passes the values test you're enforcing the state machine course that's challenging however there's like another version of this where maybe the player just like was gone for a little while and they weren't actually trying to not you know not respond because they thought they lost maybe they actually did win this they closed the laptop for 20 minutes or something like that 70 they lost cell phone signal something like this like basically they should be able to respond right that's my way to time up and so pretty straightforward deep you can imagine the state exists which still is and it's a second ago actually I swap the seven created do it consistently in this case macclare gets the seventh because they revealed and in fact they they did choose a good number that shows red it was red and the most they should be able to do is think that go to the adjudicator and respond so we introduced new button called response you just pass in that late a state that you signed which is a logical transition based on the rules and then they'll be able to see themselves basically it gets erased I think it you planted a long until sometimes they're gonna decide to conclude maybe there's another challenge scenario whatever ends up laughing the point is like they weren't malicious that came back everything's okay the chain allowed for this to say so those are like that's a 99.99% of the failure cases the only other failure case which happened is what slide star super quickly explained is you know maybe it's something maybe the player decides to put some super old statement wait at the beginning when they were back at five five then what you can also do is the third button is a checkpoint and pass in the future state that's way in the future a tournament and then whatever and it will effectively slash the player is that's the most obvious case of dem charlie cheat but that's the more HP software error situations that's what it might explain question of slides these are the nine linked with ninety nine percent cases the actual launching operations you need to do with a channel so that's a response that's it so everybody's questions anyway about two minutes so yeah any questions does it do they have an incentive to respond if they lost but they want to keep their reputation as having enough time or something to the player they like I mean if they don't respond the best we've been as the pawn chain artifact saying like at some point they were expected respond they didn't so if you want to keep track reputation then you probably would take that into account so they wouldn't necessarily take like no change where the idea is one to you or where I responded to you you caught it so one thing you can do is you don't have to make the numbers all line up exactly like you can make it that you lose a little bit more if you don't respond that if your spots a heat loss and there's always at least some incentive to respond yeah there's all kinds of ways you can optimize like alchemists efficient business scenarios this is like the most basic that challenge on chains locks and distinction so I guess what I'm able to say you know cheese challenge and the respondent in that channel comes finalized on chains and at that point it's identifiable from if you did it all it means is you have your channel and your outcome in the adjudicator said that we just transfer out your funds just like you did in the example where we computed it to be okay so like in the happy case if basically we've got two exactly same situation to get in the happy case where we have ten likely outcome I've changed [Music] yes say if ten despondent you wait the timeout so today it doesn't as long as you wait this time out all the time I'll finish go then exactly the same situation in the title is finalized one change of an outcome how does the contract time like this I house need to send another conductance a mr.
challenge period that's like them like it's basically you found when you actually want to interact with this like it's not that chain does not actually literally say like hey this time it's done a checkmark alludes to its or so the next time you to interact with it there's a check which checks in at the time like that I did it effectively as a no-confidence you don't really need that's necessary it's a kind of check the boolean flag saying times up but you can you see like the challenge and the block numbers they don't really need to register that check mark so so put in another way you just watch the client side and then you just go to withdraw because you know that the times up and then when you go to withdrawing it checks and says yeah the time was up so I'm kind of lazy evaluates it says the house I would submit it break-ins you want to drop money anyways so you can say hey withdraw and it's on here after the time period left Italy together this is chill chill our talk tomorrow we ever talk tomorrow an Olympic position I think I'm a two-stage we're going to talk about this general project in worker growth mapping condoms way that Karen would make great memories for this one about the funding portfolio stuff we're talking with that and then hopefully now you know like beginnings of standardization across channels all of those we have some great working with a lot of my talk about today and [Music] experience and things that to change [Music] [Music] all right [Music] all right everyone I'm Arjuna broken exit my talk is a lot of banking channels beautiful humans and then we realize that's a really really big topic so we heard that down intermediate router and then we are is still a really big topics a conic one very specific user experience feature improvement that we did and then I'm just going to hand wave Lee allude to the rest of them at least some time in and you guys can like sort of choose your own adventure of the last moments so that yeah structure this talk is gonna be about three slides of mutually connects I been told that I don't know so I'm just going to give people a background on what we do and not a lot of people know yet and after that they're just we're gonna jump right into the channel provider standard that we're trying to implement both within our system and then also have that be usable across my other channel Oh what is best so we started out as a user experience company we spent a bunch of time trying to figure out like what the key barriers were to getting people to use aetherium initially we thought it was sort of like a bridging mechanism we need to find better ways for people to bring their value on chain and we sort of realized okay right before pulling and bring their value on chain there doesn't scale and it's just a really stochastic inconsistent environment which is absolutely terrible for any kind of development of the web and so since then we kind of shifted to doing channel stuff it's about a year ago we went live the first Machamp limitation we just maintain image now hope that was actually at Def Con last year and deaf master I said we were going to work on getting this immigrant or places and make more usable which is sort of good because we didn't actually do that and it turned out to be a lot harder than we expected just because when you put this stuff in front of people you realize oh there's a lot of really like base assumptions around like how usable these things are in a limited market and that you really needed to validate and sometimes they change so after after doing that we realized halfway almost half a year later that the the best way to do that would just be to like build a full stack I mean we're we we were controlling everything from like the the channel protocol on contracts all the way up to the wall of X we actually built a production ready you wanted the the duck part a browser earner style slash spank a style wallet and it like influenced my goes and and then for a bunch of people who actually used it like all the time still a lot of completed which is kind of cool and it seems like most of these being used for like demos of channel stuff or as a reference implementation but it was really really helpful for us to understand oh wait so many of these things are completely wrong and directly led to us working with other more like other really interesting projects in the space like you know we talked for a while it was I know and and so it's kind of cool to get the sort of being eventually built a lot of exposures or essential goods cool where are we now you went live at b2 b2 uses the state channels framework where they said sort of precursor to it which will have like a very gradual with like very it was transition because the contract said the same and then we sort of aggregate all of these lessons that we learned from doing things really really well made for a while and then we also significantly improved our trust assumptions we said we still look back at the way that we were building things and said okay how can we reduce the amount of time that love is holding on to user state not do the thing where we like kind of just pretend like the user is like we sort of had this assumption maybe one where we were like okay well the user can back up their state we're always just given that state because we really don't want to ever have a case of like the user state break so we just hadn't had the time it's like things like that which which are second level assumptions outside of the language based bergamont environment which are really important thing about them and then where we're going everyone keeps complaining that nobody's using channels so we're going to make you listen this is the this is sort of where we're like trying to hear the next few months and then next we're trying to like come into and eventually a decentralized a little more like what I think look like cool sorry sorry for being chill back to a state under lid okay so how can we make a channel to let's say and you feel them in the browser and this is there's actually like a harder task that most people realize because there's a lot of the sort of common things that people talk about like you know how do you backup user state in the browser process or a really insecure environment you you don't want to or your keys there but you do want to put your state there you also do want to background which date somewhere else and then then you have all these other headaches like okay well in reality users aren't just maybe on one browser by the time they're probably gonna want to have their channel available on multiple different devices you know and like when you when you do that on your until it shares a between all these places we kind of decided to male just focusing on one very specific problem which is the biggest user experience hurdle we've seen so far which is that the hardest part about using layer 2 is that layer 1 is possible and like anything any point where layer 2 touches layer 1 is sort of the biggest user experience nightmare a really good recent example of this is that we spent like a year with our channel is one thing that never ran into this problem until about two weeks ago and the whole farewell thing happened and then for the I don't know where users started saying like hey like I'm not able to deposit to my channel I'm not actually put money in there what's going on is your stuff broken like you know what is happening and we were like what the hell is happening all of our stuff since it's fine you don't understand that anyway we actually looked at me first and we realized it's like music transactions we're taking six hours to find and and so like our contract implement I'm out because we don't want users to sort of deposit and they're just like like or say that they're gonna deposit then just like leave it forever this is it really this is sort of a safety mechanism both like mostly for the users we're like okay well you know the user forgets to deposit or something goes wrong like messages doesn't get sent or something like that we don't want them to have an unusable Channel and so it's good because it worked but it's terrible because everybody was like are you channels broken so this is a really good example of like situations where you you don't really understand like what is gonna happen stochastic environment so we sort of in beach you said okay let's not only improve the user experience of depositing and get rid of this time out but also try to make it so that users never really have to go on chain or like really can just pick up their channel take it with it everywhere that they go so what does that look like so things that there's a really interesting and existing example of how this works when you use any centralized application today the old way to do it was that you have to actually like recover your keys and acts right and that was awful because then you're trusting that your keys obviously that's terrible in the browser and and the solution to that is like we came up with this like key provider standard like madam asked implemented but other wallets imprinted where you have your key hosted in this remote much more safe environment like usually I save a department like it like an extension or your phone and you can be put into a key story being kept into place where you really only have like very very like an arrow function that can pass in and out and and that you you sort of been cooked calls from from your browser environment to that remote that remote key and so we sort of looked at as incentive to make why can we not just do this or channels as well and actually Bruno from better mass helped us a ton with varying this out but it was it turns out we could and what we what we sort of ended up doing was treating the the core channel code that's implemented by by like state channels of projects as a as like isolate within the wall I think this sort is trusted code in the sense that it is like the users code that validates that the state that they're getting is real as you want it to be in a trusted environment because you don't want something to right wrong validators or like a rather to implement the validators beard of a nuclear weird state and so we said okay let's just treat that along with the key the step getting passed into it as like a normal key and then do the exact same thing inject a provider to the channels instead from a an application that exists on front end in a browser context back into this remote wallet cool so what does this look like so in a wallet this basically means spinning up a client and it can be next or it can be any other state channel in the framework client but anybody wants to build right now or in the future anything about standards and then and then map all those five methods to a channel provider it's a pretty standard interface we actually just took the same interfaces for now and like in the future we can amend that is needed but I sort of suspect that it's it's always a roughly like this burlap and then and the way that that looks for many implementations for all its is like a the ERC is it 1 2 3 7 notes 1 1 3 7 I don't know there's a there's a standard RBC it like gates marquise the interface lets you just copy paste that and then just implementing methods and it would work and then basically like setup like button to whatever context however you want there's a few different ways to do this you can set it into the in browser context using like like pro messaging like like meta mask or Portus or product you you can also use something like quality metrics it's nice layer protocol for or actually bridging two environments together you can also do this like you can have like it like a hardware device and like do this using some other messaging system it's like you could sort of imagine like the clots context around this is really interesting like anklet parking you just like tap your phone and confirm on your phone and like here you're not actually injecting your channel don't you're injecting your channel into like the the barrier you're not actually like recovering your key on the barrier on that thing there's a big mall and then and then on the data the user this is this is the this is the part that we kinda want to optimize on is we just wanna make it incredibly easy for people to leverage channels so if you get to the point where like a lot of us are using this channel provider standard as an app it's basically just like existing provider standard you just say if this stock context stock channel provider in the traffic product context pass it in to whatever fine implementation is one that runs on the same framework and now all of a sudden you you have access to it use it for my channel they don't have a channel you great one but otherwise most times you can just call function above the channel normal and though this it pass up to the what is it must positive so actually one more sided just [Music] one when you hit the spin what that's doing is calling like updating the state like basically like proposing a state is simply the best analogy that it's basically like in Boise in your channel and in that invoices for any sort of state update and it's something you get that on your phone you confirm on your phone your wallet can decide how we want to show that experience to you whether they want you to sign on every transaction they're signing on just like like your app installed but your confirm on your phone and then updated and that's reflected back in the app I knew it this way so this is we learned from experience would be one that like wild building things using channels are awesome the process of actually getting users to interact with channels themselves like long chain is just brutal and like the like the intergroup integrate ability of b1 was severely affected by it so like as you sort of probably saw that part the amount of connects really was integrated mostly with blunts and the reason that that would case was because having to build and like completely isolated like application meant that users have to deposit into that application separately and every single person we went to and asked about that said oh we're already doing all of this work to try to on works bullet etherium and now you're asking this talk where people has a separate step into connects and that just doesn't make sense for people to it is actually the easiest possible way to integrate into channels in here now like there's there's no we haven't yet found a way to make it as simple to just make calls to a remote Channel than this and if you can find a way like let us know most people would love to make it even simpler and then lastly this makes the safety of your channel exactly the same as the safety of your system in theory bullets are a tight space unlike most of the other work that is being done in the space like a Theron wallet have like material user correction and they are being used in production and so they've had production problems and they've had you know things like it is like user response being lost like dependency issues that cause people to get hacked really those are the sorts of things that that like you need to worry about to bring channels to production men like this those make channels and operating in a channelized environment the same as what exists with it very well so there's a that's sort of the channel provide your stuff that we've been thinking through that's why if it's like on staging and we're waiting to put it into master this is another consequence of like having people using the one name product is like it we actually have to like migrate everybody and that takes time it's a corporation Burton we can't just like release it and so we're in the process of doing that right now but once that happens you be able to use this within like a couple of convexities the other sort of user experience things that we've kind of seen were reasonable from this operation where things like treating your channels like pull it in the state channels it is literally true that your channel is Olympus equality and that's really awesome because now you can leverage all of the other you know user experience paradigms that people have been building like benefactor - so for instance getting rid of doing a subtraction completely right like they they're able to deposit into their wallet not paying yes maybe lunch of octane transfers and then withdraw in a way with a counterparty or the hub offering or something else if the one that and transfers to offline recipients availability is really the issue on the web not just because people go offline and because the internet also is it is my system that is stochastic but also because like people aren't always gonna be around to receive your payments that's something that we really really focus hard on plugins stay back those services things like Pisa for watch timers but then this also means even just having the user be able to use their intellect their channel or their application in a bunch on a bunch of different devices at the same time or maybe not as insane at the same time but at least like you can click it and then only deploying like on shave again only making launch in a transaction when you absolutely moving your channel employment to to withdrawal you think Rachel so this is your menu is there anything here that you'd like me to cover or any other topics because I think aside from this I was just going to leave it open for question yeah thank you [Music] my No that is an interesting idea do not forget even thought of it we just said okay let's so so like it's an accept my system and it gets more decentralized over time is like greedy centroids on table ready we don't want it to necessarily be the case that mining pools like now I'm sure this will happen in some fun but we don't want it to becoming this mining pool become political around like which connects related organizations actually get their transaction cross processed ideally we just solved the problematic by the patents route there will still be this issue if it wants me when throwing but if we can move it to a point where it could happen asynchronously then it doesn't matter if matter fifteen six hours right liked it pin it's something where like you can start a deposit for $100 at the start of your day and then like leave and then use your channel later on in the day and not not even know that it it goes [Music] yeah that's a good question it's sort of up to the someone like Madame s probably want implement them it's like because the so this is sort of a new onset in Italy but like the part of the way the Seychelles is implemented right now is like there's a there's you need a mnemonic because it is each application actually has that unique key and so you use a mnemonic to carve out a unique key path for for this specific framework that is different from all the keys that you would normally get online is their name the rationale behind this is that it's actually like that in the easy way to enforce stopping replayability across different apps and like handles on both coasts of conditions and then also erratically which can be centralized it should also make things more private because that's the case what we get what we've actually found the most lenses but they said okay we'll just use a channel specific monic and we'll just that differently in terms of signatures well just build a completely different user experience researchers over there that's I think that probably makes sense and it's going to be we we like we don't want to be - so we're trying to leave it outside of next for now but I suspect that what will probably happen is something like you know sign on install and like uninstalling an app and then like maybe sign on in certain cases and maybe we can like explode expose of that a flag or like what seems safe design but how yeah yeah so they're dependent data attached to it right like you're you the the the state that you're getting is like the signature but then it's also like an encoded application so you can always do the application state and check it we can do that within our climate yeah like this is a theories that there's a usability like a security trade-off there the cool thing about having application-specific key is like worst comes to worst if somebody like compromises your funds that like or you lose the key or some horrible thing happens you lose only the allocations funds and not the rest of your stuff which is we should like the same yeah that's also a lot the harvest rate in distress so my question is protect a simpler problem and it's uh pretty to use antipathy with tax revision so maybe she thought you could do you mean for for life like maybe they'll expect that to happen yeah yeah yeah so that's exactly it's not about - it's right up to the wand to mentor how they choose to do this right like because they're the one who are like I get a fine in winter break because they're the ones that are making me on paper exactly in that case in this specific case it was actually actually prefer better baskets today and then Brunner and I talked about this and like clearly it was just that like it was set to exactly these like recommended I think in a safe low gas price and and then he bumped it up like 5 to 10% and then it was fine but it just it just happened to be the case that at the time say like the same low gas prices be effectively bossed yeah yeah that was required to allow you to join a channel now transactions is there like a source of funds from connects yes you always have like one of it you always have a bucket you always have one on change detection to get funds in Georgia right sometimes it can be made by the hub and then they can send you money in the channel so you can imagine like I buy funds that are already in a channel using like wire or something like that in this case like the user is still depositing into their channel we're saying okay instead of depositing every single time you want to do anything like use any application we're saying you deposit once with your wallet and then whatever balance do you have there you don't really need to withdraw it you just sort of keep it there it's safe nothing's really gonna happen to it and like it's completely anonymous so do you just take it with you wherever you want and then at some point the future you want to yeah the real thing that we're extremely excited about provider stuff is it becomes like we want to get to the blender like you're able to leverage just a channels without actually needing to be a state channel application so like being able to say like if channel provider if like if like a channel exists make this payment using the channel and if it doesn't exist that make it on Channel that's that's automatically going to get like massive scalability [Music] [Music] [Music] but EXO morning everyone my name is Shanghai and I become on Darrell Center Network today I'm happy to talk about some of the design principles that we got why our beauty and operating the station networks email me over production and before we get up to some Walter technical details I want you to think five minutes to talk about functional distinction so just a few buses go seminar work just punctured something that and the do it is a new experience basis the first things is our user free single vacation cost access which is the real money is cost gaming platform that view on about a channel networks the same is that for the game developers were also released as they're actually okay okay so help them to summation publish their games on to their selects Buga app and enjoy the benefits brought by the transitions and finally for the auction developers will also release the seller web as he came that kind of helped rushing to bat for us to leverage their estate channel permittees like Amazon Payments as and this is a demo about a booyah app where bet these are the players can play the skill based of launching games on halsted X and we put prizes like reducer tile setter and the entire thrust payout process and also some of the case entirely fueled on Thomas hmm technology so it is real come to directly in the latency and during a phase and also it is as secure as the online auction and so far their clearances has spent over 1.6 billion US dollars onto this app and that's the over swing as risk that 300,000 against play on clocks and currently our monthly active users is over tell solid and is probably one of the most active to send trust applications on certain brain and our users are also spread across in high context okay and also for the game developers some of the questions that the monarchs me that cannot get my own games on top of stacks because sack system in itself is beyond the station networks as widgets so to living on standards as technology is able to handle object payment do they need to mend users prodigies so the others now and we also released a self activating SDK so a second America as long as we have vanilla html5 game with just adding two lines of code you can inflate your canvas experience DK and enjoy the benefits of using the stage and on our solutions and he also was there about recurrences and because we also want to bring the t-virus that is outside the boxing community into their consciousness and on the left is how you might integrate with said XK me SDK and on the right is our dignity partner portal which you can basically control and begin submission and publishing process and so far we have got over 250 g bar s richest on the reward and we have a radius available for 100k some chew tobacco and the first time in equation time for integrating with the second SDK is just less than 30 minutes so that part's the illness of innovative is that they're experiencing and finally we also provide a Sara web SDK so this is exposed manual to use for low-level station of Romania's that could help them to declare two occasions such as payment so a hot that become good many interesting behaviors like a prediction market X I'll spend the rest of the talk talking about their some of their technical design of our State Journal network and in particular we just really the protocol specification about our invitational state manual if you are interested feel free to check out this link for more details and today I'm going to give a very high-level overview about the key to different principles that we use by a building and operating the station okay so here's the high-level architecture was in a network so so basically it's a great area she was a generic conditional payment network so this network has a lot of larger bedico connecting to each other and also has a lot of smaller end-users connections with a note okay pansies conditional payment network has a layover an anchor to give her public importance which is essentially a set of smart contracts that handles the object without directions such as opening China depositing is for seller Channel and all these kind of operations so within this conditional payments Network anybody can see that payment to any multiplies in this network okay but this is not just a single payment so we allow the payment to have an arbitrary dependence a certification logic and they says love conditional Aries okay so for example as can send off $10 if Bob is a winner of the chess game so here is a payment from Alice to Bob it's conditioned on the outcome of the chess game so we use a network network to provide a very generalized interface operation in your chart and also the high level state application logic so semantically when you come up their channel for designers and laws of the highlight most states of progression of the application logic so basically you can love state final applications and the sheriff uncommon channel on assignments and this kind of accompanying and later architecture allowed to modules to be updated and evolved independently just like in today's Internet and I will introduce the benefits profile is kind of humbling and real architecture okay so now let's first look at how setting our kind of the hub by forwarding of the conditional payments okay so the first of quadrat structures that we use here is called the conditional payment channel so you said network we allowed who do pets travel so which basically allow the two peers to send him enter each other concurrently without interfering with each other so in order to intimate this kind of context channel each peer we have meant in simplex channel data structure which basically maintains the current transfer amount from this pier to the other point so here we use the prototype message to show what kind of information needs to be included in the simplex parent-child instructor example you need to include the channel ID there appear dress sickness neighbor lining up transfer from a spear to be out of here and also most importantly we'll also have a list that mentioned currently pending payments in this statement and know that this is different from the some of the existing straight channel design which used the vertical good for story and verify in the country pending payment in the channel so here because we because be useful for the case where you have a pen only operations but in the stage hammock naturally the conditional payment channel you have a lot of freaking insertion animation of the payment object so in this case using worker mode we haven't heard many necessary SP the computer in the moon and also dark brightly especially we when you need to do some function verification after pending payments so we just use a list that maintains a list of ID's for the car to be printed payments okay and the second important dense structure that we use it's called a conditional payment so initial payment has a timestamp and also the sauce as nation for the conditional payment and also it includes a list of conditions that this payment is dependent on and most importantly there's also a transfer function which tells you specifies how we should resolve this payment depending on allcom of this country provide many is prepared for resolving example means that the sauce needs to pay the destination payment amount if all of the conditions including disappearance of the country but it also provide positive all in circuit and also the logic tree handles a numerical conditions so basically the sauce and said the destination a betray amount depending on the on top of attractions okay so here's a kind of odds that the messaging protocol is presently a volume forwards a conditional payment to the next pump so the first step is that what sauce to stand out the pavement with the destination is only lost by the wrong shape of messages the sauce just say okay I request that initial interview and is the destination just responds back and when you want to resolve what payments basically saying that okay this condition has been finalized we have finished the chest pain welcome instead practice and use money then the solvent destination where several payment option this also involves only one wrong and when necessary the subtle destination can also choose to dispute to assemble or result the payment Township in case that there's someone tries to achieve Altair some disagreement about the payment state law application logic and also we use the sliding window techniques in order to allow the assaults withstand multiple concurrent payments to the destination and ways authenticity is act so this kind of sliding window techniques are significantly improved there's a kind of scoopin we can get waiting us to go home and that also desired by the current reason entity okay so just to summarize the kind of properties that we've got a single half level we use so this kind of comical conditional payments already is because it only involves very few hundred messages and and also we actually the bottom of the text channel your imitation or also is a sliding window okay so so currently what I'm talking about is all the help I hope already so what's happening with in slo-mo so what about the money pop what kind of since we can build on top is the hop-by-hop which not even permitted okay so what your husband was what a kind of end-to-end design for a minute that we can fight on top of and that the end-to-end design pattern is also very important in the traditional distribution and also the Internet if you look at this kind of very classical paper about that in Kharkov with the defect to the age of the beginning of the internet invest invest that's also a lot of design patterns and computer systems so our design principles which designs us end-to-end dependence is basically two thoughts first we want to clean a couple the general fund allocation process and the high-level state progression of that occasion logic and a second we want to push the complexity to the age while reducing their kind of rellenos complexity this is to ensure that the bank owned network is just like today's internet with as secure and as robust as possible okay and on top of that we provide several used for end-to-end design patents the first is called the long-haul payment with putting conditions so with this design as emphatically the South campaigns the destination a full amount if this condition and this is a very simple design head embodies it is probably involved most commonly in scenario in practice for example in our textbook applications we use this to them permitted to implement the head to head in competition and also in commerce the newest kids like the prediction market or peer to peer social betting and also include some of the casino applications that relate vacations destination earlier and this I have over me about the patient portal focus upon you when we're trying to implement that market of payment history institutions so for the sake of time we're not going to the details about this protocol see if you've ever seen including either for a protocol specification doc if you're interested feel free to check it out and also you can set up the payment option and test each other also my chance of payment option and also the salsa destination also to choose to resolve the payment function if necessary not hear that so in our designs of rellenos never needs to send any and country transsexuals any assaults on the destination is to do that so this is greatly reduced a capacity for the retainer and also ensure they're secure and also the past in attack mode okay so to summarize they're the kind of parties with more complimentary conditions in a simple because they're rellenos never needs to care about their vacation logic it's just family already observed accomplishment payment to the next part and it is awesome low cost because he serves where they no stammering is to sense the housing transaction and in most of the cases it does not even has a single feel only functionally develop watching so that's greatly reduces complexity and it is also secure because there in his resilience and arbitrary relationship and a behavior and it is also blowing the messaging overhead and in the second entry and is a tremendous that we provide is this Newman American conditions which best means that the sauce contains the destination and arbitrary amount depending on the outcome after partition so this kinda label some of their other interesting use cases like a second price auction whereas the option winner can pay well pay the second highest price to the auction year and also average usage based insurance and their hosts and these are the photos here okay so so so far we summarized the kind of end to end up to that feminists that we got mainly these are multiple payment with free conjugation and more talking into based in America condition there is that critical for something that we highly optimized for the majority of use cases so that for the majority of uses case is highly efficient and also a secure and robust and with this - and - and design parameters we can do a dependency on lots of occasion logic so for example you can build a turn-based destination on a vacation like the conquer half that we're building and also also at the dedication will also be some there's some chap like the Oracle service is viewed by Chile and also it could even be some application logic running on the row option or commit change so that's very famous a lot of flexibility but besides there is a two kinds of feminists that will you know we also allow for example you can also build up your home for example the actual protocol that to be able to talk about tomorrow intimate and lack of funding protocol permeate and also on the application layer you can also view a base station allocations so we provide this kind of disability to lacking your own application logic on into and a channel forming logic so so this kind of respect and the architecture two things just like today's Internet architecture well online we have a unified IP lien so this is just like the circulator or the value transfer Network and next thing is the transport layer that had no that end-to-end control and on top of that we computed different application layer protocols like HTTP FTP and SMTP and all the layers share a common and unified interface between deployments okay so just to summarize at the given give us some of their key takeaways theory that we designed our regional networks we have several key design principle might the first design person is the design should be insecure and also trust rate and the second see that we want to minimize the arching footprint will we're building the station network because the exact cost and also the latest is verified and certainly we also want to minimize the relay really note the complexity by pushing the capacity to HD and so forth we will also want to minimize directions for example such as human functions or the you been watching this might be in contrast to many people's thoughts that their the action film only function insoluble more she's great because it is instant and the reality is that if you run the state route network of along this route are disinterested vacations in production you will need to also pay for this functionality and workers in some boxer watching infrastructure services like Corral happening and that counselors are priced and also calling a few only function for between and watching also Universal much larger latency than you doing that with the local storage server or annoying exchange messages opportunity and lastly will also want to minimize the opportunity mutation already happened so with this deal nine principles in mind we did several bad choices example the key thing is that we try to decouple the channel on assignment process and is a high-level state appropriation of the application logic and this kind of if some crazy was also highly optimized for the majority of the business and also there are some design habits that with I don't mention clear example we use the plancha Gnostic texts a structure was full of art such as the post optional chain different public colleges can share the common data schema and we even build a house our own like a robust compiler for the solidity and it's all great ballistic traffic to check it out and we also support that there are unkind contractor and the prototype great innovation that we see including the bug and finally the kind of leader and to cover architecture is best of all for future use cases so it's hard to squeeze in as squeezing and everything in 10 minutes but this is just a high of you so heresy is including our protocol specification doc so forget to check out the space in some observations we make by developing into the recently okay so 2020 [Music] someone we talked about the reality we talked about how we connect to things but quite often in the beer world want to connect quality for example free or as many as we want this weekend bills of course my contract in this area it's also do it off chain in which culture that connects politics and this is something we've been researching and to already into the result it's possible but sometimes it surprised me 20 so what I want to do in this house talk a little bit about the challenges when designers [Music] so the first question is how do I set it up well if you heard about how to set up the moment gentlemen it was of these constructions you can just set it up as many actually not that different but we also talked about networks with all these networks connected always to people so can we take this existing network and also the 20 party channels economy and the answer is yes so in order to connect Ellis Bhattacharya we have to restructure this a little bit or it organizes a little bit and then we can build up on top of the nice thing is we don't have to go or chain and over this player second step is to actually get rid of all of the people on the carpet we don't want to actually start the channel so it's enough and the next service we had a contract would partnership contracts to our schedules justice we would like to build another virtual channel contract now put any kind of with party applications right when you talk about channels we already have even words so for example in this case connects Alison Johnny and whenever to tell you they and all of them that say invest one point then what has to be able to pay out to Christ [Music] and what customer services all point that now might we end one of charlatan to whites into the stone and essentially on the other side swell so when he's second this is okay another thing that is how to progress with the state in our one that we've seen so far is that I suspect the first would approach where and when I was an attorney so when any system is she buys England and its waters confirms an extractor contracts both box a nice simple and then actually too much less and all of the inputs of attraction so we need quite some steps while this data so it's not too bad a lot of parties might take quite a while until all of the infrastructure and Hathaways that so unless we have all of the confirmations we never actually know if this is something that really enforcement so another way of compressing states is a large market channel is submitted so everyone in parallel stupid statements to everyone else so this is a lot of communication and to end then anyone plans the contract function of all these inputs so that means to be like some sort of soybean hair stone press conference over in this way but if you don't care that just one what function of all of these inputs have a nice page and then anyone center out there tomorrow and then in two steps we have our confirmations and all of the members apparently and this is too interesting concept I don't want to say one which one makes more sense it's interesting to have one of mine each other's depression because when you have a sequential game they cover it reading one script depends on the next one so it really makes sense to go in a sequential way but if you have for example you want to generate Magnus everyone has except their input together so it might make sense to use parallel approach between the mix them have saturated peril and add other steps and then there's a third thing that I want to highlight which is party words this is easy to topple into one of them stops responding value so in fact in an end party setting it might make sense to which we want to continue running the game what parties well let's say you're playing cooperate one of them doesn't have any fun anymore continue playing but the others might want to finish their work on the other end they don't want to have this empty to the party that kind of lost or meant it but forget about Ellison as Wyatt memory so you want to make me exclude our dimension and this is another new concept that so farmers are very interesting message in two cases that we get from partisan the first ones when this party please which might be the case okay example when this person thing yeah I lost an amount see I confirm that amount so this it enough to off chain we don't have to go chain but there's another case for some partisan he avoids than just okay whatever I don't care in Wiley and other times for the right and in this case attention upon change change to underline for certain but still this has design from England it's really important that a few of us can't exclude someone if they want so you have to be quite careful about where this is an important feature in its kind contracts all these kind of games it's also a range so think about this a lot when you design pain even worse than this is a transformer Genesis in general something that is really hard which the party scenarios and this is always tricky when people start to food so if this is the triumph of collude against Ellis in Latin as we had before from the front on how you generate that is how you basically determine the winner in roulette with your steps so that one to mix the randomness and killing of any one faction which test is actually the winner so Charlie then show me actually in the sixth round those all of the information the winner so shiny can say make a new one we're losing this two points so I should rather important and first part I miss will be back - together / - its money its birth but robot is secure because he keeps his groin and when many people came we still has 50/50 chance best might when his own and Alice's boy so in the end they will they have quite a big chances of still getting some of the money so it will always make sense for Charlie to reward and it's really hard to protect against ease so one way of detecting ances is very expensive punishments so what our Charlie mustn't lose that much money that it cannot be worthwhile upon dissolution and this really has grows exponentially with the amount of parties because now also voltage through the palace we must be able to make podcasting securities and it's it's getting to you that where you have a lot of parties and our idea is to have external resonances to agree I made some sub block cash in the future that also adds a little bit of randomness or probably won't be able to see exactly who's the winner with a comedian but so this is something which is really tricky to design and something that I want to mention is it's important to keep in mind when you design your party okay now I know what risk assessment I messed up of the stuff what you must so the first thing I want to talk about is some general thoughts about what should be included in Social Work one should not intrude stuff like Jones just anything else we had things decided on I should always be and everything this also induces magic and of course very important assistance because you run an object product or after application of the others have assists for example state our native signatures them to receive the signatures that you sent keep track of the monsters to keep track of other data and you have something like the protocols that can execute all this has to be persistent and to really design a framework you have to think about fanatically how a persistent Atlantis's [Music] you also want to have an auction wallet so you might design a system to have a family keys we talked about this my thesis sometimes TV channel so that you could have like a chain wallet that generates those keys this is awesome and then of course because you now have you completed after an application you can actually have the networking an application right so you have the white design a protocol and this is this this is nothing that really communicates with watch everything this is the protocol for how the different like the disability Network and communicate to each other so for example t1 agree on chat right what agree on participants beyond the parameters that the channel is working on so you have to exchange messages across this office and things that might not be included I'll check wallet so you probably wanna Quest's calm expect the user humming of the hotels so it also probably don't want to keep track of punching so never that's also reason why it sometimes might want to that about extension so you can relate so you can - awesome stuff and if you also don't necessarily need to education is that it could be that you only defined the messages as you defined the white protocol but maybe you you developed a lightweight that hooks into another application of this application already has some kind of that layer so you can just duplex the communication here you just send call ways that they sent this message you set up a subscription that you can message instead of so you don't need and then of course the ramen itself alone the absence of the absence like and not the concept about side of the synapse so so one thing we can do is state general SDK this is what we're doing right now internally so this is the first step this is the inner core of it that's unlikely so the stage investigators this situation we have like we have an application and it already uses v3 I'm watching and now we want to enable it to give it a channel so what we do is like in the backstage elastic and then suddenly you can also do octane direct perfection they will actually Oklahoma tech channel protocol and cost should be get nervous so you have to design a very nice API that makes it's possible to extension initially so it should be easy concept back ok I want to connect those two people we found the channel and we said something that should be very like and we also think that it's very important that we can make developer to inject or provide stock magazines like blogging and a networking stack and the persistence text so if I the persistence on abstract level but we can't work and then that the developer injects same SQL database and use this home assistance and that the next step is to have this is something like the lightning note reality level synthesis of football standalone applications of a standalone application has all the logic for handling the stage on all networks but on top of this it also has an interface of which can communicate with the application so they have for example check to see of space is actually a bi-directional interface because in channels you always have the situation that you want to have coal thanks to the application because it may receive a state update from the other parties so we have to ask back to the user how to handle this case that Nam update I received an update and so this has one of something called ex back to your application but there are also other things that you wanna buy for example you'd probably want to at least give this automated dispute handling so you want application watch chain handle disputes automatically it's very difficult yes and then you also for example because I'm in such a way because you have object always to the application for certain on chain actually slightly funding ostrich and then this is the third level is really to have a half server because I mean we didn't really talk about as much but state channels really become awesome the moment you the network's there's also by the Lightning Network is pretty awesome so you want to have my son central server half server and it should help other people to build the virtual channels that's what we call virtual channels to enable applications so there is probably that you have some tapped and the develop of the step monster namely uses to use these them and very easy way to do this you give it state channels and then you run the half server and then you let only connect to your server and then you can have them open to party or multi party virtual channels over your heart [Music] yes so do you think of us religiously [Music] I think that you probably would have the client note and a half silver boat around the library around before SDK but a public kind of separate I mean I think in the implementation of plus one that launched a poll that I think at least that's what I'm how I think about it is that it is something kind of separate because I think the house service well about the pole vaulting about having virtual channels helping virtual channels so there was the results and yes so just a very brief notice about the manga so let's go a lot of people are using javascript and I think anyone's good at that it's just that many people did the jobs bill and we just wanted to find something new that make sense for some like standalone console games so so it really comes down to use cases for example you have a call the extension that's what we saw up today Kemosabe yesterday was talking about application process makes a lot of sense jocks business you think the web detuning is actually much better for JavaScript for example so we also have some peyote auntie use cases in mind and for those mighty cases if we think it makes no sense girls SL so the region's a bit slower but yes my language this is briefly talk about architecture that we have internally so we see there are some layers at the bottom you see interfaces of contr nationally and you have four for your engine that you have on the left is watching back and their color and then you have like some generic stuff database logging networking the top of the blocks effect channel application and we designed the whole system using engine has no direct dependency on anything specific like no but we feed on tendencies no dependencies on sale or as for logging or dependencies I don't know like TCP or something so it's really all going down to the interfaces so that means we defined interfaces which say that's the way we want to use the stuff if it were to exist and then we use it all in the whole protocol core and that we implement all those interfaces and watch it back and they're based on finality yes and this is a very very nice decoupling of this whole software so that the core protocol because then all the protocols you have seen today the stage and importance are very generic concept life is an absent concept I think we also talked about it like seller they're doing launch an agnostic messaging protocols here and this is like you can take this even further and say ok actually the whole engine of the support of the station of course is very abstract she also looked in the parent papers they're written in a very abstract way so for example it only has its models the blockchain as a ledger has an account they slept okay so this is a very small request you will not use is actually very good question Hansel yes sir but when you're designing this in an abstract set where suddenly many many things become quite complicated complex so you benefit a couple of concepts for example atlases you have the concept of an address but you don't want to specify what is lattice so there's a solvent interface so you only say okay what do you really want to do with that is you check that it's equal to another endless so you give this interface it equals method and you want to sign with your okay so actually also the concept of the counters or discipline camera so you have an address and universe in calculus calculus you can sign with it that you can verify so you have something called signature but it's just like an abstract signature but then you can verify that the signature we lost this campus and so this is like one of those concepts but you yeah so it makes things more complex but it's also nice because it forces you to really define very low we force you to understand when you designed those polygons see West sac leaders lay aware what separates that really took off the proton from implantation specific so it's quite interesting and this also like that that's the same here on the top that's like this blockchain interface that was talking about so what do you really want to do with the button you actually just wanted me to accurately judicata in those days what a funky fun channels we're gonna watch the adjudicator suit there's this concept of watching something but you don't want it you don't really need to go to too much detail you just need to say hey watch this channel with this idea talk something that to happen and then you want to dispute or just like register States you do here and you're selling [Music] I just wanna show like a shot got that what we want to do so we received a grant from the German government especially to stop we are going to this escapade for legislators my god but as channels to work with channels again is this concept of having several channels that you connect together to a long personal channel to the networks that you want to go to movie state channels and app server and then we also want to additional magnets because country obviously we're just concentrating on material because it's like the nicest watching to develop on right now finally girls stations and plasma chains so instead of having blockchain as a back-end so this is the nice thing if you have such a abstract concept you can be just provided plasma banking something and you can just reuse all the core [Music] [Music] [Music] right there ready of the state and especially designed it as well as experience and basically share some of our experiences that we encountered it's fancy and I was also talking about stuff those are mainly in shape with all of the other projects that happens and Tomas is thinking for the next and abilities and applications of material as plus them and yeah right what becomes of donor where was that it his experience and the system architecture right both as a screening art so yeah before me that injury right his heart I just want you only productive don't know racist image try to talk compared to the other talks before even somehow shifting between like generalization and send packages rate the Sony payment channels and can be compared to for example lighting their 401 and yeah the very core idea obviously said you know parent China and this one is always backed by an option deposit and once you have deposited into this payment channel you can do as many option transfers as you wish by exchanging balance groups with your channel partner and those balancing and risk management as digital to checks we send something back and forth and eventually we say yeah but it was my tab [Music] the cool thing about rating as a yes it's like you cannot only pay people that you have a direct channel open with but you can also pay anybody else in the network s comics ahead and connected path of payment channels with it receiving title but that comes with some challenges and people to talk about it of it is our status is that we are an active minion with a limited version of since end of last year and this moment is featuring all of the core functionalities that you can you mentioned for payment channel networks of retiring transfers mediated transfers and so on but to be limited in terms of use experience of as well as in terms of which talk networks you can currently reducible right now it's limited to record and yeah they need to see our current maintenance is pretty pretty small stuff that we hope that we can make it with a bigger by room so yeah that's take a moment to talk about this magical thing experience and what about oh well and try to test this into two different user groups because we have basically the direct end user that wants to make a payment using Maine right now and we have the tiger food which is actually project and developers that wanna integrate with writing into their application by the user themselves thank you sir will not really know that section is accredited by using this application so it is the actual end users and those are experiencing or magazine some challenges when they want to interact with kami channel networks for example first inform on this video about education so I was abstracting where technicalities the problem is I don't know and I also don't know how to use them the most interesting part of that is that most users don't understand the idea of a network you can send payments to anyone you don't need to of my channel with them this is like number one second presenter visits are cumbersome to use and people are really unfamiliar with the terminology we use that's definitely also problem on our side how can we make things easier not thinking so much technology perspective but rather which comparisons can be used that already exists and be a while for example there hmm then another problem is I definitely don't want to have have to be on that all of the time and I totally want my payments to go through that I shouldn't right and last but not least I don't want to run a note what is in the note and by the way after so yeah few of those problems we're trying to take it with the next release has upcoming the first problems and won't be online all of the time that I want my famous to go through they can be at least improved by introducing services so on top of reading you would have very soon some states already now like on the Tesla which we come with monitoring services and with cosmetic services those two are like third-party services that can be provided by anybody who wants to join it will kind of bring services registry and yeah they will believe just through his experience the monitoring service will basically you watched our example minimum Pisa they are pretty much tower services and they were basically just look after your channel if you go online and solve this problem with a challenge by dispute that we talk about man and the pathway new service would basically just leadership short routes to the network so that you can wash sure that you came in actuals and go through yeah then we do problems I don't want to run about this problem we have through solution purchase what the first one is that we can what is the last popular funds on a light right and still work in progress but you know and here in the back you see how the right tracks evolving to transfer to the ratings footnote already knows the lac trend is the middle of any query in a browser so basically you just use well mask obviously it also has some his experience challenges right now like design random extremes and messages which is really cumbersome but we're getting that and the interface that you see is specially first implementation of the dynasty the second option million people try to sell to you like the Masters always I'll backtrack the breadth of network if you want to try it out it would be great to talk to us after because Pandavas only one to a network of the first and if you want to win this or if we should send you some tokens just let us know I also see castles on the bank was our lifetime partner so just that time option number two is yeah we can also have people to make running notes easier and since the decentralized system we also rely on somebody you have already know so they need that's not greatness very little most distant admitted images so if you are already running and inspire just one option is help with onboarding to us in the past it was really typical to start rain if you are not technically will be able to do it and now you are able to do it because we have developed something called iterative method which basically insults and launch is waiting for you all you need to do is download it and double-click it and you have to have your project because we assumed that people would have wonderful rather dot and who don't want who don't know how to install it I probably not but I assume in future will also be possible to and yeah then it does all of the stuff that political forces and that one you can install without any have news from outside so you can just go to our github render network such radiance Dada or skin is rapid and it's available for Mac OS and for Linux for the test for now but for the next we need to be home to us I have it yeah and then the German does from the other sites or projects that want to integrate with rain they're also facing problems the first was in hanim education with an abstraction problem definitely people or a project developers that integrate movement they don't want to have to know how payment channel networks were and what we do so to use that product I know awesome next last overnight I don't want the complexity to increase i I really don't want a worse experience for my users it should be basic seamless and also the third problem any 70 choice that I don't find the rent right now so maybe it's suitable for me some of the problems we can solve for example not understanding every telemetric yeah please don't all go after a particular protect now because this should be respected a way for you we try to make it as easy as possible by offering a really high level nei which should be in self-explanatory we are also working on some documentation we have apparently long and very extensive documentation already and now we're trying to develop unique documentation which is very busy practice sets are basically powerful very extensive and we have and we are also always available by our technical help chat computer so in case you should have any problem yeah we don't want but users to write a lot that's how the back of the Rain Man pilot yes and just soon as it's ready I need somebody just that's not a problem at all because now that we have basically all the features that are the basics for payment 11 VSP how to incorporate in whatever feature you might need and we have already started that so some of the projects were facing ten dollars each which means that you can simply drop certain types of demands for all paths of plans without the need of closing achievement this is interesting for example if you want to keep this channel open because you know you take with this person a lot but maybe you are the party always receiving funds then you might want to cash out once in a while without chosing each other and that is not drop feature and it takes less content when sexual selection closing the hotel opening each other and union that just launched their spot each being quite enlightening and I already and think but also like really closely in touch without another class so yeah I guess if you want to have some teacher intervention just let us know talk it out and then yeah we go back to our business had UX obviously not only worked the front end seven features but it's being influenced by data like systematic mister and thank you guys I just want to share with you guys what are some of the consequences is a big perspective of the things that we have chosen to design-wise what are the consequences of our design so let's just start with like what are we doing here yours right diseases buy them away so it's the idea that we have here these at home for launching systems you can only pick two of these three possibilities and that we want to fix that so that's why we are building the state channels where you can actually have a scalable solution that's also secure and it's also decentralized so that sounds like we go of every single person vision that we have had today and for my interpretation I think the biggest problem that ever had it was tough to communication right because they prefer four of every four snakes isn't you actually have to share the beta which have had a lot of notes and then that's actually what Brutus is kind of differences over have better communication okay so what art art design goes and the how our between our two phases for lemon so we really want to have a very high degree of discipline is Asian we really want our system to lead isn't relies no puns Hubbs may appear in the network there's like Heinz connected up hubs that are across it by different uses but I really want that to be part of our design we want you by design enemies of our license they also want to have a very secure very high performances like Margo's and I'm just gonna try to tie together like he's trying to find out what our respective sometimes have true in some circumstances we have to sacrifice speed so if everything happens on an empty can type of thing is good but it's very hard to try to explain to people the set is when things actually don't go so well and that can happen two reasons the balances of the channels in the network are actually changed in how the client right so you never really know in a distributed network like that Ravin the channels that are trying to use actually have capacity when payment is actually going to go so the eminent self-adjust favor for something that I do have no control whatsoever Utley is just like nature of the visitor lysis it could also be that suspend and one of the guys that are trying to communicate with just went offline and that's just the truth it is an ultimate user perspective that's very very hard to explain why we trans-pacific flight and it's available because it seeks our spare transaction to mind on chain we'd have to think that the consideration when we define the expiration of the national walk and that sort of goes with actually using their very unexpected and unpleasant wait so just you show that in a marketeer fashion when we started transferring to the left side very fast actually going to be transferring everything is successful the capacity is fine every note is online study the thing is going to what about if something goes wrong there's a lot of time and that's one of the things that we want to actually at least improve in season because we cannot actually fatigue status is inherited how it works right now what we do yes why not just like lock funds into the path before you actually make the commitment transaction that's exactly what we do we first lock the funds and then really redo the secret backwards and then out everything is going to unlock it right but in that is the lock payment failing shouldn't apologize like so so I'm trying to block refunds yeah and right now funds with the channel Charlie if Charlie saw flight defense this is make sense right so what I'm asking is from a user experience perspective what you're doing is a a is basically committing to the transaction to be when they initiate that transfers and so they have no ability to back out of that transfer excellent second concert what I'm saying is if you separate out the process of you you reduce everybody's balances then you make the transfer into two separate steps that means that you can decouple pathfinding from actually me production so pathfinding fails you can have like the three second time not okay - don't even become right that's what I mean it's like you you just lock the the value in the channel has part both the company itself yes and then dose transferred to later and that love is whether failure can happen if you're trying to log the funds and one of the notes is denying the bottom didn't happen and then the notes that actually have locked funds they have to wait it's what inspires you get my stick from that if it's artistic that you're going to end up with double spend so what we can do is actually from the user perspective sort of hide this but it's like if there's no solution by the worst days it's always going to have to wait for long expiration what are we do right now is that I'll be introducing the protocol ways of not having to lock which expire so we don't have a thing that's called refund transfer so if problem is that the channel capacity we just found out the way to initiate that Spencer is complete and betray anyone so it's like it better use experience in that sense of the transducer because we fund transfers right now require twice as much capacity because the past week might has to be sent from the fading no other wave actually achievement that we are going to have twice about them and we want to remove that so that we don't have to actually have twice too much another Pro that we have is an inch TVs we want to make the system work and have one of the very important things that we have security systems make sure that the network sections going to be balanced because the network is unbalanced and payments are not going to go through failure ratios but some strategies to help the network balance itself and the way that we do that is that we just introduced rebalance robotics entities so we use if I find service and we pretty bad find service we can compute which path is gonna be the cheapest and we always always try to make sure that the cheapest path is the fact that's actually going to read that as a network the problem here is that these strategy Ward's part with monies in the network but it's actually very hard to explain to people like works because you always have to take the channels in pairs for the perspective of when they are actually doing that sort of by strategy and that indeed cumbersome to explain quite so what we little here is you try to fix this problem is that inside of 2002 in Jamaica and I have actually think the words we just tried to make very beautiful so we think about the problem and we just make the decision when we have music and are we always try to make sure that it's going to be safe and it's going to [Music] yes that's our solution you're just thinking about the people's and I'd be very problem that sometimes happens is that a since it's very important for us to actually know the balances of the DHS that's crucial for path time service because I really try to choose a path that has capacity the problem there is that you know the capacity we actually have to share so we have to trade off a little bit of privacy to make sure that the payments that were not happening backward so the performance really depends on giving up a little bit of privacy so the way that we try to do things is that it was sort of the law wants you to buy a little bit of of this capacity and an on-set updates all that often so that we don't have any view of everything that happened but we can actually choose that ever use that data to find a second action so yeah that's also very important thing we never force or users to do something we always have like escaped actually the inspiration that Allah sent you about something that we believe that may not be good for everyone in this case a node can decide to not send that stuff takes because of not as partisan but it is not necessary that in the use genetic payments for that yet so for the next reduce rates those try to fix this problems we introduced responder in series we are going to work on the council and transfers and of your trying to figure out colors and actually make different service more privacy-preserving but features that actually we have that even though there are are trade-offs we think they're important because they're going to help making sure that our parents actually sold we're going to usually it's going to have just better experience by not having to say that we're pretty much cutting areas in a few weeks that's going to have the monetary service and it's going to have to pacify services and we expect the successful rate of increase and people don't have to run in oh it's full time anymore so please try it out I would say that we are pretty much production value and everyone try it out and if you have questions I just reaches all in the we're happy [Applause] you
Automatic transcript — names and jargon may be misspelled.