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

Loading player…

Account Abstraction and Permisionless KYC, Building on Kinto | Victor Sanchez Belmar - Kinto

Ethereum DenverWed, Oct 9, 2024, 12:00 AM

In this workshop we will learn about the architecture of Kinto, the first-ever Arbitrum-based L2 that leverages KYC & AML at the chain level and only allows account abstraction smart accounts to interact with the chain. Creating an extremely secure and sybil-resistant environment for developers. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply

Transcript

[Music] all right hello everyone my name is Victor Sanchez I am the CTO for Kinto uh the safe the safety first uh L2 for finance um today I'm going to be introducing what Kinto is uh what are we striving for as an L2 how we build this L2 but even more importantly how you can start building Kinto today so what are we we are essentially the first L2 uh using the arbitrum nro stack uh and of course we settle uh on ethereum Manet I'm sure you are familiar uh with arbitrum and the orbit uh a stack um the orbit concept is of course around building l3s that settled uh as an L2 in arbitrum however we run parallel to arbitrum one and to arbitrum Nova settling on ethereum mainnet the objective for this and why we chose to create uh using this Nitro stack but settling on ethereum uh mainnet it was of course because we wanted direct access to that liquidity that Innovation and um the essentially having uh K connected to where the talent and the developers are our mission as a company and our mission as our CH as as chain Builders is to create the safe space for developers first and foremost and that safe space is to basically bring together two groups that have been historically atau uh when we talked about crypto we want to have both Defi and trafi finally interacting in a safe space in order to do that we have essentially proposed two main core values for what Kinto does and what we represent those two main core values are security and usability this kind of sounds stupidly simple uh if you think about it but the reality is that this is extremely important and it makes the difference between what is needed today for on boarding that next 1 million 10 million 100 million users uh to crypto how are we going to do this I'm going to be covering some of those basically security wise we want a place that yes you're going to have to kyc and you uh probably as a kto as a crypto native as well you are as allergic to the kyc KYB AML concept as any of us uh we however you have done probably kyc already in plenty of other spots when you are um in inside the crypto space however we still are very sensitive to the kyc allergy that you may feel as a developer and as a crypto native uh when you're talking on that this is why we have two concepts that matter quite a bit the first one is the user own kyc your data is yours and only yours nothing is going to be a stored on chain and I'm going to go into the details on how we implemented that uh to make sure that the data that the data never touches the chain and most importantly that your on chain activity and your identity your pii are never connected and unless you allow them to do that to the absor protocols that you have on top of our chain and the second one of course is usability right now getting to have a proper wallet having the experience in uh your crypto life being as secure as it would be in trfi uh you still need some of the things that we are going to propose today and thankfully there is a account instruction the concept of account instruction can provide both pillars that we are looking at at Kos security and usability and we're going to speak a little bit on how we build that before that what are we proposing as Kinto essentially Kinto is again made for developers it doesn't matter if you're a veteran or or or if you are just starting but we're going to have three main core features that I want to speak today about number one Kinto is still very much permissionless and very much decentralized this means no one can stop you to start today on Kinto doing your kyc and doing your KYB not only only that the moment that we launch governance in a month or two time you are going to be able to through governance approve new kyc and new KYB providers we are not going to impose onto you which kyc or which KYB provider is going to have access to that data you already are a coinbase user that's great you probably use Splat uh in that case you can select that kyc provider to onboard uh your G experience second we are fully evm compatible we know where the talent and where most of the already built Community uh and value are we want uh not to reinvent the wheel here kto is fully VM compatible finally we're going to offer to the straty and defi protocols especially we're targeting obviously Financial applications one of the kind of first booms in Kinto is going to be uh real world assets rwa and what we are offering here is the ability to be fully compliant on top of Kinto however if today you want to be fully compliant as a developer or as a user is an absolute nightmare imagine this you have to go either to an L1 that is a private garden and then you go to all the pain of the kyc at the KYB process only to find yourself isolated from the TBL isolated from the talent and isolated from the ethereum ecosystem or you can select to go in one of the many protocols that are doing an excellent job in an L1 like ethereum main it but then you're going to have to kyc one time for this protocol one time for that protocol and yet another one for the third and fourth one the idea here is change the level of abstraction we're going to put the kyc the bouncer at the gate at the kyc L2 level so essentially anyone that is inside that Network we know that have been kyc and not only that thanks to the Kinto ID our API we're going to be able to give you information about is this user sanctioned in this country is this user from this or that jurisdiction has this user been flagged as an ofac country or uh from from from our AML system and you're going to be able to access all of that information as a protocol with just one line of code so in order to talk about Kinto we also need to talk about the four differences that we have activated on our uh L2 number one EAS are disabled by default on Kinto EAS can only be signers of your smart accounts this is extremely important EAS are the Cornerstone of self- custody we know that very well however they are also the Cornerstone of bad usability Associated to those EAS what if we give you something different for Kinto we disabilit EA so what are we going to do instead we're going to give every single user that connects to our Network and this is part already of our own boarding that you can do today we're going to give them an smart contract wallet based of course on IP 4337 compatible with everything that has been developed so far and this is going to be the safest most important wallet that you have ever owned we'll see how in a second finally all users need to have a valid K to ID this this is a soulbound uh nft that you create as part of your kyc process and think about it uh like you would think about your passport this information is yours and only yours however on chain we're going to be able to stem this P this passport either positively or negatively positively uh with your jurisdiction with uh potential uh flags that are useful for applications uh like uh is this user uh us a credited investor for instance or negatively are you sanction in this country that interested on making you compliant uh if I am at rwa and I have reporting uh needs myself fourth one uh we are applying these kyc and these compliance rules in the GU level we modified slightly uh the uh arbitrum stack so basically we are guaranteeing that anyone that either doesn't have a king to ID hasn't gone through through through that process and therefore could be a counterparty risk for any of our protocols that are going to be deploying and acting on Kinto uh cannot interact with with the with with the chain and at the same time if you have been sanctioned either uh for one of our security systems for AML fraud uh you're on and off a country Etc we are able to stop you at the get level before you get to interact with any contracts at all um in the chain this is really important for the security aspect as well so uh I'm going to start with the code in a second here and the process that the user follow but before that I wanted to dedicate a second here uh to make the exercise I don't know if you have done it on what creating a chain creating an L2 actually entitles um and I wanted to introduce a little bit uh this concept of it really takes a village to make a functional L2 as secure and as useful as Kinto so obviously at the core of this Village is our stack after stocking and testing many stacks optimism CK and finally arbitrum uh we decided among other many things uh due to the wonderful team and Community the already locked tvl and very well tested um technology uh to go with arbitrum of course for our infrastructure we are running with Caldera from day one as our as our rollup as a as a service part of our website and our services some of the things that that are needed run in both netlify and FAA we care a lot about the Geography about the extension and about the scalability of the network we have now partnership with anchor quicknote and notice to make sure that you can access Kino from anywhere security chain analysis every single sign or every single wallet that has ever interact uh with the users that are through that kyc go to the kyt chain analysis point and we are connected to hyper native analyzing with both static rules and AI blackboxing rules um these accounts that are interacting and every contract deployment as well this is very important because as I mentioned before you cannot interact in the chain unless you have a valid kto ID whenever we get a hyper native uh hyper native sorry um alarm right either for one of those static rules or for one of those AI rules we are able to immediately flag that account and stop you on your tracks if you just developed or deployed a contract that we believe that could be dangerous of course we fire first we ask questions later that can be removed uh as part of that so if for any reason your passport gets sted with a bad flag that bad flag can be removed but first we protect the user and the chain um within later um as I said before we don't impose the kyc or the KYB provider that we want to use you're going to be able to select from three today plat C and on pho in a in a in a few days so whatever you are more comfortable with because of their jurisdiction because you have already used them before and you and it's going to be quicker you choose we don't care um for data availability we have partnership with Celestia we're going to be one of the first chains launching with the espresso decentralized sequencer very important explorers we have blog Scout you know trusty of course but also lore extremely interesting um bridging thanks to the super Bridge of the socket team we are uh using Pingo for our bandler we are using wallet duals like TurnKey and dynamic to make sure that this experience is as seamless as possible our home ramp is with kado and finally we know a little bit more about about our users and we assign them end game credits our launch uh incentive uh through the uh M Berlin API so how does it work I'm going to arrive for the first time on Kinto whether as a developer or as a user and the first thing I'm going to do is I'm going to select one kyc or KYB provider that I'm already familiar with the second step is going to be going through that third party interface uh it could be very quick literally minutes or it could be very slow if uh your document or something like that very slow being 24 48 hours to wait as you do this piece finally we are going to be storing that uh pii but it's not us is one more the kyc or the KYB provider what happens next is essentially on that call back we're going to create for you your first signer of the mamori wallet that wallet that I mentioned before based on account destraction this is going to be of course a non-custodial primary address for your uh for your wallet we are also going to me for you your kin to ID that that first piece that tells us a few things about you right that we already know from the KYB process and you have given us that permission to estem your passport with the first two things that we know you have been kyc welcome and we know now your jurisdiction as well finally we are going to go and deploy your Kinto smart account your memory wallet so what is this memory wallet this memoryi wallet is obviously the smart account wallet the IP 4337 compatible as I mentioned uh be before and I promise you that this is going to be the safest yet invisible wallet for Kinto this is going to be the safest wallet that many of the of your users have ever had the reason being uh it's multi- by default and we all know how hard it is to set up your first you know Ledger for your uncle or for your father or for your grandpa uh not to mention if you try to actually give them a Noy safe to manage it's horrible right it's a horrible experience however uh thanks to the multi by default on our account we have made this extremely easy we give you your first signer that tky signer that I mentioned as part of our process and then you can connect other sources of authentications through Dynamic through your own uh Hardware wallets uh directly into this into this multi- and you're going to be able to apply rules maybe you want to only ask for one signature if it's a small transaction or for all of them if you are doing something uh much higher so we have different policies that we can assign to these wallets when we create them finally this wallet is also uh kind of embedded inside those kyc and AML compliant checks so we make sure that when you are interacting with these trat five protocols or these rwa protocols that have compliance needs and you want to use them right you want to be able to invest in treasuries or to be able to use collateral typical from def5 but then invest it into real world assets you want to be able to do that and you're going to be able to do so with with this finally uh it takes about 20 seconds to do all the operations that are needed uh to create your wallet to fund it the first time and things like that because everything is pasy based so I'm sure you have seen already plenty of demos on how pasis can change crypto but right now uh my face or my uh fingerprint can be one of those signers and I can be very very quick on how I do this pasy based signatures of course uh because we are kyc KYB based you have the ability as well to directly use uh something like kyc based recovery if you were to lose the all of the sinus right that are part of that multi and you are unable to recover you always can go to the kyc or KYB process again to recover that original key from the recovery from the recovery wallet and finally uh again the easy and a straightforward ux to make all of these uh possible so a few things I promise that I will show you some code and I have uh only a few minutes left here so let's see what I can do uh whenever I'm uh using this discing wallet so the first thing is obviously because we have disabled uh EAS everything needs to go through the account exraction account exraction entry point right so in order to do that we have added a few uh utils uh that comes with the wallet Factory itself so if you don't want to go directly through the entry point and encode your deployment of a contract through a user operation and I'm going to show you how to do that in a second you can use uh some of our uh API utils as I mentioned in the wallet Factory so this will allow you to call directly even from an EA from the developer perspective to deploy those contracts even though they will be of course Associated to your ea uh that has that valid Kinto ID that I mentioned before so wallet Factory deploy contract is the method that that will allow this I will provide links for all of this at the end of this conference the other thing that is extremely important and when we are talking about usability our Dream for Kinto is that at the end as a developer you all going to know that Kinto is a crypto network uh a crypto to as the base but we want users to forget about that and in order to forget about that we want them to forget about the complications of uh the you know non-custodial wallets that's why we created this smart account with the different signers and of course we want to create as well the ability of have uh what they seem uh to experience as gasless operation this is why all contracts and all wallets can actually be a sponsor through our pay Master uh again EIP 437 base you can check on the balance of that wallet or on the contract that you are deploying and making sure that your users never pay for that you can charge them later as part of your of your own operation but this way they don't need to have any currency any uh part of it uh on already on their wallet so they have have that gasless experience without having to worry if I have or not the native currency in order to pay for it finally um user operations of course uh if you are using account destruction you are going to have to um encapsulate all of your operations to to the piece we have created in our repository of the Kinto core uh the create user operation uh helper if you like it's very easy and here you see another very important aspect of our wallet and is the ability to Wi list and block applications so the first thing that you will do as a developer is making sure that you wi list the new application that you are de developing in this case the very complex counter so you can wi list that app sending the addresses that are forming part of those app and different that you can Mark and again happy to share the API at the end of this part so finally you're going to be calling one more right you're in one more user operation this is why um again user operations can make this very very quickly because we can send several at once we are going to be sending that WID listing operation and our first increment and coding with the signature um on that part and again we're going to provide the util so you can do this in an extremely easy way finally either uh you as a developer or the bandler will pick it up you can just call the entry point handle operations and you will process those operations from top to bottom um as shown in here I promise you one liners right for everything else I know that I'm almost done but I didn't want it to go away without showing you this how do we know if your user is kyc one line Kinto ID is kyc how do you know if it has one or another trade trades are listed on our website you can go right now to those documents number one is the worst is you have been blocked by one of those security alerts but in there you will have anything from USA accredited investors and many others that are part of this you can check if someone has those traits directly in there and some of those traits are actually ISO 316 uh 31661 uh country code so you can know as well the jurisdiction with only one line of code finally the most important method probably is sanction safe in a given country again one line of code which for many protocols apps and even layers uh to like like us was was literally uh an absolute nightmare to code all right so there are plenty of more on liners uh where these ones came from uh I'm going to share right now these um addresses for the Kinto on liners and our Kinto ID our repo uh in gb. Kinto xyc and of course you can go with very um uh large amount of detail in dogs. Kinto doxyz please follow us on Twitter Kinto xyc there is also a Discord that you can join with plenty of developers already starting uh doing this and I even have 29 seconds for a question if you have it uh if not we have a um a booth as well on the on the on the main stage starting tomorrow I will be happy to take any of your questions together with fed which is right there and he is one of our developers thank you very much for paying attention to this today looking forward to tell you more about Kinto cheers

Automatic transcript — names and jargon may be misspelled.