Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Muneeb Ali & Ryan Shea: Onename – Bringing Decentralization to Identity with Blockchain ID

Episode Date: October 19, 2015

A brilliant fact about crypto-economic blockchains is that they enable the construction of naming systems that transcend limits imposed by Zooko’s triangle. Traditional naming systems such as human ...names, Domain Name System (DNS) and Facebook profile names are subject to Zooko’s triangle and cannot be secure, human memorable and decentralised at once. For instance human names such as Meher Roy are human-memorable and decentralised but not secure (nothing prevents hundreds of people being called Meher Roy). Domain Names like are secure and human-memorable but require a central authority to hand out names. OneName leverages Bitcoin to build a Global Identification system called blockchain ID. Blockchain IDs for users can be associated with real world identity data such as social media profiles, government issued papers etc. In this episode we converse with Ryan Shea and Muneeb Ali, co-founders and leaders of OneName, Blockstore and BlockStack. They explain the rationale and vision behind their push for a Global Decentralised Identification and Verification system. Topics covered in this episode: Zooko’s triangle and how Bitcoin breaks the triangle The general idea behind blockchain ID, how it works and its component transactions Why OneName migrated their blockchain ID system from the Namecoin to the Bitcoin blockchain Technical design of Blockstore and how it enables decentralised storage and association of large datasets to blockchain IDs Vision and use cases for Decentralised Identity, authentication and identity verification. The notion of Probabilistic Identity Episode links: Intentional Naming System Zooko's triangle Why Onename is Migrating to the Bitcoin Blockchain Blockchain ID Organization of Schemas Blockstack BlockStore This episode is hosted by Meher Roy and Sébastien Couture. Show notes and listening options: epicenter.tv/101

Transcript
Discussion (0)
Starting point is 00:00:00 This is Epicenter Bitcoin episode 101 with guests Ryan Shea and Moonib Ali. This episode of Epicenter Bitcoin is brought to you by Ledger, makers of the unplugged NFC hardware wallet. Half peace of mind in knowing your private keys are protected by industry standard physical security. Go to ledgerwild.com and use the effort code epicenter to get 10% off your first order. And by hide.com. Protect yourself against hackers and safeguard your identity online. with a first-class VPN.
Starting point is 00:01:02 Go to hide.combe slash epicenter and sign up for a free account today. Hi, welcome to Epicenter Bitcoin, the show which talks about the technologies, projects, and startups driving decentralization and the global cryptocurrency revolution. My name is Sebass Inquichio. And I'm Meheroi.
Starting point is 00:01:23 Today we have Ryan Shea and Munib Ali, who are co-founders of One Name. We'll be talking about naming system, blockchain IDs, distributed hash tables, probabilistic identity, and other interesting themes. gentlemen we are very pleased to have you on the show thank you for having us so let's start off with the basic questions uh could you tell us a bit about your backgrounds uh yeah sure um so my background
Starting point is 00:01:51 is basically in distributed systems i'm a final year PhD candidate at princeton even though for the last two years i'm basically working on one name and i haven't really done much uh work towards the thesis. So yeah, so mostly I've been working in distributed systems that involves like large-scale storage systems or data centers and wireless networks. So hi, I'm Ryan and my background is in computer science and mechanical and aerospace engineering. I studied that when I was at Princeton. That's where Minibin I actually met. And I worked at a few companies in the tech startup world like Zok doc for example and we Mnib and I actually started working together after being in New York for a few years and decided that we wanted to work
Starting point is 00:02:46 on something cool so like with with with with with with with with with with with with with with with with with one name we have different projects like block store blockchain ID etc could you give us an overview of your of your of your big picture vision for for one name and how all of these projects connect together with that vision? Yeah, sure. So one of the things that I like, when talking about the grand vision,
Starting point is 00:03:13 like if you go back to the late 90s, you would see that the internet used to be a much more decentralized place. People would go visit websites that are hosted on like different servers, different hosting providers. And in the last like 10 to 15 years, one thing that has happened is that it's becoming more and more centralized in the sense that everything, all forms of communication are going through certain central companies like Google, Facebook,
Starting point is 00:03:41 and most of user data is actually also with these companies. So one of the things that really excites us to work on this technology is the potential to kind of re-decentralize the internet, give the power back to the people, so that everyone who's using internet services online doesn't have to rely on certain critical massive third parties in the middle. Yeah, and then building off of that, the other component is being able to give users the ability to bring their identities with them when they log in online and putting them in control and putting them at the center of their relationship with any application so that when they
Starting point is 00:04:24 sign up for an app, they don't need to actually rely on Facebook or Google or any other company. And they can also have a really, really good experience that is convenient, doesn't require passwords and so that these users can bring an ID with them, a very strong verified ID with them, anywhere they go. So in real life, we have a really pretty good equivalent, a pretty good identification system in that we have passports, we have driver's licenses, and we can take them with us whenever we want to sign up for services. We don't have a very strong system for that in the web on the line. And so, We want to be able to bring that to users and bring that to people in a way that they are in complete control and they can be in control of their privacy, their security, and the companies that they interact with.
Starting point is 00:05:19 So we can drive right into the technicals of how you will go about this vision. And perhaps it's best we start with the idea of a naming system because that plays a central role. could you explain what exactly is a naming system and what are the properties we look for in one yes sure so at the heart of it i think a naming system is something very simple is just either a human readable or a non-human readable by that i mean it's just a very long string of characters and that name is attached to either identify an object that object could be a person or a router or a computer or any other resource online. If you look at the history of naming systems,
Starting point is 00:06:09 the most famous naming system, I would say would be DNS, the domain name system. And it started off, funningly enough, as a text file. So people used to have these like host.txte files in their computers. And let's say I wanted to talk to a computer at UCLA, that name of the computer would map to an IP address. And if for some reason that IP address would change, people would manually, like literally manually,
Starting point is 00:06:37 open that text file and update it. And slowly that became not scalable as the internet kept growing. And people came up with the notion of domain name system, which is a hierarchical system. They're root servers who have final say over what is the mapping, that let's say CNN.com maps to a certain IP address. And then there are lots and lots of other servers that sync up to the root server and provide this mapping to users. And there are all sorts of like different naming systems.
Starting point is 00:07:08 I'll just quickly give you two examples. One was a project came out of MIT in like 2000, early 2000. It was called INS, like intentional naming system. So the idea where there was that instead of explicitly naming objects, you would, just specify your intent. So you would say, hey, what's the nearest printer to me? So you don't know what is the name of that printer, but you just care about that it should be the nearest printer.
Starting point is 00:07:37 And INS would resolve that to an IP address, and you can then go and talk to that printer. And similarly, around the same time, another type of naming system that came up was self-certifying names. And over there, they're not human readable. They're very long. But they have the property that the,
Starting point is 00:07:56 The proof that you own the name is actually embedded in the name itself. IPFS actually uses a variation of this today. So yeah, so naming systems have been around for a very long time. They're a core part of the internet architecture and the security of it as well. And I think I'll let Ryan explain how blockchains come in and how you can also do naming on the blockchain as well. Yeah, I just had a follow-up question before we talk about the blockchain. Why is it that when these naming systems that we use so frequently, like DNS, for instance,
Starting point is 00:08:38 started to come out of the growth of the Internet, the Internet being decentralized as it was, or much more decentralized than it is today, why is it that those services and those servers became central authorities for naming online? So I would say that there are two parts to that answer. One is technical. That is actually very hard to build a decentralized naming system that has human readable names. So this thing is actually called Zuku's Triangle.
Starting point is 00:09:18 And that basically says that if you want these three properties in a naming system, you can only pick two. Like you could either pick decentralization or you could pick like the names to be human readable. So I think that that was the technical limitation, that it was very hard to build a human readable, decentralized naming system. And the other part would be political that the internet infrastructure was perceived as something extremely important. and certain institutions wanted to retain control over how naming online would be done. And it took a while to kind of like decentralized that.
Starting point is 00:10:02 And DNS is way more decentralized now than it used to be like 10 years back or 20 years back. So then how do we take that back and decentralize these naming systems? So I guess what you're saying now is we can now have naming systems that satisfy all three components of Zuku's triangle. Yeah, that's true. Actually, the first example of this was Namecoin, which came out, it was the first fork of Bitcoin. I think it was 2011, maybe late 2010. And Namecoin was a fork of Bitcoin that added on a naming system on top of the existing
Starting point is 00:10:44 functionality of the Bitcoin blockchain. and it was actually built as a generic key value store, which means that you can pick any character string that you want, and it would be the key, and then you would associate a value with it, which would be up to 520 bytes, that would actually go directly into the Namecoin blockchain. And Namecoin started out actually trying to provide an alternative
Starting point is 00:11:11 for the domain name system on the blockchain in a completely decentralized way. So as long as you have a copy of the blockchain, you can resolve all of the names and you can actually trust that the data that's associated with it is being resolved correctly and you can trust that it's actually being owned and updated by the correct cryptographic identity,
Starting point is 00:11:36 which is not a guarantee that you have with the domain name system unless you're using SSL and in the case of TXT records, you're using something like DKIM with Dane. So when name of coin actually came out, it was able to provide this very secure, decentralized naming where all you had to do was run your own copy of the blockchain. And then actually, we started working on another version of this, which is called Blockstore. and we'll get into that later, but it's basically running on top of the Bitcoin blockchain
Starting point is 00:12:18 and providing decentralized naming in the same way, but you just have to run your own Bitcoin node. So maybe I could summarize the conversation up to now. So what you're saying essentially is the central problem of naming is to have a directory where you have human memorable names like Amazon.com mapping to something that is not human memorable, like an IP address. And naming system is basically this directory.
Starting point is 00:12:48 And till this day, the reason these directories needed to be centralized is that it was hard to have a naming system that was decentralized, human memorable, so the names would be like Amazon.com that humans can remember and also secure that once there is a particular Amazon.com, they cannot be another guy masquerading as Amazon.com.
Starting point is 00:13:10 And the fundamental contribution of name coin was they showed that you could have a system that is decentralized, secure, and human meaningful, and they use it to build the dot-bit naming system for websites, correct? Yeah, that's correct. It was actually based on, or at least they think, it was based on a post by Aaron Schwartz, and actually the first prototype of name coin came out a few months later. So what are some of the challenges, than to having a decentralized naming system as opposed to a centralized one?
Starting point is 00:13:49 So I think it all goes back to a consensus that if, let's say, you have a global system, let's say we have one user in Australia, one Japan, one in the US, and we all want to agree that the state of the namespace is something. Then it starts going into like classic consensus protocols in computer science that how do all of these parties agree without having any central trusted party in the middle that basically gets to decide that what is the state of the namespace?
Starting point is 00:14:24 And this, so name coin was able to build on because the, so as Ryan said, it's a fork of Bitcoin. The Bitcoin solved the decentralized consensus problem by using the blockchain, right? And they did it for being able to send money from, you know, one party to another. But the central problem that they solve of decentralized consensus is actually a very
Starting point is 00:14:50 hard computer science problem. And once you have a solution to that, you can actually start building other services on top. And a naming system is like one example. So regarding one name specifically, so one name, we'll explain exactly what one name is as a company and what they're doing a bit later on the show. But first, one name was using Namecoin as a protocol to Power's Naming System, and you transitioned into using now Bitcoin.
Starting point is 00:15:20 Can you give us some insights to why you decided to do that? Right. First of all, before I go more into the experiences we have had on Namecoin, I want to give a shout out to all the Namecoin developers. They have done a lot of hard work over the years and in keeping Namecoin running. It's one of the oldest forks of Bitcoin, and it's still running, still functional. You can use it live. But after having said that, we were one of the largest production systems built on top of Namecoin.
Starting point is 00:15:54 And we started noticing certain limitations. Like, for example, their pricing rules were baked in at launch, and it was very, very cheap to just buy a name. and the pricing algorithm wasn't very sophisticated. So as a result, there's a lot of spam registrations on Namecoin. I think there is a paper that came out by Arvin, who was a professor at Princeton, then they analyzed that how much spam registrations there are, and I think the results were really surprising that,
Starting point is 00:16:27 like, I think less than 1% names on the dot-bit namespace currently actually map to anything meaningful. So that was one. The other was that because Namecoin, was an old fork and they didn't keep up with all the development that was happening with Bitcoin. The software was generally lacking stability as compared to Bitcoin. And the ecosystem of how many developers are working on Namecoin was much smaller than the number of developers working on Bitcoin. There are so many different companies.
Starting point is 00:17:01 There are so many different profile explorers or APIs. So just from an engineering perspective, it makes more sense to be part of an ecosystem that is well maintained and getting rapidly developed. And the third was actually a security issue where it turns out that a name coin does merge mining with Bitcoin. So some miners would basically mine both cryptocurrencies because it's the same hash that they're calculating and they can get rewarded on two different chains. But it turns out that merge mining is actually pretty hard because if the miner doesn't have that much incentive, let's say the value of the currency isn't that much or the overhead required for them to actually run NemecoinD nodes and integrate merged mining, they feel like it's not worth it to them given the reward that they're getting. So practically what ended up happening was that one miner, F2 pool, has consistently been, they have more than like 60%
Starting point is 00:18:00 hashing power on Namecoin. And it's a known fact, like, you know, the Namecoin community knows about it, and they're trying to address the problem. But for us, it was, it seems like if you are on the main Bitcoin blockchain, the amount of financial infrastructure and financial capital that is linked
Starting point is 00:18:20 to the security of the blockchain is a lot more. So a lot more people care if a single miner approaches 51% mining power, and there's a lot of people would try to do something about it. Whereas in the case of Namecoin, this has been going on for many months, and so far the community has not been able to take any measures about it. Let's take a short break so I can take it to Paris. I walked into La Maison du Bitcoin, the house of Bitcoin,
Starting point is 00:18:48 in the heart of Silicon Centier, home to many startups, including Ledger, and I spoke with Eric Larchavec, Ledger's CEO about the old new unplugged NFC hardware wallet. The Ledger Unplugged is an NFC. based hardware wallet that you can use with compatible Android phones. The private keys are stored in a secure element and you can use them with wallets such as mycelium and grid bits. Each time you want to make a transaction, the signature will be done by the unplugged
Starting point is 00:19:20 and this way your private keys, this critical data will never be exposed to the Android phone. This is a secure way to use your Bitcoins on the go. mobility and you will also be able to pay directly with the unplugged with compatible point-of-sale terminals. The Ledger Unplugged is the simple solution for secure contactless Bitcoin payments. You can get the unplugged at LedgerWallet.com and when you use the code Epicenter at checkout, you'll get 10% off your order. By the way, that code works on their entire range of products.
Starting point is 00:19:52 So we'd like to thank Ledger for their support of Epicenter Bitcoin. Yeah, before we go into the details of the transition between Namecoin to Bitcoin, Let's go a bit into how your identity system worked on name coin. So as we understand it, just like DNS maps names like Amazon.com to IP addresses, what I gather is you were trying to do something where there's a name like my name Meher Roy, and that should map to a public key. So once I have a mapping from my name to my public key, I can sign a document and say that.
Starting point is 00:20:30 that is Meher. So given that you were trying to build this sort of directory of names on name coin, how did it actually work? Where did you put the data and what kind of transactions on name coin did you use? Well, yeah, it actually works a little bit differently in that just like in DNS, you're mapping a name to a zone file and the zone file has instructions for how to resolve the name, which can be an IP address, but it can also be, a C name to another URL, for example. And in Namecoin, it actually ended up working the same way, where a name would be mapped to a static piece of data, not just a public key, because if you mapped it to a public key, then the public key could continuously sign different messages and replace them.
Starting point is 00:21:29 But in the case of name coin, there's an actual latest record that is associated with it. And the same thing works in our new system that we're building on top of Bitcoin called Blockstore. So you can actually put information inside of that piece of data that helps to instruct the client how to resolve the name. And we've been focused on user identities. So with user identities, we have information about the user's identity, about the user's profile, like their name, what their profile images, et cetera. And we're actually moving to a system where it's closer to the zone file example, where the actual identity information is not what is attached to the name,
Starting point is 00:22:19 but it is a recipe for how to get that additional identity information. So you first resolve the name to. to the zone file. The zone file tells you where to find the rest of the profile information, and then you go and grab it and reconstruct the profile, and you can present it either as raw data or you can present it in a nice way, like we do in Oneame.com. And so this is blockchain ID, right?
Starting point is 00:22:46 Yes. Every identity that's registered at OneM.com on Blockstore, and which we used to use Namecoin for as a blockchain ID. Okay, so a blockchain ID is a schema. It's a standard schema, a document format. It's written in JSON, which describes an identity and that you link, that you attach to a Bitcoin transaction. Yes, that's correct. Okay.
Starting point is 00:23:12 Can you, can you, can you, can you, can you, can you, can you give sure a short introduction to blockchain ID? Can you give us more details about how that works and what types of identities you can register on blockchain ID? We haven't really talked about this. There are domain names. There's also personal identities. You could have like business identities. Perhaps let's go into that first, and then we can talk about blockchain ID.
Starting point is 00:23:35 So I can tell you like how the registration process works. So let's start with Namecoin. So Namecoin basically introduced a bunch of new operations to when they forked Bitcoin, they added a bunch of new name operations to the core. code. And the first one is that let's say on name kind it was called name new. So you are trying to register a new username and you don't want to tell people what that name is. Because remember, this is a decentralized system. So let's say you try to announce that I'm trying to register my name, Munib. Someone can actually try to register that name before you. So the way Namecoin works is,
Starting point is 00:24:20 and we did the same thing with Blockstore as well, that you first, announced that, hey, I'm trying to register something, here's a hash. And once that transaction gets enough confirmations on the network, like everyone has confirmed that this transaction went through, and we agree that you're trying to register something. Then you reveal that that hash was actually
Starting point is 00:24:40 my username would need. And then after that, you can do name update operations, which are basically, if you think of this as a key value, the key is the username, and the value is the data, whatever record data you want to associate with that. So you can keep updating the value part as long as you're still in possession of the private key that owns that username and the associate data.
Starting point is 00:25:07 So a very similar process works on Blockstore as well. The difference is now instead of Namecoin addresses, it's Bitcoin addresses that own the key value pairs. So basically, let's go into what is exactly happening when I'm registering my name. So am I right in assuming that when I register, let's say my name is Meher Roy. What I'm registering on the Bitcoin blockchain is something like U slash Meher Roy? Is it like that? So that was the case on Namecoin.
Starting point is 00:25:40 So the difference between Blockstore and Namecoin is Namecoin built all of that functionality right into the blockchain itself. Right. So they were also using the blockchain as a data store. So whatever data you were associating with your name was literally announced in the blockchain and the data, everyone would have a copy of that, which is like it is not very scalable in the sense of like if you're thinking about like tens of millions or hundreds of millions of people using this.
Starting point is 00:26:10 Because every single person who is running a name coin D node needs to keep a copy of that. So with Blockstore, what we have done is that. that we are using the Bitcoin blockchain just for announcing transactions and getting a total ordering on those transactions. So what we care about is that there should be a global view that you registered that name in a transaction before let's say I was trying to register the same name.
Starting point is 00:26:42 So this is where the consensus part comes here. Once you have consensus and the Bitcoin blockchain gives you that, you can actually pause up a layer and that layer what we're calling it a virtual chain and in the virtual chain your client can actually process these transactions and construct a view of the namespace right so it's it's basically the clients have a consistent view of what the namespace is after they have processed the transactions which were announced in on Bitcoin so Bitcoin is actually complete
Starting point is 00:27:19 agnostic of this protocol running on top of it, we can actually replace Bitcoin with some other blockchain. Let's say like 20 years from now it happens that Bitcoin didn't take off and there was some other currency. With this design, you can actually migrate from Bitcoin to something else as well, just like we migrated from Namecoin to Bitcoin. Our argument is that you need to be on the most secure blockchain and only depend on the blockchain for giving you consensus. Once you have consensus, you can actually build the protocol at a layer of above it. So am I right in assuming that the block store protocol has to parse the entire blockchain and look for identities that are stored in transactions? Yeah, it actually scans through
Starting point is 00:28:06 the entire blockchain and sequence and your node has a certain rule set that interprets the transactions in a certain way. And as long as they are a, uh, a, uh, a body, by the rules and that, you know, for example, there's an operation that didn't try to register a name after another operation tried to register that same name, then it will be accepted. Otherwise, it would be rejected if it was conflicting with one of the either syntax rules or ordering rules. And to go back to actually what you said before about namespaces, If you were to register a meheroi on, for example, a namespace where you wanted to get your own identity, your personal identity, what you'd do is you'd register it in a particular namespace.
Starting point is 00:28:57 We started this namespace. It's dot ID, so it's pretty similar to the U-slash system or D-slash system on Namecoin. So in Namecoin, there were namespaces that were distinguished by a letter followed by a slash. On Blockstore, there are namespaces that can be instantiated with new rules. And these rules are like the date until expiration, the price of the names and the namespace. So we started a namespace called dot ID. And in that if you register a name in that namespace, then that is your username of sorts. and that information can be associated with your identity information.
Starting point is 00:29:44 And that is actually what, so now that we're on, we've moved from Namecoin to Bitcoin, our One Name service, when you register a name by signing up, you'd actually get it registered on that namespace on top of Blockstore. And that would be sent out as a Bitcoin transaction. So what's happening here is when I'm registering my name, so I go to One Name.com and I want to register Meheroy. So what my client essentially is doing is it's saying the name you want to register is meherroy. .id because that's the namespace you're using currently.
Starting point is 00:30:18 And then it wants to associate meheroy dot ID to some file that that will allow another person who wants to see that file to locate information corresponding to meherroy. dot ID, right? Yes, that's correct. So basically, I'll make one distinction that one name, the company, you can think of it as, you know, just like there's GoDaddy or NameChief and they, you can go and buy a domain name through them. So the system, the naming system that we have described is like something like DNS.
Starting point is 00:30:56 You can actually have DNS-like domains and you can create a new namespace and have like other types of names registered there as well. So one name, the company, when you're actually coming there and trying to register a username, we are acting as a registrar. So we first register the name on your behalf and then transfer it to the private key and Bitcoin address that you own. Right. So we are only acting as a registrar in the middle.
Starting point is 00:31:26 Today's magic word is name, N-A-M-E. Head over to let's talkbidcoin.com to sign in, enter the magic word, and claim your part of the listener award. So the data is actually being stored. So what are the kinds of data we need to store? We need to store the name, which is meheroy. Dot ID. And we need to store some kind of file that people can use to look up identity information regarding Meher Roy. and all of this information is packaged,
Starting point is 00:32:03 how is it packaged into the Bitcoin blockchain? Do you use op return transactions or? Yes. So remember on Namecoin, I said that they were basically broadcasting information on the key and also the value in the blockchain itself. What we're doing is we're using the standard off return transactions. So it gives us limited space like between 40 bytes and 80 bytes
Starting point is 00:32:28 to basically broadcast our protocol transactions, and they will include whatever name operations you were doing on your username, and then they will basically include the hash of the data that is the value. And that's where the external data stores come in. That once we're using the Bitcoin blockchain for securely mapping your usernames
Starting point is 00:32:55 to a hash of whatever the data, is that you want to associate with it. And then you can go and fetch that data from anywhere, hash it, and check if the hash matches. And with Blockstore, we have a default DHD built in that acts as the default storage system right now. And if you're doing a lookup, you will basically, how it's broken down is,
Starting point is 00:33:18 first you're doing a lookup using the blockchain information to get the mapping between the name and the hash. Then you're doing a lookup on the DHD to map, map the hash to the actual data that it corresponds to. And that's a really nice separation because now you can start plugging in any different types of data stores. So we have ongoing work. I think we have already rolled out an integration with Amazon S3 and we are working on
Starting point is 00:33:49 an integration with IPFS. So you can imagine like any data store like Dropbox or could be anything. And it can be plugged into this system because the security of the naming system only depends on the blockchain. And the data store is there just for fetching data and nothing else. So as a one-name user, when you go to one-name and you register effectively what you consider yourself to be a registrar, as a user, where can I find this transaction where this, data store with my identity is effectively stored? We're actually going to be providing a way for you to look this up.
Starting point is 00:34:36 It's not currently on the site right now, but we're going to put in the dashboard like a place where you can see the exact transaction that's been registered via Blockstore. And also, if you actually want to register a name yourself, you can fire up a Blockstore node and you can issue a name registration operation and you'll be able to, get the name and send it to any key that you want. So by installing a Blockstore node, you can look up a name and you can find the transaction in which that name was essentially registered. Yes, correct.
Starting point is 00:35:11 And some Bitcoin explorers like BlockCyfer, they've already started integrating in more information on these transactions. So if you look up, let's say you wanted to get your transaction hash from Blockstore and you see that this was the transaction in which it was registered, and then you look up the transaction details on a block explorer, like BlockCyfer, you would actually see that, hey, they will give you information on, okay, this is the opt-return data, and this was the protocol that was,
Starting point is 00:35:43 they would actually even identify that this was the blockchain ID protocol and give you more information on it. And how does the Blockstore client differentiate a name registration on the blockchain from any other transaction. Is there like a special, you know, prefix or suffix to the hash that Blockster recognizes? Yeah, there's a prefix. It's ID. And then ID followed by a particular symbol that indicates the type of operation that is
Starting point is 00:36:16 being performed like a name registration, a name update, a name transfer, a namespace creation or a namespace ready. And the client just looks at that prefix and interprets it. And if the information afterwards is valid, then it'll accept it as a valid transaction. Okay, so you mentioned different operations. Can you describe what the different operations are? Yeah, so it's as many lightly touched on before. It's similar to the way that name coin works,
Starting point is 00:36:47 and that first you have to pre-order the name. And you pre-order the name, you say, I'm registering a name, but I'm not going to tell you what name that I'm registering. Then you do a registration and you reveal the name that you registered before as well as a salt that was combined with the name and hashed previously. And currently the salt is just your actual key, the key that's registering it. And then after you register it, you can do an update and you can associate a hash with your name. and that hash is the secure mapping that is required to then resolve the name to the full data.
Starting point is 00:37:34 And then the other two things that you can do on a name are to transfer the name. So if you want to move the name to another key, another Bitcoin address, then you can do that. And a name update. So each namespace has a certain time until expiration. And so like let's say, for example, you choose a year like we have in the dot ID namespace. Sometime before the year is up, you'd have to actually issue a name renew. And if you do a name renew, then you'll get to keep the name. And the importance of this is so that the high-quality inventory or the very desirable human-readable names don't get
Starting point is 00:38:17 don't get hoarded by people who don't actually intend to use them. So each year you actually have to pay the original registration price
Starting point is 00:38:26 to extend it for the next period. And then there are also operations on a namespace. So on a namespace, you can define a namespace and you basically put in the actual parameters
Starting point is 00:38:39 that are applied to the namespace. So the time until expiration and the pricing rules for all of the character lengths and the pricing discounts that you get if you include a number or a symbol, for example. And then you can actually start an import process on a namespace. And in that process, you could actually issue names that can only be issued by the namespace creator until the time that the namespace ready has been issued.
Starting point is 00:39:17 And once namespace ready has been issued, the imported names have been completed, and the namespace is now in the public domain, and absolutely anyone can register names. The namespace creator no longer has any control or any ability to change the properties of the namespace. And now it's just completely free rein, just like any registrar on an ICAN DNS namespace would be able to only register names first, a first come first serve basis so who am i paying the fees to so when i register my name you said i can pay fees and the name might expire in three months for example and to keep to renew my name i might have to pay other fees who is the recipient of all this money currently the money is being burned and sent to a burn address uh just it's just the null address zero zero zero zero zero but we have plans to actually transition that over to paying it as mining fees. So the way that that would work
Starting point is 00:40:23 is with something like the new operation Opcheck lock time verify, where once that comes out, you'll be able to actually pay a fee to an unspecified miner at some point in the future. And so that can't be gamed by a miner because they won't know whether it's actually them. but we can't do that currently without this new operation. So basically, like, your naming system also becomes an incentive scheme, can also become an incentive scheme for miners in the future, that apart from normal Bitcoin transaction fees, they can make money registering names.
Starting point is 00:41:00 And if your system becomes popular, that kind of helps Bitcoin transition away from completely paying miners by new Bitcoins to, earning money using name registrations, right? Yes, absolutely, right? I think this was a big reason that once we were doing the, we were migrating to the Bitcoin blockchain, we wanted to play nice on the new ecosystem, right? So using Opt return is the recommended way of building any data protocols
Starting point is 00:41:31 on top of Bitcoin. Similarly, for incentives, it's very important that the miners have the incentive to actually process those. transactions and get some reward out of them. So there are two types of fees. The transaction fee has to be there for the Bitcoin transaction to get accepted. So miners have that incentive anyway because they can just process it as a normal Bitcoin transaction and just collect their transaction fee.
Starting point is 00:41:57 And if there are a lot of transactions, yes, they are earning some money there. But on top of that, if there are more sophisticated rules of, because domain names, you know, are roughly like $10. dollars each that says someone builds another name space that has higher fees and those fees are also going to the miners then yes absolutely then they have added incentive to keep supporting the protocol and help build the ecosystem yeah that's that would be really cool right like if for example there might be like one million registrations in a year each making ten dollars then that gives 10 million dollars in additional revenue to the miners in addition to let's say the
Starting point is 00:42:40 $50 million that they earned through Senor Raj today. I mean, that would be a really nice thing for the ecosystem as well. So you mentioned that when I register my name, I basically associate a hash with that name, and that hash maps to some data that I've put in some other system like S3 or IPFS or a DHD. Could you explain what kinds of data would people want to put and what are the options for putting the data in and what's the advantage of each?
Starting point is 00:43:14 So basically right now the default is the dht. All of the data is going to the dhd. And on the dot ID namespace, it's basically the data that complies to the schema that we talked about earlier for blockchain IDs, and that describes your profile. And that's just the very basic, It gives you the very basic mapping between the username and the profile that is rendered on like one name.com and you go and see your profile.
Starting point is 00:43:45 But this system is actually a lot more sophisticated. You can start putting your signed PGP keys there. You can start putting your signed payment addresses and not just Bitcoin payment addresses. They could actually be payment addresses for other services as well, like Venmo or PayPal or something like that. And you can also start, and this is public data, right? Private data is a completely different opportunity where now you can start associating private data with your blockchain ID and be in complete control
Starting point is 00:44:24 over who has access to that data. So let's say I just want to share something with you and only you, and I don't trust any company in the middle. And you were storing that data on Dropbox. All Dropbox sees is an encrypted blob over there. And they have no visibility into what is actually that data. But I can give you access to read that information by just saying that this blockchain ID has read access.
Starting point is 00:44:53 And then the protocol would take care of like, OK, that these this blockchain ID maps to this public key. And I'm going to give access to this data like that. So that's like that. that's like more in the long term that we can slowly start building out the storage capabilities and the kind of applications that can be supported with it on top. But right now the system is much more simple. It's just public data that complies to the blockchain ID profile specifications. And right now currently just goes to the DHD. Let's take a short break and talk about hi.comi.
Starting point is 00:45:32 Hi.combe is a VPN provider. And if you don't know yet, why you should need a VPN provider, let us help you. I'm sure you were like me and when all the crazy revelations came out during the Snowden time of all the spying that is being done by the NSA and other government agencies, you were shocked and you said, not with me, not with my own rights. Now, the way government agencies can spy on you, there's many of them, but the most easiest way is by simply going to your ISP and getting all your traffic capturing all your traffic. And the VPN can protect you from that. It can give you a secure tunnel from your computer to any of the exit nodes all over the world so that all your traffic goes to this secure pipe that's encrypted
Starting point is 00:46:17 and cannot be intruded on. And with Haight.Me, you can choose any of their 30 exit nodes all over the world so you can enter the internet in a secure location. The best thing about Hyde.m.me is that they have a free plan, which includes two gigabytes of unthrottled bandwidth per month. So you can go to Hyde.m.me slash epicenter to your free account. And when you use that URL, you'll automatically get 35% off if ever you decide to go premium. Now, the premium plans are really great. They include unlimited bandwidth, access to all of the 30 exit nodes that HyDotMe provides, and you can install it on up to five devices at a time so you can have this running on your phone, your tablet, your computer at work, your
Starting point is 00:46:58 personal computer, and just be completely protected all the time. And of course, hi.comi accepts Bitcoin. So we'd like to thank HyD.Me for those support of episode. or Bitcoin. So earlier, I mentioned we should talk about blockchain ID, but we sort of inverse the order, but I think it's probably more logical like this. So blockchain ID is a schema for storing that data in a standard format in a DHD. There's been different versions of that schema. I think we're now at version three.
Starting point is 00:47:32 What does that look like? What does a blockchain ID document look like? What types of information does it contain? Sure. So there are actually various types of blockchain IDs that you could register. So what we're working with right now is just blockchain IDs for people. And we have currently, like you mentioned, version 3 of a schema for blockchain IDs for people. And people can add other schemas.
Starting point is 00:48:00 They can add schemas for a blockchain ID for a company namespace, for example, or blockchain IDs for a namespace that's specifically designed for registering pieces of art or other types of creative works. And because one name is a personal identity company, we are focused on this schema, but other companies can invest time in those other schemas. So the schema that we're actually working on right now, version 3, is based off of the schema.org slash person. schema. So schema.org is a site where it has standard schemas for almost anything that you can imagine.
Starting point is 00:48:46 People, companies, events, things, tickets, transactions, whatever. It's meant to be a schema set that has been agreed upon by a bunch of different parties, primarily search engines like Google and Microsoft and Yandex, and they came together to produce a schema that could be useful for indexing so that the search engines can, if you put this schema in a particular web page, it would come out and look nice when it's being rendered, and all the search engines would know how to treat it the same way. So we wanted to base our scheme on this because it's a standard that has been well thought out by a lot of different. parties and a lot of people have given buy-in to this schema.
Starting point is 00:49:40 And so it uses this and then it adds on a couple fields that we're not present. But the way that schema.org works is it's really extensible so that you can write your own schema extension, you can superclass existing schemas and then publish the recipe for those schemas and any object can be checked up against that schema. So we have that actual schema and you can check it out. on our GitHub under the blockchain ID documentation on the block stack GitHub. And beyond that, the actual, the way that the profiles are stored is you take that schema for a person and you tokenize it.
Starting point is 00:50:21 You split up all of the different fields, the different attributes, and you sign each field independently with a different key. And then each of those is its own. distinct token, and then you take all those tokens and you string them together, and a client can read them all and then reconstruct the profile, as long as it knows that all of those keys that signed the distinct tokens belong to the same blockchain ID. Now, the cool thing about this is that it's very privacy conscious, very powerful for selective disclosure. For example, if you have all of your different pieces of information, you can sign, you can take the token where you signed
Starting point is 00:51:08 your birth date and you can present it to a party when you're authenticating without revealing your blockchain ID. You just say, hey, I am this entity, this public key, and I am over 21. Here's my self-attested statement, which has also been signed by, let's say, you know, in some point in the future, the DMV of New York, right? So I can send you that token. signed by me, signed by the DMV of New York, and then you, a website, maybe hynican.com or something, accept the token. You're like, oh, wow, this is a real person who's over 21.
Starting point is 00:51:42 And hyacinican.com doesn't need to know who I am as a person. And later, actually, if I want, I can later prove that that public key that I logged in with is actually linked to my blockchain ID. And the way that actually works is the blockchain ID. I've linked it earlier to a extended public key, according to BIP 32, and then I show the chain path to get from the master public key to the descendant, child of a child of a child of a child public key.
Starting point is 00:52:17 And so that's a really, it's an interesting system for how we can take this schema for a person. You split it up, we tokenize it, and then you can selectively disclose individual tokens to reveal little select pieces of information about yourself. And then later you can reconstruct them and bring it back. And then this also is, this one supports tokens that you, that you hide and you don't actually show until you log in. It also supports tokens where you've encrypted it, put it in the public, and then you encrypt it with keys that, that you want to give access to. So that's really interesting. So then you could have, so in the schema, I'm looking at the GitHub page now.
Starting point is 00:52:54 So you have like address. You may have their birthday tax ID. people you know, different social media profiles. So it gives you a high level of granularity into what you disclose. So you may disclose to, for example, like your GPS where you live and work, or perhaps like a delivery provider, like DHL or delivering a package to you, your address, but not your tax identification. And on the other hand, you might want to disclose that information to another party. and you have the ability to choose through tokenization what pieces of information you disclose.
Starting point is 00:53:36 The other thing that I find sort of interesting with the idea of these schemas is that you could, for simply in the future, have identities for other things than people, companies, or domain names. You could also have identities for physical things. So an autonomous agent like a delivery drone or a vehicle could also have an identity that is stored in the blockchain. Yeah, I mean, also a really fascinating thing is that the schema for the, all the schemas are semantic.
Starting point is 00:54:14 So if you look in the person's schema and you see works for field, so if you see works for, that refers to a list of, organizations and you'll see a type organization and then it's one name. So you can have a person link to a person identity link to a company identity or an organization identity and say, hey, I work for this company. And the company can link to a list of people and say, these people work for me. The person can say, I operate this drone, as you mentioned. And the drone can say, I am owned by this person and this company. So the semanticness combined with the fact that the, there are the ability to have multiple namespaces that support multiple identity types actually makes this really powerful.
Starting point is 00:55:07 So it's sort of supporting the idea of like, I don't know if this exists, but it's like sort of proof of relationships between different parties. So one party links to another asserting that, in which you mentioned as an example, that he, you know, if someone works for a company and then on the other hand, that company can say that, yeah, that person works for me. And then once that identity has been updated, say the person doesn't work for that company anymore, the company may update that information.
Starting point is 00:55:34 And then like an ill-intended person could say, you know, I'm still working for that company, but because that link has been broken, someone who's looking at those identities would know that there's something wrong. Absolutely. And I just want to quickly point out that this is, like a quick reminder that this is all completely decentralized. So it's possible to do all of this without relying on any central third parties or any big
Starting point is 00:56:02 companies in the middle. And that is the part that, you know, like truly fascinates me. Yeah, I mean, you could have a relational database that does all this stuff. But like doing this in a decentralized way is tough. Yeah, I mean, in the case that you're talking about, like a working relationship, that's a case where the validity of that statement is required to be validated by the two parties that are involved. So for us to prove that, for two people to prove that they know that a relationship exists, A has to say it knows B, B needs to say it knows A. And for me to say that I am, I don't know, something that's just about myself that doesn't involve someone else, that only requires me.
Starting point is 00:56:48 But then there's other types of relationships that might require three parties. So, for example, if there was a transaction where there's a buyer, a seller, and a notary, then all three might have to sign, like, cosign to validate that that event actually occurred. Okay, so one of the questions that comes to my mind is, so let's say I, let's say, let's say somebody, somebody, or, somebody says that there's a famous name like I don't know Carl Icon or Fred Wilson and somebody is conversing with me over the internet and he's claiming to be Carl Ican and he shows me that he does own the Carl Econ.d. ID name on one name or basically he owns
Starting point is 00:57:43 that blockchain ID. How am I sure that I'm actually interacting with the real Carl Econor the real Fred Wilson. So I would say that I would say that the username that you get for your blockchain ID is actually not that important. Just because
Starting point is 00:58:04 you got the username Fred Wilson doesn't mean that you're Fred Wilson. It's a human readable identifier that you got and now you can actually use that human readable identifier to attach other types of proofs that I am actually this person or this identity.
Starting point is 00:58:22 So this is the, we start getting into the notion of probabilistic identity. So taking Fred Wilson as an example, when he got Fred Wilson, it could have been any person, right? But then he used a proof on Twitter linking his Twitter username that also happens to be Fred Wilson to the blockchain ID Fred Wilson. So now there's a two-way link. that the blockchain ID is claiming that this blockchain ID also owns this username on Twitter. And the Twitter is actually claiming that the owner of this Twitter username also owns this blockchain ID.
Starting point is 00:59:01 So you can actually verify that. And this is the verification that we do before displaying that here's a proof. And you can start building on that. Like there could be a Facebook verification and GitHub, domain names. So you know, if Fred basically verifies that he owns ABC.com, and with each additional proof, that's why it's a probabilistic identity, the probability that you're actually talking to the right person
Starting point is 00:59:27 like starts going up a lot, right? Because if for someone to actually at this point, basically impersonate Fred Wilson, he would need access to his domain name, his Twitter account, his Facebook, and so on and so forth, right? And in the future, you can actually imagine that there could be companies like, for example, a block score who do K-Y-C checks, right?
Starting point is 00:59:52 So they can actually sign a statement saying that this blockchain ID has the full name Fred Wilson, right? And we did a check for that. And you can take this even a step further, and at some point the DMV can have a blockchain ID and they can start signing statements about people as well. So, but that rule...
Starting point is 01:00:13 So the probabilistic identity, as it currently exists in a system like blockchain ID, where you don't have sort of the state, like the DMV, or being able to sign and saying that this person is actually who they say they are. Since we're relying on social media, you're dependent on the fact that that person is actually public on social media. if I have just like a username, whatever, and my Twitter account is, like, it's not really clear that it's me, Sebastien Kuchio, behind the Twitter account. It's hard for you to have pretty good probability that that person is actually who they say they are.
Starting point is 01:01:02 That is basically a requirement of keeping the system decentralized, that the proofs have to be public, because you don't want to rely on any, central company that is actually vouching for a proof that, hey, yeah, I can see the proof even if you can't, or this person proved something to me, and now you have to trust me that they proved it, right? Like all the proofs that are supported right now are public information. Anyone can just go, and there's actually a GitHub repository called proof checker, and anyone can run the proof checker and verify that all this information is public. There are two-way linkages,
Starting point is 01:01:40 between these different types of identities. And this blockchain ID is linked to all these different other social media accounts or domain names. Right. So the proofs have to be public, but if my Twitter username is like, I love kitties and I don't use my own picture. I see mirror laughing there. And I do use my own picture. I don't really, it's not really me, it's like some, some like ultra identity or alter ego,
Starting point is 01:02:17 some, like my secret, I love kitty's alter ego. How do you use that as a proof? You have to have yourself out there as a real person in order to prove that you're this blockchain ID. It depends what you're trying to accomplish. If your goal is to help other people know that they're, actually viewing the right profile so that they can send, you know, either send you a message or send you a payment, then you want to give them enough information that they need to deem that profile correct, right? For example, if they're searching for you in the search bar.
Starting point is 01:02:56 So if you have a public Twitter account, then you link your public or Twitter account. If you have a Facebook account or a GitHub account or any of the other social media accounts that were going to be added, you can add those. If you have a domain name that someone, like everyone really knows that you are associated with, epicenter Bitcoin, right? Then you can link that domain name. Whatever pieces of information that you think other people will already know are associated with you, you can link those pieces of information. So there has to be some sort of consensus around this piece of information belongs to this person, and so this one and so this one. Yes.
Starting point is 01:03:35 And then you go a step further, and then you get into. what many mentioned before, with you have companies that can do background checks on people and verify legal identity information by going through the Credit Bureau Security questions and verifying that information. If one of those organizations that does one of those checks signs that information, then now you can present this proof that your legal name, the name that is presented there has been vetted. So we're going to be adding that pretty soon. We're also going to be adding verification of your face, right?
Starting point is 01:04:13 So you can have, you can show that this is how I actually look in real life. And then at some point down the road, we'll be able to have organizations vouch for you much more powerful than just domain names. So you can have your DMV vouch for you. You can have your bank vouch for you. You can have the Social Security Administration vouch for you. You can have your company vouch for you. You can have your neighbor vouch for you.
Starting point is 01:04:35 You can have your neighbor vouch for you. for you, right? So in that sense, then once you have the DMV, the Social Security Administration, your bank, blah, blah, blah, all these entities vouching for your identity, it becomes really, really strong. So this sort of solves a problem that I've been thinking a lot about lately. You know, with private keys, it's pretty easy for you to sign something, say, a document, and then prove that you sign that document if you can provide the public, the private keys. key. On the other hand, it's very hard for someone to prove that you own a private key unless you have a system like this where you can link that private key back to someone's identity.
Starting point is 01:05:23 So essentially, like this kind of solves that problem where like if you have two parties that come in and sign the content of a document with their private keys and maybe it's like a contract and then one of those defaults on the contract, you know, there's a lawsuit. If they're using the key that was associated with a one-name account and that was a requirement of signing the contract in the first place, it's pretty simple for the other party to say, yeah, look, this is the one-name account that was associated to that signature. This is the person. Here are the proofs.
Starting point is 01:06:03 and now we know that this is a person who signed that contract. Yep, absolutely. It actually provides a, there's this company that's trying to do a linkage between smart contracts and legal contracts. And in a sense, this provides that bridge. I would also like to point out something about the discussion about the verifications. And going back to your I Love Kitty's example, that these blockchain IDs that are getting registered,
Starting point is 01:06:34 they don't have to map to a real identity. Like I'm Muneb. I have the blockchain ID Munib, but I also have the blockchain ID Darth Vader. And I can link it to a Darth Vader something Twitter account and just use that anywhere online that I want to. There is still value in that. Because let's say I've verified four different accounts
Starting point is 01:07:01 on, let's say Facebook, Twitter, GitHub, and linked it to dark Twitter, a site can actually, I can still log in as a human because the sites know that I pass the spam protection of Twitter and Facebook and GitHub and I'm not a bot.
Starting point is 01:07:18 I'm a real person. And I can actually start building some sort of repetition around a pseudonym without revealing my real identity. Like, for example, Satoshi Nakamoto is highly respected and nobody knows who he is.
Starting point is 01:07:31 So that pseudonym is actually very important and there will be a lot of applications and a lot of use cases for such blockchain IDs online as well. Cool. Yeah, definitely there'd be a lot of use cases for blockchain IDs like in the gaming world and nobody uses the real name. So I guess that's that's really important. So like this really sounds cool because it seems to solve the thing that was attempted in the 90s which was the web of trust which was I think similar with people attesting that XYZ publici belongs to some person I know and lots of people are testing this to each other
Starting point is 01:08:07 and therefore they're being an identity system but I think well like the blockchain ID can do that much more elegantly given that we have Bitcoin as a as a backbone system so finally we'd like to ask about block stack what is block stack and what do you intend to do with with block stack Right. So it's basically, I can give you an example of my background is that I did a lot of work in IOT. And they used to be called like sensor networks back then. And it was a new field, very exciting, reminds me of, you know, how Bitcoin and blockchain is right now. And at the very beginning, there were a lot of like competing protocols and standards. Like everyone was making their new medium access control protocol. there were like 30 different standards when we needed one. And there is similar stuff going on in the in the blockchain space today
Starting point is 01:09:04 that any company that is trying to build solutions on top, they would end up inventing a protocol. Maybe it's using operatin or they would end up implementing a DHC. Like you might be familiar with OpenBazaar, right? Like they are building a reputation system on top. They need some sort of an identity if you want to, link it to a human readable name, and they need a DHD for the data part of what they're doing.
Starting point is 01:09:31 And if you look at a bunch of other companies, so we started noticing that there's a lot of overlap. All these companies, and the good thing about this community is that most of them are doing open source development. So the code is like in the public domain anyway. So it just makes sense to start collaborating and start working on common solutions. that can be reused by different businesses that are being built.
Starting point is 01:09:54 So the analogy would be that just like Bitcoin D is an open source software, and it is maintained by the core developers. But a lot of different companies like Coinbase, Circle, BitPay, they benefit from that open source technology. So we came together with a bunch of other companies, I think they're like 11 or 12 now, to discuss that how can we start collaborating under a same umbrella. And we came up with this community called Blockstack.
Starting point is 01:10:27 And the idea there is that it's supposed to focus only on the open source software side. There is not going to be any political or business side of this community or organization. And we plan to register this as a nonprofit foundation, which will own a lot of the open source code. base that is being developed. So single companies can come and go, but the hope is that the foundation would still maintain those different pieces of software and actually run them for a long time. So this would include all these schemas, the work that you have done on identity, Dhts, and other kinds of open source projects. What are all the projects that are part of the umbrella of
Starting point is 01:11:18 block stack? You can take a look at the GitHub, the Blockstack GitHub, which is GitHub.com slash Blockstack. And you'll see all the projects that are up there. There's Blockstore, there's the blockchain ID schema repo, there's registrars and resolvers that work with Blockstore. There's a bunch of different Python and JavaScript tools and libraries that people can use. and then there's also other projects that other people on the space are working on that are going to be part of the Blockstack GitHub as well.
Starting point is 01:11:56 Cool. And we'll link to that in the show notes. Now, just to, it's a little confusing because if you look up Blockstack, there's a company called Blockstack and then there's Blockstack, this community, so it's Blockstack. Just not to be confused with the other company called Blockstack. So just before we wrap up, so we talked about all these open source technologies and protocols and schemas that you guys are working on
Starting point is 01:12:21 and that's all really good. But you guys have built a business on top of all this, which is one name. Can you just sort of explain how one name fits in all of this and perhaps how one name intends to make money from all this open source software? So it's basically the analogy I gave earlier that just like Coinbase is a business, is a company,
Starting point is 01:12:47 and they're using the open source software and technologies that Bitcoin D developed. Similarly, this ecosystem is more new at an earlier stage. So one name is helping not only building the company, but also helping the open source technology as well. So we have actually open source a bunch of our code, and we have donated that to Blockstack. So it's under the Blockstack copyright,
Starting point is 01:13:20 so that other companies can collaborate on that as well. And the idea really is that what we are trying to do is like so massive and so game-changing that if decentralized systems like these take off, then there will be multiple businesses built on top. It's not going to be just one name. There already are other companies that are collaborating under the Blockstack and Brilla, and all those companies benefit,
Starting point is 01:13:47 and all of them would have different business models. But right now, the most important thing is actually growing the ecosystem, growing the overall ecosystem, maturing the technology, having more deployments, and making the system useful in general. And then the next step offered that would be how different companies actually come up with their business models. and Ryan can comment more on this as well.
Starting point is 01:14:11 Yeah, so as Minib said, we're really focusing on growing it for now, and that's what we're going to do for the foreseeable future. But then when it comes to us actually making money down the road, there's a few things that we can do, and one of them is to sell premium subscription-based versions of the open-source and free software that we provide. So for example, with enterprise features that aren't presented in the standard consumer versions.
Starting point is 01:14:39 And then the other thing that we can do is actually provide, be like a stripe for identity and authentication, and where we provide services for developers who want to build on top of our identity platform so that they can easily integrate identity and authentication into their applications. So those are both some very, those are the two things that we're actually focusing on,
Starting point is 01:15:02 but in the long term. But for now, it's definitely about growing the economy, system and making sure that this takes off and grows. And can you give us an idea of how many people have registered the blockchain IDs, verified them, for example, what type of user base are we looking at here? So it's about 35,000 and we're actually, it's been steadily growing and we're actually working on coming out with a new product very soon, which we're very excited about. And that's our Chrome extension for logging into websites.
Starting point is 01:15:34 And so that's, we're actually expecting that it'll kick it up a notch once we come out with a Chrome extension. So that's a really, really cool use case for the identities that people register on one name or with their own Blockstore node or with another registrar. And so yeah, this is interesting. You mentioned that you can use also, you can use your one name identity to log into a website. What would be the compatibility there with protocols like five? open standards, like FIDO, which are attempting to do the same thing?
Starting point is 01:16:08 So we have actually been really interested in FIDO's U2F and UAF, and we're looking at integrating that at some point. There's not much out there in terms of the UAF standards in terms of implementations. So I'd like to see it mature a little more, and I think it may be a little too early for us integrate and work with, but definitely would be nice to be interoperable with those standards. Cool. Well, I mean, I think this is really interesting because the identity is a really tough thing to do if you don't have a central authority to prove who you are. Traditionally, we've relied on the state to do that. And I think that, you know, in this new
Starting point is 01:17:00 age of the internet, decentralization, et cetera, I mean, we need to have ways to be able to provide our own identity that we control and that, um, then, that, uh, you know, is, is our own and is decentralized and crosses borders and et cetera. And I guess the, the, the next step or the important milestone in order for this to become widely used is an important hurdle, which would be for this to be recognized by the law. Um, is there any jurisprudence, uh, of like cases? where this, I mean, I suppose not, but what's your view on the sort of legal aspects of something like one name?
Starting point is 01:17:46 I think my, so I had a discussion with Congressman Jared about this and the, and he's off the view that the governments are usually the last to adopt a new technology. So you would likely see it take off first in, you know, online users, that people, are just simply using it to log into websites without a password. And that's exciting, right? Like now, you don't need to remember a password and you're not dependent on Facebook for actually logging into a website. And then you can slowly start building on it that there would be enterprises that might start
Starting point is 01:18:23 integrating it. Then there might be banks and then there might be states. And then finally, eventually the last leg would be like federal governments who start integrating a technology like that. But in order for it, so not necessarily integration, but let's say in the example of signing a contract, which I mentioned earlier, if two people were to sign a contract with their keys and there's, you know, they go to court because for whatever reason, do you think that this would be recognized as a valid way to sign a document, knowing that
Starting point is 01:19:00 we have, in my opinion, much less secure ways of signing documents? Like, I think in Europe, all you need to do is, like, check a box online if it's linked to your IP address. Like, you basically attest that it's as good as a signature. What's your view on that? I think that would, that will definitely be accepted at some point. And it's just a matter of one judge or court ruling on it as, like, an acceptable form. And then, boom, you have the precedent set, and then all the other courts will follow suit. So I think it's probably something like popcorn.
Starting point is 01:19:36 We just put it in the microwave and one kernel will pop and then the rest will just go. So, yeah, I haven't exactly looked into the court history there, but I would assume that if there is the need for some type of evidence and who signed a document and they actually, someone presents this as evidence and that's the only proof that's available, and they actually are able to do the vet. and make sure that the person did have control of that private key, then I would think that it's, you know, a judge that it does really understand what's going on would actually accept it. And then you'd start to see it really taking off there.
Starting point is 01:20:17 And then I think the other thing is, yeah, it's going to take some time for governments to actually accept it as a valid form of identity. But there are some bright spots. There's some nice things that are actually happening. one thing is the e-residency in Estonia, for example, where anyone around the world can get their own Estonian e-residency. And there's also, I think, two states in the United States that are working on digitizing driver's licenses. So that at least shows that a lot of government organizations are thinking about this.
Starting point is 01:20:53 And so it might be, it's possible that certain ones will be receptive to it sooner rather than later. Yeah, that's a great example. The E-residency, so for those who don't know, is Estonia, I'm pretty sure that's what they do. So they issue a public and private key to every citizen of this E-residency program. So you have an Estonian ID with a public and private key embedded in. So perhaps, you know, in 10 years, this would be generalized in the EU, for example, where like every European country you would have a public and private key in your ID, which would allow you to go vote and do certain things with the state, that kind of thing.
Starting point is 01:21:32 Another use case I was thinking of for this is the ability to encrypt data. So, for example, if you log into a website using your one-name ID, you could use your publicly to encrypt the data and your private key to decrypt it so that the service, although it's decentralized, wouldn't have access to your data. So you could log into Facebook and all your message. would be encrypted and you would hold the key with your one name account. Yes, absolutely. I think this is one of the biggest use cases that I'm personally very excited about.
Starting point is 01:22:08 And the idea over there is if you look at history of computing, we kind of keep, it's like a pendulum. It keeps going from central to decentralal, back to central, back to decentral. Like the initial mainframes, like those large computers, were very centralized. And then people started having, with personal computers, you know, it kind of got decentralized. And then you got these data centers. And now your laptop is almost like a dumb terminal. Like all your data is in a data center with a company. And they can do anything with that data.
Starting point is 01:22:49 So one of the applications that you're mentioning is kind of, of like people can start bringing their own data with the applications. Your data is in your control and you use them on need basis. So you start relying less on the centralized data centers that Facebook or Google or other these companies have built out in the past five to 10 years. And you kind of like start taking control back.
Starting point is 01:23:17 And the application developers, when they start integrating this technology and start building their applications this way, they would be actually writing data to a user's drive. They're like a storage device that is under control of the user and not keep all that data themselves. And another nice property that that has is, let's say that you start using a service and it's a startup and then it disappears in two years and all of your data is now suddenly gone because the data was not with you.
Starting point is 01:23:46 The data was actually stored with the company. And it's not like that company was trying to be evil. is just that this is the current model of building applications. And if we flip the model and there's a startup and you were using them and then they disappear, you don't care anymore because you still have your data and maybe some other service can use the same data format and give you a similar service as well. Okay, well, this is really fascinating discussion.
Starting point is 01:24:13 I'm really excited that we were able to get you guys on and I'm definitely going to play around with this block store demon and to try to make some identities, you know, confirm them with like Twitter accounts and stuff like that. So looking forward to that. So,
Starting point is 01:24:28 Ryan in, Moonie, thanks so much for coming on. Thanks for having us. So that's it for today's show. We do episodes of episode of Bitcoin every Monday and you can subscribe to the show on iTunes,
Starting point is 01:24:41 SoundCloud or wherever you get your podcast. It could be a podcast or app on iTunes or on an iOS or, Android. You could also watch the video version of the show on YouTube at Epicenter Bitcoin. Sorry, no, at YouTube.com slash episode of Bitcoin. I'm not used to doing this. It's usually Brian. It's kind of weird. And of course, if you're a loyal listener, if you like the show, and many of you have done this, you can go to iTunes and leave us an iTunes review. And if you do that, if you send us an email at show at Epicenterbidcoin.com to say, I left you a review.
Starting point is 01:25:14 We will send you a free t-shirt. That's right. We're bribing you for reviews. So go ahead and do that. And of course, you can always send us a tip, and you can do that. And the tipping address is in the show description. So thanks again for listening, and until next time.

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