Public Keys as Identities

Public Keys as Identities

These are my notes of the third lecture from Coursera’s Bitcoin and Cryptocurrency Technologies during Dec 2016 – Feb 2017. This was a fairly brief lecture. A simple idea explained: digital signatures enables the use of public keys as identities.

Questions answered in this Post:

  • What does “Public Keys as Identities” even mean?
  • How do you create an identity in this context?

Public Key == an Identity

Having a public key as an identity means that you can use the public key being used as a reference to some individual or body. Digital signatures enables this because one has the ability to verify the validity of a message based on the public key, message, and signature.

Thus, if you see signature such that verify(pk, msg, signature) [think of it as pk says, “[msg]”]

So in more concrete terms, there’s a public key named Alex and a msg “Hi”. Alex says, “Hi”
to “speak for” ok, you must know matching secure key (key)

Basically no one else can verbally speak for another person unless they’re that person or if you’re rich and famous then you have someone who tweets for you with your permission.

How to make a new identity

create a new, random key-pair (sk, pk) by just calling a function generateKeys()

pk is the public “name” (implement this with Hash(pk))
sk lets you “speak for” identity

So you control the identity, because only you know sk and since pk “looks random”, nobody knows who you are

One can use a new identity each time they create a message if they want. The downside is that it is possible at some point someone can group all these transactions together if they’re over a certain period of time.

Decentralized identity management

anybody can make a new identity
no central point of coordination

In common terms, there would be no need for a Social Security office required.
Bitcoin address -> public key/hash(public key)

Privacy?
  • addresses not directly connected to real-world
  • observer can link together an address’s activity over time, make inferences
PHP Code Snippets Powered By : XYZScripts.com