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

Loading player…

What is a wallet, UX Unconference

Ethereum DEV NLSun, Oct 9, 2022, 12:00 AM

Open-source design unconference and structured working groups helping to drive improved User Experience and usability standards forward for the decentralized eco-system. Speaker(s): Ryan Betts Hosted at Devconnect Amsterdam, 2022 Visit the website: https://devconnect.org/ Or follow @EFDevconnect on Twitter

Transcript

[Music] so it's been a long time since i've actually stood up in uh in front of a bunch of people and talked this is nerve-wracking um what is a wallet uh it sounds like this uh type of talk happens every year so hopefully i do an okay job of this uh first can we with a show of hands uh who here absolutely 100 knows what a wallet is okay there's not very many i'm gonna i'm gonna say for the record uh about 10 maybe uh of of the crowd raise their hands so i think as as i've turned it into the web3 space i've i've noticed that word wallet gets used to describe a lot of different things um and so today in this talk we're going to go over a couple of archetypes of how this word wallet gets used in different contexts and maybe unpack that a little bit i work on a team that's focused on decentralized data authorization and compute and so i'm the only designer amongst a bunch of very low level protocol wonks and it's been important for me when we're designing and building these things to be fairly precise with my language i don't think it's important to be pedantic out in the normal world and like shame people for using these things incorrectly but let's go through a couple of ways wallet gets used uh and how it's referencing different things in each instance so probably a common question you get asked is someone who's involved in the space from people who are looking to get in is which wallet should i get and really when people are asking this question what they're asking is which wallet client should i get um so they could be thinking about a device a bit of software uh whatever if you're going to thoughtfully answer that question you want to know a bit about what job they're hoping that wallet's going to do for them and a few other things and you might recommend to them a software wallet client a hardware wallet client you might focus on a custody solution for them you might encourage them to use one of these options below which is uh self-custodied meaning they manage the private keys themselves um most of the wallets these days are focused on a single signature to execute a transaction there's also a lot of things that require multi-signatures the gnosis multi-sig safe being an example then of course these days also there's the question of do you want to just target a single chain or do you want to have coverage across a bunch of chains a bunch of l1s or l2s and then in the ui itself do you want to open this up and be focused on your portfolio and the valuation or are you interested in some more identity focused things like nfts and your popes and all the rest so when it comes to the wallet clients those are some things you can consider of course when designing a wallet or when giving those recommendations and then these wallet clients are also going to of course let us connect via wallet connect to the dapps and do our business you probably if you've been on twitter for any amount of time also see people saying hey drop your wallet for some free eth beside the fact that you should never do this because it's at least engagement farming and at most the scam um what people are talking about often here is your account address right so this long hexadecimal string may be aliased to an ens domain that you've got in a multi-chain context if you're using a certain approach you may even want to prepend to say this is an eth address this is a cosmos ecosystem address this is a polygon address a tezos address but you notice also i brought up this word account which we hadn't mentioned yet so in a smart contract contract based chain you're going to have two types of account these are important to understand the externally owned account which was has and continues to be a confusing name to me um what what's meant here is that externally uh this uh private key lives off chain these are the things that that you're going to have and that are going to kick off transactions then there's stuff that is in contract accounts these live on chain they're controlled by codes and they can create further transactions but they're kicked off by things that come from what you have which is an externally owned account and it is referenced by an address and when you do stuff on chain you get some friends with benefits tokens you get some nfts you get an ens domain name those things actually all are state that lives in these contract accounts and they point at your account which really contains nothing so in your wallet there is nothing the third way that the word wallet gets used is maybe you've seen this in a wallet client add an existing wallet in rainbow this is the button and if you click it it's going to ask for a secret phrase or a private key or an ethereum address or an ens name and those actually don't all give you wallets but in order to explain this i'm going to have to introduce this concept of a hierarchically deterministic wallet which is a little heady and let's see if i do an okay job of explaining it but basically they're at the root is a concept of a wallet and underneath that you would have many accounts so these would all be those hex strings this would be the e and s name uh for me i go by depatchedmode.eth right but i could have others and i could manage them all from the same wallet object how do i get that wallet object well it asked for the seed phrase on that former page i prefer to call this a recovery phrase this is that set of 12 to 24 words if i put that in i can always get all of the accounts underneath that wallet object back if i had entered a private key and this is where i'm a little maybe even hazy i think i can get that root wallet i can at least get one of those accounts and if i put in the ethereum address that long hex string or the ns name i'm actually only going to get one of those accounts now there's one other feature of a hierarchically deterministic wallet which most of these wallet clients use which is pretty interesting and i think underexplored in the ethereum space which is each one of those accounts can have child accounts a use case here would be maybe a family wallet mom son dad checking and savings account uh and so there you have it three things called a wallet uh if we can review um the client itself the account and uh the hierarchically deterministic object and so now who knows what a wallet is put your hands up again slight improvement i'm going to say 20 to 25 percent let's all give ourselves a round of applause [Music] you

Automatic transcript — names and jargon may be misspelled.