EthCC 2: Austin Griffith
Ethereum Paris·Wed, Oct 9, 2019, 12:00 AM
Speaker
EthCC 2 EthCC, the Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. Follow us : @AssethFR https://ethcc.io
Transcript
can hear me check check check ok hurry hey what's up I'm Austin Griffith I am the director of research at get coin and I'm gonna kind of talk about UX and trade-offs and kind of focus on recent projects I've had with meta transactions and Vernor wallets let's just dive into it so about a year ago year and a half ago I started building games on aetherium this is a hand-painted game called galley ass you kind of sail ships around but what kind of came out of that other than learning a whole ton about aetherium was that UX is really clunky and hard to do onboarding is even harder how do we how do we fix that right I've built another game at Edinboro again it was like you were constantly hitting meta mask dialogs and that just was not fun and then to get someone onboard they also had to have a theory so it's just a pain in the butt then I started trying to contribute stuff to the ecosystem kind of instead of doing games let's find something that someone might need I made a blocky miner that you know the etherium identic ons that they mined it didn't really do anything it just mined blocks but did like pixel the picture comparison and tried to show that the security wasn't wasn't the best with with lakis but that's just something that we learned right so then I made this like hackathon project called Nifty's first Nifty's whether we put an I in the word Nifty's for a RC 720 once it was just a fun project but it started teaching me about these the sort of spectrum of onboarding and and how you can get users in in in this one I learned that what we needed to do was so so instead of with all of my games you would have like this hard wall of meta mask and if you didn't have meta mask basically you didn't get anything in my game and this is the first one where I was like well at least I could do three reads from Adira and that's sort of obvious now that like we should have we should give the user basically the experience of the app without meta masks or anything else and so kind of like centralization came in with with my own servers and stuff like that but I just learned a lot from that and then that got me to meta transactions so a Medic transaction we've already talked about it you probably have heard about it before but it's basically like a normal transaction except for it doesn't go on chain basically a gasless account can sign the call data of a transaction and send it to a relay network and that relay network can submit it on behalf of you and they pay the gas if they're somehow incentivized so that that means that your user can just drop into your page and start using the app by just signing things right an aetherium account is super easy like the key pair is super easy to generate you can generate them thousands per second right but getting eath is super hard you have to go you know how hard it is to get e so if if we want to onboard users kind of the pitch is let's let's pay for their gas let's give them the app upfront and let's let them use meta transactions and some other tricks to basically get into the app first and then later on we'll sell them on a C phrase and getting eath and all of that stuff that comes along with it then I kind of took like a side route we we launched get coin labs and we did the 133 7 standard that Scott just talked about it's kind of a recurring meta transaction just it just highlights that there are these other tricks that we can do with meta transactions other than just good UX with with these you signed a single meta transaction and then they replay and that's what's powering get coin grants right now you can get on and there's really cool CLR matching and neat stuff going on with that but it's basically recurring payment to help with open source sustainability and stuff like that so get coin labs was launched and then I kind of had these like week-long projects where I would just do R&D in a certain area and we did counterfactual instantiation and payment channels and a bunch of other things but then I'd over into meta transactions a while later and kind of this this idea emerged of native meta transactions where instead of using a bouncer proxy where you're you're sending that meta transaction to a relay network and then they're submitting it to a bouncer proxy contract and that contract is recovering it and putting it on chain to be cryptographically fact it's better if your redeploying your your contract now like if you're making a token and you're deploying that's open to chain or or any kind of you should be seriously thinking about respecting signed messages so it's super easy to do you just do an easy recover from the sign message you prove that this person was the one that signed it and then you use that account as the owner so instead of doing a message cinder you do the like a signer whoever was the signer of the the meta transaction so then the this this sort of got me back to where I was with the games where I was talking about mainstream adoption how do we get mainstream adoption well we got to get kind of some of the other stuff out of the way right so can we can we abstract away meta mask by just generating them a denim in an account when they land on the page right can we can we get rid of gas and having to understand eath by using these these meta transactions did I say enroll accounts ephemeral accounts first in meta transactions then ENS right get the get the hashes out of the way just give them a nice little name and then optimistic UI even right even block times are a little bit hard for someone to get around so you can prove that it's gonna happen your app should just just display that it's going to work right so I made this like ether jamjam and then at DEFCON 4 we did nuts upon a time which is like this collaborative storytelling app but the gist of it is you drop into the app and you just start using it you this was a collaborative storytelling app and you could just drop in and start writing parts of the story all of that was going on chain it was cryptographically backed but the user didn't have to worry about having eath or paying gas or any of that so then the next get coin labs weird we were talking about this burner wallet that I had I kind of have come up with this thing before Def Con and I showed it off to a few people and they're actually stoked on it and I didn't think they were going to be was just like kind of like a little funny proof of concept but it kind of got a little traction and so the the thesis here is that there are these emerging economies so we don't need blockchain in the perfect world but there are not perfect world places and maybe some would argue that even the world that I think is perfect may not be perfect and we should have blockchain but anyways there there are these reasons why maybe we should use these UX trade-offs and decentralization and all this stuff to to draw mass adoption and so kind of with the same idea of the ephemeral keys we I created this this burner wallet a textio and I have lots of help of course but basically it's it's the same thing right we have we have ephemeral keys we're going to run on the xt network he just mentioned that the last speaker talked about the xt network you've got fast transactions you've got super cheap fees and the native currency has died so low cognitive overhead if you know you have one die you have one dollar so then this really really simple web wall that started to grow into the burner wallet and how many people in here actually have a burner wallet in their pocket anybody oh yes all right you guys are awesome that was for anybody who couldn't see that was like sixty percent I would say alright guys got it that's wonderful so the burner wallet is a textio and it is this web while it's kind of evolved we've done I think this is an O that was in French I think that's French it's it's been translated it's I've had a lot of help with design we've built in a lot more features to the wallet like there's an exchange where you can easily go from E to die 2x die to even a token if you want to run a conference and I'll get to that there's chat there's a lot of other features that now we're kind of thinking that we need to kind of pull back from a little bit to speed up the load time and we'll get to that eventually so then we kind of thought well wait a minute this wallet works pretty well what if we what if we used it at Denver to buy food at the food trucks that would be that would be probably a horrible disaster to try to have people have to pay crypto to buy their food especially thousands of people and so before so we got the wallet pretty solid but to test this out six weeks in advance before eath denver i did a one week one per week event called cypherpunks speakeasies and what we did at the speakeasies was we emulated the exact setup of what eath denver was going to be so you got these paper wallets okay I'm gonna jump over here I think my paper wallets are here I can hand out a couple sorry sorry dude so we printed out these paper wallets that had private keys on them and the private keys so here here we go Oh back to the block E minor I mined hearts and so that account is like a heart but basically these paper wallets have a private key on the inside and that private key is preloaded with enough funds for the person to buy a beer and a half and also gas so they're tokens so you've got you've got E and then you've got dye and the of X dye and then you have this burn token as what we called it and the cool thing about having a token that's running on X dye is that you need to have about a penny of X dye and a penny will get you hundreds of transactions but that's all I had to really drop it like real money that I had to send to participants was like a penny and then they would take their tokens and they would go up and they would buy a beer so the whole process is basically you get handed one of these at the door you shoot that private key with your camera phone or a QR code reader it seeds a wallet so you basically have a wallet with money in it ten seconds later maybe probably 15 with the slow load times that we're working on but basically like with within a very small fraction of time you have a web wallet that's running on your phone and you're ready to buy beer so then you walk up to the bar there's this was basically what the bartender looked like he had this QR code here you scanned that with your scanner so this is the little Scan button here right there you hit that button you scan the QR code and you got a beer and basically I repeated that process for six weeks just having participants go through the whole thing where I would I would buy them beer they would go to the they would go to the bar they would I would hand them to a paper wallet they would go to the bar they would buy beer and there were little things like this little send button was up in the top right and people were like reaching with their other hand to click it so I'm like okay I got to get that down closer to the thumb like little things like that we just iterated on over and over to make sure each Denver ran smooth so then at eath Denver we we pulled it off pretty much there there are some some we learned but basically the numbers are we had four thousand four hundred and five meals purchased and that was let's see each purchased was about you can see this here is point zero zero zero zero four six cents so each transaction cost that much to purchase your meal and it was the exact same process here they got a solid coin instead of a paper wallet you can see the solid coin being scanned in here so basically that right there that video right there is the process of onboarding you hit the the scanner and you have the wallet and so then you walk up to the food truck you scan their QR code you say I want to pay for a meal and it's done so four thousand four hundred meals point zero zero four six cents so if we multiply that out it comes out to about twenty cents so the entire event with four thousand transactions ended up being 20 cents to run on X day so super cheap and and really like Igor deserves that right that's POA running an awesome Network the vault the wallet is just like the fourth thing right you've got quick transactions cheap transactions pin to the dollar and then the last little bit was let's throw the private key in local storage and make a web wallet and make it quick but so then we had 40,000 to add to that there's $40,000 that was off ramp to the food truck so there was a lot of money that moved through the food trucks all got paid we had kind of the gotcha system is we wanted to be safe you ever want to be safe with how we distributed funds so we had a wet Oracle in the middle which was basically a human that when when the the food truck on their iPad so they use their own devices that's also something we should say like when the food truck was going to sign up for Buffy dye which was the currency basically they just went to Buffett Ida IO on their iPad and they had a wallet so we just scanned in their own QR code and they had a wallet just like all the participants but but basically the food trucks had a cash out button so they would you know make $1,200 a night or whatever it was they would get to the end of the night they would hit cash out and that would basically like signal something to they burned they actually burned their tokens and by burning the tokens that would send a message to our Oracle and then our Oracle would trigger with another button push that we could have totally automated but didn't for safety he pushed a button and that triggered wire transfer it like send wire wyr he triggered a wire transfer that sent him die so they were paid in crypto the whole event ran on crypto but they're still at wet Oracle in the middle so I got a have the gotcha there so yeah check out the eath Denver burner wallet stuff there's lots of fun stuff there so now kind of moving on to what's next for the burner wallet and how we make that thing in 60% people's pockets in here that's awesome we got it let's get it up to 80% in a little bit let's see what we can do so what are we gonna do we're gonna have we're gonna explore the the first epoch is basically exploring this whole conference thing right so if we can create you a local coin we can white label your conference we can deploy a special token special parameters that's totally up to you so if you have if you have like a even a crypto meetup all the way up to you know DEFCON five we we would like to be the currency at that event and the wall at that event because it's just really easy to onboard anybody with this this system so we're gonna kind of focus on that try to build a portal for people to get into and kind of white label the burner the the next is just R&D we're looking at all sorts of neat things that so my theory is that now that you have a quick way to send money right you it's sort of like your cash in your pocket right it's analogous to cash you wouldn't want to put thousands of dollars on a burner you also don't put thousands of dollars in your pocket and walk around I hope so the burner is like your cash in your pocket now that you have cash in your pocket I think the next step is probably going to be spending that on at events but also on taps so I think that the R&D side is going to be looking at how we kind of wrap existing gaps with a burner provider or a burner wrapper maybe even we set up an API so people can sign things with their burner and then long term is adoption let's just let's make this thing work let's translate it into every language we can let's make it super simple let's just get it into the places where they really need it so this is a demo of just like signing with burner this this is my buddy Brian Ethier doing a demo where he has my dot IO I think oh that's localhost right now but it's my die calm or die or something like that but basically he makes a new wallet and just hooks it into the burner and I think he's what is he doing he's sending X died and basically when you send X die you can hook into the burner and you can say go and it's basically like an API that lets you there we go we see he triggered a transaction there at the end so there's there's this like kind of permissionless extensibility that can come out of this with the burner and we're also looking at wire integration so kind of this is the exchange page you can see that you can move you know X died to die and die to eath but even better what what would be cool is if you could use wire basically you select like hey I want to put my debit card in here so I want to take 20 five dollars and and pump that into my wallet put in your your debit card probably a little bit of k2 I see maybe like your address and stuff I'm not exactly sure I haven't jammed through the widget yet but it's going to be pretty simple and pretty awesome to be able to just pull up your burner wallet throw in a debit card and get 25 bucks that you can use in crypto now so now that you have the wallet or actually let's say now that my mom has the wallet and it was really easy to on border at Thanksgiving I basically just showed her QR code and she had a wallet with money in it what's what's next within the wallet and I think that education is really important I view this is kind of like the top of the funnel where a lot of people can come in but then crypto is complicated I mean it's it's a badass technology and I love it but it's complicated and so there are certain things that we have to figure out of like what what do we teach them about what do we hide away right and I think for UX and good adoption we have to almost hide everything away at first but then we have to slowly kind of show some stuff off so one thing is like a seed phrase should we after you've used the wallet for a little bit right you got right in you use it maybe you got you have 40 dollars in your wallet or something like that can we can we now since you're incentivized to protect that money sort of educate you on how to go about securing that and my theory from a long time ago was that you don't you just don't hit someone with the seed phrase at first when you're hit with the wallet download or you're hit with a seed phrase that's a really rough piece of adoption or I know onboarding soy but but but it's super easy when my mom has 50 dollars in a burner wallet to teach her about a seed phrase it's kind of like a password but if you lose it you're done forever we're working on better recovery we're working on it but but she's she's much more inclined to be educated about me tuck telling her about a seed phrase once she has that $50.00 in her hand but if I just hit it with that at first she's gonna black out and not want anything to do with it right yeah social recovery is kind of part of that and then probably a wallet download right once you if you have too much money in the burner wallet it probably should scream at you and call you a knucklehead and tell you to go download balance or something like that right can they download balance not even live yet is it okay cool so oh no my emoji seed phrases it didn't load in there supposed to be a little alligator and a fist bump right here I just I just set it up in the air BnB just now like I just edited these slides but the the idea here and I think we were Rick and I were at breakfast this morning talking about good ways to do seat phrases and we came up with an emoji seat phrase so instead of and and you know this idea has been thrown around this is Alex Van Deusen talking about something very similar but if I want to educate people and I want to do it in a very smooth and nice way can can we do emojis forc'd phrases right so so let's say you've used the burner for a while or you've collected enough money in your burner that we get to the point where it's like okay it's time for you to like level up it's time for a little gamification what if we slide something down and say you know like hey you want to learn about seed phrase and you say no and then like a few days later ah hey one of the like maybe if we do an emoji see phrase maybe you'd be more interested in that so if you could protect your cash in your pocket with just like six little icons you can tell a little story with those six icons I don't know this guy's laughing at a rocket cuz he's a cool guy on fire and he loves unicorns something like that right like if you could if you could come up with a phrase that you can remember and no one else can there's probably enough entropy in six emojis but maybe we could do some more well we'll have to kind of do the math on that so yeah I think we have time to do some a little live demo on-boarding kind of stuff what's my next slide okay cool so yeah so this is this is the burner wallet it exists at xti o we have collectibles I should have mentioned that but let's let's do some onboarding so someone who doesn't have a burner yet maybe someone with like an iPhone it's a little easier could you let's see if we can shoot let's see if we can shoot you a dollar so don't steal this anybody that already has an iPhone you can totally read this QR code right now don't do it okay someone who wants to do it so there we go it's George you got an iphone ready alright here we go so I'm gonna send him a dollar by what I'm doing is I'm gonna wrap up a dollar in an escrow account and this is an extra tricky live demo because I'm using the gas station network from yohave and we're hoping these real Ayres work but how do I make this bigger let's see that's really not big enough to read is it it's already going all right so what's what he's seeing is the burner loading page which we need to do a better job with also and then he's seeing a little page that says claiming and it and it basically takes the meta transaction he has a dollar everyone look at that so what happened there is I I wrapped up a dollar in an escrow contract and then I sent him a private key that can get that dollar out but he doesn't have any gas right he's got he basically has a wallet a text idea when you when you land on XTO it just generates you a wallet right so he has a wallet he has a key pair but he hasn't any money and he needs he needs a little bit of X tie as eath basically as gas to be able to claim that money so I sent him a meta transaction along with that that key pair and then what he has to do is submit that meta transaction - yo halfs gas station network and the O as gas station network is a decentralized set of real Ayres where there's a smart contract that lets you register your relays and then there's their staking and slashing on chain to keep them honest and what happens is his meta transaction drops - one of the real Ayres depending on we you know you just kind of pick one and instead of going into a pool it's basically a relay returns pattern where he hits a relay ER with his meta transaction and the relay immediately returns him normal aetherium transaction signed and ready to go and if it doesn't he'll just hit another relay right so he's got a list of relays they're incentivized to perform correctly and he can just hit a couple of them he can hit the first one in if it doesn't immediately respond with a normal HTTP response he can pick another one and basically he did he picked one it went through that meta transaction went on the escrow paid him back and he got a dollar without ever having to have any so basically he he took a picture or he scanned a QR code and he had now has a wallet with money in it and that's that's like the the top of the funnel right for onboarding right you can get your gam-gam in on crypto by just showing her a QR code so we can do it again but this will be a little race we'll see who gets it I'm gonna put five dollars up in a QR code and whoever scans it will get that five dollars a lot of people will probably get a little thing that jams up and tells them you didn't get it but I'd be interested to see who get who does get it anyway anyway to get five bucks oh I closed it too did anybody get it in time here let me do another one this will be three dollars so yeah this is like the coolest way to on board somebody is just a walk a hit link put a couple bucks in it and just like kind of show on that QR code what other I basically just have a thank you slide how what am i how am i doing on time what time I supposed to stop my good I have one minute okay any questions how about that look at everyone get that $3.00 any questions about the burner wallet meta transactions yes mr. ENS I have a question yeah okay I have a question about utopia DeBakey and there especially because I work at NASA and then you mentioned like a you know a couple times which is great but what I'm trying to think is what would happen interfere with up in case of ENS would you want us to deploy points on unis on the poor Network and its own naming or would you rather be friends back to the main yeah yeah so since it's on main that I can just go do a read off the main map right so eventually I'll probably register them their own subdomains a burner wallet but I think I'll keep it on the main map I think yes so that's another step of like the gamification right once you've once you've gotten in and you've used it a lot I think that deploying them their own like gnosis safe or some kind of multi-sig on behalf of them and then put the hook hang up ENS on top of it is good is that what you're asking me yeah this on yeah on though on the wall on the the contract wallet yeah yeah okay here's my ENS demo let's see if this works so you go to burn a wallet you type in the to address Austin Griffith eath there we go so it does respect DNS it goes out to the main network and does it yeah anybody else come find me and I will give you a dollar to get on board it onto the burner wallet and then you can show it to your grandma and tell me how the user experience goes all right thanks guys [Applause]
Automatic transcript — names and jargon may be misspelled.