Dark Crystal Secure Scuttlebutt by Peg (Devcon4)
Devcon·Wed, Oct 9, 2019, 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/4/dark-crystal-secure-scuttlebutt Peg talks about the Dark Crystal project. Speaker(s): Peg Skill level: Intermediate Track: Security Keywords: p2p, backup, networks, trust 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 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018. 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
hello I'm really happy to be here so part of a small team called mmt most of who are based in the southern hemisphere so they can unfortunately can't be here with me we've been working on some collaborative finance projects for about a year and our current project is called crystal its appeared to be a tool for securely backing up secrets using the power of community networks and we're really grateful that we've got a grant and we can make this project happen so the private key custody problem people are finally waking up to the idea that there's limitations of centralized services and they want more control over their data encryption tools are becoming more popular smart contracts and cryptocurrency digital identity there's a lot of tools now which rely on you having a private key and the more we these tools have got give us massive advantages but they come at a cost and the cost is you need to look after your private key and the implicate the more we rely on them the bigger the implications are when you lose your key so what can we do about this you can make personal backups you need to be careful where you keep them you can use a cloud service but probably you want to encrypt your key with another key so it kind of defeats the object deterministic password generators are quite interesting but they've got some limitations I'm not going to go into that now there's you port which is something that we're very interested in and looking at but the thing which has been getting us jumping up and down with excitement is secret sharding tools so if you don't know who ad shamea is maybe you've heard of RSA public kick public key encryption shamea is the s in RSA he published a paper in the late 70s called how to share a secret Blakely is less well known but published a very similar paper around the same time and so the idea is you split a secret into shards which are pieces of data and you one to each friend and the important thing is is that each individual shard has no information about the secret so we can visualize it kind of simplified on a as a 2d graph and in this case so if we can imagine our secret is the Green Line the point where crosses x equals zero would be our secret which is essentially a number but it's a piece of data and in this case we've got we've got two points plotted on the graph and they would be two shards and there's an infinite number of different curves which pass through those two points but as soon as we get a third one we can map our curve and we've got a secret so in this case the quorum is 3 but you can have whatever quorum you want depending on the mathematical function and you might have more than three shots so you could have say five friends and three of them three of them need to you need minimum three so if you two of them you lose contact whether you're still safe you can still get back your secret so I mentioned that there's already to do this it's been around with the 70 since the seventies it's not anything new so what is it that we're doing that's new so generally you put in your secret and you get out these shards which are long strings and you then need to find a way of giving them to your friends and your friends need to store them and it's given back to you and we tried doing this and when you've got a lot of different secrets different shards from different people for different things you can get in a big muddle and so we're trying to automate things a bit moves are trying to keep things secure so we are using secure scuttlebutt it's decentralized peer-to-peer protocol for social networks it's offline first it was developed it was kind of started by somebody living on a sailing boat who wanted to keep in touch with his friends when not always having connection to Internet it's got a really vibrant community but the thing which makes it really interesting for us for this project is it's gossip protocol so it's not like it's not like a blockchain it's not like content centered distributed storage systems like that ipfs or bits on which typically are using distributed hash table to mean that everybody can connect to everybody everybody kind of has at least in theory access to our ubiquitous data set and scuttlebutt there's there's it's using gossip it's kind of use a user publishes messages on a feed and they it's replicated by their friends and friends of friends until the specified number of hops away from them so we wanted some replication because we didn't want some really written one danger kind of if if people lose their shards but we didn't want to make things totally public even though they're encrypted theoretically you could publish these shards to a blockchain or make them public in some way so that they're encrypted but we wanted to kind of keep them within your social network so we've got a working prototype it's embedded into a popular scuttlebutt client called patch Bay and it's been since a few months in the world with people using it so you just give your secret a name you put your secret you choose who gets it I'm the quorum the minimum number that is needed to be constructed it encrypts the shards and publishes them but there's still a lot of things that it doesn't do and that we though we that we are hopefully going to make happen in the next few months so what can you use this for other than just being useful for backing up keys and secrets one thing we've been doing is managing our group funds in a multi sig wallet and if there's a lot of funds in the wallet we want to have a large number of co-signers to gain consensus about payments and the more cosine is required the bigger the danger when people lose their keys and because we're kind of all bases we're based in different countries we don't know each other we didn't know each other well but there's always a kind of danger you can lose touch with people so as a kind of extra step we're kind of shouting our keys and giving them to each other which kind of essentially means one less signatures required in a sense but it means there's kind of an also an extra level of consensus needed so it's it's kind of useful in that case another one is inheritance planning like if what comes to your cryptocurrency if you die or what happens to your email account or access to some other online service and another one is if you have got some information which is very very sensitive and might put you in danger depending on you know in a particular situation you might want to distribute the custody of that information among a small group or maybe you need to cross a border with a device which has got no encryption keys on it whatsoever and kind of recombine your secrets later so it's a trustful model one thing we're a little bit kind of critical of is this idea of trustless nurse that you can automate everything and have so much strong encryption and algorithms that you don't need trust we think human trust is really important and really powerful and we want to bring a sense of community to digital world so we do all our development discussions in the open here you can find this on these skuttlebutt channels and we although these repos all our codes in no js' and thank you very much for listening
Automatic transcript — names and jargon may be misspelled.