J2 RF 03 Bridging the ÐApp – Scaling now with Parity Bridge
Ethereum Paris·Tue, Oct 9, 2018, 12:00 AM
Transcript
hey everybody my name is Brian Wagner from Paraty Tech and I have the pleasure to tell you a bit about our one of our newest systems which is hold on I was told to hold on for a second okay awesome so I have the pleasure to tell you a bit about one of our new systems it's called parity bridge today over the next half hour so so please bear with me sorry for taking your break maybe if you stay here and I hope I'll be able to show you a demo as well but that's not quite clear that's possible because of the the text setup here so parity bridge right just a bit about the background as some of you might know we have been working on next-generation blockchain protocol which we call polka-dot it's a kind of a multi-chain framework and one part of it is the system that we call parity bridge and that's supposed to allow polka-dot this multi-chain network to connect two independent blockchain networks such as etherium so such as a network that provides its own means to come to consensus its own conical ization mechanism rather than these other elements which we call para chains which lend its means to come to consensus from the polka-dot network that just as a background and parity bridge is really the project that is pro to hiding typing such a system and along the way we figured out that it could be very useful right now for other things so what problem could it potentially solve right now and as many of you know right and I would be really interested to find out later how many of you here are def developers and have been working on certain Deb smart contracts and so forth as many of you know we are confronted with a problem that they serum a net doesn't scale even though we are we've been live since 2015 summer 2015 and it currently doesn't look like the assumed name that will scale for at least another 12 months and I know this is a rather difficult discussion what means scaling and so forth but we just had this wonderful meet-up in gathering in Barcelona these past two days with a lot of teams that work on scaling solutions rather near-term scaling solutions or midterm scaling solutions such as a plasma team and for that counterfactual that works on stage channels Rayden and so forth and it really turned out that none of these the solutions that people are working on will like the rather good solutions will be available for at least the next six to 12 months and what we see that there are quite a few projects now that have been working on the adapts for over two years and they are in a state where they have written up their smart contracts they have tested them on a test net and now they really want to go to the next face they want to deploy it and test some use intend actions whose real value because the user really really in text differently if real value is involved or not and just to name a few of them there's give us there's colony there's kenosis that are all pretty much ready to go live but they can't for two reasons right and they are obviously interconnected one is the high transaction costs on these near main that I mean if here I put some statements from blog post or like just from my conversations that I had over these past few days if you know says any trade cost cost $1 that's not really really viable neither is what givers is trying to do do good and then you have to pay 11 eleven dollars for creating each milestone so that's a real problem that these DEP teams are confronted with right now and they're pretty much only three options for them right so either they stop working now they say like hey you know I'm gonna wait for another one year or two years or whenever the main it's ready to scale or maybe you know I throw away all my smart contracts and think about how that could work with a with state channels because state channels we try a very very different way to architect you adapt well or you deploy on a test net but then you are left with the issue that you don't have real value there and can't really test user behavior not to talk about all the network congestion that we've seen from all the IC o---- craves and cryptic rated kitties crazy so what can we do parity birch what is that right parity bridge is a federated bridge between any two EVM based chains networks that relays arbitrary messages from one chain to the other it connects two chains right we call them home and bridge and the bridge really consists out of I would say three pounds right one part is Russ software that runs that connects two to parity serum nodes each running one of the two chains home and phone it consists of two deployed EVM contracts one on each of these chains right and the nodes track any events in these contracts and interact with these contracts and last but not least entities in meatspace which we call authorities that run the system that run these nodes the bridge software and validate and relay messages between those functionality what does it provide right it allows you to you it allows actors on one chain to call any function with any parameters on the other chain and it's security relies on authorities that run the bridge and the other network so our sorties have to be trustworthy but the overall security of the system can be equal to the phone bridge phone chain security so the security trust model that's behind the other network and that is mainly because all relates between these two chains have to be signed off by any authority that is running the bridge so they they see transaction saying that hey I want to relay that message and they look at them validate them sign off on them provide a signature once enough signatures have been gathered this relay is being fulfilled and we try to keep it as simple as possible simple abstraction don't put in too much fancy stuff and we want to get to a state where it's so flexible in general that it can really cater for any potential use case that people would have on each side of the the chains so how can that mitigate scaling issues that we have right now how can that help Deb teams that I in a state where they have contracts that the one that they want to test with we Lisa well two things right we can offload the transaction load to another network and since we already have networks proof of authority networks that provide more throughput than what is possible on the Assyrian main chain that can really have currently we can provide a throughput that is ten times to a hundred times higher that what we have on the manor and also like additional features or additional improvements such as lower latency lower block times faster finality right on the is your Manor you usually wait at least 12 confirmations before you consider something you know relatively finer in a proof of authority network you have a different model and you can be sure that something is final on that particular network way earlier so how can that help mitigate the scaling issue well you could potentially if you can call any trends any function on the other network you can spread up your dab to two networks right and I want to give you a few easy examples that came up by talking to all these dab teams over the past days weeks for example look at givers right give us have adapt that allows users to donate to to for good and then take some decision-making process how these funds should be use how they should be allocated right so there are two parts of it number one part is deposit ISA into the app tap and then take some decisions based on that later on so the real value the ether right the ether that has real value is locked in the ether Manor that doesn't exist on the test net now if you have a bridge that allows you to wrap this ether on the real Manor in the sidechain let's let's for example say kovin right you have a suddenly you have a rapt ether token on covin then this can be handed just as real ether on the my network and has the value right so what you could do is like a giveth could say like hey you know one part of my DAP lives on the my net and most of the other parts live on this other network for example coltan where all these transactions happens so I save a lot of transaction costs because transactions are cheap on Kovan or currently for free right and they are different example right on the left side you see the ease to ESC 20 use case right where you wrap ISA on the main chain and have ESC Trent has a wrap ISA as you see 20 toggle on the sidechain this is relevant for a few projects another one is will you have an ESC 20 token on the main chain and you just relay like deposited on the main chain and make it available to the same user who did posited on the main chain on the sidechain let it be Kovan and the user can do whatever he wants with that rabbit isa on them so that is very interesting not only for for example swamp city drag nerium but also for somebody potentially somebody like radio relay right who where you could assume that the user right wants to use the adapt quite often and only deposit ones and withdrawn ones or over a certain period of time and in between do a lot of trades right and that would be really really expensive on the main Network but if you split your dab off you only have to transaction on the main network the deposit and withdrawal transaction and any other trade on this side network and there are few other use cases where you need some more of customers some more custom solution where you need this arbitrary messaging function rather than just wrapping ISA and making it available as you see trendy token so this is where we want to get and we are pretty confident we can get there in like one to three months I guess and I just want to talk about the current state of the solution that we have the current state of Para to grid so the current state of the parity bridge is an ESC 20 token on one EVM various blockchain that is backed by ISA on another eevn based blockchain and we currently have that deployed and running on Robson and covin so there are a few assumptions we take number one the assumption is that home the home chain which would be probably the main network has higher transaction costs and phone and phone uses a P or a consensus mechanism for multiple reasons one of them is obviously the authorities should be able to make free transactions and the other reason is if the transactions cost are not lower on the phone network obviously you don't gain anything therefore we try it in our solution to minimize any transactions that would happen on home and try to offload all the transactions in the bridging process to the phone network in that case Calvin the current solution is built so that the bridge authorities so those that come to consensus and relay transactions are immutable after deployment so we have a fixed set fixed list of authorities in the contract when we deploy it this can be fairly easily be extended to with some kind of governance process for example you could have a majority vote for the authorities say hey I want to onboard this isn't that project to also be in authority and I will talk late a bit about where we want to get eventually what happens is the user deposit ista into the home bridge contract on home and gets the same amount of EAC 20 tokens on phone and use us on the phone bridge site so uncovering can use it the the rep ISA just as any other year c20 token and last but not least relays between the chains happen in the biz attend for tolerant ray and this is a bit of a wrong usage of that expression in my opinion because you rather you usually rely on like talk about that in consensus systems but in some way or another it's it's more true than false just to show you roughly how it works right here I see on the left side the the home bridge contract the user sends a transaction that deposits Etha into the contract there's a breakout event the bridge authorities listens to that event they track them they see it then they validated provide a signature sign this event provide that sent that to the contract on the phone site on kovin WA were transaction are very cheap right they they are gathered there and once a certain threshold of authorities have provided their signatures an event is triggered and the ERC 20 token is being minted and the same way around if the user wants to withdraw they are either from they have wrapped either from Kelvin to the main that again a similar process happens just that all the signatures are again being gathered on covent rather than on the main Network because transaction are sheep on Cove so in what cases can that be useful this particular state of the of the bridge right like who should be really interested in that my opinion any dab right that has users that wanna send any kind of ISA to or ISA to nap and then do more than two transactions interact with you adapt more than two times between any deposit and withdrawal so I asked around a few project and for example cryptic Cadiz told me that's roughly for them ten to a hundred transactions per user right a user provide some ISA does a lot of things you know trades whatever puts hats on I don't know and then withdraws the ISA again and they are ten to a hundred so that is a lot you can save a lot of gas you can save a lot of costs same with any kind of gambling app and similar with givethe it would be the same case a few UX considerations obviously apply number one right if the user keeps interacting with a dab right he sends the ether he needs to be on the main network wide sending it so meta mask for example if you use meta mess has to be set to you the main network and then once the the deposit is being made and the wrapped ethers being made available to him he has to switch meta mask to the other network and interact with that pretty straightforward right and the second consideration for sure as users need to own native currency on the other chain as well which is kind of unfortunate so world map where do we want to get what do we want to change number one thing where we want to get quite fast is we don't want to be half the bridge our authorities be a fixed set that we have to determine when we deploy the contract but rather we want this set to be tracked we want the bridge authorities to track the set that maintains integrity of the p/y network so as you all of you know pol network right has a set a valid data set that that comes to consensus and provides a finality mechanism for the other chain and we believe that the trust model is pretty similar right if the user wants to use a dab he has to kind of trust that not a majority of the PIO networks also it is collude against him and forge any transactions and in the same way the relay between the networks has a similar trust model so it really makes sense that these two set of parties are the same so if you imagine like on Calvin right we have we will get to a point where we have dynamic validator set that means that for example currently there are nine authorities nine DEP teams right and they decide hey we want to onboard another one they do a majority vote this one is voted in as an authority for to maintain integrity of the PA network this same Authority should be on board as a bridge of authority as well so this is one one part where we want to get over the coming month another one is abstracting over the special use case from East three years a twenty two arbitrary message passing and I just want to find out one really cool use case that came up when I was talking to one of the maker guys two days ago which is imagine you could set up a new puree chain write a new chain or potentially even call them and have the native currency on that side chain be died on the main Network so a user who sends died on the main network to this bridge contract gets native currency on the other one so ISA so you would pretend you would have a stable coin as ether on this other chain I think that's quite cool and we have an idea how we can get there quite fast by allowing the bridge system to enact state changes on the the phone crunching so I'd love to show you how that actually works right now and walk you through that but as far as I was told this is not possible because they have only you have only you don't have chrome right you only have Safari and no madam asked so the only thing that I can actually do is show you if you think that we have build around that so does it work so what do we have for example is a dashboard that tracks whatever happens right now on our deployed initial version between Robson and Colvin so you can see for example the status that shows you just like some information from the contract which is for for example how many signatures are required for any any relay right we can configure that it could be 10 out of 10 it could be 7 out of 10 our thora tees need to provide a signatures here chose the authorities currently we have only one this is our note that's running the estimated gas cost of withdraw transaction on the main network we have limited how much ISA can currently deposit it in a single transaction as well as the max total balance that can be hold on the on the main chain side of the bridge just for testing within security reasons we don't want to have a if you all can imagine and I think these phases are quite quite sensible but this is all configurable so whoever here feels feel free to set up your own pya network just deploy the book you can do a lot of cool stuff with that I think or just tested between wops and Colvin and we would love to deploy that between Maynard and Colvin at some point or maenette and maybe another new network that is less a bit less of a testing network so that for example the dabs that want to use this kind of scaling issue mitigation strategy could have a bit more confident that there will be no breaking changes so what we've been talking about in Barcelona for example is like there could be some teams have have voice that they might be interested in setting up a new PA chain where they do a few pledges number one they say like hey you know this is kind of a test network but we say like hey we have real value on here maybe limited value but real value we don't want to try really cutting-edge features such as Casper Network right we need our dab to be running over the next year so that and second of all which i think is really important that everybody would do a pledge and say like hey you know we acknowledge that is not the vision the future where we want to get because right a PA network is not why we are all working here right but to be honest this is the only way we can see how dab teams can actually test user behaviors with real value right now over the next six months so it's just in our opinion a fair approach if teams decide to do that but in my opinion it makes sense that you do a pledge if you decide to go down this route and say like hey you know I'm actually committed to the mainly theorem network or like a like a full permissionless system and like this is only an intermediary step to get where I want to get and you can check that all out in our github right we it's all open-source parity bridge there's a user guide as well there's a deployment guide this I don't know if you can see it we this dashboard is life as well you can watch that yeah it's a bit hard to see here but basically what you see is like when a deposit comes in here it shows you how many what's a block depth of that transaction so how many confirmations have we seen once they are trev confirmations for example the first authority says oh great right I've seen Travis confirmation so I say like hey this relationship em I provide my signature so in the middle you see that it's a one parity note that's running currently the purge node but they would put probably like this should be like 10 20 however you want and once a certain threshold has provided their signature the transaction actually happens and what you can do is you can track that all on either scan so you can check it all out the contracts are all verified so you can read the source code his home bridge you can actually interact with it yeah that's pretty much it and now I would love to take the time and take any questions you have thank you very much just a small question you mentioned it's all networks that the EVM base right and definitely there are a few more projects at IBM based and derive from a theorem they will be compatible with these bridges well were for example other networks Mihrimah theorem classic again for example P way a network right not what a theorem classic of course for example I would invest I wouldn't see why not yeah yeah yeah okay I mean does parity currently supports if their own classic so that should work out okay I don't think they they did any changes to the EVM they like that is the a/b emission has changed that means if the EVM is not change that means it's compatible with with a bridge here it should be a simple thank you could use the same technology to bridge different block chains so not it your in based well in the future it's it's meant to do that for polka dot right we want to bridge for example a Bitcoin to to the polka dot network but that requires a lot of modifications obviously because these authorities like currently right how it works it's pretty simple you have kind of a multi sick on the main Network right and in in Bitcoin you have a lot of limitations currently for example how many participants you can have in a multi sick right but we are fairly confident if for example Bitcoin moves over to a different signature scheme for example sure no signatures were the size of the final signature doesn't increase with all the signature horses then we could potentially get there and achieve that that has yet to be seen but in general any kind of smart contract enabled blockchain should be able to be bridged in the future but do you have any road map for other book chains currently non petit days so right obviously assume all EVM based which are supported right now but there are not many other smart contract enabled blockchains that are up and running right now so it's kind of difficult to say I don't know enough about the neon execution environment to talk about that but I'm really happy to like discuss that or look into that even though it would be cried hard I don't know if I would want to do that because in terms of consensus mechanism the guarantees the Neo network gives you right now I'm I'm not sure it provides you the guarantees that you should have to make value available on another network okay thank you very much I got a small question - is it Thanks is it possible to build a bridge between a private and a public network of course so what is what is a private network that's a good question so like the way I the way I talk about it is usually the following right you have public networks and private networks which means public means anyone can connect to it and look into it and private network is more like a VPN network that nobody can connect to the other dimension I would usually discuss about is like permission and permission and there are so many different levels and layer where you can permission a blockchain system for example who can connect to the network who can't connect to the network who can participate in the consensus mechanism right in proof-of-work it's really unpermitted that lover in prove of authority it's a bit more permission right because the current authorities have to unboard any new authorities but if that's what you mean if that's what you mean with private network then obviously and that's what we talk about so you could have an enterprise network that says like hey you know I won't rap Etha I won't value ISA value on my chain and you could make that happen with that exact solution yeah if that answers your question oh yeah so firstly this is a great effort and it is actually a pain point that you are really targeting so my question would be that a transaction an ideal transaction would just do a withdrawal or um token related transfer in the main net and the rest of the transaction could be carried out on suppose say coven so doesn't this bring a loophole in security for the transaction so because there's a bridge between our two tests to net different networks doesn't this bring in a security issue where we got to be this is we got to be very specific about that right so once you offload transactions to another network right these transactions are secured by the other network so these security or the security considerations of the other network applies to your transactions but if we talk just about the relaying mechanism right it's it's pretty straightforward let's assume the authorities of the bridge who relayed are the same authorities as the ones that secure the other network right and you require a majority or supermajority of authorities to provide a a signature to relay any kind of transaction then you kind of get the same security guarantees right like none of the authorities can like just deal Etha or any kind of other stuff they can't Forge transactions anyways they can't Forge your signature as you know and yeah that's does that answer your questions the question was that I want that transactions XYZ should be carried out once these this amount of ether has been deposited deposited on the network so you know the connection between the two transactions that this has to follow the first one okay gotcha well so if you if you deem the security model of the site network trustworthy right of like there's a pure a network consensus mechanism and the bridge security model follows that one then and you say like hey you know the user sends a transaction to this other network by providing some ether and some kind of chords of function says for example when my ether ether is wrapped on the other side do this ad and that and this is a transaction and you you you you trust the security model behind it then this will happen on the other Network the message will be relayed and once it's real it will be executed on the other network and there are a few things around it like we designed it in a way that even if the authorities if so what happens is the user calls like kind of makes them says like hey you know relay this message then the authorities gather the signatures and then in the end someone has to submit another transaction saying hey here are the signatures so this is really do it right and even if none of the authorities do that last step if that would happen the user could do that the user could trigger that himself right so in that particular case what you're talking about I don't see any any any security considerations beyond what you would have concerning a py network or the collusion that they they collude with each other thank you hi I was wondering is possible with the parity bridge basically to do some kind of like child change so you get a bridge from the main to the to the child and from the child to another child and so on or is like 1a 2b it can connect it can really messages between any two Assyrian based networks right EVM based networks so there is nothing that speaks again like having one network connect to the other than this network to the other but there's one thing the current design assumes that one of the networks is a high value trend I hide transaction cost network and the other one is a low transaction cost Network and specifically it seemed that the other network will or that's where we want to get will have some means to come to finality not like probabilistic finality in proof-of-work but rather like determinate finality on a PA network so that at some point you can say oh why this is real finer really final and speed up the relay back but potentially not and pure a network is actually looking into that because they want to connect a lot of P or a networks with each other and they're using parity bridge and building on top of that so nothing that fundamentally speaks again it okay thanks yeah of course hi maybe I'm missing something here my question has to do with volatility if you're depositing ether on the home bridge how to what extent can volatility affect to what extent can volatility affect the token that you get on the foreign chain I could could you repeat that sorry my question has to do with volatility if you're depositing ether and the home bridge an exchange of which you get token on the foreign chain what happens if the theory that you deposited like the value drops 70 percent is that a risk is that so the bridge just makes sure right now that one is like one year see trendy token like the bridge Etha on the site network is backed by exactly one ether on the main Network right so at any time like it doesn't matter whose cents like I could for example deposit ether on the on the main Network get the rep ISA on the site network send it around to somebody else and it doesn't no matter how many transactions I am between this exact ether which ether will always be backed by 1/8 on the main network that's what that's the guarantees that the bridge provide you with so right the same volatility exact except you have for example you used I write if you would bridge the die over to the site Network it it has the same kind of volatility constraints as anything else so it's nothing specific to that any other question ok I would be oh yeah there was another question up there okay the last one and then you can you can continue on on the slack channel maybe yep it's good for me I am wondering what do we need to run to have a bridge between two blockchain like do we need to to run something or we can connect to x16 validator so as I said right for example currently this is deployed between Watson and Colvin and you could just use it right connect your dab your smart contracts to these make them interact with each other and like use that system or you say like hey you know I want to use a different py network or I want to set up my own py a network or I also want to be a bridge else RT right and then if you want to be a bridge outside here obviously you have to run code you have to run these two nodes in order to be able to provide these these validation function yes I would be interesting to find out if who of you are def developers so actually developed me where who of you actually have the problem right now that they are in a state like where they could potentially deploy something but it's too costly oh that's a lot so like who of you think that even the current state of that so the current state is ease to ESC 20 can help you guys the current model where you deposit ISA on the main network and you get an wrapped it's a tokens on ESC 20 token on the side network who of you think who that would be enough already okay cool it okay cool whoever you think that if you know it would provide the function to transfer arbitrary messages between these two networks so that you literally can just split up your dabs at your dab contract as they are right now into two parts one that runs on the my network ones on the side might work that would solve it so these are a lot more right so one two three months and I would love to see you in our channels here are you can't see it so we have a get a channel parity bridge we have a riot channel parity bridge and obviously the parity bridge github repository and it would be really awesome to get in touch with you here use case and figure out how we can cater for that use case thank you so much [Applause]
Automatic transcript — names and jargon may be misspelled.