 Good afternoon, and thank you for coming to this talk. I'm Chang Wu from I'm Talking Labs. And I'm talking is a non-custodial wallet based in Singapore. And today I'm going to talk about a topic which is called post-mode wallet. So before the talk, I would like to ask you guys a question, what is your ideal wallet? I think many of you may like use MetaMask. Maybe I'm token or others' wallet. So what is your ideal wallet? It looks like you don't need to answer the question now, but it's worth to think about it. So let's take some time to look at where we are now and look back at the past. I would like to go through some number and some other information from what we have right now. So here is the adoption map of the Ethereum users. So we can see many users are distributed in North America, Europe, Asia, and everywhere. But these users are really are crypto users. So how do I define crypto users? That's because not everyone use the crypto wallet. But I think most of the people right now, they just use the decentralized exchange like Binance, like FTS exchange. So how do we turn this kind of situation? So make more people to get into the crypto wallet. That is the core idea of this topic. So for now, there are over 221 million people have crypto currency right now. This number might not be accurate just for reference. If we assume the number is correct, then 97% of people don't know crypto or don't have any kind of crypto assets. So one day if you want to introduce the crypto wallet to your parents, your friend, or even your teacher, how do you do that? Can you help them to sell out a crypto wallet in two minutes, five minutes, or even in 10 minutes? I think the answer for now probably is no. It's really hard for them to know what is crypto because the learning curve is pretty high. So here are the challenges we are facing every day. If you are working as a wallet company, then you will receive the feedbacks like this every day. So people don't know what is the crypto? What is the C phrase? And also they don't know how to speed up the transition when their transition gets stuck. For those questions, so we need to come up with some solution for the future wallet. How do we fix it? If we want to make the misadoption to happen, crypto wallet is an important entry point for unborderable apps for users. Yeah, so we need to fix it. So how to fix it? So let's recap it again. So if you want to rebuild a wallet, then we need to know what the future wallet looks like. So this is a very good question because if you think about the smart contract developer in 2018 or 2019, at that moment, because they didn't sense or they didn't know there is a kind of attack called NEV attack. So when you design a smart contract at that time, eventually you're really hard to defend NEV attack. So that's why we need to know what is the future and we need to know how to design the wallet. And so this is a reason this topic for the possible unmerged wallet. So let's look at the future. The concept of the NGAN is proposed by Vitalica in 2021. Actually, the goal is to scale in the Ethereum for many users. So we can onboard more users to the Ethereum ecosystem. For the NGAN, in the article that Vitalica mentioned, Ethereum is pivoted into a low-out solution centric low-map. What does this mean? It means we can, today we have already seen lots of layer two solution coming up just like start net, attack, uptrend or up to instant. Since if the layer two is the future, that means we need to have more data space for the low-up. So how do we have more data on the low-up? So here are two ways we can do that. So first, we need to get more larger block. And the block need to be verified very easily for the line crime. If we can do so, then we can have a large block and that is what Dan Shardin doing. And another approach to do this is how do we make the data smaller? If we can make each low-up transition smaller, then it could fit into the bigger block. Then that means we can get a lot of, I mean, transition get into the block. So in the future, ideally we think there might be a high TPS with a low transaction fee into the blockchain system. This is important because if we look back at the history of the internet, then we will find this is kind of similar. So when the internet was born, the bandwidth is a secret resource and it is very expensive. Not everyone can afford to the internet. With the cost decreasing, then we can see many applications start to growing on the internet. So if you was in 1998, you probably don't think about what is YouTube, what is Netflix. But if you are in 2020 or 2022, then you might think Netflix is makes sense. We can have more online video. With cheaper transition fee, we can do more thing, not just DeFi, not just NFT. We can do lots of potential application in the market. So yeah, let's think about how do we make the wallet better? So we can have more application onboard into the internet ecosystem. So yeah, we need to have a wallet which fits there to the roadmap and the user is friendly. Here I want to give you a very brief short summary. So first, it's really hard for the general users to know what is crypto, what is Ethereum. Think about it. If you want to teach your parents to set up a wallet, the first thing is they need to write up the C-phrase. So what is C-phrase? Yeah, it's difficult to understand. And then next, they need to, if they want to send some token, then they need to have some ether. So this is another thing that's quite challenging for them because they, what, this cannot make a transfer unless I got some users. The second thing is the user experience is pretty bad now. Because I think, because the learning curve is pretty high. So most of the user don't know how to, I mean, run the wallet. Like how do I interact with DeFi? If there is a new application, how do I assess the application? They need to learn it from the video or some kind. Or they really, or it's really hard for them to know how to do that. And third, just like I mentioned, for now we have already have some users. But most of the users are crypto users. They are just general users. And because all of these challenges, they are just stayed with the centralized exchange. How do we, I mean, try to get them into the ecosystem? So we need to have a layer two ready wallet which is designed for the future. I think this is a very big thing because in DevCon we see the merge is already finished. So the layer two is, if the layer two is the future, so we need to start to thinking about what is the future wallet look like. So following is a requirement. We think ideal wallet should have. It's overwhelming if you are working, again, if you are working at the wallet company, this is really overwhelming. Every day you will receive users feedback complaining that their token was stolen or they just make, they just approve to some fake contract. So how do we avoid that? Avoid it. And even though they are more important, important question is how do we make sure the user's assets is safe and how do we help them to manage their key? So today I'm not going over this topic, but I will just focus on the key management and the how do we make their account could be recoverable. Here are two solutions, one is MPC, any other is AA, F-Track account. I think the F-Track account is a very popular topic during the DevCon talk every day. So you might, probably might heard about it. But for MPC, why is MPC? MPC actually is a multi-party computation. So think about, this is simple. If you want to generate a random number, you can ask, if you want to generate random numbers through three people, you can ask each one to for a number. And then we can sum it up to get the result. So actually the MPC is a way for joining computing a function over the input. Let's take another example. If we can take the signature as a result, we can ask each party to contribute part of its secret numbers as the input. And then we can get the signature. So this is kind of some one-mess or magic. We do not need to have a private key, but we can generate the validate signature. So the input is not related to the private key. So you don't need to worry about once your device gets lost, because there's no private key stored in the device. But eventually the signature will be generated. The way it operates is pretty similar to multi-seq. So think about that. If a user needs to request a transaction, it needs to have another party to co-work to generate the signature. So this is really like a multi-seq way to send a transaction. So this is a very important feature for the MPC wallet. And the MPC wallet looks like an EOA with an invisible private key. Besides, it could be decided with the threshold settings, for example, like two of three. So for example, if this is a threshold signature, then we can, if we want to send a transaction, then the device need to co-work with another device which is online together to generate the signature. But also this is the weakness of the MPC. It need the help of another online devices to working together. If you think about that, for this secret which is distributed to different devices, it could be stored in some, it could be dedicated to some decentralized service. So for example, if the service help to store these secrets, then the service could help the user to identify the transaction is valid or not. Because one day if the user want to interact with the app or some device application, once this party find the device is fake or it's a scam, then it can stop to help to generate the signature. So it's more like this is kind of like a risk control function. And another part for the MPC is it could support multi-chain because as I mentioned, the MPC wallet looks like an EOA with an invisible private key. So all of the, if this is a wallet and they are all go with this invisible private key. So for MPC wallet, it could support BTC, Bitcoin. It also can support the Ethereum. And all of the private chain is there if their signature is MPC friendly. So this is a source perfect, but for the MPC solution, just like what I mentioned, it requires having an online computing unit to co-work with. These are accounts. In Ethereum, we have these two types of account. One is EOA and the other is a smart contract account. So I just talked about the EOA over the MPC solution. So how about we talk about the contract account? So this is the extra account wallet. So it's a kind of smart contract wallet. So the nice thing that the smart contract is, it's a flexible, you can call anything into a smart contract. So you can have a customized rule. So you can define your rule into this smart contract. With the AA wallet, there is an entry point with two phases, verification and execution. Because in current Ethereum, transactions are verified by ECDA signature with balance and the non-check and then execute a transfer of all the co-function. So we need to define this verification and execution. So this is pretty easy for the AA wallet. So what is important? If we can customize each kind of verification rule, so that means we can define any kind of signature that's in the smart contract, like BOS, like Sino, or like EDDDSA. So we can have all kind of signature verification rule of building into a smart contract. And also, if we think this is not safe, we can make it as a multi-signature wallet. So that means you can control, the wallet could be controlled by five people, but only three people approved, then the transaction can be executed. And then the other advantage is, it could be decided to verify of chain-signing message. So this is pretty important, because if you think about the meta-transession, or, yeah, if you think about the meta-transession or some gaming app, because the user don't know how to get the ESAs. So if you can have some relayer to help them to relay the transaction, this would be useful because they don't need to buy the ESA when they want to send a transaction. And the last is, I think it is more important, is we can change the signer. Okay, to me, the most important and interesting thing for abstract account is, we can abstract account from the signer, from the EOA. So that means we can have a signer, and we can have an account, but the account doesn't equal to signer. So this is a very important feature because one day if we want to design a kind of application like DID or Sobong token, the account could be fixed, and we can have the same address, but we can have a different signer to control this account. Here is a summarize of some parts of features of the NPC wallet and the abstract wallet, AI wallet. So for NPC, it's developed in 2018, and for now, there are many protocol, so you can use any kind of this to design your NPC wallet. For AI, recently, there are some EIP, like 29, 38, and the 23, 37, yeah. So if you are interested in, then you can try to read it. And Alice, Alice is actually is a hierarchical threshold signature protocol, which is designed by me and my colleague. This is a different threshold signature because we can have a different asset structure trying to make a share with a hierarchical level, compare some of the important feature with the NPC and the AI wallet. So for NPC and AI, both of them could run in multi-sync way. So that means we can have a multi-signature operation. But for AA, because the account and the signer could be different, so that means the account could be changed in the future. So this is a, not account, the signer could be changed, this is a typo, okay. But for NPC, because the private key is equal to account and the signer, so yeah, this is not possible. But for NPC and the AI wallet, because they all could be designed with social recovery, so both of them work with that. And for NPC and the AI wallet, all of them can support risk control. Just like what I mentioned, NPC wallet, you can, if you dedicate your secret share to another centralized service, then this centralized service could help you to filter those malicious operations from the users. But for AA, because this is a smart contract wallet, so you can define any kind of rule into the smart contract, like you can set the daily withdrawal limit, or you can have some wireless address. But for NPC, because this is more like a private key solution, so it could support multi-chain. But for the AA wallet, because it runs on the smart contract, so that means if the private chain does not have a smart contract, or things, or it's not EVN comfortable, then it cannot be support multi-chain. And for NPC, because this is not the smart contract, so it could not do some meta-transaction, so yeah, for AA, it can take advantage of the meta-transaction. But for D5 friendly, I think this is a very, very important point here. So it sounds like a pretty cool thing, but if you try to look back all of the smart contracts developed right now, not every smart contract supports smart contract wallet. So that means only the EOA can control, or can interact with the smart contract. And also, another thing is most people do not support EIP 2071. It's an interface for the smart contract wallet. Yeah, so this is, I think this is the advantage of the NPC wallet. From this table, we can see the ports and the cons of this kind of these two solutions. I just borrowed the mean from the, it's too much, yeah. Where's the shower? I just showed, so shower is here. Hey, shower. Yeah, we can combine NPC and the AA wallet. So we can design a future wallet. You can have a wallet like that. If you consider this is a future wallet, then have a sign here, and then we can have account into the smart contract wallet. And also, because of the feature of the NPC and the AA, for NPC it could be run in off-chain, but for AA it could be, because all of the operations are on the smart contract, so it should be on-chain. So there are two different features, but I think that you can take advantage of this kind of two solutions. And third, because just like I mentioned, NPC need another party to be online to help to co-work to generate a signature, so it should be synchronized. But for AA it could be a synchronized, but this is not really friendly for multi-signature wallet, because for multi-signature wallet, when you send a request, you need to have another party to sign a transaction. So there is a lot of delay. So at the last, I think if we can combine these two kind of solutions, this is a benefit we can design a future wallet for this kind of application. Like for payment, because for payment, you need to have a very user-friendly wallet. So, and for DID you need to have an account, have an address, which is sent as an account. Yeah, so we can do a lot of things if we can combine these two kinds of solutions. So thank you, this is my talk.