Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Greg Slepak: The Turtle Crawl Towards Internet Decentralization

Episode Date: July 27, 2015

Amidst all the discussion of alternative uses of blockchains, it is often forgotten that the very first fork of Bitcoin, Namecoin, pursued a daring vision for a decentralized, censorship-resistant int...ernet. Greg Slepak, co-founder of the okTurtles Foundation joined us for an interesting discussion of DNS, Namecoin and how blockchains can be used to decentralize the internet. Topics covered in this episode: What DNS is and the role it plays in the architecture of the internet What man-in-the-middle attacks are and why certificate authorities offer poor protection How certificate authorities, SSL, IP routing and VPNs work Why the current model is broken from a privacy and security perspective How Namecoin and the blockchain could enable a decentralized and more secure internet The security risks when online identity is tied to a private key and how they could be mitigated What DNSChain is and what projects okTurtles is working on Episode links: okTurtles Foundation Namecoin Primer Namecoin Website Airplane Wifi is not safe DNSChain demo This episode is hosted by Brian Fabian Crain and Sébastien Couture. Show notes and listening options: epicenter.tv/089

Transcript
Discussion (0)
Starting point is 00:00:00 This episode of Epicenter Bitcoin is brought you by Ledger, makers of the Ledger Nano Hardware Wallet. Half piece of mind and knowing your private keys are protected by industry standard physical security. Go to ledgerWallet.com to learn more and use the offer code EB-09 at checkout to get 10% off your first order. And by CoinCap.io. With over 500 altcoin exchange rates updated in real time, CoinCap is the authority for cryptocurrency. market information. Hi, welcome to Epicenter Bitcoin, the show which talks about the technologies, projects, and startups driving decentralization and the global cryptocurrency revolution.
Starting point is 00:01:06 My name is Sebastian Kutjua. And my name is Brian Fabian Crane. We're here today with Greg Slepac. He is the co-founder of the OkT turtles Foundation, which is a nonprofit that works in the sort of beneficial use of decentralized technology. The thing that sort of comes to mind and that we were recommended to have them on for is is DNS, but they've broadened their focus since then. So I'm really excited to have Greg on to talk about some topics that I don't know that much about.
Starting point is 00:01:36 Thank you for having me. And we've broadened our focus for sure. But we're certainly still focused on DNS as well. So it's not like we've abandoned it. We're definitely still working on that. I'm certainly glad about that. Well, let's get started with that topic of DNS, if that's okay with you. and then maybe later we can talk a bit about the OK Turtles Foundation in general
Starting point is 00:02:00 and also some of the other things that you guys are working on. Sure. So with DNS, can you tell some people who are, you know, technologically illiterate or semi-illiterate, like myself, maybe slightly exaggerating, what exactly DNS is and what its role is in the sort of architecture of the Internet today? Sure. there's so much technology out there for people to try to wrap their heads around.
Starting point is 00:02:30 So not understanding one component is certainly understandable. I'm fairly illiterate to how my car functions today, for example. And DNS is this one part of one central, crucial part that underpins how the Internet works. The purpose of DNS, it stands for a domain name system. It's the system that makes it possible for you to visit websites. That's basically a very rough description of it. So it's specifically the system that is responsible for converting website domains, like, for example, Twitter.com, into the digital address of the actual computers that are running.
Starting point is 00:03:18 It's how your computer is able to find those Twitter servers on the internet. So, I mean, DNS plays such an important role in just how we use the internet every day. Everybody uses DNS all the time without even knowing it every time they attack a URL. So it's my understanding that, so there are multiple DNS servers, sort of high-level servers around the world, and that for every top-level domain, there are also DNSes. And so the top-level servers sort of ping those. So if you go, for example, a doc-TV domain name, you know, the DNS server. that you're connecting to will then go and find the DNS server from the Tuvalu Islands and,
Starting point is 00:03:59 you know, they'll send you back the IP address. Is that? Well, I'm surprised you're going into such depth immediately because maybe we should just describe what an IP address is first. Oh, no, no, no. I think our guests, our listeners know what an IP address is. Yeah. Well, I think it's worth, because I was actually going to ask exactly. So the way you talked about it, right? So what's the role of IP addresses there, which is basically, right, the address of those computers or servers that then either host a domain or that may be host on the other side, the user's computer or some other destination?
Starting point is 00:04:41 Is that correct? So you can think of an IP address as just like the digital internet version of a house address. So when somebody gives you your house address, they are able to, you know, give it to people so that they can drive to your place and meet you. Well, on the Internet, it's very similar. They use numbers. And when you give somebody an IP address, your computer is able to, through a series of networked routers, find the destination that it wants to communicate with.
Starting point is 00:05:12 But IP address, the problem with IP addresses is that they're very difficult for humans to memorize. it's far easier for me to remember Twitter.com than it is to remember the IP address, the numbers that represent Twitter.com. And furthermore, those numbers change. And sometimes they change fairly frequently. So Twitter.com may even, you know, change the IP addresses throughout the day
Starting point is 00:05:41 based on load balancing or from where somebody is trying to contact Twitter. So that's why it's really useful to be able to ask what is the IP address for Twitter.com and then communicate with that address because the number that you get could be different as well. And that question, what is the IP address for Twitter.com? That's the kind of question you would ask to a DNS server. That's right. Okay, so your computer would sort of have hard-coded in it maybe or your router or something. the address of some of these DNS servers
Starting point is 00:06:17 to go there and then ask, where is this domain, where is this domain, where is this domain, and that gives it back the address, the IP address of that domain, and then the computer knows where the ping to get Twitter or something like that. Right, yeah, and they're not hard-coded. Your computer gets the DNS server's IP address from your, usually for most people,
Starting point is 00:06:39 from your internet service provider. So, for example, if you get your internet from Comcast, you'll be using Comcast DNS servers. But that doesn't mean that you have to. You can go into your computer settings and change the DNS server IP address to anything you want. And so you could use different DNS servers. Right. So, for example, like Google has their own DNS or you have open DNS, which are sometimes faster than some of the DNSes that, or have other, you know, additional features that some of the, the ISBDNES have, you can go in and change those.
Starting point is 00:07:14 Yeah, let's maybe pop the stack a little bit because it's almost like becoming a computer science course or a networking course right now. And maybe our audience is like wondering, well, you know, why are we talking about this? What is sort of the importance and the significance of discussing this internet DNS stuff? I mean, what first comes to mind is censorship and also security. So those two topics play a huge. and significant role in DNS. And it's why we really need to understand these systems and what's going on with them.
Starting point is 00:07:48 Because if I, for example, in many countries, they censor websites. And they can, they do that through the DNS system. So they can block Twitter just by making their DNS servers refuse to give you Twitter's IP address. Okay. So, but what does that mean if you know Twitter's IP address from somewhere else and you don't have to rely
Starting point is 00:08:10 the DNS server to give you that IP address, you can then sell access Twitter? That's right. But not in all circumstances. So I believe in Turkey, they were doing something along these lines, where they were simply preventing their DNS servers from telling people about Twitter's actual IP addresses. But if people, and so you might have seen also images of Google's DNS server IP addresses spray painted onto walls 8.8.8.8. It's a very easy to remember number just eight four times. And so people were simply manually changing the DNS servers they were using and then they were able to access these websites. But in other parts of the world, like in China, they go a step further beyond the DNS system and actually block the IP addresses,
Starting point is 00:09:02 block communication to Twitter's IP addresses. So the issue of censorship, I mean, it is a issue if you're in Turkey, if you're in China or if you're in some part of the world where there may be some insurgency or some sort of protests and the government is trying to regulate and censor information that is coming out. But in most cases for people living in the developed world or even in developing countries where there isn't necessarily like institutions institutionalize internet censorship like in China, for instance. This isn't really an issue day to day. But it can be a problem.
Starting point is 00:09:49 I mean, this is what I want to ask you is how can it be a problem then in terms of being a vulnerability for just regular people being exploited by hackers, for instance? Right. So that's the second major problem that can occur with. the DNS system. Maybe can I just, so I think Sebastian's question is great, but I just wanted to sort of circle back here, because the flip side of what Sebastian just said, does that mean that, you know, for me living in Germany, spending time in Europe, et cetera, does that mean that that first
Starting point is 00:10:29 question of censorship is really something that personally I don't have to care about and maybe more from a sort of moral perspective or because of, of, of, you know, other people of political reasons I may want to care about, but like practically, it doesn't affect me? Well, if it doesn't affect you, it doesn't affect you. If you care about the fact that it affects other people, then there are steps that you can take to help those other people to get around the censorship that they're experiencing. And that's actually something that we were working on as well, this subfeature of DNS chain
Starting point is 00:11:02 called Unblock, which we can get to. But to go back to what Sebastian was saying, the second big problem that is, you know, can occur with DNS that has nothing to do with censorship is simply security issues. And these are actually, you know, fairly significant where people in developed countries or, you know, in the so-called first world, they can, the DNS system can be used against them to make them visit malicious websites or simply as a form of surveillance. So that's, that's probably a third issue that we should bring up as well that every website that you visit, you know, that the fact that you visited that website is being recorded somewhere. So does that happen because like let's say I'm at home,
Starting point is 00:11:46 I'm using my ISP, I'm asking them, can you give me the IP address of Twitter? They give me the IP address of Twitter. So now my ISP knows I went to Twitter and they record that and they can give that to the NSA or something. Is that what you're talking about? Yeah. Yeah. And then there's the problem where your ISP or somebody between you and your ISP could give you the wrong IP address to a website that looks like Twitter, but isn't Twitter.com. And they can perform attacks based on that. So for that, we have a different system called HCTPS to try and protect against those kinds of attacks. And so those attacks are just man in the middle attacks, essentially where you have you and your ISP or you and the ISP and the server you're connecting to and someone is sitting in
Starting point is 00:12:35 middle and is pretending to be the website you're going to, but in fact, they're just passing the data through their own system and potentially manipulating it or collecting it. Right, right. So just to clarify that, so how, if I, if I was now the ISP or someone, someone like that, how would I go about doing that? Because I mean, I don't, I'm not Twitter, right? I don't have, for example, their server code or something. So does that mean I would, let's say Sabancia, you wanted to access Twitter
Starting point is 00:13:11 and I wanted to do a manual and middle attack? I would get your user request and I would go to Twitter and just get their HTML and JavaScript and show that to Sebastian. So it looks like Twitter, but it's actually my code and I can change it. And then I feed his responses back to Twitter. Is that how it would work? Essentially, well, yeah, so let me try to give some more details to what you're saying. So for the purpose of this example, let's just forget about HTTP
Starting point is 00:13:43 and pretend that Twitter was being served just over HTTP. And what does that mean? That means that the connections are not encrypted and they're not authenticated. These are, for the purpose of, I guess, this conversation, these are probably two of the most important themes that we should be kind of discussing in and periodically revisiting. The two concepts of encryption and authentication. So let me just quickly cover that. Encryption is when you take information that a human can read and understand and make it unreadable to them without some kind of a secret.
Starting point is 00:14:23 That's unknown to them. And authentication is when you... ensure both the integrity of the data and that you're actually talking with who you think you're talking to. So I can be having an encrypted conversation with somebody, but I might not know who that person is. I might think there's somebody else. And that's, and that basically makes the conversation not secure. So for a conversation to actually be secure, it has to be both encrypted and strongly authenticated. So, but to go to the example where you were talking, about man in the middling Sebastian's connection to Twitter. Let's just consider what would happen
Starting point is 00:15:06 if Twitter wasn't using HTTP. They weren't encrypting the connections to their servers. All you would have to do is pretend to be Twitter. So you could have a server running somewhere that serves a website that looks just like Twitter.com. You could even be passing traffic back and forth between Twitter.com and Sebastian without even having to necessarily copy Twitter's interface or anything like that. And then just reading what's the conversation, you know, you would be able to steal Sebastian's password and then hack into his account. Or you could modify, or you could inject like little pieces of JavaScript or something into Sebastian's version of Twitter.com that could also do various malicious things. And to do that, you would have to be
Starting point is 00:15:56 somewhere on the network in between Sebastian and Twitter.com. And so if we're bringing HTTPS into this mix, I mean, I have a pretty good understanding of how this works and what you're, so if I just rephrase that, so basically when you're on a non-secured connection, even within your own house, or when you're at a cafe, for instance, if you're using non-HGTP, yes,
Starting point is 00:16:21 just plain HTTP, everything that's going out of your computer is in plain text, so that includes logins, passwords, etc. And then in that case, it's really simple and pretty trivial to do a man in the middle attack. Forget copying the interface and feeding it back to the person. You can just grab usernames and passwords from the traffic.
Starting point is 00:16:44 Now, when you start having HTTP connections, that's where I start to not understand how it works. So can you explain how in an HTTP scenario, let's say Brian and I are in a cafe, Brian's met in the middleling me, and I'm using Twitter on HTTP. How would that work? I'm going to actually explain how that would work. I would have to talk about public private key cryptography and do my best to keep it simple, basically, to actually answer your question in other words.
Starting point is 00:17:19 So I apologize if this gets a little too technical, but I'm going to try to keep it as simple possible. There are two kinds of cryptography. One is called symmetric cryptography and the other is kind asymmetric cryptography. Or rather, I should say, there are two kinds of encryption. I think we can assume that people do know, you know, this is a Bitcoin podcast and a podcast of a cryptocurrency. So, you know, with public and private keys and with Bitcoin, I think people are familiar with public and private key cryptography. Right, right. So the kind that's used, in HTTP is asymmetric encryption. And here's what that makes possible. In asymmetric encryption, there are two keys. These are two pieces of data. One of them is kept secret,
Starting point is 00:18:09 and it's called a private key for that reason. The other one, you tell anybody, anyone who you want to be able to send you a message securely so that nobody except you can read. And that one is called the public key. So you give your public key, which is just a piece of data, to the people that you want to be able to communicate with you securely. So in this case, Twitter.com would send you their public key. And then using their public key, you can pass all of the messages you want to send to Twitter.
Starting point is 00:18:40 You can encrypt them with that key and then send them to Twitter. And that encrypted information can only be decrypted read by Twitter because only they have the private key. That's the basic idea. but in reality that's not entirely how things actually end up working or rather that that is how things end up working but there is a problem in HTTP and this is kind of the same problem that happens
Starting point is 00:19:07 in all secure communication applications which is how do we get the public key to the user securely without that key being switched on its way there and that's the basic attack so if I wanted Sebastian to be able to send me a secure message, I would have to send him my public key. If I send him my public key over the internet, then somebody in between us can receive my public key and send Sebastian their public key instead without him knowing that.
Starting point is 00:19:39 So when Sebastian communicates, thinking he's communicating with me, he's first communicating with this man in the middle. And so as he sends his message on its way to me, he's encrypting that message with the public key that belongs to the man in the middle. And then the man in the middle decrypts it using his private key and re-encrypts it using my key. And so the man in the middle is, again, it's as if we were still talking in plain text. The man in the middle is able to read everything and he's able to manipulate any of the
Starting point is 00:20:09 data. Right. So neither Twitter realizes that they're encrypting the stuff with the wrong public key, nor does Sebastian realize that he's encrypting stuff with the wrong public key. and so it may look like a perfectly fine interaction where nobody realizes that they're being attacked. Effectively. Well, so HTTP is, that whole system
Starting point is 00:20:33 tries to address this problem, but it doesn't do it very well. Here's how it tries to address this problem. It says we're going to trust these authority figures who are going to vouch for public keys, basically. everybody on the internet is going to trust these people. These people are called certificate authorities. They're not really people.
Starting point is 00:20:56 They're more like entities, organizations, which can have many people working for them. And so web browsers actually ship with the public keys of these organizations built in. So a web browser might ship with, say, 200 of these public keys. Like when you download a web browser, it comes with those keys packaged into it. This technique is referred to as public key pinning.
Starting point is 00:21:18 When you pin something, you basically ship it with the software so that you have that key already known beforehand. And these 200 organizations or so, they can actually allow other organizations called intermediate certificate authorities to have the same power, which is vouch for the authenticity of some website. So when Sebastian visits Twitter.com, he'll see this little lock icon in the main. menu bar. And if he clicks on that lock icon, he can read about all of the information that I'm talking about. He'll see the name of the certificate authority there. It'll show that information there. If you click on the lock icon and view more, different browsers do it different ways, but they'll all give you some way of seeing what certificate authority said that this connection was secure. And how did they do that? The way that a certificate authority vouches for the
Starting point is 00:22:15 security of an internet connection, is they basically sign a message using their private key. And they're able to sign website public keys. So Twitter.com can go to a certificate authority and say, please sign my public key. And then they'll be given a document called a certificate that proves cryptographically that that certificate authority said that their public key is legitimate. So the implications of that would then be if you want to do that man in the middle attack, but now we have HTTP in the fold, right? If I'm the attacker between you and Sebastian, I would need to get some certificate authority to sign my public key so I can pretend that I am Twitter to both of you. Exactly. Yeah, that's exactly it. Because I guess there are a thousand of them.
Starting point is 00:23:09 well, you know, it's not it's totally not unfeasible that some of them or at some point some of them will be corrupted and particularly if you are a government authority then you'll be able to force them to sign your public keys.
Starting point is 00:23:27 Yeah, and you don't even have to force them necessarily. You could hack into them and without their knowledge, sign a certificate. In terms of protecting yourself against this, there are different ways that you can do that, I believe. So we'll talk about DNS chain, et cetera, in a minute. But using a VPN, you know, most people think, so I personally use a VPN when I connect on a public Wi-Fi or something like that.
Starting point is 00:23:52 And I'm pretty confident that gives me a good level of security. But now I'm putting, I'm sort of questioning that because if I'm using a VPN, and I'm using DNS to connect to that VPN, that is now a potential, vulnerability in that connection. Well, DNS, so this is something that we should make super clear, which is that DNS in the face of HTTP
Starting point is 00:24:20 actually does absolutely nothing for security. It plays no role, is what I'm trying to say. So once you add HTTPS to the picture, DNS becomes totally irrelevant, at least when you're connecting to a website over HTTP.
Starting point is 00:24:37 Because a malicious, DNS server could give you the wrong IP address of some malicious server. But ultimately, if that server wants to be able to man in the middle of you, they're going to have to get this certificate from a certificate authority that's signed by that certificate authority and show that to you. And your browser will be able to verify whether one of the certificate authorities that it trusts signed that certificate. So DNS doesn't play a role there.
Starting point is 00:25:03 And in terms of VPN, oftentimes the configuration for VPNs will have, actually contain the public key of the VPN that you want to connect to. So that doesn't even depend on the certificate authority system. And that will secure your connection between you and the VPN. But then when you connect to a website over HTTP, over that VPN connection, from the VPN to the website, it could be man in the middle by a rogue certificate. And here's the crucial point that people need to understand.
Starting point is 00:25:37 when you collect all of the root certificate, all of the root certificate authorities, these are those 200 or so that web browsers trust. And both web browsers and operating systems ship with these lists. When you aggregate all of them, and then when you aggregate all of the intermediate certificate authorities that those certificate authorities vouched for, according to some research that some people did,
Starting point is 00:26:02 you get a number that's over 1,200 organizations. and you are trusting every single one of those, which means that you're actually trusting the rotten apple in that group, the least trustworthy person. And most people have never met these people. Most people can't pronounce most of the names of the certificate authorities because many of them are in foreign languages that they don't speak. And any single one of those, if there's any kind of a problem with any one of those,
Starting point is 00:26:30 if any one of them gets hacked, if any one of them gets coerced, that certificate authority has the power to create a certificate that can be used to man in the middle, any website on the entire internet. So each one of those, that's too much power to give to so many entities that people have absolutely no reason to trust. And if people are wondering, has this happened? Yes, this has happened. Yeah, this does sound like an awful security model, no? Like, I think any system where you have to trust 1,200 entities that they're all honest,
Starting point is 00:27:05 that is obviously not very secure. Yeah, not only that they're all honest, but that they're all competent. I think another really important takeaway from this. And what I tell people constantly is that, I mean, just forget HTTP and these certificate authorities perhaps being corrupted or coerced or hacked.
Starting point is 00:27:28 I mean, when it comes down to it, but people need to realize is anytime they use public Wi-Fi, which is all the time, they might as well assume their data as being manipulated, red. I mean, most people have no idea. You know, they log into Facebook when they go to a cafe or their email or whatever, completely unaware that I think someone may have said sometime at some point that, like, in the US, you have two out of three chances of being hacked on a public Wi-Fi.
Starting point is 00:27:56 But if it's with HTTPS, then you may still be secure, right? So HTTP reduces the likelihood that you'll be hacked, but it doesn't eliminate it. Exactly, yeah. And in fact, they can give like a false sense of security to people because they will see a lock icon, a green lock icon in their menu bar, and they'll think that they're on a secure connection. But as we've just discussed, that might not necessarily be the case. And there was an interesting article in Venture Beat this week that mentioned the proliferation of Wi-Fi and airplanes and how that's just a hot mess, because now,
Starting point is 00:28:33 Now you have the situation where potentially for like five, six, seven, maybe ten hours, you have hundreds of people connected to this public Wi-Fi network and, you know, one malicious person in that airplane could be men in the middle thing or attempting to men in the middle them for, you know, that, having that extended window essentially to try to attack those people. Yeah, be very careful when you're on an airplane. I recommend against using the public Wi-Fi, at least if you're doing anything important. Let's take a short break so I can take you to Paris. I dropped into La Maison du Bitcoin, the House of Bitcoin,
Starting point is 00:29:07 in the heart of Silicon Centrier, home to many startups, including Ledger. And I spoke with Eric Larchevec, Ledger's CEO, about the company's product philosophy. We are tackling a very important problem, which is the security of the Bitcoin. And we really want that all this hardware wallet and security solutions are available for everyone. Our objective is that our solutions are running
Starting point is 00:29:30 in all the Bitcoin softwares, and in the future, we really see ourselves as the leading company in securing all the Bitcoin solutions for customers, but also for enterprises. We want to be the Cisco of the Bitcoin. With the technologies such as the trusted execution environment, which is some kind of trusted zone inside the Android phone, a lot of the hardware wallets will be in fact virtualized and available immediately inside your mobile phones. I'm pretty sure that we will see this hardware wallet. In fact, distributed mainstream has some kind of software secure package for Android phones.
Starting point is 00:30:13 Ledger is building an infrastructure which will provide the best level of security for the Bitcoin industry. You too can benefit from this technology and get an affordable secure setup for storing your Bitcoins with the Ledger Nano. So go to ledgerWallet.com and use the offer code EB09 to get 10% percent. off your first order. That offer code is valid until September 30th of 2015. We'd like to thank Ledger for the continued support of Epicenter Bitcoin. So let's move on to Namecoin and DNS chain. Can you talk about how these new technologies using blockchain can help solve some of these issues? Sure. So when the blockchain came around, this was when Bitcoin was introduced back around circa 2009, 2010 or so. Some people noticed that this technology can be used to create a secure
Starting point is 00:31:05 version of DNS and also fix the problem that we just discussed with HTTP. This one system would be able to solve all of these problems that we've just discussed and these two other systems. It could be used to in fact supplant both systems and it's I think far more elegant. And what it makes possible is ownership of digital information. It makes it possible for the owner of a domain name to directly give you their public key in a secure way without relying on some untrusted third party. Can you explain how this works? Sure. So I think you guys have mentioned that your audience is somewhat familiar with Bitcoin. Is that true? Yeah, it's more than trivial. I think that could be considered an understatement, so yes.
Starting point is 00:32:03 Okay, well, if they're familiar with Bitcoin, then they've probably heard the term blockchain before, which is effectively kind of how the name suggests a chain of blocks. These blocks are chained cryptographically to each other, and they are generated using this random stochastic process around the world, which is based on proof of work. So you can think of a blockchain as a secure, decentralized distributed database.
Starting point is 00:32:33 And when we talk about it, we should avoid making strong statements to the effect that there are no third parties involved at all because in fact there are third parties involved in the Bitcoin blockchain that people are relying on. But these third parties called miners actually don't have all that much power necessarily.
Starting point is 00:32:53 There are some attachment. attacks that are difficult to pull off and are detectable called 51% attacks. They, well, they're semi-detectable, most likely. There is at least a chance of detecting it that can actually reverse history in the blockchain. So if they start doing that, that becomes a serious problem, because if they can reverse enough blocks, they can kind of rewrite history. But what they cannot, they can, for example, in Bitcoin, say if a 51% of
Starting point is 00:33:24 attack was to occur, they can say that a transaction to somebody never happened by reversing blocks. This would most likely be noticed because people would see what are called orphan blocks. Their own Bitcoin clients would tell them that, oh, this long chain that I had is suddenly being replaced. Greg, where how does that relate to the discussion about the issue? Sorry, sorry. I should relate it to I mean, I think the I think people are familiar roughly with 51% attack. I think that's, but I'm... Sure. Okay, so the way that it relates to DNS and HTTP and everything that we've been talking about before is some folks noticed that you can take Bitcoin and modify it slightly and introduce a new transaction type. And this transaction simply says, I'm registering a name using this public key fingerprint.
Starting point is 00:34:14 And so somebody sends this transaction to the blockchain. And this was actually the very first, this feature was the very first fork of Bitcoin. and it was called Namecoin, which allowed people to create these transactions that included names in them. So you could say, for example, I'm going to register OKTurtles.bit, and then your client sends this transaction out to the blockchain, and that transaction is spread throughout the Bitcoin network, or sorry, the Namecoin network, and eventually it will make its way into a block. The miners will look through the previous history and see, has anyone else registered okay turtles.bit so far? Is there an existing owner?
Starting point is 00:34:56 If there isn't, then whoever just sent this transaction owns it. It's made its way into a block, and now nobody else can register it for some period of days until it expires, basically. So does that mean you would put in the block the information, for example, okay turtles.bit, and then you would put in there an IP address as well, so that if somebody wants to go to that website,
Starting point is 00:35:19 they don't have to rely on a certificate authority or a DNS server or something like that, but they can ask the blockchain. Yeah, they can put in more than just the IP address. They can replace both of those systems that we just discussed. Putting in the IP address into that transaction replaces DNS. And putting in the hash of a public key replaces HTTP. And I might not in a much more efficient way than DNS,
Starting point is 00:35:44 because if you can mine a block every 10 minutes and have the new transaction with your updated IP address, that's much faster than what most DNS servers will take to update when you do a DNS change. That's right. DNS traditional, like today's DNS, whenever you change your DNS information, there's something called a propagation delay. In other words, how long it takes for that change to spread through all of the DNS servers on the internet. And that change can often take upwards of 24, sometimes even longer, 48 hours. It depends on this thing called a, TTL, but yes, basically it's very, very efficient.
Starting point is 00:36:25 Okay, that sounds great, but I presume one of the challenges is going to be, how do you get people to use that? Can you expand a little bit more on that? So this sounds like a superior design, I agree. But what's, where does DNS chain come in here? So that's a very good question. the problem with Namecoin is that is kind of the same problem with Bitcoin. Running one of these nodes where you store the entire blockchain is very resource intensive.
Starting point is 00:36:59 And most people aren't going to be able to do that on their laptops or on their cell phones or, you know, various mobile devices. So that's where projects like DNS chain come in. And what we started out with DNS chain was doing something very simple. we said DNS chain will act as a secure proxy to an existing name coin node. And what it will do is simply relay information back and forth between the name coin node and any clients that ask it. And the way we're going to secure it is we're going to say people have to run these DNS chain nodes themselves or have a friend who runs one of them. And then tell people what the public key is of that DNS chain server. In other words, it's a different model from how HTTP works today.
Starting point is 00:37:50 Instead of trusting the least trustworthy out of over 1,000 entities, you're trusting somebody you know, somebody you actually have some reason to trust, and only that person. And for people who can run their own DNS chain servers or people who have tech-savvy friends who can do that, this works fairly well. But it doesn't work well for people who don't have that. for people without a friend who can, you know, a trustworthy friend that runs a DNS chain server,
Starting point is 00:38:18 they're going to have to similarly, like an HTTP, trust someone that they have no reason to trust. And you can improve upon this. You can say basically, instead of trusting the least trustworthy of 1,000 entities, you can query two separate DNS chain servers and make sure that the responses match. And that improves the security. But we can do even better than that. and that's kind of like our future direction with this project, is the development of something called thin client protocols. So this is something that Bitcoin has as well.
Starting point is 00:38:49 In Bitcoin, the best wallets that you can find on mobile devices will be wallets that support something called SPV, which is a kind of a thin client. SPV stands for simplified payment verification. It was introduced in the original Bitcoin white paper that written by Satoshi. And the difference between a thin client and a full node is that a thin client, in fact, you can think of these things on a spectrum with a full node being on one end of the
Starting point is 00:39:18 spectrum, which has all of the information, kind of like you can think of it as long-term memory. It stores all of the history of a blockchain. And then a trusted proxy like DNS chain on the other end of the spectrum, which is not a thin client. And it just basically, you know, you have to trust that it's giving you the accurate information, the accurate current information in a blockchain. A thin client is somewhere in between those two endpoints. A thin client has not all, but some of the information of a blockchain. So it's kind of, you can think of it as short-term memory.
Starting point is 00:39:51 So what you are working on, and that makes a lot of sense, and I think people have an idea of what SPV wallets are, is that in the future people could have this light client, which isn't too resource intensive, that they run themselves, that then queries, the name coin or create a DN, well, do you query a DNS chain server or do you query then directly the name coin blockchain so you can have reasonably secure in retrieve information from there? Is that how it works? It could work either way. And that's why our next step is to focus not on an implementation specifically, but to focus
Starting point is 00:40:30 on a protocol that can be used at any kind of like, you know, either a protocol. that the DNS chain server speaks, or a protocol that full nodes of namecoin or other blockchains speak themselves, because you can do a name coin-like system on top of Bitcoin. And in fact, there is one called Blockstore that the folks at one name are working on. And there are other blockchains that support name registration systems as well. So what we're interested is working on a generalized protocol that can be used with almost any blockchain and various different kinds of thin client techniques. Today's magic word is Turtle, T-U-R-T-L-E.
Starting point is 00:41:15 Head over to let's-stockbitcoin.com to sign in, enter the magic word, and claim your part of the listener reward. Again, I think this makes a lot of sense, right? So this is a compelling vision for an internet that would be more secure and more decentralized and where we wouldn't have some of these vulnerabilities and so. avails and stuff. What about the issue of handling private keys here, right? Because one of the big challenges, and I think we even see that with Bitcoin, is that people aren't very good at taking care of their private keys. That's why people use a lot of hosted wallets such as Coinbase or Circle.
Starting point is 00:41:59 And because if you get your private key hacked, well, people can steal your Bitcoin. And what happened, it seems like here as well, it would be a very bad thing if you get your private key hacked. or let's say a site like Google, would they have like one private key and if it gets hacked? What happens then? Right. This is a phrase that I've used previously to describe this situation, which is that with real ownership comes the possibility of real loss. So if somebody steals your car, like you really own your car, let's say you bought it. If somebody steals it, well, you know, now it's no longer your car.
Starting point is 00:42:37 It's theirs for as long as they're able to hold on to it. Similarly, with this ownership of digital information, which is based on public private key encryption, if somebody steals your private key, they now own your information just as much as you do, and they can transfer it to a key that they own. And then you've suddenly lost your domain name. So this is a double-edged sort, which is why sometimes people rely on third parties for the security of their keys. Could we not have a scenario where there would be certificate authorities that perhaps could act as a second signer in a multi-signature signing setup where even if you lose your keys? Yeah, this is kind of the answer to this problem and the direction that many companies are moving toward is whether or not it's another company.
Starting point is 00:43:29 I've also heard some people trying to develop systems where it's other people. it really doesn't matter what the entity is, whether it's a single person or it's an organization of people, the idea is splitting up your identity or, you know, your... I mean, I get that multisig is, of course, a help here, right?
Starting point is 00:43:52 And if you split your key and you have cosign use and they verify you, et cetera, of course that reduces to risk, but it doesn't remove it. And if we now imagine a world where domains that are a secured doubt, way and you know Google has their domain secured by some private key and let's say somebody stole that domain and there's no way of getting it back. I mean that that seems to be a hugely disastrous
Starting point is 00:44:22 scenario and it seems like if it could happen even if maybe some people would be able to prevent it, maybe most people would be able to prevent it with these kind of multi-sig and cosigner setups. isn't that so big of a risk to essentially prevent that from happening? I don't think it's such a big risk that it could prevent it from happening because there's this counter huge significant risk, which is that whole scenario that we described before, which is basically that if somebody can pretend to be you, did you really own your identity in the first place?
Starting point is 00:44:59 The answer is no, you didn't. So, you know, just as Google could lose their identity in this blockchain world, they can and sometimes do lose their identity in today's world as well. It's kind of a trade-off. I think that we will see different technologies coming about to try and address these problems, things like key revocation. So it's possible to create a system where if Google were to lose its keys, they can still recover them because they created some. piece of information, a sign transaction beforehand that they keep in some sort of secure locked vault somewhere, that they can then broadcast to the network and override whatever changes were made recently. That's one possible system. And they can even reintroduce trust back on top
Starting point is 00:45:48 of the blockchain. So it's possible, I'm fairly certain, it's possible to reintroduce today's existing system in the blockchain. You could probably devise a system like that. And if that's the case, then the blockchain becomes kind of like a super set of today's system. Can you explain how that would look like? I think I'd have to put a lot more thought into it than kind of this conversation allows me. Okay. So it would probably involve some kind of trusted permission blockchain thinking.
Starting point is 00:46:20 So that's really hand-wavy, and I don't like that. But I'm guessing that it's probably possible. Now, I'm curious what your thoughts are on hardware security. So the idea of trusted execution environments being introduced now in mobile phones, the idea of chip cryptography, like these little ledger wallets that we have. And the ability that these technologies, particularly the trusted execution environments, the potential for introducing really good UX around, public, private key cryptography for just sort of everyone to have access to.
Starting point is 00:47:06 Do you see that as a trend towards people being more sensitized to the fact that they need to encrypt their data and potentially, you know, sort of inversing this trend that we've had where people just get their data stolen and read by the NSA, et cetera? Well, I think on this topic, I am definitely in the Open Whisper Systems camp. They are a company, a nonprofit, that specializes in secure communication applications. They've created probably what I think is the most secure, secure messenger on iOS called Signal. And on Android, the corresponding applications are, there are actually signals on Android is two applications. One is called Red Phone and the other one is called TechSecure.
Starting point is 00:47:56 And their philosophy is basically don't talk about keys, don't mention keys at all. Users don't want to hear that word. They don't want to deal with it. They don't want to think about it. And I think that that's kind of where things have to go. And that, in fact, is one of the great virtues of Namecoin and the blockchain, is that it can help do that. Using this technology, using Namecoin, you can build user experiences that don't talk about keys.
Starting point is 00:48:25 That's one of the great things about it. Because one of our interests in Namecoin was developing a secure messenger, which we called the OKT turtles browser extension, which would allow you to securely communicate in a man-in-the-middle-proof way with your friends over any website. It doesn't matter if the website was malicious. You could chat with your friends over Facebook in a way that Facebook could not read. And you could do it in a way that didn't involve you messing with any keys.
Starting point is 00:48:54 The software would automate all of that stuff for you. That's because Namecoin, in effect, solves this thing called Zucco's Triangle, which is this conjecture that in a naming system you can only have two out of three properties. The three properties are the naming system can be secure, decentralized, or human readable. Two of those. Pick two, but not three. Well, Namecoin came along and it showed that you can have a system, a naming system that has all three properties. It can be secure, decentralized, and human readable.
Starting point is 00:49:27 So prior to Namecoin, we kind of had to deal with things like GPG, where you had to go and find somebody's public key, and then somehow verify and make sure that you got the right public key for that person and not a mistaken one. With Namecoin, you can simply know the person's handle, their identifier. Like, I'm Greg on Namecoin, and that's all the information that you need, literally, to be able to send me a secure message.
Starting point is 00:49:53 So again, I think this is compelling, but I would like to talk a little bit about sort of the reality of where is this and how is this going to go and how is this going to happen. Because what we're talking about here is this big vision of an internet that looks different and of communication that works in a different way. And even if I agree that that is compelling and it would be a better internet, is there a roadmap for that to happen? Is that going to happen on a big scale or on a small scale? And do we need, is that the sort of thing where you need this huge network effect? So we need everybody to switch that new system, otherwise it's not going to work. And if not, a huge majority in Chrome and Firefox and everybody starts supporting that, then it's just, yeah, it's not going to work.
Starting point is 00:50:43 What does that look like? The beautiful thing about it is that it can work on kind of an individual level. You don't need Chrome to switch to the system, to have a secure messenger that uses this system. Ultimately, what will end up driving adoption are the applications that people end up creating. And if those applications use this system, well, then it will start spreading if they are actually very good from a user experience point of view. And the blockchain can result in a very, in a much, much improved user experience. So does that mean you see the first sort of avenue where this can actually get used and get some traction in the kind of messaging apps and not on the domain level side?
Starting point is 00:51:31 I think that's one area. I think that there are many other groups that have a need for this technology. This includes big businesses, enterprises that need to secure their systems in a way that's simple for them to manage or simpler than whatever they're currently. doing. And it includes governments as well. It could very well be the case that one of the biggest proponents of this technology could be the U.S. government or some other government, because as we know, they are not very good at securing their information from recent news. Let's move on to the foundation that you co-founded OK Turtles. Why did you call it OK Turtles? The truth is that I just really liked the word turtle for the period of 2012.
Starting point is 00:52:19 I have no idea where it came from, but I like the word turtle in both Russian, which is the language that I was born speaking, which is a chiripacha. And I liked it in English as well. And for some reason, that word just wouldn't go out of my head. But other people have kind of put different stories on top of that. I know that a receptionist, my orthodontist, when she heard the name OK Turtles, and heard about the project, it made complete sense to her
Starting point is 00:52:52 because to her, the turtle is the spirit animal representing security. And if you look at our logo, it's a turtle with a shell that looks like the world. And a shell is kind of symbolic of security. So these are turtles that are okay because they're secure.
Starting point is 00:53:09 So you could make a story along those lines as well. But you know, that's actually the way that I interpreted it when I first went on the website and saw the logo, et cetera. Yeah, I prefer that story. If you could not tell the truth in this case, it would probably be here for a row.
Starting point is 00:53:26 So can you talk about the mission statement and what you're trying to accomplish? I mean, not the mission statement. I mean, what is the mission of the foundation and what you're trying to accomplish? So the mission statement of the foundation evolved. We were first very much focused on the secure messenger that used name coin. And to develop that, we had to develop this other project called DNS chain. And in exploring DNS chain, we started looking at decentralization in general, because Namecoin is all about decentralization.
Starting point is 00:53:56 And it turns out that decentralization as a concept is a great solution to many of the challenges that humanity is facing today in many different diverse fields. Because what happens with centralization is that the more centralization you have in a system, the more it tends towards abuse of power and cronyism. And the answer to that is to decentralize such systems. So our new mission statement is supporting beneficial decentralization technologies. And we throw in the word beneficial because we know that nothing is a panacea, and we want people to challenge us in the things that we support.
Starting point is 00:54:38 We want people to actually view this from kind of an egalitarian point of view. if we end up supporting something that isn't beneficial, we want people to point that out to us. So that kind of, that word beneficial is an almost opinionated term that's thrown there precisely for the purpose of stimulating discussion about whether in fact these systems are beneficial. Are you working full-time on this? Is there a team that's working full-time on the OKTurdles project? I have been working fairly full-time. I mean, mostly I volunteer for the OKT turtles Foundation.
Starting point is 00:55:12 And so for the past many months, even over a year, I started working on DNS chain back in 2013 while I was at the University of Florida as part of my senior project. And so the answer to your question is effectively, yes. I am working kind of or volunteering, so to speak, full time for it. And there is a team, but they're not working full time. But so far we've managed to accomplish quite a lot with very few reasons. sources. Yeah, I mean, to be really honest, I think it's a really, it's a really compelling vision in the long run. And, you know, I was being a bit critical before regarding the private key security.
Starting point is 00:55:54 Of course, that's a problem Bitcoin also has, right? And I think it's a problem that will be solved, right? Because there are so many ways of solving that and it's not easy to solve. And sometimes things will go wrong, but it will be solved. And, and yeah, I think it's a really, really compelling vision. it's exciting what you guys are working on here. Thank you. So is there a roadmap? I mean, I know you guys are working on this browser extension. What can we expect to see in the next months and maybe years?
Starting point is 00:56:26 Well, the next big thing coming is a crowd fund for work to finance us to be able to work on this generalized thin client protocol that I was talking about. We worked on DNS chain. and it's a very important piece of software, but now we kind of want to almost start removing it from the picture, from a security point of view. We want people to not have to entirely trust these DNS chain servers out there because we don't want to repeat mistakes of the past.
Starting point is 00:56:56 So that's the importance of thin client protocols. And thin client protocols are important not just to name coin, but they're critical to Bitcoin. If you're using a, if you're trusting a company to store your keys for you, you're making a huge mistake because we know that the bigger, the more successful a company gets, the more likely, in fact, it is that it will be attacked. It doesn't even matter in some sense how much security they throw at it. Because the prize, it's ultimately up to economics. The more successful they get, the bigger the payoff is for actually hacking them. And you have
Starting point is 00:57:33 more and more hackers trying to find vulnerabilities in their armor, and then you have a Mount Gux. and you don't want that situation to happen. In terms of securing your Bitcoins, the best thing to do is to do it yourself, if you can, in a secure way. And thin clients are a great way to do that. Can you tell us what's the role that Aaron Schwartz played in the OkT turtles in the beginning? Yeah, Aaron Schwartz was one of the first to recognize the significance of the blockchain and the role that it could play in naming systems.
Starting point is 00:58:09 He wrote a fantastic blog post called Squaring Zucose Triangle. And that blog post was the reason that I got interested in this entire field. That blog post was the reason that eventually DNS chain was developed. And it was because of that blog post that I got a chance to actually communicate with Aaron Schwartz. I sent him an email shortly after reading that post, asking if you needed help with it. And we exchanged a few emails, and eventually I got to see. and kind of went off, did some other things. But in 2013, in fact, that was the, at the start of that year, that was one he committed suicide
Starting point is 00:58:45 because he was being pursued by a prosecutor, coincidentally the same prosecutor who had pursued a close friend of mine, John James, who also committed suicide because of that whole process. And perhaps because of that event, I don't. know, my memory is not that good, but maybe that played a role in kind of getting me back on this track and deciding to really devote a lot of time to this cause. Cool. Well, Greg, thanks so much for coming on. I think you did a great job explaining this topic and I think it's an extremely exciting project you work on and I really hope you'll make
Starting point is 00:59:28 a lot of progress and a lot of progress towards realizing that vision. Thank you, Brian. Thank you, Sebastian. And yeah, so we will of course put links into the OkTurtals Foundation so people, if people are interested, they can check it out, they can support it or they can get in touch with you and perhaps help in some way. We can also put, I know you've given a few talks that go into more depth so we can put those in the show notes as well if people want to get a bit deeper in the technical aspects of this. Yeah, please follow OKT turtles on Twitter. Okay, we'll do that. So yeah, thanks so much for coming on, Greg. And thanks to the listeners for joining us.
Starting point is 01:00:11 So we put out new episodes of Episand Bitcoin every Monday. You can subscribe to the show in iTunes or in your favorite podcast app. And you can also watch the videos on YouTube. And yeah, so if you're loyal listener, then, you know, do us a favor and leave us an iTunes review. We would totally appreciate that. And it helps new users find the show. if you want to, you can also donate to us. And our tip address is in the show notes.
Starting point is 01:00:38 So thanks so much and we'll be back next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.