 Helo. I'm really happy to be here. I'm part of a small team called MMT, most of who are based in the southern hemisphere, so they 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 Dark Crystal. It's a peer-to-peer tool for securely backing up secrets using the power of community networks. We're really grateful that we've got a grant and we can make this project happen. 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. These tools give us massive advantages, but they come at a cost, and the cost is you need to look after your private key and the more we rely on them, the bigger the implications are when you lose your key. 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. The terministic password generators are quite interesting, but they've got some limitations. I'm not going to go into that now. There's UPOR, 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. If you don't know who AD Shamir is, maybe you've heard of RSA, Public Key Encryption. Shamir 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. The idea is you split a secret into shards, which are pieces of data, and you give one to each friend. The important thing is that each individual shard has no information about the secret. We can visualise it, simplified as a 2D graph. If we can imagine, our secret is the green line. The point where it crosses x equals 0 would be our secret, which is essentially a number, but it's a piece of data. In this case, we've got two points plotted on the graph, and they would be two shards. 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 out our curve and we've got our secret. In this case, the quorum is three, but you can have whatever quorum you want, depending on the mathematical function. You might have more than three shards. You could have, say, five friends, and three of them need to... You need a minimum of three, so if two of them you lose contact with, you're still safe. You can still get back your secret. I mentioned that there's already tools to do this. It's been around since the 70s. It's not anything new, so what is it that we're doing that's new? Generally, you put in your secret, and you get out the 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 you need to give them back to you. We've tried doing this, and there are different shards from different people, for different things. You can get in a big muddle. We're trying to automate things a bit, and we're also trying to keep things secure. We are using Secure Scuddlebot. It's a decentralized peer-to-peer protocol for social networks. It's offline first. It was developed... It was started by somebody living on a sailing boat who wanted to keep in touch with his friends and not always having connections to internet. It's got a really vibrant community, but the thing which makes it really interesting for us for this project is its gossip protocol. It's not like a blockchain, and it's not like content-centred distributed storage systems like that IPFS or BitTorrent, which typically are using distributed hash table to mean that everybody can connect to everybody. Everybody has, at least in theory, access to a ubiquitous dataset. Scuddlebot is using gossip. It's kind of... ..a user publishes messages on a feed, and it's replicated by their friends and friends of friends until a specified number of hops away from them. We wanted some replication because we didn't want danger 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 ways that they're encrypted, but we wanted to keep them within your social network. So that's what we're doing. So we've got a working prototype. It's embedded into a popular Scuddlebot client called Patchbay, and it's been since a few months in the world with people using it. So you give your secret a name, you put your secret, you choose who gets it and the quorum, the minimum number that is needed to reconstruct it. It encrypts the shards and publishes them, but there's still a lot of things that it doesn't do yet and 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 cosigners to gain consensus about payments. The more cosigners are required, the bigger the danger when people lose their keys. Because we're all based in different countries, we don't know each other... We do know each other well, but there's always a danger that you can lose touch with people. So as an extra step, we're sharding our keys and giving them to each other, which essentially means one less signature is required in a sense, but it means there's also an extra level of consensus needed. So it's useful in that case. Another one is inheritance planning, what happens to your cryptocurrency if you die or what happens to your email account or access to some other online service. Another one is if you have got some information which is very, very sensitive and might put you in danger, depending on, 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 critical of is this idea of trustlessness that you can automate everything with 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 the digital world. So we do all our development discussions in the open. You can find us on these Scuddlebot channels and these are our repos, all our codes in Node.js, and thank you very much for listening.