Alex Miller ~ Grid+ Lattice1 SDK Demo
Ethereum Denver·Wed, Oct 9, 2019, 12:00 AM
Alex Miller of Grid+ Presents Grid+ Lattice1 SDK Demo
Transcript
[Music] we try to reduce attack surfaces where necessary and then another aspect of that is the anti-tamper mesh so it's this this wire mesh that runs throughout the body of the device on the inside if you were to try to crack the device open drill into it disassemble it in any way you would short a circuit and it would blow out your chip with all your keys on it so there is an easy way to backup your wallets which I'll get into in a sec but it prevents against physical attacks in addition to just traditional hardware wallet types of functionality we have this concept of remote signing and that's based on permissions that the user would set up so for example if I want to allow Netflix to draw 13 dollars from 13 die a month out of my account I can set that up if they were to try to draw more than that it would reject the transaction and it would reset each month the other cool feature probably my favorite feature of this device is that we have the the user has access to very easy cold storage backups and restoration using safeguards which are these they just look like normal credit cards it's actually the same chip that you would find in a lot of credit cards and it's very good at storing secrets and doing all of the cryptography that we would need to utilize the theorem Bitcoin in any of the cryptocurrencies you want to use and then the feature that I'm going to talk most about today that sets it apart is its wireless connectivity so if you want to connect an application to this device you go through this pairing process in which you exchange your cryptographic keys and establishes your connection which I'll outline a little bit and this uses our SDK so just some quick shots of the basic functionality you have on the left our mobile wallet which will ship with the device it's going to generate a secret in order to pair and then the user enters that secret out-of-band this once the seeker is entered you can recover the key that made a signature on that piece of data from the phone and you've established your paired secure channel it's a hardware wallet so it obviously does basic Harbor wallet things like displaying a transaction letting the user authorize this is the default functionality but again recall that I mentioned permissions as well and then the safeguard so using safeguards is really easy you can load them up with your currency of choice and then or use it all you have to do is insert it into a device refresh your mobile app and that's your new active wallet okay so the SDK is kind of the meat of this talk it is a way to allow outside developers to build applications that would utilize this stateless and wireless signer inherit all of the security properties of how the keys are held and how are signatures are made it's a JavaScript SDK so our mobile wallet that I just mentioned is built to react native you can use it with react react native any server-side nodejs card that you want I would love to get this in other languages in the future but I just don't have the bandwidth at the moment and then yeah it just exposes all the basic functionality pairing permissions signatures and whatnot and we have Doc's I'm gonna go through a demo but if you want to look at some of the functionality you can go to grid plus SDK dot read the docs dot IO it's a lot more exhaustive than what I'll go through okay so to my right here I have a prototype of our device it is connected to the hacker Wi-Fi and what I'm gonna what I'm gonna do here is just show you how you would get a basic app connected using our SDK so you would import it an NPM module and you would first thing you would do if you wanted to use a network like aetherium you would have to setup a provider so what I'm doing here is setting one up that's gonna utilize ether scan and then once you have your provider you put that into your client config you specify in this case I'm going to specify a an actual host I'm gonna hit this guy directly but in in production we'll have a cloud router absorb proxy server that will allow you to connect based on a serial number which you can use or not you're always welcome to use a direct connection over LAN and then you're just going to instantiate and initialize we don't have time to type all of this out so I'm just going to copy and paste oops sorry wrong window okay so this is all callback based so after a period of time you're going to initialize that doesn't take any time Connect is just going to try to try to literally just hit a route of this device so now we know it exists so the part that requires the user interaction is the pairing process recall that you would generate a secret this one is not so secret and not so random so probably don't do this but you would generate a secret give it to the SDK and it would do all of the the key exchange and handshaking under the hood so when I do this hmm oh sorry it actually did work it's showing up on the screen here and I would need to pin in and so if I go back here it'll show that it's paired so again recreate the secret type in an out-of-band and exchange keys so now that we're paired that if we want to the goal of this is to send some ether what I would first do is get my dresses so we use HD wallets you need to specify a coin type and you just specify which indices that you want so if you don't do anything it'll just grab you a single address but I'm just outlining it here what this is saying is that I want to grab the first aetherium address and my HD wallet chain and I only want one hmm I'm getting bounced off not sure why okay I guess the Wi-Fi is a little shaky so yeah this will get my dresses I've posted this to a variable so if I want to see what that is that's my first address if I were to request more than one address it would return an array okay so this may or may not work but it does give you the ability to get a balance just using whatever provider you set up so notice here I'm specifying 'if I can blow this up a little bit to specify even I'm giving it my address that I want to get the balance of okay cool so that will get my balance if I want to check that out I can go to just go here I can see how many transactions I've made my balances okay so once I know what my dress is once I know that I have a balance I would build this signature request and I would make a signature request using it this params block is what you'll probably recognize these are just basic like since we're using an etherium schema these are just etherium parameters and you'll notice the schema code of the top so one of our design decisions with this thing is that we want to make sure anything getting passed and signed is highly structured so in the case of aetherium that's pretty easy because you have the same fields in the case the this one that I'm doing right here is an ether transfer so yeah so that requires the data field to be empty we also have ears 220 and we also have an unstructured transaction which would mean that you can specify whatever data you want but it gets marked up to the user but this is just basic example so do that alright it's my request so now I'm gonna it's going to make a signature request to this device so when I do this the device is going to require me to authorize this on screen and then also pin in alright super-secure pen so once I did that registers signature so if we're to look oh sorry actually we also have to broadcast this so this is again just gonna use that ether scam provider and it's going to broadcast this transaction hash and [Music] so it's gonna take a second to confirm once it's confirmed I can go back and check the the balances make sure they've updated anyway you get the idea yes so we have some bounties in case anyone wants to build an application that no case anyone wants to build an application here at a denver that utilizes this thing I've just showed you the basics of how to connect how to request a signature if anyone wants to give it a go we have three bounties the the grand prize is a thousand died and then we have two runners-up at five hundred I each the criteria is really just build any app that utilizes this thing will choose the best three if there are only three will choose all three some ideas would be meta mask integration would be super cool chrome extension so a password manager for instance or maybe something to interact with a maker CDP if you're gonna do anything interesting contract wise you're definitely gonna want to look at the eath unstructured schema this is all documented in our read the docs page but that's that's what its gonna require you to do if you want to interact with contracts just a quick plug as an aside we also grid plus has an energy business which as of the last week is live in the state of Texas don't yeah well so what that means is that most Texans can now buy their electricity with eath or Die or credit cards race eh if you're so inclined you can also redeem grid to knock out all of the up charge to get down to wholesale pricing so you pay what we pay if you've redeemed those so if you're in the center port or center point or encore regions in Texas I encourage you to consider this go to grip plus energy com sign we will be integrating this device on the energy side probably later in the year it also has a ZigBee module so it's capable of connecting to your IOT devices at home I think there's a lot of cool use cases but it also functions as you've seen it's just a standard or I guess above standard crypto hardware wall as well so that's it this is me this is grid plus thanks for thanks for watching if anyone has any questions happy to answer questions [Applause] I guess if we have a couple seconds we can check that balance got updated okay so you can see it was starting with a 61 before and it just took down a little bit it did it did change yeah it's a little smaller anyway yep that's a hardware wallet so question what kind of IOT integrations are you most excited about the ones that start with in Texas would be your thermostat smart thermostat and your pool pump the idea behind this to start will be that we have access to electricity pricing in a way that those device manufacturers do not in the state of Texas because we're regulated utility and if we if we can see a price spike in information we can if the user allows we can actually turn off their thermostat turn off their pool pump and they won't like you you get really ridiculous like very short interval spikes like in 15 30 minutes and in that in the Texas summer 3:00 in the afternoon if you're not home you probably don't care if you just turn off your thermostat for 30 minutes could save you a pretty significant portion of your bill so that that would be where we start and that's called demand response now's good oh one more do you guys have any plans for the price point of the device or how you're gonna do distribution yeah or is it not that far we have thoughts I don't want to commit to them in public but we do want them to be competitive with somewhat similar devices so there are devices that look similar that have displays right so we would want to target somewhere around that level but yeah oh one other thing that I forgot to mention is also if you have grid tokens where we think we'll probably give you a discount if you want to redeem those for for the devices as well and then dis re distribution we the first run will be like a couple thousand but it'll be kind of slow trickle we have to commit to like five to ten thousand to start all right thanks everyone Thanks [Music] ain't nothing I can say you
Automatic transcript — names and jargon may be misspelled.