Suppose there are two online identities, and you want to verify that they’re associated with the same person. It’s not too hard to verify this: for instance, you could tell one of them something secretly, and ask the other what you told the first. But how do you determine that two online identities are different people? It’s not obvious how you do this with anything like cryptographic keys etc.
One way to do it if the identities always do what’s causal-decision-theoretically correct is to have the two identities play a prisoner’s dilemma with each other, and make it impossible to enforce contracts. If you’re playing with yourself, you’ll cooperate, but if you’re playing with another person you’ll defect.
That being said, this only works if the payoff difference between both identities cooperating and both identities defecting is greater than the amount a single person controlling both would pay to convince you that they’re actually two people. Which means it only works if the amount you’re willing to pay to learn the truth is greater than the amount they’re willing to pay to deceive you.
Here’s one way you can do it: Suppose we’re doing public key cryptography, and every person is associated with one public key. Then when you write things online you could use a linkable ring signature. That means that you prove that you’re using a private key that corresponds to one of the known public keys, and you also produce a hash of your keypair, such that (a) the world can tell you’re one of the known public keys but not which public key you are, and (b) the world can tell that the key hash you used corresponds to the public key you ‘committed’ to when writing the proof.
Note that for this to work you need a strong disincentive against people sharing their private keys. One way to do this would be if the keys were also used for the purpose of holding cryptocurrency.
Suppose there are two online identities, and you want to verify that they’re associated with the same person. It’s not too hard to verify this: for instance, you could tell one of them something secretly, and ask the other what you told the first. But how do you determine that two online identities are different people? It’s not obvious how you do this with anything like cryptographic keys etc.
One way to do it if the identities always do what’s causal-decision-theoretically correct is to have the two identities play a prisoner’s dilemma with each other, and make it impossible to enforce contracts. If you’re playing with yourself, you’ll cooperate, but if you’re playing with another person you’ll defect.
That being said, this only works if the payoff difference between both identities cooperating and both identities defecting is greater than the amount a single person controlling both would pay to convince you that they’re actually two people. Which means it only works if the amount you’re willing to pay to learn the truth is greater than the amount they’re willing to pay to deceive you.
Here’s one way you can do it: Suppose we’re doing public key cryptography, and every person is associated with one public key. Then when you write things online you could use a linkable ring signature. That means that you prove that you’re using a private key that corresponds to one of the known public keys, and you also produce a hash of your keypair, such that (a) the world can tell you’re one of the known public keys but not which public key you are, and (b) the world can tell that the key hash you used corresponds to the public key you ‘committed’ to when writing the proof.
Actually I’m being silly, you don’t need ring signatures, just signatures that are associated with identities and also used for financial transfers.
Note that for this to work you need a strong disincentive against people sharing their private keys. One way to do this would be if the keys were also used for the purpose of holding cryptocurrency.
If you want to search for literature the relevant term is Sybil attack.