6 ms·
> 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
by 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.
- jude- 11y ago> My point is precisely that this property isn't critical for identity. I don't know what you mean. I think you'll agree that it would be undesirable for me to insist being called by the same name as one of my coworkers, for example. Name collisions are definitely a problem for identifying people in practice. > 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. We might have different meanings for "trustless." Can you give an example of a non-trivial PKI system or protocol that you consider "trustless?" I consider the blockchain to be "trustless" because it's extremely hard to make a convincing forgery of one, and because I can verify with high probability that the blockchain I have is the "right" blockchain. I can verify that a blockchain is well-formed, I can calculate a highly-probable lower bound on the number of compute cycles needed to generate it, and I can compare this lower bound to an expected value based on my external knowledge of electricity costs, semiconductor costs, history of Bitcoin's compute capacity, and so on. The only thing I need to assume is that the blockchain I received was generated by a set of peers who spent the majority of their combined cumulative compute power to mine it honestly. However, I'd argue that this assumption holds true in practice, because the amount of compute power an adversary would need to use to generate a valid but wrong blockchain is enormous and costly (it may very well be cheaper for the adversary to achieve its goals via some other route).
- mikekchar 11y agoPersonally, I don't agree with your assumption. It is totally fine for 2 people to have the same globally recognized name because the people who need to differentiate between them will spontaneously invent a system to do so. In Japan nobody has middle names and family names in some areas are very common. For example, where I live Suzuki is ridiculously popular. At the school I taught at, 10 of the 80 teachers had the last name Suzuki and 3 of them had the same first name. It was absolutely not a problem. These teachers responded to many names. Sometimes their first name, sometimes their last name, sometimes their home room class number and their last name. The name that was used depended on context. There was absolutely no reason to have a globally unique name for them. Their family called them something, their friends called them something else, their colleagues called them something else, their students called them something else. The important part is that the person interacting with someone has a distinguishable name for that person. However, they do not need to share that name. I don't need to know that my colleague's wife calls him Pooky, while I call him Tarou, while his students call him Mr. Suzuki (if they can even remember his name at all -- quite a lot of the students will just call him "teacher"). This is also true of computer systems, from my experience. You need a globally identifiable identity (like an SSH key), but you do not need a globally identifiable name. The people who interact with the identity can choose any name they wish. The name is not important. Sometimes you have 2 or more people who know the same person and want to reference them. As long as they have a globally recognizable identity, then it's fine. So if person A says "Pooky (who controls ssh key 1234) is a very kind person", I can easily identify the person that they are talking about (or verify that I don't know that person). My determination of whether the person is kind or not will depend on how much I trust person A. As the other poster mentioned, in virtually every case, web of trust, and nick names are exactly what you want. The only time you need a globally identifiable name is if you are interacting with someone that you have never had any dealings with before (and none of your acquaintances have had any dealings with before) and you want to be assured that they are who they say they are. But in this case there is still a gap -- you will need some kind of authority to vouch for their identity (like a government with a passport number or something like that). A block chain will not do that for you. Like the other poster, I can see no utility in this. It's technologically interesting, but there are better ways to disambiguate names. Edit: Reading further in the comments, key revocation is an interesting problem which I hadn't considered. I can see a use for a ledger in that case.