Too many programming terms: Blockchain & Distributed Ledger

in #programming7 years ago

Now it’s really going to be interesting, everyone here uses it every day but I guess that most of you still can’t really explain what exactly the blockchain is.

Today I’ll try to explain it as simple as possible so you’re able to fully understand what you’re working on.

Now while we’re at it let’s throw some more terms in the round.

The blockchain is a way to implement a Distributed ledger

Now, I got you even more confused but I promise things will get better.

A distributed ledger is a type of databases where the databases are synchronized over several servers which have to agree on order and correctness.

Let’s try an example.

fritzsFatherOffice.png

Like I already told you, Fritz’s father is a mathematician and he works at a bank.

hugecompany.png

But, it’s not just any bank, this Bank is distributed over the whole planet with several huge offices.

Now, obviously, each Boss of each of those huge offices can’t just make any decision on things alone, he has to agree with the others on a) In which order they do things and then
b) which things they will do or don’t.

If they wouldn’t do that they might ruin themselves like if 2 are trying to ruin your father's company but the 3rd is buying stocks to invest in it.

So they have to meet (on their phones, yacht, private jets etc.).

boss.png

When they meet they’ll talk about their insanely important business strategies and decide on a direction for the company.

Now, this already works only more or less if three people have to make a decision.
Imagine a situation with huge databases distributed to several servers with an insane amount of people accessing it like in the case of the most common blockchains.

All databases within the Distributed ledger agree on certain states or orders and make it in this way extremely save.
While in the above case it’s easy enough to get one of the Bosses sidetracked for things to go down, in the distributed ledger architecture you would have to hack a very significant amount of databases at the same time to have any effect.

Let’s get back to the blockchain. The blockchain as previously stated is a way to guarantee the above.

The blockchain is made out of blocks and chains.

I bet you wouldn’t have guessed that one.

In the blockchain, there is a list of blocks which are always connected to each other.

blockchain train.png

Let’s take a train for example.
In a train, each wagon connects to the previous one, where the first wagon holds the first passengers until it gets full and a new wagon has to be connected until that one is full again and a new one has to be connected to hold more passengers … and so on…

The blockchain does exactly the same thing, in the case of bitcoin, for example, every few minutes a new block is generated (by mining) and holds a certain amount of the most recent events (transactions).
In the case of Steem the witnesses host the services and produce the blocks.

Additionally, the train will never stop growing and each new wagon will store some information of the previous wagon which can be used to check if the previous wagon has been changed. (If someone hacked it).
Therefore, a wagon can never be altered nor deleted.

This means bad luck for our Fritz because he is never going to be able to leave his wagon.
Because as soon as the next wagon gets connected his wagon gets closed forever.

Let’s sum this all up:

A Blockchain consists of blocks and chains
A Block is a fixed size element which cannot be altered, nor deleted and contain any type of data
Each block contains a reference and proof of the previous block (chain)
Blocks are generated infinitely by “mining”.
The Blockchain is a way to implement Distributed ledger
Distributed ledger is a database environment where a global agreement is guaranteed
This way it is extremely difficult for bugs on single servers or hackers to corrupt the whole system

I hope I could share some knowledge with you and improve your understanding.
If you have any questions or disagree on any part of my explanation feel free to contact me.

Sources: http://www.investopedia.com/terms/b/blockchain.asp

Sort:  

Well put and thoroughly explained. I'm a dev myself and I've been crypto trading and mining for a while now. I had a hard time finding resources that are concise and explain in a very intuitive way.
Btw, I'm new here and would love to collaborate with you here. I have a lot I can bring into this community, I'm sure you do too.
Regards,
@amratesh

Nicely written for novices like me. Thanks

Congratulations @raycoms, this post is the forth most rewarded post (based on pending payouts) in the last 12 hours written by a User account holder (accounts that hold between 0.1 and 1.0 Mega Vests). The total number of posts by User account holders during this period was 1613 and the total pending payments to posts in this category was $2541.01. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.034
BTC 66274.97
ETH 3175.04
USDT 1.00
SBD 4.06