Blockchain beyond the basics

Blockchain is a peer-to-peer network unlike server-client network model. It is a distributed ledger database. Participants in the network are miners and they are the one who will give consensus of those transactions.

We need to understand some terms to learn blockchain at ease. Public and private key are used for encryption to make secure communication. You have the private key and others have your public key. The communication between you and others are now secure. You have to keep private key secret and guard it well. You will encrypt message by using private key and others use your public key to decrypt it to read it. When others want to send message to you, they use your public key to encrypt message and send to you. You are the only one who can decrypt it with your private key.

Only public-private key can encrypt and decrypte messages. This is the heart of block chain.

Nouce is a number that design to use once to prevent duplication of a unique ID.

Hash is a function to convert any string to the same size. Hashing goes for only one direction. Hash is unique. Blockchain store Hash in the database instead of storing real data to save disk space. Hash in blockchain use SHA-256 to generate address and some other information to be used in the chain.

Mining is like mining gold because it is difficult to mine. Miners use their computer including power and processing to solve really difficult math problems. That is hashing to get a desire value in the hash such as hash starting with number 40. Miners is hashing and compare the results until they get it match the desire result.

Example of info to be used in block chain

Miners need a proof of work to be able to add to the block chain. Information above will be hashed before adding the to chain.

Block Chain Basic

The way we used internet today is a big deal and continue to expand along with mobile usage. We can access any information instantly any time anywhere. However, internet face very challenging issue that is ‘trust‘.

How do we trust the other person on the internet? Is it really that person? We have several mechanisms such as 2 way authentication, firewall, and etc to increase trust on internet but we still get hack today.

Blockchain was burn to solve ‘Trust‘ problem on the internet and it opens a lot of opportunities for us to work in blockchain eco-system.

We store data today in a database such as contact information of our customer; name, email, phone. They are stored in structure table (rows and columns). This is powerful because we can recall information very quickly later from the database and it can prevent duplication. These days, there is a new way of storing data in unstructured such as social media posts, music, photo, and etc. Both structure and unstructured are now popular today to store our content on the internet.

Security on the database is controlled by access user which we are able to control who is able to access and query the data. Some users are able to read only and some are able to write to database. It blocks unauthorized user. This is how database works today but it has some limitations. What if someone is able to access the database without authorizing called ‘hacking‘. Block chain was born to solve this issue. It is challenging our current traditional database storing approach. Traditional database, central database control who is able to control, it has single point of failure if it down. If have central authority authorize or preventing users from accessing the database. Comparing central authority with business, we have a banker who provide our bank account, lawyer who check our signature, and etc.

On the other hand block chain, it works differently from traditional database. It calls ‘Distributed database‘ meaning all information does not store on a central location but it stores at all users who use the data. In block chain world, only the owner of the record is able to change information. It needs to send the changes to block chain (all users who has the database) to get a ‘Consensus‘ that this is the owner. If it’s ok, the changes are added as a new block in the block chain. We can think about block chain as a distributed ledger which will append forever when new changes are required in the network.

When block chain works like this, it is difficult for hackers to hack or change information because he/she has to go and change on all database around the world which is not possible.

This eliminates central authority from the traditional model which Bitcoin follow this model. Bitcoin was created in 2009 (or before). It enables digital currency to be used without the need for the banks to confirm the trust. It relies on everyone in the network to give consensus and approve money transfer transactions. Only 21 M bitcoins in the Bitcoin network. Miners are some body who open their computers to connect to Bitcoin network and solve difficult mathematics to gain some coins. 2040 is expected to be the last coin mine. If we do not want to be a miner, we can buy bitcoin in the market. When we buy it, it will go to the network to get consensus from all users in the chain. Miners who solve match work called ‘Proof of Work“. Wide acceptance is the foundation of any coin.

New opportunities of block chain

We can use it to sell digital assets such as music, photo, video. We can prevent illegal selling because we can see how the assets are transferred in the chain. Another example is paper work process. We can add a digital signature by using block chain to assure nobody modify the paper without everyone knowing. This is the ‘Trust‘ that we want. The 3rd example is to store our personal identity in the block chain, then we can remove authorities because everyone can check whether this person is real or fake by checking block chain. However, it is still early and many companies are experimenting it.

Real case study

A startup company Everledger store diamond information in block chain to ensure that the diamonds are genuine.

DAO raised money $168 M from concurrency.

Voting can be applied by using block chain to capture vote online in Columbia.

Smart Contract

It’s a code which run on the block chain. It’s instructions that will be executed in block chain. All business logic will be embedded here. Ethereum is a project to use Smart Contract concept to build block chain framework.

Challenges

Knowledge in block chain has little knowledge of it and many do not understand it potential. Block chain is new and needs time before it matures. Integrations will need to have a set of standard to make it work in existing systems. ISO is looking into it. Transactions require math calculations and need computation power. Complex to program. Ethereum or Slock.it are examples of programming. Regulations and laws are not ready in many countries. It challenges existing players such as bankers.

Block chain is a bigger thing in the future because adoptions are increasing and it’s gonna be like the start and boom of internet in 2000.