#DappCon22 : Day 2 - The Past, Present, And Future Of Crypto Wallets, Kristof Gazso

DappCon 2022 · September 2022 · 23:26

Kristof Gazso traces the past, present, and future of crypto wallets at DappCon 2022. The talk covers the evolution from seed-phrase wallets toward smart contract wallets and account abstraction, and what better wallet design means for Web3 usability.

Speakers

Topics

From DappCon 2022, hosted by Dappcon Berlin.

Transcript

um and so as I mentioned next up and the last one before the post Christoph casual from Netherland who's going to talk about the past the present and the future of crypto wallets let's welcome home [Applause] hey guys so yeah welcome I'm Kristoff and I'm working on another mind as a product manager and researcher and I'll be trying to talk to you a bit today about as the title mentions the past the future uh past the present and then the future of crypto worlds so let's get started oh that's not the button this is the button that's not the button

oh that's that's the fun there we go so right I'll start a bit off with the basics of crypto wallets just so that we are on the same page then I'll lead you through how this all began how we got started with walls then I'll talk a bit about what processor currently undergoing and what inventions are happening right now in this space and then finally I'll speculate a bit on what we might see in the future right so let's start with the basics what actually is a wallet a wallet very simply put is a piece of software that stores and manages your private key how does a Wallet work well a wallet usually does what I just mentioned

before storing and managing private key but it also tries usually to show you a nice UI where you can see your balance your resc20 tokens and when you go to adapt and you want to transact something it's going to take care of the process of taking that transaction signing it and sending it to the blockchain all right so we talked a bit about the basics let's let's walk through the past of crypto Worlds how do we get here well it all started with so-called eoa wallets eoa is a very funky technical crypto term but it actually stands for externally owned accounts and this simply means private key wallets so um most walls that people have today

they're eoa walls things like metamask rainbow all the things you're very familiar with and there are usually accompanied by a so-called seed phrase and this seed phrase derives into a special private key and that is what actually has control over your wallet the first eoa account and the first wallet to ever come into existence is called Bitcoin QT later known actually as Bitcoin core which you guys might be a bit more familiar with Bitcoin QT was the first Bitcoin wallet um you had this very basic simplistic UI where you could send coins receive coins see your past transactions and actually in addition to this it also

ran a full node of Bitcoin so this means that in order to transact you have to sync from or from Genesis to the head of the chain now at the time this wasn't a big deal because Bitcoin was only a few gigabytes in size but as you can imagine these days it's not really possible and then in about as about 2014 2015 came a sort of Revolution with Hardware wallets treasure was the first one to come up with the hardware wallet idea and they thought hey we have this really nice software wall we have Bitcoin core but there's a problem since all your data and all your private keys and all

your security features are stored in your computer and your computer is not that difficult to get access to it'll be a lot safer if we took those private key that private key and we put it into a special Hardware device which is not accessible directly from the computer and this really gave a lot more security to the users of ethereum because now they could be sure that um no sort of hack on their computer would ever give access to their wallet and their funds but I think the most important Revolution actually came with smart contract wallets so smart contract vaults are a completely different type of wallet to eoa instead of your account being controlled by your private key it is instead controlled by the code of the

smart contracts now going back to the start when I said wallets are pieces of software that manage your private key well yeah I lied so the probably the most popular type of smart contract wallet is the multi-sick the multi-sig is a special piece of code where no one private key actually has access to transact on behalf of you instead it is spread over multiple signing keys so for example I might have three signing keys in my multi sequel I might have one on my phone I might have one on my computer and then say I might have one in a safe somewhere in the bank right and I say that okay for me to be

able to transact at least two of these free private keys are gonna have to come together what this means is that even if I lose my phone or my phone is stolen I can still just go to my laptop and I can go to my bank to get my private key and like my wallet is still safe now this led to a lot more security and this is actually the type of model most um treasuries use um just going back to that bit um for example the ethereum foundation uses a four out of seven security model for their multi-sick right so they have seven keys and four people out of the seven have to come together to make a transaction on behalf of the foundation other type of smart contract world that

is very popular these days is the social recovery wallet this works a little differently instead of having free say signing keys that all have the same power we designate one controlling key and this controlling key has access to normal features of the account like making small transactions doing swaps but it also nominates so-called Guardians these Guardians are entities with admin control over your account and the way it works is that if enough Guardians come together they are able to swap out who has the controlling private key so say I had my phone my phone contained this controlling key I decided to

nominate three of my friends to be my Guardians if say two of them came together they could swap out which phone I.E which private key has access to my funds this is great because you don't need to go to every one of your friends to get to ask them for permission to transact you can simply use your wallet as you would wish normally unless you're making a large transaction and whenever you're in trouble then you can reach out to your Guardians right so we talked a bit about um the current um the lead up to what we have now what kind of wallets were invented EOS and smart contracts but let's talk a bit

about what we're seeing now what developers are made as of this moment I would say the largest development that's being made right now is to do with account abstraction this is another fancy crypto term but actually just means moving ethereum away from externally owned accounts and moving them towards smart contract accounts trying to level the playing field between them the reason this is a problem is that right now smart contracts cannot initiate transactions only private key control accounts can and how are we trying to solve this well we have this EIP that was covered by another mind opengsn and vitalik called

eip457 and it's called account abstraction by entry point contract specification how does this work well it has a relatively complex system but to to simplify the bit instead of using transactions for this type of methodology we use so-called user operations these look almost exactly the same as transactions but they serve a different purpose so you encode what you want to do with your wallet in these user operations and it to so-called user operation mempool this is a mempool that's very similar to the transaction mempool that we all know and love and here's the interesting part

um we actually get a specialized um arbitr so-called bundler to take these user operations from the mempool bundle them into a vanilla ethereum transaction that's compatible with the current Network and submit this transaction in a normal ethereum block now why is this cool this is cool because we don't require any hard Forks any consensus changes to make this happen this is possible right now on ethereum to dig a bit more into how this arbitrager and this bundler actually executes and puts this user operation on chain here is this very nice diagram by vitalik so we deploy an entry point contract on each Network say let's take ethereum in

this case then the bundler comes along takes the user operation and submits it to the entry point contract this entry point contract is deterministically going to go to the wallet that was specified by the user operation and it's going to ask the wallet hey wallet we have this user operation is this a valid user operation can will you accept this and will you pay for this and the wall decides if yes or no if it does then it's going to sign off on it and it's going to transfer a certain amount which is normally the gas fee to the bundler in exchange for taking the trouble of taking the user operation and penicate on chain it's going to go through every

single user operation that's being bundled and then it's going to after checking all of them it's going to execute each one of them one by one doing whatever the user operation asked the wall to do in the first place right so why is this cool why is account abstraction cool and why is eip4337 cool well first of all it's just more secure wallets right we've talked before eoas are very difficult and very ux unfriendly you wouldn't expect your grandma to store her life savings on 12 words on a piece of paper after all so instead of using simple private Keys which have admin access to your account we use specialized wallets where you can Define exactly what sort of access

conditions you want second of all it allows for multi-operations we all know the pain of going with your metamask and trying to make a swap and having to do two separate transactions one to approve and then what want to actually trade your funds right well uh smart contract wealth and account abstractions solve that problem because you no longer have to make it two separate transactions your wallet can execute both or any number of transactions in the same at the same time atomically fine and third of all pay Master sponsoring now I didn't actually touch on what pay masters are in eip4337 yet but to explain they are basically

parties who are able to sponsor user operations on behalf of the user so for example say there is a Dap that's coming along and it wants to sponsor the first 10 transactions the user makes in order to get you know more volume more people using it so it can sign it can create a special smart contract that is going to sign and pay for the first 10 user operations of each user now this is a great way for dapps and any other parties really to get adoption it can also be used for other use cases like say paying for transactions off chain with a credit card um but it's it's a really important um part of your account abstraction

because you no longer have to have if in your account to transact you can have any erc20 token or you can have no token then just have an agreement with the paymaster that you're going to settle somehow in the near future fourth of all custom signature and verification schemes right now ethereum uses so-called verification scheme called ecdsa there's nothing inherently wrong about ecdsa but it's just one of the signature schemes that we can use right there's a lot more probably some better ones that already exist and since you're able to constantly Define the verification of user operation for your

smart contract you can verify it in any way that's allowed in solidity um so for example we can already move ethereum to Quantum safe symmetry algorithms without even having to make a hard part how cool is that and finally very related to the EIP it's a universal interface right so if you adopt this interface for your smart contract that um that is compatible with this EIP you'll get access to a network of pay masters and network of bundlers you will no longer have to run your own relayer system if you're a smart contract wallet and you might say okay well you know this is a nice idea but like you know it's not live yet it's not there's no

nothing happening why would I want to join well actually there's already a growing ecosystem of projects that are building on top of this EIP we already have wallets that are adopting it we have pay masters that are being developed to use for to be used by dapps and we already have networks of bundlers which are bundling user operations as we speak so it's a really good time to start looking into the CIP and start looking into how your dap and how your world can can get comfortable with this all right so we've talked a bit about the past present but let's talk about what a smart contract what crypto wallets at all would look like in the future

so first and like probably most obvious is that we're gonna expect more smart contract wallets in the near future as especially with the Advent of layer twos and all of that scaling we're going to see a drastic reduction of transaction fees in layer 2 networks and this is going to mean that the drawbacks of smart contract wallets namely the higher gas fees are going to pretty much disappear and I expect the next generation of crypto walls to really be 100 smart contract based and shining over kind of abstraction this is an interesting one as you heard before eip4337 does not require a hard work but this has actually a drawback and that's

that all the verification of your smart contracts is done on chain and that costs gas so instead we can try and enshrine the kind of abstraction into the protocol directly how can we do this there's two main ways there's two main things we can do one is that we can put the so-called entry point a smart contract on chain this is going to mean that we won't have to verify and we won't have to deal with the user operations on chain but we can get the clients to do the outside and second of all it's trying to turn EOS into smart contracts directly this is really important because one many complaints people have about smart contracts is okay great it's in your system it it works better but all my funds are in an eoa and I

don't want to migrate my entire system to Smart contracts it's just too much hassle well we got you covered because eventually we're going to try to move ethereum towards a system where you can convert your EOS into smart contracts with a special transaction type um there's also another option which is based on eip-3074 and the CIP is called EIP 5003 and it leverages this previously mentioned the ip2 usurp your eoa and turn it into a smart contract using this very simple very nice wall technology next is multi-chain abstraction I'm still not seeing and I still really

expect to see the abstraction away of the concept of chains for people your average person who wants to use a special application probably doesn't care if it's on optimism or if it's an arbitrim or Stark net or any other roll up or if it's on mainnet or Solana or whatever they just want to use the application what this means is that I really expect that it's going to go into the background users will be able to select the depth that they want to use and the wall should automatically take care of a routing and Bridging the required user funds to that chain now this ties in with the next point

which is the elimination of crypto terminology most wallets I see today still rely on the user understanding or learning a lot about crypto in order to be used their wallet right the concepts of gas the concepts of native tokens of Eve of smart contracts of ethereum or of any of these things like I shouldn't have to care if I want to buy coffee on the street I should just be able to use it as simply as I can use revolut or or cash app or any of these typical draft file applications right next one is stateless client integration this is a bit of a niche one stateless clients are clients that we're

going to see in the future which don't hold any of the state of ethereum but they're still able to get data from the chain in a very reliable and relatively trustless way when we have these clients they're going to consume almost no I O and almost no network data and almost no storage as well and what this means is that each wallet will be able to run a stateless client inside the wall itself this means we're no longer going to have to rely on centralized RPC providers to get our blockchain data and this will lead to a larger degree of decentralization in the world space and finally and probably most

controversially for me I expect and I think it might be beneficial for walls to start thinking about an interfaced Trad file right this is not to say that you know all your funds should be stored using on a bank account or anything like that it just means that currently there is no one killer app on on blockchains which would get people to completely abandon the current Financial system and move over right I expect to see interface between tradfi and crypto where say you might store store all your funds on crypto but whenever you have a friend who doesn't have a crypto wallet or you want to receive your paycheck from a normal old company which uses

checks or whatever you'll still have access to say a bank account or an e-money wallet which can bridge the gap between these two technologies and I I related to this and related to the ux problem as well I can also see in the future um putting the whole idea of off and on-ramping behind the season as well that is in my opinion one of the most ux unfriendly things that we have to do um as people who own world on ethereum going through the whole process of often onboarding and often on ramping is is a pain all right so um if you're at all interested in smart contract Wallets on account abstraction crypto walls or any of the other things

that we're doing in other mind we'd love to hear from you and yeah I'm going to open up to any questions now thank you so much [Applause] okay we have time for one or two questions there's one hand over there hey there thanks for the talk um I'm Max from ultimate.money and we definitely feel the same way about a lot of these topics can you maybe just clarify like how does another mind see their role in

this and you know I know another mind is a client Builder um so maybe you can just talk briefly on that yeah sure I can mentioned that so building a client along the one of the things that we do we're actually very involved in lots of other areas of um the ethereum ecosystem so we do things like smart contract all the things smart contract development work a lot with startnet um so client is only one of the things um but I expect that we're going to definitely be doing lots of research in the future when it comes to Cloud abstraction and crypto worlds but also there are a lot of opportunities to build actually a smart contract wallet that fulfills this Future Vision that I think ethereum requires

uh so thank you so much that was super interesting and solving some of the problems that I'm having so great to see uh but I guess I as you were speaking I was you know on the rabbit hole looking for the status and sort of where is that what implementations are there of something like this um and I'm seeing that a lot of the pr submitted to ethereum Foundation on this topic are either kind of like stagnant or moving so just love to hear kind of maybe an overview of like the status of where this is at and maybe some implementations that you're seeing from this use case right so there's only quite a few implementations that we have related to account abstraction um and this EIP I obviously mentioned uh before the field of walls and a few of the pay masters that are already

building on top of this but as Netherland and as opengsn the team working on making this happen we already have client implementations for bundlers right so for example you could run your Netherland client and you could set it in a config in a way that it would take user operations from the mempool and bundle them using your private key right so we've already built lots of tooling for this and the rest of the community is also building lots of tooling um but yeah I think there's already a few walls that have launched in Alpha which use this I think Stack Up is one of them there might be some others but I can't recall right now

okay well Kristoff thank you so much uh we're gonna take a quick break and we'll be back at four thank you