Avenue Code Snippets

Unraveling Blockchain

Written by Rodrigo Sekimoto | 11/28/17 8:00 PM

So, you haven't bought any Bitcoin or Ethereum yet? I understand, I wouldn't buy something that I don't know anything about either - but don’t worry. Today, we are going to introduce the famous and trending topic, the tech of the hour…Ladies and gentlemen, drum roll please!
                                                                                                                                   Blockchain

Some view this technology as the new internet revolution because of how useful and robust it is. This new approach to data transaction has the ability to change the game completely as we know it.

But how does it work? Well, at first glance, the big buzz around Blockchain is because of the decentralization of data. Conventional systems usually have a database, one single point where all information is created, read, updated, and deleted.

Image courtesy of www.deal.com.br.

 

What if there was no centralized version of certain information, or maybe a way that the whole network could easily verify the integrity of it? What if, instead of having a third party make the  transaction, you could easily do it yourself? That’s what blockchain is all about.

The Book Analogy 

Let's use this widely known analogy to try and understand what a blockchain is. Think of a blockchain as a book. A book can have many pages that we can call blocks, and those pages might have content right? Let's call that content records instead, and imagine that a lot of people have a copy of that book. So far, so good?

So think of it this way, in order to add a new page to the book, the content of that page must be coherent with the previous page, and validated by people who own a copy of that book. The owners will verify and validate the content of that new page and if everything is good to go, a new page is added to the book, and everybody who owns a copy of it will have that new page as well.

Image courtesy of Blockgeeks.

Nodes, Blocks, and Mining

So, by this point, you might have heard of the terms mining and blocks, but what do they mean? For starters, we have to understand what a block is, and we’ll try to keep it simple. Basically a blockchain is a distributed ledger - a decentralized database that is updated continuously by people who mine the node… but wait, what is mining?

Let's connect the dots here. We have mentioned the blockchain, ledger, the decentralization of data, mining, and nodes.  Those are a lot of terms, but bear with me - it will all start to make sense soon. First, let's define a few terms: 

-Private Key : A private user hashcode to access its own data
-Public Key : A user hashcode publicly visible to the blockchain to make transactions
-Wallet : A digital wallet used to stored digital assets such as Bitcoin and Ether
-Ledger : The records of transactions made in the blockchain
-Node : Users that have the client responsible to verify, validate and relay transactions
-Block : A group of transactions sent out to the entire network
-Mining : Computers using their raw power to decrypt a block

As a distributed ledger, the concept of the blockchain is that each user that has the client perform validation on transactions has a copy of the data in the network. 

A transaction is made when a giving user sends out a contract to the blockchain. Let's say User A wants to send 1 Bitcoin to User B. Using a digital wallet, he can make a contract via User B's public key. He can then send that contract out to the blockchain and that contract will get grouped together into a block with other contracts sent in the past 10 minutes. Miners in the node will then validate that transaction, and voilà, everything's set.

Image courtesy of Truthcoin.

Here are some of the advantages of using blockchain :

-There is no third party that controls the blockchain
-Each and every transaction in the network is extremely secure and reliable
-Transactions are transparent
-Decentralization
-All records are immutable
-Low cost transactions
-Constant and real time updates within the blockchain

Of course, blockchain is not a bed of roses. There are still a lot of challenges ahead to solidify and spread its usage globally, such as:

-A lot of computer power is needed to mine blocks
-Large amount of energy consumption
-Transaction speed and volume due to algorithm complexity
-Cultural acceptance
-Scalability still needs to be improved

Conclusion

That's all folks! Hopefully this article was able to give you some insight into the enigmas that are Bitcoin and blockchain. Let me know your thoughts, I'd love to hear from you.