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

Loading player…

ERC725 - The Future of On-Chain Interaction by Fabian Vogelsteller (Devcon5)

DevconFri, Oct 9, 2020, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/5/erc725-the-future-of-on-chain-interaction One of the biggest problems for blockchain its is difficulty to store and secure assets and manage interacting with a blockchain. The main cause is the use of private keys for the source of interactions on-chain. ERC725 is a standard proposed to make abstract accounts from keys to a smart contract account. This not only makes security upgradable, but lets accounts become information holders. Fabian Vogelsteller the author of ERC20 and ERC725, the Mist browser and web3.js will talk about how on-chain interaction should look like. Speaker(s): Fabian Vogelsteller Skill level: intermediate Track: Security Keywords: technical Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 5 was held in Osaka, Japan on Oct 8 - 11, 2019. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

[Applause] oh this is the UX prank art room and it's all about like you know how do we do blockchain easier and better I think I wouldn't go quickly to a slice because it's not that complicated as most people will get the problem definitely so we have obviously I would start with two statements segment one is I think 2019 is the year of web through UX I mean that's kind of most people questions we had so far in the last few in the last year in the last few months was can how can we make this work three easier in better and a lot of actually solutions already tried onward but it doesn't really unify in a very common thing people use and to make it better the other thing is I guess that's my assumption is that next year actually we will see the first applications that will be used by the mainstream where adoption might not be even in the port front and will not be about blockchain it will be about some cool app or some cool thing to do and by the way you also use the blockchain to some degree the big problems we have with Bronx doctrine UX or the web 3 UX is maybe actually start shortly about my background and everybody knows my background here or again who does not okay so quickly so I actually been part of the theme foundation since 2015 I joined in January 2015 have built the MIS browser new people have not heard about that but in fact in the day it was the first season first app browser we kind of coined the term D app and the theme wallet was one application was in dismiss browser and I have worked on web switches kind of like the JavaScript library I guess most of you use that is the library kind of like you know we define like the first way of how you interact with so much contracts and one chain and guess where Fuji is is one of the first ones that made like building on the blockchain easy and more fun to do I hope so my kind of like bigger work besides like being in there were three teams it's a long time actually was the 1.0 build which was recently developed released so I have kind of like you know came up with this API to make it the way how this and I hope it's intuitive say yes so the big problem actually so okay okay it's also easy xx which I propose 2015 that's kind of like what then the non tech people know and also something which I will be speaking today which is is a seven to five some big problems all unchain is obviously the business probably the one of the biggest ones you want to do a cool app which uses blockchain and the first thing people encounter is gas and especially even if you get you even if you come from the blockchain of Bitcoin community known as the areum you're totally puzzled what that even means it's got an extra token and now if the gas talking actually people think it's a token so what is gas and most of the people don't know why I now need something called ether just to do something in a box chain based app and the other big problem is everything is stored on keys today so the way of how we interact with the blockchain is we generate a private key or we have a private key of some water and this one signs the transaction and we send it to the network the problem with this is we are dealing here with the lowest level component of how you can interact with a blockchain and we store all our assets and our things on that lowest level a tool or access point by doing that we run in a few problems you have to back them up you know you have to actually ask your user to create a very secure backup which in today's terms means writing down words on paper people don't have so we force them to make screenshots and storing in iCloud which is the worst form of safety just in case you know we have a bit more security the problem is you know you make people go through hurdles and complications at the time where they don't even care you know or nor know if they ever one day you see at the first place so you end up with basically a lot of leg drops out right at this point of time so only the tough one really let you know what's in vests or to something in is that we'll go through this lengthy process and you end up with many apps many backup keys and you somehow have to manage them you know the old or new say guess what you know maybe in case we have some some value in the future on that and it actually happened a lot of times I think of crypto kitties you know whoever thought that this would be worth anything until it did so used to seven to five kind of initially was in 2017 or something the idea okay how can we make basically in an Unchained account or back then I call the dungeon identity until the whole identity community like backslash don't need Omega RT chemical edit identity and basically to actually unify this whole thing of like how I managed ever my account on chain and how could I have an account which can receive actually information and this led to T years 75 proposal which was in 2017 of Touhou actually and another thing consider the seven three four it was rather complex but I think what I did is for it was for the first time showing of how can I make a smartphone a base account with some sort of key management logic in some of claims that can attach to this account and it kind of showed the full picture of how can this look like in smart enough language it spurred on it kind of like activated the whole discussion around our identity blockchain and so on even though there were pretty set I was like you fought on others who did that before me I kind of like proposed this out of the feeling of you know how to urge to do it like I had also diverse to propose you see 20 in a more public place rather than this Vikki page which we had before and you know it kind of like myself the right timing at the time and it's dirt this discussion so all of this came you know people say alright right there's an eternity stand up we should all use it and the origin protocol all guys launch the Alliance around it and then we had the telecom channel and a lot of people join this alliance and kind of everybody like an huddled around the standard but not really developed it further or actually started to use it so one thing is having a standard the other thing is having an alliance for a standard but they're actually important things having people use it you know and make sense of it there are also problems especially with the earlier version of 7 to 5 is that it's very complex and it is very specific also and how you do key management and how you do certain things and that kind of led a little bit to I would say a stifled progress or speed of like adopting it so we had some discussions with people there we came up with is a 7 to 5 actually Taylor came that to me is that hey here have some ideas and let's talk about it and that kind of led to the year 7 version 5 by person - and the interesting thing about this it's completely made it simple and I think you know what if one thing is keys to success for standard it is simplicity so easy 20 was kind of the reason why it was simple to use and is 20 M is 75 version - in my opinion is also key of why it could be very successful because it's so simple so in in fact of what does it does you know it's like okay this is a smart connect which has an owner and it's like some some key value store in there and there's a generic execute function so it's actually not a lot of things text part is actually important because that allows you to do a lot of things on the blockchain so but in its core essence what is years in seven to five and not forget there is more to standardize on top of that services not there it's not they all in one goal the solution but it is a very key piece because it is the core piece of a on chain account so basically we store everything currently on keys if we replace this by a smart kind of base account we can add a few properties which we didn't have before and one is obviously I can use my account from different places which is exactly right now the problem so we all end up having met amassed may be having some lecture maybe having some other five apps and what happens we all use different accounts and all of them have different amounts ether or assets on all of them and some we don't even know that anymore that we have and we tend to be not use our own chain accounts often right you basically have one account per app which can be useful it can be very hard to manage especially when it comes around dealing with a different type of games or like one thing to access your your account in different places so the spot kinda basic challenge basically allows you to manage it because it has this owner address so owner means that is one address that can control this account and this one address could obviously be a simple key it could be a very simple a private key which would even the first one you generate in your application so think of application starts it generates a key under the hood this key does not need to be safe because it is a throwaway key you just use initially and the moment you get more value to it you can add more make it more secure so good you could even think of taking this key and send it via email as a backup process so that in case you look loose yet on the phone in the next few days you can easily reassociate your previous account I mean if we think about it we use email today for we saw as setting our password all the time right that's our security measure we have so email it's silly if you have access to emails you have access to everybody's accounts the email is the username and the way to reset the password that's already a funny thing so that's the security measure we have so why not sending a private key or some kind of generated link or so directly to this email the moment you can actually value on your account or you use it more often for something then you can actually attach a movie sick and have that multi-sig being the control of the account and that myristic could Ignasi safe it could be a complex permission contract that allows certain parties to do certain things through this seven to five account and others not so think of like you are a company and the seven to five is your company's official address if you have a commissioned contract where the intern can actually talk through the official address but only can talk to certain accounts or certain smart contracts and call only certain functions you can have your intern we use the official account without any kind of a security loss or it could be just a simple would be sick or on top of this this disallows also social recovery schemes and whatever else because whatever we come up with better ways of managing keys we can attach to the same existing account or to multiple of doors the important thing also is we can have meta transactions we can use the gas station network or other related services within those key managed accounts and suddenly completely hide the fact that a server a fee to be paid the future of blockchain should be the way of how the web works today meaning the application developers or the company who does it should build the I should pay for the usage at least to some degree until there's a way to recoup the payment I mean today nobody is paying for service of applications that we just download and use them all the time it should be the same with web 3 the relay protection service is actually the key piece to make it easy but this allows a lot more things so this in the first instance creates a management account so now I all not only have one key but I have a key or an account that I have can manage in all kind of ways and you know we can amend a lot of new things on how we manage doors but I can also attach information to it and that's what this key value stores for so the key value stores by 32 and bytes s value this means it can come up with all kind of things that we allow to be attached to such an account and this can be completely random things of links to reputation systems or whatever maybe from something you could simply attach an hour talk to this account to make it somewhat cooler right or the company's local or whatever but you can also link to all kind of other obtain more identifiable data that you don't want to reveal on chain but that somehow should be referenced and linked to the public identity or the public account you have here and whatever you come up with you know batches reputation systems link tokens whatever I mean you cannot just on these efforts have a lot of NFC sitting or batches whatever but you can also link to an extra reputation system sitting in another smart contract that allows a lot of flexibility and because there's so many more things we don't know what is coming having a key value store really allows for all kind of new things you know we don't need to think about everything right now and having to find these five things you can do on an unguent account it's an open-ended system so that actually creates a manageable verified account so using this as the default and beauty here is you can start out with a key verification the moment somebody purchased something or doesn't actually somehow creates value or money spend you can on the fly just create an account for him where this key is the owner the beauty is that now this person could actually take this account and take it into another application so we all start to use the same default account standard you can take your account across all of these different applications and it's a lot more manageable and it's a lot more easy to interact with one chain things so that can be rather cheap to deploy I mean these are transactions 21,000 gasps 32,000 for deploying a library that can be as cheap as you can get and it's basically it could be a long lasting manageable account and because it's a small contract and smartphones can talk to other smart contracts that's the big big magic thing which I guess a lot of people also that the film space has not have fully understood why he was awesome and the evm in fact is because of that fact that you can talk to other smart contracts that kind of makes your own shell account the actor on chain this means for other systems outside it's the same like before you know if a key is talking to you or smartphone app you don't care in fact here you can even check this month conduct we read some information you need maybe some verification or maybe some attach claims you somehow need and do something with them so message sender you know that's what all it doesn't necessarily need to be your person this could be one account you use you can have fifty if you want to I guess we end up with just a few and but you can use them for different personas you don't necessarily need to upload your picture and then go to the government and put the poo when you want an account just to prove that this is your account and then go everybody show everybody what you do but one of the biggest pieces in our society is actually transparency we are on Twitter and on Facebook on all of these platforms because we want to express ourselves so that expression needs a identity you can actually or an account an extra take around where would you correct right you can take care of that whatever is on there is what we want to put out there and seventy-five can be done also for companies also for organizations technically speaking the if your foundation should have a 75 account and not the etherium multi-sig from three years ago in official address which we all look at right so it's your Unchained account and it should be your gateway to decentralized world and if you want to do an energy then you rather look into off chain solutions like verifiable claims Doubletree see does great work on that and it's a lot of projects like three quarks and item three and you port and your Lacan which are working on it's kind of like real-world identities work which are not necessarily on the blockchain or only a flex light Jesus on the blockchain so what we have done is this the Eastern 75 Alliance obviously that's this the official of security implementation up to 75 version two as well they'll always it the issue where we discussed because currently the main thing we are doing analyzer this morning screen so the standard scenario so I'm working on this project lock so so this is a blockchain for the a new credit economies how we call it all for the lifestyle space one important thing here is this is the grameen of people who does not know tank nor one to understand book chain but they might want to create tokens or own things physically in digital so you need to make it easy for them to interact with the blockchain so we are developing and iterating on standard scenarios means like different standards like seven to five likely to certificates and others we're kind of like trying things out you know how it is could work in the whole flow together how it can own token there's a new standard we proposed which is the lowest one is actually a universal receiver standard that probably is the whole discussion itself but we have very short we have this problem of many tokens implementing different type of receiver functions so seven seven has token received year C two to three has I think also something with token fallback function or whatever I call so everybody has different function names if I want to have a generic account like it in 75 I run into the problem that that I have to implement at least like five different functions to receive different type of tokens or entities if we use a universal receiver is the one common function name the type and some data you passed with it you can be you are able to receive everything even future assets because you could operate either this part that receive stuff or just let your interface deal with whatever you received so the universal receiver is a very incremental piece in an on chain account for example and that's something we've proposed in our standards repository because it looks our standards process LSP so that's very much like the EIP repository just that is so the only difference is that it's a it's the blockchain around this lifestyle arena so we can discuss in a more calm space and it's not already so totally busy with a lot of competing standards we are in these standards warm you know everybody has the better centers and we don't talk anymore about more complex interaction models and the thing you have got a standard scenario and also or the LS piece we promote promote here is that we think not only about the individual standards but how this works in concert you know how can I make sure that I can easily read a portfolio of a given address how tokens interactive identity is how identities can receive somewhat different tokens into the future ones so there's a lot of things we should think more about how stuff works together and not just everybody comes up with that standard now we have one little more building block but five of ten you know and then they all don't work together and accounts reading talk with each other super complicated totally hacky so we wanna have compatibility means we need standards that kind of fit together that's already a question here hi we can say real words applications and posted as account about what about doing library but it's way like vacation so basically libraries force month contact I mean open setting is kind of like the biggest library for standardized smartphone works we have and I'm really understanding question it's something like an open source I mean something is kind of open source but you're talking about like how can other people contribute with different pieces or how do you have like perturbation in okay so if you want to kind of like attention formation like this it obviously belongs into the set data the key value store if you want to have email verification you always have to think about what this is you launch an account so you have continued teach you you know so of what they shoe that shouldn't do what I mean for couple through interfaces we know that when we post something Instagram it's pretty public so people are not posting their private naked pictures so here we have to treat it the same you're posting it unchanged so it could potentially be read by people so also making sure that what you would like that this is a public persona Ukrainian here versus maybe a private persona if you want to verify your manifest and I guess this service book should verify that and you could simply attach a signed message into one of the key value store which says okay we check the email and SMS play yeah that's what we would do I mean either this or a some kind of like registry which does like a verification someone you service could end the next rest month come back with just verification and then in the key value store you simply link to that registry that could be another way so the beauty of this key value stores it can contain data on its own but it could be also simply referencing other places to go look and if we standardize these processes we exactly know what to do now - each Kiba store that's yes instead of just happy no statement the proxy and control still unchanged because you can upgrade your new key management I mean you can build it then it's all in one contract from some of the own address could be itself you could make enough I mean actually happily on for me who sooner wallet build exactly a seven to five upgradeable contract where you basically have one address which contains the key values to an an owner and an additional like management keys systems you can build it as well and on the end you wallet only needs all your interface only needs to know gets the address it's the owner is the same Metro so what's the different address and then it has to look at what standard this is you know what kind of commercial thing it is so you can deal with that as well and then you can interact in this account in the simplest form is just a key you know which you have in your code but yeah could be in the same account I think keeping it separate makes a lot of sense because what I see is happening is you have and I know what the time is up and I'm just to keep the short this is permanent account 175 is probably something we want to keep for a while and use it in maybe some games or whatever else so it's a permanent thing we want to be secured the key manager is maybe something we can upgrade over time so having this in a separate smart contract keeps the risk lower for example the universe receiver contract the contract which knows how to deal with stuff you receive should also be a separate module because I assumed people will have paid that very frequently and if you all pack into one account then suddenly all of this code can buy it into the same slots potentially overriding all of the importance in there so keeping this in separate addresses which cannot really do things on the other side makes it more safe I mean is I assume there will be a future where people go to website and say hey download this new universe would receive our contract because now it's portable at the bar and then you just go ahead and upgrade your your account with this and if this would be the same account maybe just move your assets around or variety of storage values like this is the worst thing you can do is notify your interface box with the wrong Locker so practice good I think that's it time's up thank you so much [Applause]

Automatic transcript — names and jargon may be misspelled.