Blockchain - The Future Of Internet :notebook:

- 8 mins

Bitcoin_BlockChain

Introduction

Getting your hands into a new technology can be a troublesome work and very much time consuming. With the ever growing field of technology, it is necessary to update yourself with the new tech and trends quite often. That is one thing, but you are not going with your whole day or a week looking into it, unless you are fond of it or that is the only work you have got for today. Hence, this article is like a homework that is done for you with lots and lots of research, blogs, official descriptions and your doctors prescriptions Just kidding.

Recently, you might have heard or somehow got yourself into this new Noun in the market - ‘Bitcoin’. Well, this article is focused on summarizing you the ingenious invention that is powering it and the potential it holds in the future of the internet. It is called the BlockChain.

So lets not waste time and dive into the pool. By the way, I still dont know how to swim, Lazy me :D

Note: All the bold contents have their terminologies defined at the end of the article.

Background

First of all, Even if you are not a technical person, You surely have the idea about what Bitcoin is. Assuming it some sort of money digital or whatever that you can use to buy things online, Illegal in some countries while the rest of the world wants to taste a piece of it. Lets save the chapter of Bitcoin for some other day.

Origin:

In 1991, Stuart Haber and W. Scott Stornetta described the notion of a cryptographically secured chain of blocks

In 1998, Nick Szabo did the first recognized work on a Decentralized digital currency on a similar technology

After 10 Years…

In 2008, Satoshi Nakamoto (he|they) published a paper for a Peer-to-Peer Electronic Cash System called Bitcoin, solving the double-spending problem for digital currency. As part of the implementation, they devised a decentralized ledger, secured using cryptography called the blockchain database.

That was where blockchain came to life.

Today Blockchain technology is gaining a mainstream term used by financial and technical media and picking up speed with massive investment being done by legacy software industries like IBM, Microsoft and thousands of Growing Startup companies.

The Basic Idea of Blockchain

In the most simplest of terms,

Blockchain is a large worldwide computer where everyone can securely access data and execute transactional code. All transactions are stored in blocks of data distributed world wide. These blocks are made in a way that makes them very hard to manipulate or fake once they are stored to the blockchain.

-Pluralsight (BlockChain Fundamentals) by Jan-Erik Sandberg

BlockChain Worldwide

Imagine an incorruptible, fully transparent ledger that holds all of your account records, duplicated and distributed worldwide across a network of computers. You can securely store your data in a way that can only be accessed by those you allow. No Government, Corporation, Banks have any authority over it.

It is more reliable, secure and extremely fast than going to a bank to transfer money to your relative who lives abroad which takes a lot of time, form fill ups, costs money and uncertainties. With blockchain it is just a matter of seconds.

Characteristics

Blockchain Transactions

How Transactions Happen

They are Atomic : They either fully operate or the whole transaction fail.

They are Independent : No two transactions can interact or interfere with one another

They are Inspectable : Every single method call that comes to blockchain comes with the actual address to the caller. Provides a unique ability for securing and auditing solutions

They are immortal : Blockchain objects are immortal, you can never delete an object once created. The only way to remove a blockchain object is if it is programmed to remove itself.

Practical Implementations

Usage of Blockchain today

Note For Developers: Blockchain Natively Object Oriented objects are global singleton instances where code and data reside together. The objects though are securely separated from each other.

Blockchain Internals

Hashing

The whole core of blockchain resides in a concept of hashing. Each piece of data in a block is encrypted using a strong hashing algorithm.

Hashing : To execute a mathematical algorithm that creates a result with a fixed length, regardless of the input given. The result of a hashing algorithm is called a Hash or a Digital Fingerprint.

  • Hashing is one way : The hashing function will always return the same result given the same input but you can never regenerate the input based on the result of the hashing algorithm.

One common hashing algorithm incorporated by Blockchain is the SHA-256. It is one in the family of hashing algorithms. Here is a sample of the the input and the result:

SHA-256 Hashing

Try it out on your bash shell

$ echo -n 'Hi! I am Ozesh' | sha256sum

SHA-256 : SHA- Name, 256- Complexity

The number after the name lets you know the complexity of the implementation. The higher the number, the more power it takes to execute.

The Blocks

The Blocks in a blockchain are cryptographically secured and linked with one another though they are distributed worldwide. Each block consists of a block number, Timestamp, Message, Hashing Nounce a unique machine generated word , resulting Hash and the Hash of the previous block. This structuring of the blocks in the blockchain is called the Merkel Tree.

ChainOfBlocks

Hence, If the data in any one of the blocks in the blockchain is tampered with, the resulting hash will be changed resulting in the breakage of all the blocks in the chain.

Hashing Nounce: An unpredictable, unique input a word or a set of numbers to the hashing algorithm that results in the first part of the hash to be something predefined. It can be considered as the proof of work by the machine creating the hash.

The BlockChain itself is distributed to a vast number of computers worldwide. Meaning that the chain itself exists in multiple locations. Depending on the blockchain implementation, there could be thousands of replications of the blockchain. If somehow, One of the chains has been compromised only a super-super-super computer could do that, the resulting hashes for the chain would be different. And the altered chain would be rejected and removed by the distributed block chain.

Points of Interest

  1. There were many failed attempts to create digital money in the nineties prior to Bitcoin
  2. Bitcoin is the first and still the most important cryptocurrency .
  3. There are over 1,300 cryptocurrencies in the world today. Bitcoin being one of them.
  4. Blockchains can be both public and private

Terminologies

  1. Stuart Haber : Free-lance cryptographer, co-inventor of the blockchain.

  2. Nick Szabo : A computer scientist, legal scholar and cryptographer known for his research in digital contracts and digital currency.

  3. Satoshi Nakamoto: A man claimed to be born on 5 April 1975 living in Japan.

  4. Bitcoin: A form of payment network with no central authority or bank; managing transactions and issuing carried out collectively by a network of communicating nodes running bitcoin software. It does not hold any underlying value. Hence, it is not something you can withdraw from the bank.

    Bitcoin is just a unique string of letters and numbers attached to an owner

  5. Peer-to-Peer Cash System : A Cash system devised in such a way that the underlying components (peers) located on networked computers communicate and coordinate their actions by passing messages.

  6. Double-spending problem: A potential flaw in a digital cash scheme in which the same single digital token can be spent more than once. This is possible because a digital token consists of a digital file that can be duplicated or falsified.

  7. Decentralized: Distributing or dispersing functions, powers, people or things away from a central location or authority.

  8. Cryptography: Is about constructing and analyzing communications protocol that prevent third parties or the public from reading private messages.

References

License

This article, along with any associated source code and files, is licensed under The Creative Commons Attribution-NoDerivatives 3.0 Unported

Ozesh Thapa

Ozesh Thapa

Software Engineer | Developer | Technology Enthusiast

comments powered by Disqus
rss facebook twitter github youtube mail spotify lastfm instagram linkedin soundcloud codeproject google google-plus pinterest medium vimeo stackoverflow reddit quora quora