Vitalik Buterin: Social Recovery and Layer 2 Wallets
3 Feb 2021 · 31:24
Vitalik Buterin joins Bankless hosts Ryan Sean Adams and David Hoffman to explain social recovery wallets: smart contract wallets in which a majority of chosen guardians can replace a lost signing key. He suggests at least three guardians from different social circles who need not be publicly known or know each other, which makes collusion hard, and argues the extra recovery code is small because it builds on proven multisig wallets such as Gnosis Safe. He then links the idea to rollups, since layer 2 networks can let transactions start from smart contracts without relayers and could make recoveries cost only a few cents. He also sees such wallets as a possible persistent identity, even for logging in to web services.
Speakers
Topics
Transcript
[Music] welcome to bank list where we explore the frontier of internet money and internet finance this is how to get started how to get better and how to front run the opportunity i'm ryan sean adams i'm here with david hoffman and we're here to help you become more bankless david we have vitalik on once again what topics do we cover yeah we cover three of his most recent blogs on his vitalik.ca blog these are all fantastic reads and in order to help amplify vitalik's message and try and get out what he's trying to get out we go through each of these blog pieces
together we start with his recap of 2020 and his forward-looking um kind of his forward-looking predictions into 2021. uh that blog was particularly interesting that's how we start the conversation we move into his blog post called an incomplete guide to rollups and he kind of helps us unpack what it is to be a roll-up how we as an ethereum l2 scaling community landed on roll-ups as a construction and why why they are so powerful and then we also get into the topic of a social recovery wallet so these are all relatively three different topics but i would say they are all forward-looking uh topics that vitalik sees as kind of like the logical conclusion of a lot of different forces
um perhaps maybe a lot of them social a lot of them political in his first in his first blog post that we get into uh but then the second two are more technological and about the way that ethereum um the the landscape is going to manifest and mature over time so again a wide ranging conversation but still with a lot of awesome through lines absolutely if you're listening on the podcast of course we have this on youtube as well where we actually go through the articles visually if you're watching this on youtube you can check it out on the podcast and get it directly into your ears make it more portable that way david we should just get right into the interview but before we do guys we want to talk about the sponsors that made this episode possible
ave is a borrowing and lending protocol on ethereum and just recently released ave version 2 which has a ton of cool new features that makes using ave even more powerful with ave you can leverage the full power of d5 money legos yield and composability all in one application on ave there are a ton of assets that you can deposit in order to gain yield and all of those same assets can also be borrowed from the protocol if you have deposited collateral here you can see me getting a 200 usdc loan against my portfolio of a number of different defy tokens and eth i'll choose a variable interest rate because it's a lower rate than the stable interest rate option but i could choose the stable interest rate
option if i wanted to lock that interest rate in permanently one of ave's v2 features is the ability to swap collateral without having to withdraw your assets trade them on unit swap and then deposit them back into ave ave does all of this for you all in one seamless transaction so you don't have to repay loans in order to change the collateral you have backing them check out the power of ave at ave.com that's aave.com if you are looking for a product that connects your fiat bank account with d5 tokens and products you need to download the dharma mobile app dharma is a non-custodial smart contract wallet and comes with a bridge that connects you right into your bank account dharma is the fastest and most
efficient wallet between your fiat and your bank account and any token on uniswap or even any vault in urine with dharma you can get over 25 000 per week into the dfi universe and you can do it non-custodially if you or anyone you know is hot on defy and you're trying to get your money into a defy investment dharma is the place to go signing up and going through kyc is an absolute breeze it took me just under three minutes and after signing into my bank account via plaid i am now just one transaction away from any token that uniswap has to offer go to www.dharma.io that's m a d-h-a-r-m-a-dot io download the
darba app and get yourself unbanked today this is all around the subject of social recovery wallets so we were talking about um scalability i suppose with with roll-ups and you know the a typical ethereum user feels that pain when they pay for a 20 uniswap transaction right another pain point that ethereum users feel is around securing your private keys and this is definitely a hindrance to to mainstream adoption i think a lot of crypto ends up in exchanges just because people are uncertain they don't feel like they have the tools or the the competency to secure their own crypto
and of course there's always like a right of passage coming into this industry which is definitely something that we should have a band-aid for yeah absolutely um you know and of course you know not your keys not your big not your crypto as as on our friend andreas says and certainly if you want to become bankless and go bankless you can't keep your uh private keys inside of a crypto exchange so right now best practice is we have things like metamask which is a an extension of the driver if you want to be a bit more secure you can use a hardware wallet but vitalik you're presenting kind of this maybe this third way this idea of a social recovery wallet so could you give us a quick synopsis on
what a social recovery wallet is and uh why it's important where do you want to start with this one sure and i guess we can just start off with what the thing is so if you scroll down to control f social recovery is better then there's a diagram a bit further down there we go yeah um so basically the idea is that a social recovery wallet is a smart contract wallet uh so your if you use a social recovery while your account is a smart contract and your assets would be in that smart contract and the smart contract has these rules that say that there is a signing key and that signing key can be used to approve
transactions and then you have this concept of guardians right and the idea is that there's a set of some number of guardians at least three i recommend even going up to five or seven if you know enough crypto people um and of these guardians a majority of them can cooperate to change the signing key of an account if you lose your signing key uh so the goal of this is basically just account recovery right and account recovery is just something that everyone ends up needing from time to time and and it's something that like lots of services really don't do well um right uh so like if you lose your google or um account then you have to go through
customer service and often it's even just very hard to recover your account and like i've no uh known people who are just never able to do that and and in the case of crypto of course um you know if you just use a regular wallet well if you lose your password you're screwed and there's just so many examples of people who just lose access to their account and they end up being completely screwed uh whether they lose it because um they yeah forget a password or because like something they lose their computer and they just never had a backup anywhere or because they um reinstall their operating system and
they forget to copy over the files that happen to contain some of their keys like there's just a this kind of whole set of reasons why or you know their funds are on a paper wallet but they forget the piece of paper their funds are on a hardware wallet and uh something happens to that hardware wallet there's just lots of reasons why you can lose your funds and so social recovery basically says well you can identify you can specify some set of guardians and this could be institutions this could be your friends or family this could even be just other devices owned by yourself and the majority of these guardians has the ability to basically reset your key so this is a pretty simple idea quite honestly right so you know problem that
we're solving is a custody of private keys is hard and people can lose them and if they lose them it's a disaster you lose your entire crypto so solution is twofold you have a smart contract based wallet and then you have this squishy meet space idea of guardians and people who have a google account are probably uh used to this you know there's a setting in your gmail account where um you can you can set uh you know your spouse or a friend's email address to to recover your password right this is a similar idea only you're delegating that guardianship possibly to some some some other private keys and this could be your friends and family this could be um other devices that sort of thing this
feels very squishy though really importantly not one of one it's mfn right so that's like that's a huge difference between like say gmail's recovery email future right so it would be it would be a set of guardians that would then when they come together their powers combined they can restore they can restore your wallet so interestingly enough wechat already does this right like if you spin up and like if you um [Music] just wants to log on to your account and you know you don't have a password or you don't have some other authentication then you can create the account and then what it does is it basically uh requires you
to like it gives you some contacts i think i believe it's something like that it just automatically chooses some contacts that you frequently interact with and it sends them a confirmation code and they have to give you the confirmation code or you know you have to give them the confirmation code and they have to like type in a chat with you i forget it's one of those two uh and so like basically if uh you get like multiple of your frequent contacts um like type in these contribution codes then you can access your account right so so two things i'd be worried about with this vitalik right so um the first is okay you said you're essentially putting your private keys inside of a smart contract wallet
right and there have been a smart contract now your private keys right so this is basically saying that you're instead of your private keys controlling funds your the smart contract is controlling funds ah right yes ability to replace your private keys if you lose your throttle privacy i see right and that's a that's an important distinction how however um there could be a bug in a smart contract wallet um there could be an issue with that smart contract while it introduces some additional code complexity in the process so that's the first question i'd have for you how can we get comfortable around that um the second is it does at first glance feel kind of squishy to um
you know start trusting meet space social relationships with this sort of thing like people are probably thinking as th as they're hearing you talk okay who are the like five to seven people in my life that i i would actually trust with with something like this and how much do i actually trust those relationships can you talk about um both of those i guess security vectors right so good important question so i think as far as like security of a smart contract wallet goes one important thing to keep in mind is that i think um that the security of the uh like
the code needed to implement this recovery mechanism is very small right it's some maybe even just something like 10 lines of code and the reason is that like you can already abstract out the multisig part into a separate mechanism right and we've already had multi-sig wallets that work for years there's a the multi-sig wallet that stores uh the you know 600 million dollars or whatever it is of the ethereum foundation's money there's the more recent gnosis safe wallet that stores lots of projects money and it's been formally verified and audited many times uh so that's been increasingly trusted by the community and so the majority of the code is something
that or like you can just delegate to a multi-sig wallet and that's already been tested and then the rest of it like it is something that would need to be written and it is something um that would need to be audited and verified but it is a relatively small kind of 30 line of code a job relatively speaking and not you know some really complicated thing uh so that's one thing to answer or one and and the other thing to keep in mind is that like i'll talk about this a bit further down but um realistically all of this stuff is gonna happen inside of rollups and i can even expect like a roll-up project to just like incorporate some form of multi-sig or social
recovery wallet just natively and i think they should do that like i think the move to roll-ups is a great time to start moving people onto these more secure paradigms gemini is the world's most trusted cryptocurrency exchange i've been a customer of gemiini since i first got back into crypto back in 2017 and it has been my main exchange of choice to make my crypto buys and sells gemini is available in all 50 states and over 50 countries worldwide and on gemini there are markets for over 30 various crypto assets including many of the hot d5 tokens like wi-fi ave uni and also they are one of the few exchanges that has liquid dye markets having both the
option of logging into thegemini.com website or instead opening the gemini mobile app has allowed me to be able to access any and all exchange and on or off-ramp services that i've needed to on a moment's notice with instant deposits and fast withdrawals i'm able to make my money do the things i want it to when i wanted to you can buy crypto safely and securely on gemiini with the peace of mind of knowing that your investments are insured and protected with industry leading cyber security you can open up a free account in under three minutes at gemiini.com go bank list and if you trade more than a hundred dollars within the first 30 days after sign up you'll be gifted a free 15 bonus check them out gemini.com
go bankless if you want to live a bankless life you need to get a monolith d5 visa card monolith is a one-two punch of both an ethereum smart contract wallet and an accompanying visa card that lets you spend the money that you have in your ethereum wallet everywhere where visa is accepted when you swipe your monolith visa card at the grocery store or at a restaurant it actually makes a transaction on the ethereum blockchain that spends some of the money you hold in your monolith wallet it's insanely cool and it's one of the best tools out there for living a bankless but still normal life monolith also offers on-ramp services for getting your fiat money into the world of defy so it's trivial to top up your monolith card if you ever
need to and your deposited money goes straight into your non-custodial wallet so your money is never held by a centralized intermediary because monolith is native ethereum infrastructure the money you hold in your monolith wallet still has the power of d5 behind it swapping assets on uniswap or earning yield in d5 is at your fingertips go to monolith.xyz and sign up to get your monolith visa card today and then in terms of like you the question of like do you trust your social relations i yeah have a paragraph a bit further down right where i basically say that there's this really nice security thing that you can do which is that your guardians number one they don't have to
be publicly known and number two they don't even need to know each other's identities right so like you for example could use as your guardians or like you know your mom if you work for a company your boss then some institution uh some you know friend from high school and these can be like you wants to use some guardians from different social circles that you have right you want to have guardians that ideally do not even like know yeah each or at the very least don't closely talk to each other and basically like the reason why this can be accomplished right is because like
either you don't needs to publish guardians addresses on chain until you actually do a recovery or even more securely you can just have each guardian generate a new single purpose address that they would use for each uh upper well for each wallet that they're guarding uh so and and i mentioned like it's recommended to choose a diverse collection of guardians from different social circles one institutional guardian would be nice though there are privacy reasons why you might not want to do that either and like this basically it would just make it very hard for these different guardians to collude right so like for for example you know like i know like for you or ryan right like if you become a guardian for david then
like how the hell would you even start figuring out like who of david's other contacts you're gonna collude with to steal all this money that's a good question i'm thinking about that now vitalik who who indeed question one do you even know and question two once you start poking around and asking what's the probability that you're gonna get up to four or seven before one of these people rats you out to david and david just like switches over his um um guardians to someone else and cuts off contact with you yeah that's probably pretty accurate considering david and i have never met in real life though we have spent hours upon hours in digital life uh together uh means i don't actually know some of
his irl um relationships and friends and family and it's gonna stay that way yeah well so so vitalik do you think this kind of solves private key management or this could solve private key management basically i think it's the best solution that we have right now and uh i think it would be great for the ecosystem if we can make a kind of a strong push toward implementing this kind of technology and we do have some of this today with um argent is one definitely bankless listeners will be familiar with ring you mentioned is another so there are attempts with it right now and you mentioned i think um earlier in our discussion that uh you
tried to do a recovery with with arjun just to sort of test that out and um it was like pretty expensive there's like a 50 gas fee associated with it so maybe we could just tie this off with what you're talking about earlier is migration to layer two and roll ups can kind of solve the remaining challenges so you said some roll-up solutions might even be able to have to ship basically a social recovery wallet right out of the box which would be super cool so it sounds like roll-ups have the capacity to innovate faster and try new things um that the main chain really really doesn't have that that capability but what did you what did you have in mind about this intersection of synergy
between layer 2 and social recovery wallets yes so there's uh i think uh a couple of problems that roll-ups solve at the same time and so one of them is that ethereum has this very subtle technical weakness which is this the kind of the fact that only externally owned accounts can initiate transactions and that was just sorry could you define externally owned accounts for our listeners yes yes uh it is an account which is controlled by a private key the um if an account that's not an external account is a smart contract so there's only two types of accounts there's accounts the addresses with private keys and then there are addresses that are
smart contracts correct cool uh so and only elas can initiate transactions there's no ways to initiate a transaction from a smart contract um so this creates problems right and like actually i know have either you use the tornado cache before yes okay so you remember how when you do a withdrawal from tornado cache uh you have to select a real layer right and you're not signing a transaction you're like signing a message and then actually i think you're not even signing the message you're just like providing the note and someone else sends the transaction right like so the reason why that happens is because in what what's happening in a
tornado cash withdrawal is that you're trying to withdraw money in zero knowledge to keep a new address and so you do not already have funds in that address so you have no way of paying the transaction fees from an ela and the money you're trying to withdraw is coming from a contract and so the transaction has to start from some eoa and that eoa has to be provided by a third party right and the real layer is that third party they just do this as a service in exchange for a fee now this is inefficient and it added significant complexity to the tornado cache and it's all it also adds significant complexity to smart contract wallets i think it might be the biggest ux barrier that smart contract wallets um have uh and the re a big reason we don't have more of them is
so like argents like they basically run their own relay all right and you know loopering well they're a roll up over so they're kind of part of the solution here and i got i'm definitely hoping that argenta's gonna start uh doing things with uh roll up soon um but if you have a any of these uh wallets uh that's uh a smart contract that's not on layer two then either you need a relayer or you need this kind of somewhat a bulky scheme where you need an account that has most of your assets and then an account that has the rest of your assets to pay fees and that account has to have quite a bit of if just in case transaction fees get very high and such it gets annoying um so there's two ways of solving this problem
one of them is a kind of decep decentralized general purpose real air network and the gas station network is doing a great job of this um but the other thing is that you can just move to roll ups and roll ups can just have better support for just allowing transactions to start from smart contracts directly so that's the first problem and then the second problem is the high transaction fees right like you you can't have you know roll up recoveries cost 50 but you know in a uh layer two system if everything is done inside of a lawyer two recoveries could potentially only cost a few cents uh so like in general like i think the move to layer two is this great opportunity to
just do lots of things in a way that's just much better than what we've been doing before you smart contracts by default are a great example of this and optimism have already kind of taken some steps in this direction um which is a nice like i think every account in optimism is by default a like simple smart contract wallet that can be that the user if they want you can replace with a different one um so yeah again there's a an excellent synergy between uh lawyer tiers and better security so so oh sorry go ahead didn't i just wanted to say oh just i i did also once at some
point circle back to kind of the relationship between social recovery and their crypto values maybe we should that's where we can tie this conversation off but but before we get there i do want to ask because does that mean that you're you believe that the trend for the average individual who engages with ethereum is going to move towards layer 2 smart contract wallets yes interesting interesting and people will just perhaps be able to execute l1 transactions from their layer 2 smart contract wallet by proxy so like they'll they'll make a transaction with their smart contract wallet and if they want something to happen on chain on the ethereum l1 it can be initiated from that point
interesting right well so so we have to distinguish between like layer one smart like smart contract wall etcetera on where one versus smart quadruplets that are inside of roll-ups right so like i think smart control wallets are better either way but like they're definitely much better inside roll-ups and i definitely expect more and more of people to be over time to move toward being inside roll-ups natively so just being able to do lots of things and just like do all of the ethereum that they wants to do just by like floating between um you know optimal simon arbitram and zk sink and lupering and i think we're going to have better and better techniques for moving between those systems without having to hop onto the main chain first
but and that will also reduce transaction fees massively which will give an opportunity for this uh social recovery stuff to happen better david our our kids may not even use the main chain that's what visalike saying right like they might live their whole d5 ethereum life on a layer 2 chain completely so well that kind of begs the question say i have a smart contract wallet on the l2 and i'm there because of just the all the ux benefits that it provides me um and i want to swap tokens for one token for another because of whatever reasons that people do that and the uniswap l1 is perhaps not necessary because on loop ring there is
another amm that because i'm perhaps i'm on the looping and l2 i just use that uh exchange feature there instead so then at that point what does the if if all the economic activity is kind of put into l2s what does the l1 do like what kind of economic activity would you expect to see on the main ethereum l1 if that becomes the case um in the short to medium term i expect like high value users to stay on 01 just because they can afford to pay the fees and that they get like the fees are a lower cost than the uh the risk that people perceive of um l2 is breaking but you know in the longer term the risk of l2 is breaking is going to subside and in which case
l ones are mainly going to consist of like layer two is publishing these batches and uh batches and proofs and like users moving between rollups and some in some cases that's extremely interesting that kind of um makes my my head turn to the whole scaling metaphor of xbox games where people or xbox games when the xbox first came out were like kind of the graphics were rudimentary the very basic but then xbox games towards the end of the xbox live cycle and i'm specifically talking about the xbox 360 here like the the big xbox that took off the most amount of time games towards the end of the xbox 360 lifestyle were far more efficient
far more graphically like beautiful and complex and rich but yet it was the same hardware it was the same hardware all through and through and that seems to be kind of how what you are alluding to with the ethereum l1 over time is that we are actually just making better use of the same uh computational capacity that ethereum offers is is that kind of where you're getting it and then my other question is um these the ethereum of course is a place of legos we have different things different applications that we can plug into each other what we're talking about here is the lego between a smart contract wall and an l2 talking about the efficiencies and ux benefits that we get there what about the lego of
decentralized identity how does the combination of decentralized identity and smart contract wallets how do those things interact um i guess and every question uh yeah you know i've talked about identity in a lot of different contexts i guess so the question is like there's different kinds of uh identity right like there's identity of like you just authenticating yourself as being the same the same actor who did some other interaction previously which is just like maintaining a persistent account there's identity as in proving things about who you are in the real world there is identity as in kind of the unique human problem creating accounts that like each person can only have one of and like those are all uh
they are kind of different primitives that have somewhat different properties so i view social recovery wallets as being like in like a big step forward for the first kind of identity this kind of maintaining some kind of like persistent ident um thing that you can represent yourself to um as to uh services um and other people uh so like and as i mentioned before this is something that like could potentially end up kind of going like even being used for just centralized web 2 services right like right now if you log into many services a lot of the time you're
logging in with to with google or you're logging in with twitter or logging in with facebook and like you're basically using an identity that's controlled by google or twitter as or facebook as the mechanism by which you interact with all these services um but here like the thing that i think could eventually happen is people using blockchain social recovery wallets um or wallets with like some kind of other recovery mechanism of their choice as that identity right it's like ultimately if we can create something that's like as secure in terms of like anti-theft and ent lost properties as centralized services uh provide which i think we can
because i think people overrate how good these centralized services are anyway then we can create something that makes sense for even people to use to just interact with um all these other things too um so i guess yes you know this stuff is uh a strong path towards solving at least like one of the problems that we that we put in the identity bucket as always want to end with this none of this was financial advice of course ethan's risky so is d5 so is crypto you could lose what you put in but we are headed west this is the frontier it's not for everyone but we're glad you're with us on the bankless journey thanks a lot