How Blockchain Could Change The Management of Identities Part 3

Confirming identity without having access to the identity.


On the Bitcoin blockchain, miners seal the data about transactions that they compile into blocks with hashes. A cryptography hash is a string of data that a cryptography algorithm generates once its processes the data. Cryptography hashes have several important properties. The first one is that a set of data can only have one hash in one cryptography algorithm. The second one is that while it is possible for anyone to obtain the same hash while using the same data, it is impossible to regenerate the data if all you have is the hash for the data. This is the reason why it is possible to somebody to verify an identity without actually getting access to the identity.

Here is how this works. Any digital information is a combination of numbers. Let’s say that some identity is represented by the set (1, 3, 2, 3, 4). This set would have only one hash under a cryptography algorithm. Let’s say this hash is x22P. A blockchain could store the information about the identity and it could also store the hash.

The owner of the identity could also have the information about the identity and the hash. However, if the owner needed to prove to some third party that he is indeed the owner of the identity, he would not need to share the identity information. All he would need to share would be the hash produced by this information.

If source A has the data and claims that the hash is x22P and source B has the data and claims that the hash is x22P, then if user C trusts A and needs to verify B’s claim about the validity of the data, he doesn’t need source B to send the data. All he needs from B is a hash that user C can then verify with A. If hashes match, then the data is correct. If hashes don’t match, the data is incorrect.

Let’s say B tells C that the hash for the identity is Y66w. C would then send Y66w to A and if A says that hashes don’t match, C knows there’s a problem, which is often what is needed in the real world. For example, when a person applies for a loan and makes a claim about credit score, the bank needs to know if the claim is correct. If a person is trying to enter a facility that has age restrictions, all the facility needs to know whether the person satisfies the age restriction rules or not.

Obviously, sets of data on real-world functioning blockchains such as the Bitcoin blockchain are much more complex than the hash in the example above because the sets of data are much larger. However, the way the works is the same and the comparisons of hashes can happen in real time almost instantly.

The third property of cryptography hashes is that a hash is typically much shorter than the set is corresponds to. This is what makes comparing the validity of data so convenient. For example, block #521939 of the Bitcoin blockchain contains information about 1960 transactions. You can see the information about all of these transactions by visiting the page of the block on the official Bitcoin Blockchain explorer here and scrolling down the page. At the top of the page you will see the summary of the most important metrics for the block such as the number of transactions and transaction volume and the most important information about the blocks including hashes and timestamps, but when you scroll the page down you will see individual data for all the 1960 transactions.

Because the Bitcoin network is fully transparent, this information is available for all the blocks of the Bitcoin blockchain and all the transactions that have occurred on the Bitcoin blockchain since its launch by Satoshi Nakamoto in 2009. The information includes times, transaction amounts, and addresses where the funds are going to. All this information for each block is represented by the block’s hash. For example, all the information about all of the 1960 transactions for the block #521939 was turned by SHA-256, which is the cryptography algorithm that the Bitcoin network uses, into the hash of 00000000000000000019cd6db077b9636bab867e0dc312c08d1f2d7949f7ea7a.

The fourth property of hashes is that different sets of data have hashes that look extremely different even when the data is extremely similar. For example, if the set (1, 3, 2, 3, 4) has the hash of x22P, then the set (1,3,2,3,3) could have a hash EEE12u.  This is yet another feature of hashes that makes blockchain networks extremely secure because it means that if someone were to change, let’s say, one digit in one transaction on the Bitcoin blockchain, then the hash for that block would immediately look very different from the original hash for the block and the blockchain would reject the block with the modified data.