Why Hybrid Custody Is the Best Way Forward For Crypto by Chris Tse (@christse)
ETHDubai 2023 · 16 Mar 2023 · 22:02
Chris Tse examines hybrid custody as a response to the risks of centralized exchanges and self-custody, including compromised keys and lost recovery phrases.
Speakers
Topics
From ETHDubai 2023, hosted by DeFi Dubai.
Transcript
hello everybody I know it's the second day and uh towards the end of the day uh we're gonna talk about light topic nothing technical I am an engineer but we're going to talk about something that I think influenced all of us as users of crypto which is custody and what we're going to talk about today is the idea of hybrid custody something that is really about how you use crypto who do you trust to hold your and control your assets so since we're in a conference with an ethereum logo on it I will ask the question how do you like your custody like how do you like your eggs in the morning and I'm pretty sure everybody here here to say I like my custody self I want
this to I want to control my keys and that's expected like I think you know with people who are familiar and understanding of the foundation of decentralization and in the ethereum ecosystem itself or else why because or else FTX happens you store your things and hoping other people will keep your things safe and proof is gone forever and we all know not your keys not your coins that's something that I think we burn into the back of our heads so that we can survive in the morning and fight again and try to build a decentralized future but the truth to be told is how much do you trust yourself what happens if you lose your keys
you lose your coins I don't know I'm not going to do a survey because it may be too embarrassing and a little bit too trigger warning how many of you guys have lost the key and you lost the thing in it how much do you trust that every private key you've ever generated in the seed phrase is not compromised not screenshotted nobody saw it and it's secure forever and that's pretty scary so the truth to be told is There's an opportunity to lose your keys and lose your coins in the sell version or the else version this is a general problem either one of them you have to trust someone that may not at the end of the day be trustworthy I'm not saying I don't trust myself but
I'm saying that some days I wake up in the morning and say you know what I really want someone who is doing this professionally so who's that someone else and at the end of the day the word hybrid custody is about understanding is there a way for us to put together through the magic of smart contract smart contract Wallet account abstraction all the things I'm you've heard about during this particular period in the last two days about balancing the value and allowing yourself to say I want to have control over but in case something goes wrong I want someone else to help me let's say recover my face I want someone to automate this action for me so Under The Click every single time but if they start doing something crazy and maybe
not what I intend I want to take it back I want to cancel I want to retake control how do you balance those two factors and that's what we want to explore today with hybrid custody so it's an end or for the programmers and the Boolean logic nerds here we probably need both trusting yourself and someone else or depends on the situation so let's take a look at what we are talking about this we look at hybrid custody not as like either or but it's really a Continuum so on one hand you look at this like you know you put the ethereum in the middle hybrid custody is like what happens if you aim right in the middle that would be hybrid but that does doesn't say much right what's the
truth is it's how do you balance between trusting yourself which is do it yourself you have full control to trusting someone else which is do it for me it's not just about trusting it's actually quite useful I like the fact that my bank pays my bill every month recurring that's a nice thing to have someone do it for you on crypto you're responsible someone's gonna bug you on telegram you don't do something because you forgot to do something so the truth is that there's always been this idea that in the work that you do and the in the tools you use within web3 and crypto there's certain tools you use in exchange that you actually like the fact that someone's doing for you and sometimes you want to make sure they're in control if you're using metamask you're probably doing trusting yourself
with a lot of things originating from that but you guys also use coinbase Finance hopefully not FTX and nobody here has any FTS exposure because why would you well why wouldn't you who knows this center part which is all the different ways that we can balance this hosted service and owning your own key is really what I want to explore today so it's not just about one point within this map it's multiple points in the next section I'm going to talk a little bit some examples of what type of scenario use cases or patterns of hybrid custody that we can achieve so one thing is clear what we need architecturally is this idea of a smart account a smart account is what we call
a small technologist in the formation is technology account abstraction is it possible for us to create an account that's not tied to a key but it's something a smart contract that can contain assets and stuff like that and we use that as a starting point and say who can control and do stuff with that smart account what that's safe so let's start there so revisiting the diagram we had before at the root of this is this idea of a smart account and for the purpose of this discussion we're going to say no to save or Save Right save Global they have a new Rebrand pretty gray cost tag an organization building UI on top of the ecosystem we are safeguardian proud to be part of the community there are many other approaches for smart contract wallet they're all applicable account
abstraction it's the ethereum thing not a specific project but for Simplicity let's just say you have a safe and on on that save you can imagine that the control of that save is both something that you can do with your keys something that you're directly having control and then you provide someone you choose to represent you and help you in your journey also have some key that have some partial control of it but if you look at the smarting account itself it is on a network it's on mainnet otherwise it has an address it contains token and nft or whatever you can put in them it could be credential driver license verifiable claims anything we think that can be in web 3 is in that safe no different than what can be in your meta mask the difference here is that safe as a
Smart Control wallet has this extension mechanism called safe modules they're kind of like plugins for your safe that allows you to add additional logic in controlling this smart account and say ah in this condition this can happen when that condition this happened only if this happened that happens a lot of logic that control this information and that allows us to then say what is the balance powers between your own key and someone else's key that may control this account I know it's a little abstract some will go through about five examples of hyper custody examples to show you the Spectrum let's start with something pretty obvious which is let's go straight down the middle what if you
have a provider like a financials like a coinbase or something like that that controls your key and they can do whatever you can do either one of you can do the same action this is kind of like you know a multi or one of two multi-stick of which coinbase has a account to sign you sign your account you have but the crazy thing about this is that right now if you use coinbase you don't have the keys to sign your transaction right so this is actually a really New Concept even though it's just a one of two multi-stick this is actually from my financial services point of view a segregated account which means that your financial service provider is giving you an account that only your funds is in and you have a key
to transfer at any time then so can they now you can imagine all the nice things that can happen right you can do your automatic transfer on the exchange but you can also say you know I revoke your rights so both party can withdraw anytime no question asked that's your key good hybrid number one they however can do all the same stuff and they're like oh I'm just on my phone I don't have my key you can send a message or you can you know two-factor authenticate and they can do that as it wasn't exchange and they can deduct the pay fees and things that you are too busy to do but what they cannot do is that they cannot remove you as an owner that's what the safe module allows you can revoke their rights but they can't revoke yours and that's not just a
multi-sake right be the safe module we've added here provide a bit of asymmetry that gives you your key a little bit more preference even for day-to-day basis they can do the same thing so that's a segregated account don't you think the people who thought they lost the money on Silicon Valley Bank thought that they had a segregated account and realize they don't this is already an improvement over the fit financial service system that we have today let's look at another example which is maybe I don't trust my service provider my financial service provide that much the second thing is what I talked about earlier bill pay recurring payment I want to be able to sign that I want to pay this person every month at this
amount using this token on this network but I don't want to have to remember to sign it every time in this month so what you do is that you pre-sign them and you can say hey provider every month at this time please go and just send this transaction to the network don't change it and they can change it whatever you sign is the only thing you can do it's like mailing an envelope with a check already written and just have someone say okay at this point a month I'll put in the in the mail that's all they can do okay modify it now if you want to cancel it you can just say give me all back and you can cancel that and they can't do it so recurring payment would be something that leans a little bit more on the self side but still
providing that utility you expect to be able to get from a provider without ever risking them deducting everything from your bank account you can only authorize what you already said ahead of time we built something like this so we'll talk about that in a second we'll come back to this but let's keep going an example the next example is a big more like a robo investment so let's say you want to balance your exposure in crypto between stable coin ease and four other things and you want to do some swap to it make that happen you can do it all yourself every day do some calculation make a spreadsheet and make a bunch of transactions and do it or you can say hey provider you have some data why didn't you figure out on
the analysis of the market based on some database and scrum queries and some some Bots like that and then determine what to do and I get delegate you I set it up one time and authorize you to balance my portfolio with this go and people do that with their retirement account right if I get older please trade to other asset you can authorize that to do and that authorization can be revoked and that's really cool that they can't remove you but you can remove them so this leans towards trusting someone else to do other stuff and that's on the other side the hybrid thing now let's talk about two quick example of things that happen to the best of us which is what if you lose your seed phrase where this key is this light up
in five and you either compromise it and accidentally deleted it or expose it and now it's like oh crap I now don't have my key anymore what do you do and the nice thing about account abstraction is that you can create a new key new seed phrase and then you can use a mechanism that you set up hopefully ahead of time where you verify your identity to one or more service provider could be your exchange could even be a tech company like a Facebook login and then they can say well the only thing I can do is to verify this person is who they claim to be and if enough of these servers provider the people you use every day the phones on your app then they can reset your password just by saying I validate and you may need two of three you may need 7 of 16. I don't
know depends on how you set it up and then the smart contracts say I got enough information from these set of trusted recovery provider could be your friends as well could be a guardian type of a situation and then I'm gonna let you replace the primary owner with your own new key trying doing that with an eoa right so this is the nice thing about having this smart account abstraction is that you can now do this now change two is all good you're ready to go but you will probably not want to do that again in the future right so you may want to say hey I'm going to use a hardware wallet and then I'm going to use the hardware wallet as a primary form of recovery maybe reduce the threshold increase the threshold on these other providers but this idea of
being able to constantly in this triangle to subdivide the control over that account and subdivide the rules or even trusting a dial to help you recover something as one of the triangle this thing can get you know like more fractal it can get lower and lower it's how we can build up a composable wallet infrastructure around account obstruction and that's the thing that I think is missing in this certain idea is that that we are thinking about the technology how to you know how to make it how to change the client and not really think about the patterns as you can see just by five very simple example of things that we have faced before we're able to now see hey maybe this hybrid custody thing is really the way to move crypto forward so in summary
hybrid custody is like a multi E6 signer except it's limited through safe module biological rules to balance the power so you can actually delegate and maintain your rights along the way I hope that makes sense so we went ahead and say you know what that's use case two was such a good idea but maybe we can use by learn and validate this architecture by actually building an application on top of these tools save safe modules and that's what we did so we built a schedule payment tool with which thing is a great great use case we have vendors and consultants and employees around the world we want to pay them every month and right now it's quite manual using metamask some time exchanges but what if we build a tool that can do that and the way it
works is now you can now visually see how this manifests themselves in adapt this could be other dabs it can be integrated with other platforms but this is our version of it so you connect your wallet that gives you your key the bottom left part of it now you create a payment save and this payment save is essentially saying that there's a save specifically bill for you to pay people so it's not maybe your treasury for your dial but maybe like a checking account that you create and this save is only used to fund these transactions you're the owner so at no time that you deposit a 2000 usdc or 20 000 it's not under your control you're the owner and then when the scheduled times happen the source code which is open source everything we do at car sex open source
will then submit your payment and complete the transaction and by the way we do have to make sure that you have enough gas we deduct that ahead of time it's like prepaid envelope lick it and put it on and then mail it later on we do some gas estimation and make sure that we have a little bit more gas than you probably need at the time of your transaction to make sure we have enough to actually do it then this is much harder than it looks we had to learn the hard way about these kind of rules when you're doing schedule payment but the idea here is that when that's all done you schedule a payment you figure out when where is it going who is it going you want to pay Max Min high gas we do a budget estimation we deduct the money we we mind the
transaction we add it to a future payment set in and forget it as long as this safe has enough money to support this transaction if you do more transaction you have to fund it more and we'll tell you if you're missing something and ask you to deposit more and when you're done it just search up in the past payment with a actual transaction on ether scan on any network that's supported so that's hybrid custody if I tell a person who have not used web3 that this is amazing that's like this is what I expected last year the year before but this is really what's possible once we have account obstruction in production and start designing protocol Around The Human Experience a custody as a human concept versus googly Glock stuff that
we talk about the jargons are great ZK is great but this is how people are going to react to and learn how to use this tool so that they don't get their funds taken by a bank when they go to a business or exchange when they steal the money so I'm proud to announce today that this week we finally launched what you just saw https saved hyphen tools.cast.com it's a tool that demonstrate the ability for us to do this thing it's in beta there are some you know node issues and performance issues we're working on but it works and it's end to end and you can use it and you know we're announcing here and this allows us to essentially show that this type of user interface is possible the infrastructure is there and
everything including the modules and the smart contract is in github.com cardstack is open source for all to see we're trying to move it all forward doing something at a time but I'll leave you with a final thought before I I depart if you go back to that diagram all right trust yourself trust someone else and then all your stuff in accounts if web3 were to win it all that this actually becomes the way everybody interacts with the world the stuff in your account is your certificate is your completion is your relationship it's your contracts right not just money but maybe asset claims and insurance policy all of this stuff
that we're building on top of web3 are just the perimeter that goes into accounts or eoa or in this case smart contract accounts we are only right now worrying about how do we get a billion people using it by improving the wallet browser-based wallet Mobile Wallet Hardware wallet or things that people are inventing I think that's really important but as I hopefully have shown you we still need to think about who else do we trust if the user were to lose their coin what other ways to make that so that it is not it's usable but I'm a little bit concerned about this trust someone else being only big Tech vendors financial institutions and governments what have we done if all we did is say
hey I own the keep and I'm still dependent on these existing power structure that exist so the question is what else can I trust to determine whether I am who I am whether this is going to be a low enough resting to do this transaction the truth is with all the stuff that's talking about chat GPT you can certainly imagine a relatively well-trained AI algorithm to look at the patterns and detection of what's happening and say I don't think you're doing this swap at 4 00 am in the morning right that this seems wrong to me let me just flag it and maybe wait three hours until you wake up until you approve the second time so I'm not trusting someone else to say I can't do this I can override it it's like two
signatures I don't care but it could be good to have something that's running the background protecting you kind of like your second Factor just making sure that you are in Dubai and not someone else using your keys or your phones in Dubai this is the thing that you cannot do on chain but Tech vendors like Google can alert me it's like this is not unexpected login location could we do that but without Google being in the equation so essentially could we build a network using this algorithm that doesn't require us to trust a single company but have a consensus network of AI and ml algorithm working like smart contract checking each other right or like a validator to make that happen
the reason I say that is that we build constex save tools on the way to the journey of building an AIML consensus Network that uses data science tool like python to do these kind of data aggregation and Analysis and then we realize that even if we can do that to automate to verify the delay the block to suggest allow how do we control and help people actually executing that without making ourselves a centralized provider where you have to trust us with fund and that's when we realize hey we need to work on this save tool to use account abstraction to give the human The Authority in the control so that the machine hopefully decentralized and run as a network can balance out the human
agency that we need to do to survive any AI that I can stop this Skynet right now I revoke your permission but still on most days I am too lazy to deal with that please go do that for me today that combination is beautiful and probably the only way forward and it's a combination as crazy and ridiculously sound between the control we have done in web frame blockchain on keys and the AIML that allows us to automate and handle the complexity of the world without personally grocking and doing everything and approving every transaction on your meta Mass Ai and blockchain combined is but not if you do it the right way and
hopefully as we've talked about today and we'll announce what this will look like on the future in the in the protocol we're building uh the hybrid custody is probably a way forward and I think we all deserve the credit of having made the self-custody part important now let's make sure that this is sensible and usable for everybody in the world Beyond what's in the room today so thank you very much my name is Christy founding director castek project and follow me at Chrissy and hopefully we can continue this conversation thanks