Quant Network’s Overledger: Part One Blockchain Fundamentals

In Part one, before talking specifically about Overledger, I need to explain some important concepts to help you appreciate what makes Overledger different from other Interoperability platforms. You may frequently see / use words such as DAPP, Blockchain, Private Keys etc but not necessarily understand what they are and how they function. My goal is not to provide a very technical, low level explanation, but instead hopefully fill in the missing pieces of how they all come together. This is part one of Eight on a series taking a closer look at Overledger.

What is an API?

API stands for Application Programming Interface and they are used everywhere in the world today. They define how a developer can program an application to interact with another and process their requests and responses. APIs have been around for a long time, whenever you use a desktop or laptop, APIs are what make it possible to move information between programs — for instance, by cutting and pasting a snippet of a LibreOffice document into an Excel spreadsheet. System-level APIs makes it possible for applications like LibreOffice to run on top of an OS like Windows in the first place.

What is a DAPP?

I’m sure you all know what a DAPP refers to — A Decentralised Application, but what does that involve?

What is Hashing?

A Hashing function converts any form of data into a unique string of text of a fixed size. The Output produced is known as a Digest (Also referred to as a Hash or a fingerprint) and is always the same fixed size regardless of the size of input data. So, for example SHA256 will always be 256 bits long. If you are using Hexadecimal representation, then each digit represents 4 bits. So, the Digest will be 64 digits long.

What is Symmetric Cryptography?

Symmetric cryptography is where a shared secret is shared between the two parties. The same Key is used to encrypt the data on the senders side and decrypt the data on the receiving side. As only the two parties know the shared secret then nobody else can decrypt the message and so provides confidentiality. Symmetric encryption offers fast encryption with little overhead but securely sharing the key over the internet isn’t very easy and as a result is not as widely used anymore.

What is Asymmetric Cryptography?

Asymmetric cryptography is where each user has a pair of keys, a private key and a public key. The Private key is never meant to be shared and strictly only the user knows their own Private key, whereas the public key can be freely shared. If Bob wants to encrypt a message and send it to Fred then Bob encrypts the message using Fred’s Public Key, as the only way to decrypt a message encrypted with a public key is using the matching Private Key. As Fred is the only person to know their private key they are the only ones able to decrypt the message, providing confidentiality. This allows for secure sharing of keys over untrusted mediums such as the Internet and is widely used throughout the world.

What is a Digital Signature?

A Digital Signature uses a combination of Hashing and Asymmetric Cryptography to provide Non-Repudiation(Sender can’t deny having sent the message) and Integrity (ensures the message hasn’t been modified).

How does this relate to Blockchain?

Your cryptocurrency wallet uses Asymmetric encryption. Your wallet address that you receive cryptocurrency from is a hash of your Public Key. Your wallet’s private key is something only you should know and is what enables you to spend the currency held in the wallet. It’s recommended to use a hardware wallet such as a ledger to store your wallet’s private keys to protect them.

So to wrap it up with an overview of how Bob’s transaction is added to the Bitcoin blockchain

Bob has created and signed his transaction which then contacts a full node to obtain the remaining required information and the transaction is placed in a pool of pending transactions.

DLT Enthusiast and Writer. Interoperability is key for DLT to achieve its true potential. Avalanche $AVAX, Injective Protocol $INJ and Quant $QNT