Lesson

Cryptographic Hash Function

Distributed ledgers turn out to be one of two key concepts you need in order to understand blockchain. But before we go any further, let me first tell you an easy way to summarize the book “War and Peace” in just 20 letters. It turns out that every book has a unique, untraceable fingerprint. There are certain functions (by which I mean mathematical equations) that computers use, where if you put in a book or string of characters, you get out the other end a unique 20 to 30 digit code. This code will be unique to any given input; so for example, when you put in “War and Peace” you get back:

COSL Z5N7 SPMW 8I6H SJCL

If you were to put the exact same copy of “War and Peace” in, but with one single comma changed in the whole book, you’d get a completely different 20 digit code:

CG64 06WL DT9L RM06 TZ0I

See how different the codes are? Could you connect the two in order to understand that the top is “War and Peace” and the bottom is “War and Peace” with a random comma placed somewhere in the book? The codes are so different that they cannot be traced back to the original versions warranty.

Functions that do this have some amazing uses, such as being  used to validate information. Let’s say you were going to sign a lease and you wanted to make sure that you are signing the exact same copy as the landlord; you could drop your version of the lease and the landlord’s version into the function and if there is even one comma difference, they would yield different 20 digit codes. You can also use functions like this to obscure your identity. You’d combine your personal information- such as your name, date of birth, and hair color- into a string of text and put that text into the function to generate a unique 20 digit code. You can then use this code as your internet identity to conduct business online and be confident that no one can connect it back to you; but if later someone wanted to verify that it was you who owned the code, you could show that you know the only combination of inputs that can regenerate it. Functions that do this are called “cryptographic hash functions” and they are the second concept that you need in order to understand blockchain.