New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Omar Espejel 🛸 Urgent Anti-Censorship Solution for Specific Transactions

ETHGlobalWed, Oct 9, 2024, 12:00 AM

Speaker

'censorship.wtf' Talks and workshops took place in both ETHGlobal Istanbul, DCxPrague During Devconnect 2023. A full day was spent discussing censorship resistance in the context of Ethereum L1, rollups, applications, infrastructure, hardware, and more. As Ethereum becomes more consequential and its growing ecosystem complexifies, opportunites & pressures to censor increase. While these risks do get discussed, conversations on censorship resistance often center on a specific part of the stack — censorship.wtf was an attempt at approaching the topic head on. ----------------- Follow us: https://x.com/ETHGlobal?s=20 Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com

Transcript

[Music] I'm going to be talking about skipe hatches as An Origin anti- sensorship solution for specific types of transactions so we don't want to talk about Universal transactions that means every transaction but just specific transactions H just a quick disclaimer my talk does not necessarily reflects the opinion of a star war the star Foundation or my or the star Community overall this is my own opinion and if there's any mistake any stupid thing that I may say it's on me so the hypothesis here is that it is fine it's okay if not all businesses want to implement decentralization right at that moment like immediate decentralization that is okay but they might want to implement self- custody and anti-censorship in a different way in this case the esape hatches I think this is okay and we need to think that or or think about that the centralization is not the end it's a mean to an end that in this case is self- custody and anti-censorship and there might be another paths there might be another ways for specific applications to be able to apply anti- censorship and also H self- custody to applications now the centralization of course is the goal the centralization is the best thing that we can I think that we can go for however we know that centralization is very very very hard to attain it's not it's not simple and if we think as a business they might not want to immediately decentralize but they want to create a profitable business that is also self custodial and for that we might have another option that are the scape hatches and businesses and entrepreneurs need needs to know this they need to know that there's a possible way for them to legally and this is an important word legally claim that they provide self- custody to their clients this is this is very important in order for us as an industry to get more entrepreneurs to build on top of our networks now uh let's think about as let's let's put our heads in the head of a business owner an entrepreneur this person is not a crypto native they might be a web to company and let's call the company trading fintech a so for this Trading Tech a the main priority of course is profitability they want to earn money they want to earn resources they want to be able to pay the families of the employees they want profitability and self custody could be an add-on could be a value an added value for their clients maybe this company heard about the crazy FTX story and they heard about the crazy founder of FTX and how they rob millions of persons millions of dollars and they want to they want to be able to tell their clients hey this is not going to happen with me because whenever you want you will be able to withdraw your money so I promise you this you will be able to withdraw your money whenever you want so this FTX case won't be happening but notice again that the priority is profitability and this is a another value that they can add to their clients now H non censorship for them and actually legally would mean that users should be able to withdraw their phones independently that is without third parties so they can withdraw the money permissionless H they don't need to ask permission to nobody so this is the escape hch and for this we need to Define what escape hatch and what the powers of Escape shs will have Escape hatches and we will review it later need to be very precisely defined they need to be as minimalistic as possible and in this this case we will have only two transactions that we care about that we don't that we care for them not to be non censorable sorry sorry not to be censorable or to for them to be self custodial and these are the full withdrawal and the force trate basically H whenever you want you can have your money back and whenever you want you can make a tra that you want to do this is for them being self- custodial and non censorable now um what is the moral of the story and and I think that you can agree with me uh that there are a lot of business like this I am not saying like something crazy this is an actual business case that we have seen several times already of course I won't say names but this is this is common companies don't want to might not want to decentralize immediately maybe they want to decentralize later or maybe maybe they don't want to decentralize at all but they want to provide self custody and it's okay and we want them okay we want that ER but we need to make make it as easy as possible for them to do this because the centralization is very very hard to do and we we know we can see that with layer to I think nobody has already a decentralized network because it's hard so the mod of the stud of the story is that selfcast today is a selling point for companies like I don't know I like to think of myself and and and maybe I don't know what you think but we are kind of middleman creating tooling for entrepreneurs to actually build the services that will bring self custody and non sensorship applications to the whole world to millions of people so for them for the entrepreneurs they care about H profitability and for them self custody is a selling point we are not FTX basically and also entrepreneurs SC about the regulatory Escape scope and for them H you in order to be ER Legally Legally self custodial you need to be able to claim and also prove that the users can withdraw all the fonts and this is not a theoretical case this is the actual case you can say that you are a non-custodial if you H show and prove that users are able to withdraw the phones whenever they want now let's imagine that this Trading fintech Company a ER is very good they have a lot of business acument and everything went right so they were successful on this so they boost profits and user satisfaction is great for them but at the same time they also boost security and autonomy and we as a crypto industry with our own values we care about that we want security and autonomy for everybody as as long as possible we we want to bring it to everybody right so it's a win for them but also a win for us with our own that own values that might be different from theirs so in this case we could say that blockchain deliver on its promise of self custody and I am saying promised sorry delivered because Escape hatches of course are not perfect Force transactions Force withdrawals are not perfect ER but still they provide a non sensorship uh tool that is very relevant and in practice has been already implemented several times in the starx ecosystem so I don't know maybe this is something that we need to to think about like what do actual entrepreneurs in the sense of services that go to the people what they want how can we make it aasy for them to provide self custodial services to the rest of the millions of people so er as a conclusion we could H let's remember that the trading F A is aiming for immediate self custody for users it's important for them but they that doesn't mean instant decentralization so immediate self custody is not the same as as immediate decentralization this is this is important we can provide it other ways as the Escape hge now let's go deeper into the Escape hedge H what they are H because it's important for me to say and I I forgot to mention before that when we are talking about the centralization the centralization is the best thing that we are looking for of course for example in the started case we want to have everything decentralized and we're working towards that however H decentralization is very useful for all types of transactions it doesn't matter the transaction you create an smart contract you deploy it you have different types of transactions and all of them will be non censorable and we provide self custody and so on ER however esape hatches provide self- custody both for certain types of transaction as we show with our business case those are Force withdrawal and also the force trade and that I will show you an example a specific example and a real example but before let me tell you what a nap chain is in the case of starnet however I don't want to Shield starets is is what I know the most but the app chain coin set you can see it in all layer tools so no problem basically an app chain is a chain that is dedicated to an specific application ER we could say it's kind of like the layer three where you will have applications with certain rules both that they want to be fast cheap and also keep the security of the layer one and yeah basically they are specific applications not Universal blockchains and if you go into L2 bit you will see that from a lot of the different layer tools several of them are actually a specific applications so for example we have a starnet mantle polygon and so on and these are Universal blockchains Universal layer twos so they have a lot of different transactions and the centralization is effectively the best way to go however we have applications such as dydx immutable X ropr Apex CK space and all the the ones that you can see there in purple that are actually exchanges uh nfts de Etc so these are application layer tools this is no new and actually a lot of them are coming from the Star gex ecosystem you can maybe recognize them like sare dydx and mutable X and what is interesting here is that these companies already Implement scape hatches successfully and and when I say successfully is is really successfully H this is the the dydx case you can CNL to beat all the all the force transactions that is all the uses of the scape hatch that have occur already and more than 150 transactions have been already forced for whatever reason it doesn't mean that dydx is doing something malicious or something like that it simply means that people are trying the escape hatch and that is perfect and we have had even transactions of millions of dollars so Escape hatches have been managing the the transactions of million of dollars already in production with dydx and other application that are on top of a starx and I don't know maybe you can tell me the questions maybe I'm wrong but I have not heard any complaint regarding censorship in dydx yet or this type of applications um they are passing and that's enough we want to withdraw our fonts from dydx do we want to to do something else with with dydx in case they become malicious I think what I care the most is is getting my money back and that is enough for for escape hge now let's look at the architecture of a Escape hch in the starnet ecosystem um so this is this is the scape CCH in a starnet is inspired by the starx escape hatch like the one that I mentioned before with dydx however this is the new the new version of The Escape hch and this is going to be possible to be used as a nap chain so permissionless because the star k you need to ask permission to build on it it's not ideal of course so that's why we have a starnet and we will allow people in app chains that we could call the layer three to build whatever app chain that they wants such as dydx for example we can imagine it as a layer three as an app chain so where we can we can imagine them as a app chain I I am not telling you that they will be app chains but they could and this is the new implementation of the scape hatch so basically what we have at the bottom is the layer one the theum layer one then top on the right we have the layer two uh app chain with two different smart contracts called the force transaction Handler and the Balance Calculator basically the Balance Calculator has the balance of the resources of the user and the force transaction Handler is H and basically it handles the transactions we have the user in the middle and who is able to call Escape tool and then we have the sequencer so let's imagine that for whatever reason this person wants to withdraw his phones her Fones from the fintech trading company a that we talk before this doesn't mean that the company had to be malicious or something like that it could be the case that they just want to try it so imagine that they start the execution execution of a force transaction so the first thing is that they will call the force transaction Q smart contract in the layer one they will call it and then maybe another person will call the same smart contract and add another transaction and another transaction and we will have an effective list order list of different Force transactions then these transactions will be sent to the starnet core contract in layer one which handles the L1 to L2 messaging and they will notify the app chain that indeed we have already a queue of force transactions that we need to revise this way our F at trading f te a will be notified that they need to to to do something with these four transactions and then we have certain incentives so two things can happen here let's assume that the transaction was valid so so our user is actually claiming for fonts that belong to her okay so then our application will see the petition and will determine if it's valid or not let's assume it's valid they will say okay this transaction is valid and then they will notify they will notify H the user that indeed is valid and the user will be able to use the scape to which consists of basically madada which is our sequencer and then EST Stone which is approver H to create a proof of fonts and send it to the verifier in layer one the verifier will create a fact that to the started app Chain Bridge so that the user can effectively obtain her fonts from from the started app Chain Bridge that is a successful case as the ones we saw already with dydx this is what is actually happening there ER both could be the case that the transaction is invalid so we can think that the person that is asking for the resources is actually malicious and she is trying to spam the network and then she sends an invalid transaction and in this case the company will say okay this is invalid they will notify and nothing happens now let's think that everybody in our company die everybody die or they teral issues or something like that then they have seven days they have seven days to to tell if the transaction was valid or not the for transaction is valid or not seven days H most likely seven days sometimes could be 14 days the most normal thing are seven days if during those seven days H they did not answer to the queue then they will be freezed the app chain will be freezed and this is a huge penalty for them so they will be freeze they won't be able to to to make any money and that is actually what is happening with with the starx applications that already are using this mechanism and they will be freezed and then everybody will be able to withdraw their phones so they go freeze and me as the user can use the same the same Escape tool to H use the Balance Calculator smart contract and see how many phones I actually have and they they will be able to withdraw using the starnet app Chain Bridge the the resources in the layer one so this is in case the sequencer C malicious or everybody died or something like that now H well this is the architecture right now let's talk about H what are the problems with escape hatch they are not perfect and if you ask anybody that is working with Escape hatches they will tell you that the main problem the main issue they have they they think about this is the the denial of service risk so they can easily get the spam you for example you can attack dydx by sending a lot of of force transactions like I don't know imagine a million Force transactions and dydx has seven days or something like that I don't remember it's seven days 14 to comply them all in case they do not comply with them all even if a single transaction is not attended in seven days then they will be freezed they will be Frozen and you will be able to have your to to claim the money that you're claiming for so this is a way that you can attack this type of of of networks so Escape hatches could be of high risk in those senses now how we how we are solving it in starnet is that basically it is very expensive it's very expensive to to do a a force transaction so imagine it's 1 million I don't remember but I think it's 1 million gas to do a a force transaction so if you do 1 million transactions then it will be 1 billion the cost of the spaming attack that you're doing so this is of course not the best way to do it we are still thinking about what is the best implementation in order to prevent this type of attacks but if we make it as expensive as possible they won't be able to H spamming will be very very expensive for them and at the moment we haven't seen any spamming attack yet so that is that means that this is working for now but we might need to think about another approach now another problem is the contract upgradability if you can update your contract then you can bypass the freeze H this is another problem that we that we need to think when we're talking about Escape hatches so maybe the two most important ones is the spamming risk and also the over ability and yes basically in starx to to the best of my knowledge we cannot you cannot update your your smart contract as as easy as possible so this is something that that we have to take in mind when we implement it in the starnet app chains so basically what are our next steps in stet and I want to finish with this we will Implement Escape hatches for app chains and this is completely new it was announced yesterday we will have esape hatches for the app chains and specifically I think it will be with defi applications like for gaming on other type applications it will be different it will be a little bit complex but for defi we could have Escape hatches for them specifically like those that dydx are using so rare and so on so this is I think this is very cool and the second thing is the question the open-ended question should we Implement scape hatches for the public stard layer tool I don't know it's a technical challenge it's a big technical challenge because as I told you before Escape hatches need to be very very minimal they need to be as small as possible with as minimum transactions as possible otherwise their attack Vector is much much bigger so yes to finish I want to yeah so to finish I want to to tell you that all this is relevant because again I like to think of myself as a middleman creating services for entrepreneurs to actually build a sorry I am a midlan creating tools for those that are Building Services that can take self- custody and an censorship to the millions of people that are in the world so we need to make them as easy as possible for them to be able to claim to legally claim and prove that they are self customer if not these entrepreneurs maybe they won't care they won't care and they we go on with their life because decentralization is too hard for them and selfo is impossible so they will go on in their life and maybe they will become the next FTX thank [Applause] you

Automatic transcript — names and jargon may be misspelled.