6 ms·
Identity does not require consensus, naming does. If you want to have a decentralized DNS, a blockchain might make sense. However, a global consensus on who co
by murbard2 11y ago
Identity does not require consensus, naming does.
If you want to have a decentralized DNS, a blockchain might make sense. However, a global consensus on who controls what name isn't as relevant as one would think. As more and more interactions are initiated online, the SSH model of accepting the key on the first connection becomes better suited.
How do I know I am connecting to my bank's website and not some phishing website? Because it presents me with a proof that it controls the identity of the website where I initially opened my account.
My point is that decentralized identity does not require a blockchain. This is the result of people thinking: "hey, what can I do with a blockchain?" rather than "How do I build a decentralized identity system".
The supreme irony is that Satoshi Nakamoto is the perfect proof that a secure online identity needs not depend on a central authority, or a blockchain.
- jsprogrammer 11y ago>Because it can present a proof it controls the identity Which proof are you referring to? As far as I know, there is no way to prove that someone else doesn't have the same number as you (they may have even pilfered the number from you without your knowledge).
- murbard2 11y agoA chain of signatures starting from the key you initially accepted. There's not need to prove to anyone that someone else doesn't have the same number as you, I have no idea where this is coming from.
- jsprogrammer 11y ago>There's not need to prove to anyone that someone else doesn't have the same number as you, I have no idea where this is coming from. How can you trust an identity, if anyone can claim that identity? You said that you could know that you were connecting to your bank's website because it would present you with a proof that it controls a particular identity. Now, I am assuming that you mean a proof of "exclusive control", because unless something has exclusive control over an identity, there isn't really any way to know that some other entity isn't controlling the identity (which would violate your argument's conditions). I maintain that there is no proof of exclusive control, as there is no way to know you (or someone else) has exclusive knowledge of the appropriate numbers.
- murbard2 11y agoOf course there is no way you can prove exclusive control, you can always let someone else impersonate you. A blockchain is not going to solve that.
- jsprogrammer 11y agoA blockchain?
- nbadg 11y agoAgreed 100% that this is someone looking for a problem to fit their solution. All you need for decentralized identity is a (collection of) public key(s) that can be referenced and cryptographic enforcement of authenticity+integrity. Although I might be a bit biased, because I'm working on a project that does this.[1] Such an identity system is simple enough that you can layer any naming mechanism on top of it without appreciable extra cost compared to a unified approach, at the advantage of not restricting yourself to a specific naming architecture. By all accounts, a blockchain is a tremendously inappropriate amount of bloat for the purpose of identity authentication. I wouldn't say that naming requires consensus though. Naming requires a degree of trust in the entity declaring the name. Consensus is only one way to arrive at that trust. And different organizations will have different requirements for trust: for example your bank is going to have very different requirements to "name" your account than, say, Facebook. Informally I've called this the difference between identity authentication vs identity verification, but I know that's not ideal terminology -- does anyone have a better suggestion? [1] https://github.com/Muterra/doc-muse https://github.com/Muterra/doc-muse
- murbard2 11y agoIt depends what properties you want for your names. If you want everyone to recognize your globally unique name, then it behaves like a piece of property and a blockchain is indeed appropriate. Otherwise, web of trust models, pet names, centralized providers etc are by and large fine.
- jude- 11y agoThat's what's being argued here--it's valuable to both users and services like GitHub for everyone to have globally-unique names that everyone can recognize.
- omgitstom 11y agoTo add to this, the author brought up another interesting point, the organization you belong to should not own the identity. This will allow the identity to be associated with 0..* organization and the data associated with your identity can travel, be shared, etc. This can be supported with a good authentication / authorization data model without decentralizing the identity. To bring this back around, the identity does not require consensus, the naming does, and the claims about the identity does.
- dvanduzer 11y agoSatoshi Nakamoto is a case study in how confused everyone is about the concept of identity. Many of the engineers I talk to are at the point where they refuse to even use the term "digital identity" at all. (I think this is mostly what you are saying.) I still trot this link out as a primer whenever the subject comes up: http://stpeter.im/journal/1035.html http://stpeter.im/journal/1035.html
- talaketu 11y ago> concept of identity I like the working definition "set of identifiers" because it frames identify an externalized bunch of labels, understood as relational propositions - truth uncertain - distinct from the purely internal concept of "self". Works in a non-digital setting too: "name? dob? employer? nationality?"
- murbard2 11y agoMathematically, identity is indeed a relation. If I say: "Look over there, it's Elizabeth II, Queen of England", I am establishing the sameness of a person referenced by in three different ways: by a geographical position, by a name, by a title (according to the arbitrary rules of British monarchy)
- dvanduzer 11y agoIn your example, we might be able to say that the speaker is referencing one person with a variety of identifiers. The sentence does nothing to establish the "sameness" of a person, but it is a good example of how relevant who makes the claim is. If I randomly uttered that sentence, it'd either be weird or obvious, or maybe a non sequitur. If the Lord High Chancellor says it in 1952, that causes the statement to become true. But in the more usual sense, if one wishes to evaluate the truth of that statement, where do you start? The "over there" maybe establishes the referent to a person. The name and title then clarify a commonly understood identity for the person. We can then decide if it is, in fact, that person. But say we already knew that we were looking for that specific person, the Queen of England. Then, the only fact we're trying to evaluate is the current location of Elizabeth the Second. Is it over there? Why yes, yes it is. Hellooooooo! The mathematical concept of identity is not nearly that simple. Under multiplication, the identity element of the integers is the number 1. And many mathematical expressions share equivalence relationships, which is more in line with your notion of sameness. Unfortunately (or perhaps fortunately), we can't rigorously encode the relationships you've described with any known mathematical techniques.
- natrius 11y agoDecentralized identity revocation requires a blockchain. It's easy enough to give people statements that you control a given public key. It's hard for them to know whether they should still trust that key. Blockchains are the only systems that are censorship-resistant enough for us to rely on for this purpose. Sure, lots of people have done lots of thought experiments about what to use blockchains for, some of which weren't the best. However, if you haven't gone through that period yourself, your blockchain use cases are probably too narrow.
- petra 11y agoHow does this work ? what happen when someone steals my blockchain master-key ?
- natrius 11y agoYou write a revocation message to the blockchain signed by your key. Now anyone who is trying to verify your identity can prove that it has been revoked.
- murbard2 11y agoAnyone can get Edward Snowden's public key on the Internet, so no, Blockchains clearly aren't the only system which is censorship resistant enough to achieve this goal. I've been thinking about blockchain use cases pretty extensively for the past two years and written extensively both personally and pseudonymously on the topic. That doesn't mean I have to be right, but if I'm wrong, it's not for a lack of reflection on the matter.
- natrius 11y agoI said things about key revocation. You said nothing about key revocation. How is that a retort?
- muneeb 11y ago> Identity does not require consensus, naming does. It's not just about global consensus on naming, but also global consensus on data associated with that name (which includes proofs/verifications/signed-statements etc). In other words, the system described in that post is not just "DNS for people", it is "DNS + PKI for people". > Satoshi Nakamoto is the perfect proof that a secure online identity The Satoshi Nakamoto secure identity you're describing is missing the human-readable part of Zooko's triangle. Not having human-readable names is a major limiting factor for practical adoption.
- murbard2 11y ago"Satoshi Nakamoto" is human readable. The fact that a train model hobbyist shares that name only seems to be confusing to a Newsweek reporters. What people care about is: the Satoshi Nakamoto who created Bitcoin, and his public key is well known. Name is a property of identity, not a pointer to it.
- jude- 11y agoWhat I think GP means is that "Satoshi Nakamoto" fails the "secure" point of Zooko's triangle: there are two or more entities to which "Satoshi Nakamoto" maps. Human names are decentralized and human-meaningful, but not secure. This is where the blockchain (or some other log-like data store) becomes important. By giving you a total ordering of which principal has written a claim on a name, you can achieve the "secure" property by applying a validation policy as a function of claim order to determine which principal the name points to. For example, you might say that "Satoshi Nakamoto" shall refer to the first principal to claim it in the blockchain, and subsequent claims by other principals should be treated as invalid. The reason to use a blockchain to store the history of name claims is simply because the blockchain is a trustless, decentralized data structure (achieving the "decentralized" point in the triangle). If this property isn't important to your use-case, then other log-structured data stores will do just fine.
- murbard2 11y agoMy point is precisely that this property isn't critical for identity. And no, blockchains aren't trustless, at least not in the sense in which trustless is generally used. In the case of Bitcoin, you have to trust that the miners will behave in a certain way. There are no mathematical guarantees.
- shea256 11y agoIf you dig below the surface you might see why it does. For example, how would you imagine a system could implement key revocation and signed statement revocation?
- murbard2 11y agoYou publish a signed statement revoking your key. Publications are kept and replicated by volunteer nodes or in a DHT. There is no need for consensus or coordination, which is what a blockchain achieves because you act as the central authority regarding your own identity.
- jude- 11y agoOrder matters. Suppose my key is compromised, stolen, or lost. If my revocation preceeds a subsequent signature from my key, then the subsequent signature can be considered invalid as well. Unlike a DHT, the blockchain provides everyone with my key's history with respect to every other key's history, so my stolen key cannot be used to impersonate me after I revoke it. Moreover, the blockchain grows at a constant rate, so attempts to censor the revocation will get noticed quickly, since I will notice when my transaction does not get accepted, and other principals will notice when blocks are not propagated.
- murbard2 11y agoOnce you lose a master key, blockchain or no blockchain, your identity splits. The person who stole your key can impersonate you perfectly. Having a blockchain does not help at all in telling the attackers from the honest party. What a blockchain lets you do is arbitrarily decide on a single one of the parties as the canonical branch.This is crucial for money, but of no practical value for identity.
- jude- 11y ago> Once you lose a master key, blockchain or no blockchain, your identity splits. The person who stole your key can impersonate you perfectly. I agree that there is a race between you broadcasting your revocation and the attacker using your key. Until all relevant parties receive your revocation, your attacker impersonates you perfectly. However, using the blockchain as a broadcast medium for revocations places an upper bound on how soon your revocation will received by the rest of the these parties (assuming the blockchain itself remains available during the compromise). This is not the case with existing PKI systems, which make no such provisions at the protocol level beyond a simple (and usually optional) key expiration. Moreover, the fact that blockchains are extremely difficult to convincingly forge means that your well-formed revocation transaction would be hard to censor in a way that you could not detect, so an unavailability attack would not leave you falsely believing that your revocation has been sent.