Blockchain technology has a long list of aspects to it, each with a part to play in the operation and overall success of the whole blockchain system. On its own, blockchain technology is difficult to understand and even more difficult to master, due in no small part to the complexities each aspect brings with it.
As we've explored in the past, blockchain consists of the linkage of blocks. Each block is a storage unit where information is stored. Every block has a unique code which differentiates it from all other blocks: these codes are known as hashes. These hashes are algorithm-crafted cryptographic codes. It is, therefore, cryptography that makes blockchain work on a fundamental level. So, what exactly is cryptography? Let's find out.
Cryptography is a method for securing communication and preventing unauthorized parties from accessing it. This allows for three goals to be achieved: confidentiality, integrity, and authenticity.
- Confidentiality protects the secrecy of the information. Even if the storage of the information has been compromised, the information itself is still encrypted, so it's useless to any unauthorized persons who may have accessed it.
- Integrity prevents the information from being tampered with. Cryptography's hashing method makes it exceptionally difficult to meddle with information stored on a blockchain.
- Authenticity is ensured using digital certificate, digital signature, and Public Key Infrastructure (PKI). In other words, cryptography guarantees that any information sent from one user to another is accurate.
Regrading cryptography, there are two distinct types: symmetric and asymmetric cryptographies:
Symmetric cryptography, also known as secret-key cryptography, is when both the sender and receiver use the same secret key to encrypt and decrypt a message. Therefore, there is one common key, used to lock and unlock an encryption "box." Symmetric key algorithms are very fast because keys do not need to be very long; however, the problem with sharing the common key in the first place is it can be intercepted, compromising the entire system.
Asymmetric cryptography uses a pair of keys: a public key and a private key. The message is encrypted with either a public or private key which can only be decrypted using the other key in the pair. If the public key encrypts, the private key decrypts: if the private key encrypts, then the public key decrypts. Public keys are disseminated in public networks, while private keys are only known to their owners. This key pair cryptographically differs from symmetric cryptography which uses one secret key.
One further key of cryptography is hashing. Hashing converts input data to output random data of fixed size (known as a digest). This is a one-way function, so the original input data cannot be derived from the output. For example, rather than storing a password in clear text, the hashed password is stored. If the passwords were to be compromised, the nature of hashing makes it difficult to access the actual password.
In the context of blockchain, cryptography allows verified senders in a network through signatures, as well as ensure that past transactions and records (the blocks) cannot be tampered with. Blockchain also uses hashing algorithms to assign a unique hash to each block, allowing for the distinction between different blocks.