Develop DApps on Ethereum (Tutorial Series for Beginners) [ Part 1 : Basic Terminology]
Want to learn how to develop DApps? Can’t figure out where to start from on the internet? Don’t worry! Stay with me and follow this tutorial series (new articles posted daily) and you will be up and running in no time!
You don’t need to understand all the crypto economic computer science to start building cool apps. But it will be good to know some of the key terms we will be using and the concepts behind them. So, without wasting any more time, let’s dive into it!
The next article in the series is available here.
Public Key Cryptography
First I will give a technical explanation of the concept and then strengthen it with a real life analogy.
The Public and Private key pair are 2 uniquely related long random numbers.
The Public Key is what its name suggests — Public. It is made available to everyone via a publicly accessible repository or directory. On the other hand, the Private Key must remain confidential to its respective owner.
Because the key pair is mathematically related, whatever is encrypted with a Public Key may only be decrypted by its corresponding Private Key.
Another important aspect is Digital Signature. A digital signature is a “stamp” someone places on the data. This stamp is extremely difficult to forge. Anyone with the corresponding public key can verify that the document was signed with the private key or not (basically if the document is genuine or not).
Real Life Analogy.
Alice has a box with a lock, a very very special lock!
And she has 2 SEPARATE keys. The first one can only turn clockwise (from A to B to C) and the second one can only turn anticlockwise (from C to B to A).
Alice picks the key that can turn the lock from A to B to C and keeps it with herself. We will call this as her private key. She makes a thousand copies of the other key, which we call her public key and gives it to her friends, family or anyone who wants to have the key.
Now if someone wanted to send Alice a personal document, they would put it in the box, lock it with the public key (from B to A) and send it to Alice. Since only Alice has the private key which can unlock the box (turn from A to B), there is no threat of anyone else opening it.
Now suppose Alice wants to put a document in the box, lock it with her private key (from B to C) and send it to someone. Why would she want to do this? Because if I get this box which says “From Alice” on the label, how can I believe it? But wait, I have Alice’s public key which when I turn clockwise on the box, nothing happens. But if turn it anticlockwise, it opens. This means the document actually came from Alice. This is called Alice’s digital signature!
Cryptographic Hash Function
It is a function which takes a message as an input and returns a fixed length alphanumeric string, called ‘hash’ [not that one silly!]. What is the big deal about that?
A hash function has 3 properties:
1. It is super easy to calculate hash of a given message.
2. It is super tough (like impossibly tough) to figure out the message from a given hash.
3. Two messages differing only slightly will have their hashes nowhere close to each other.
For now knowing these properties is enough. We will talk about how to use them in an upcoming article.
Peer to Peer Networking
Unlike the Client Server model, peer-to-peer networks consist of networks of computers connected to one another directly without sending requests to any server. All computers taking part in the network are considered to be ‘peers’ and have equal standing within the network as one another.
All Ethereum nodes are peers in a distributed network, there’s no centralized server.
Can you think of an example?
These are the core technologies that are used in Ethereum. In the next lecture (I will post it today itself), we will discuss on the other technologies such as Blockchain, Ethereum Virtual Machine, Node, Miner, Proof of Work, Ether and DApps.
If you enjoyed reading this article, hit the little green heart button to show your love! It gives me the energy to write more :)
To stay updated with new technologies, please follow :)
And if you want your friends to read this too, click share!