Hacker News new | ask | show | jobs
Using blockchain for identity management is mostly ridiculous (blog.xot.nl)
90 points by detstrat 3179 days ago
10 comments

The original article was based on fundamental misunderstandings of Blockcerts, but the follow-up Blockcerts community discussion (including the article's author) was productive:

http://community.blockcerts.org/t/response-to-blockchain-blo...

Including the response of JHH in the comments again.
Im a "blockchain-for-x" skeptic, but I disagree with this article.

A timestamped, immutable blockchain would be useful for reviewing credentials from 3rd world countries where qualifications/experience/government certification are all able to be bought. It wouldn't solve fraud, but it would make it a lot harder to suddenly decide to fake a whole lot of credentials, and would make it more obvious that a particular organization is corrupt and therefore would incentivize not being corrupt.

The central question for whether blockchains are indicated for a particular use case continues to be "does this require immutability, regulation resistance, or cooperation across various regimes that don't trust each other".

An example of useful blockchain identity would be in refugee verification/processing: - people in 3rd world countries scan a fingerprint and hash an encrypted version on the blockchain when young - annually update information about themselves onto the blockchain including info about families - 10 years down the line they have an excellent record of who they are, who their family is, what their situation is, and they become far more credible when it comes to identity verification that relying on documentation from a long-toppled government

You're basically specifiying PKI, not anything to do with Blockchain.

If you truly want the timestamps to "lock in" the time of a transaction without trusting either party, a hash-commitment could be used, akin to https://opentimestamps.org/.

A blockchain seems like a very reasonable way to provide a distributed immutable log of actions that take place within a PKI infrastructure. It even adds the ability for 3rd party auditors to participate in the system in a real-time manner.

You might even extend it, so that instead of it being PKI with a blockchain transport, to something more akin to Kerberos with a blockchain transport -- every attempt, successful or not, to access a resource could be immutably logged, and access could be granted by the targeted resource only once the authorization message has been committed to the blockchain (and therefore approved by auditors)

Cert Transparency is an effort on that front: https://www.certificate-transparency.org/faq, and it works without a blockchain.
Cert Transparency depends on our benevolent lord Google to maintain the integrity of the log. Using a blockchain pushes that trust model out such that it's distributed across multiple actors.

There's nothing wrong with CT -- it's a great step in the right direction. There's also nothing wrong with exploring distributed immutable logging.

A blockchain adds trustless governance rules and a verifiable audit trail to using just PKI alone. These are hugely valuable features of an identity management systems.
A blockchain could improve on this because it leaves some trail linking actions of individuals as well as authorities together.

For instance, you can make a timestamped scan of a university degree to prove it existed on some date. However, a blockchain would allow the university itself to sign the fact that it gave the person the degree at that time. It would also show how many degrees of that sort the university are giving out, so that if they start giving them to everyone that would be noticed. It would also show that the given person only got that 1 degree at that time, and it would be hard for them to then make up a bunch of other stuff. None of these are possible with simple timestamping.

Is there a preference for the term ‘third-world’ to ‘developing nation’
:shrug: don't care
"Developing" (or less euphemistically, "poor") is better because "3rd world" has specific cold-war related connotations that are less and less relevant as time goes on - eg, a poor former soviet bloc country wouldn't be "3rd world" as some people understand the term.
> scan a fingerprint (to establish identity)

> annually update information about themselves onto the blockchain (how?)

What could possibly go wrong? Fingerprints alone should not be used as a key.

I don't mean using the fingerprint as a key.

I mean that if you can produce a fingerprint image corresponding to a blockchain hash and it matches your fingerprint 20 years later, and this is linked to 20 years worth of blockchain recorded credential information, I would find that very compelling evidence that you are who you say you are.

This idea of having 20 years of linked entries in an append-only distributed log is very powerful, and is the basis for the "idchains" system discussed here:

https://www.youtube.com/watch?v=xZC98s4paYY

It controversially opts to use faces rather than fingerprints, but faces are easier for humans to verify, especially without special hardware.

I don't think the video describes a complete system, but the idea has merit and I wish it had been developed more.

Fingerprints change (sometimes radically). Relying on them may make you unable to prove you're yourself.
What you described is identical to a key
Using blockchain for $x is (mostly) ridiculous
The best litmus test I have seen is "Are double spends a problem in your architecture?"

If not you probably don't need a blockchain.

The best litmus test is "is telling which document was earlier helping in anything?", because this is precisely what blockchain is solving.
Fair enough
The use-case here is a decentralized mechanism for providing (at least approximately) validated timestamps, which it seems to me a blockchain can do.
Today. But tomorrow? And who will be well-positioned then?
... Why? Why would a bad choice of algorithms and specious "security" guarantees be a better choice tomorrow?
> And who will be well-positioned then?

Whoever discovers a worthy use for a blockchain.

Point taken, but in the meantime there’s a lot of effort being wasted in awkward pairings.
The architect of the Blockcerts system replies to this article here:

http://community.blockcerts.org/t/response-to-blockchain-blo...

“It’s interesting that he focuses on blockchain for identity management, which Blockcerts doesn’t even do.

However, DIDs, which can improve the ability of individuals to own/control their identity, will feature blockchain-based method specs.”

I don't understand what the "privacy nightmare" is that the author describes:

> The credential itself is signed by the issuer, which makes it authentic and binds it its owner. In itself this does not appear to create a big privacy problem, compared to standard PKI certificates. However, one of the keynotes suggested that also uses, i.e. verifications, of credentials could be logged on the blockchain. That information could subsequently be used to make e.g. policy decisions on employability: which academic credentials lead to the best employment opportunities? This is a privacy nightmare.

And is the author suggesting simply checking credentials against a centralized authority:

> All you need is that each issuer keeps a list of all issued credentials in a local immutable record (using a simple hash-chain, for example) against which a verifier can check the status of a credential.

My comprehension of this article is low.

> verifications, of credentials could be logged on the blockchain

And how would that work anyway? He just finished saying that everything on the chain is public. You don't have to issue a transaction to read it, you can just read the public information off your local node.

>what would happen to all credentials once issued to some blockchain, if that blockchain ceases to operate? The raw blockchain data is of course still available and maintains its blockchain structure. Yet the integrity-preserving features of the blockchain disappear as soon as it is no longer actively used.

I'm not sure this is true. Info about the blockchain wouldn't evaporate instantly, it'd be easy to get the legit genesis block header and chain height, wouldn't it require a lot of "work" to produce a convincing counterfeit chain?

No. It'd require only slightly more work than the cost of generating a block at that time, to generate a new plausible block altered arbitrarily.

The power of the "head" of the blockchain is the human consensus around it. It is otherwise unprivileged.

As with any transaction on a proof of work chain, the more work there is layered on top of the item in question, the more confidence you can have. Even if you don't know that someone's presenting you with a truncated chain, you can still see that their credential is at the end of it, and know that they could have cheaply faked it.

Proof of stake would require more human consensus but proof of work is measurably expensive to produce.

> As with any transaction on a proof of work chain,

Only active proof of work chains. Discontinued chains have no active, competitive consensus and may be arbitrarily rewritten by attackers since there is no competition at any historical point in the chain for a quick mining operation and there is no consensus about the head of the chain.

If there are additional credentials and signatures embedded in the chain (there need not be) then THESE are the trust tokens that have value after the chain is discontinued.

Blockchains only offer one thing: human consensus when humans are not necessarily inclined to reach it. That is what a PoW or PoS blockchain algorithm for cryptocurrency is trying to guarantee.

You can still measure the total amount of hashpower applied. Someone could add arbitrarily many blocks but you can calculate how much it cost for them to do it.
So? Without competition for time it's pretty easy to make quite long blockchains.

It's the competition for time that makes the mining reliable right now.

yes that is interesting, it is the same as one copy of the database. you would have to find someone mirroring another copy and compare them.

if we live in a world where one-copy is fine most of the time, then this is a marginal improvement adding just a little redundancy between unknown parties.

some kid with the blockchain copy in their temp folder from years before will save the key pairs for humanity.

Using it today for identity management is ridiculous. It's a brand new technology and will take time to fully develop.
Using brand new kind of liberally here.

The idea of a blockchain is more than 20 years old, with the first popular implementation, Bitcoin, being 9 years old.

That's the same year the iPhone 3G came out. So if you want to argue "brand new" that's where you've got to start.

https://en.wikipedia.org/wiki/Blockchain

https://en.wikipedia.org/wiki/IPhone_3G

Actually I didn't read any concrete arguments against. Blockchain ceasing to operate? That it's an overkill? Hm.
Doesn't e-estonia use block chain for identity?
no. They simply use digital signatures. Blockchain is as needed here as a bicycle is needed by a fish.
Worthwhile article. But please correct the typo in the HN headline. (Even though it is in the original, it grates).