Guru on Rails

if you don’t sacrifice for your dream then your dream becomes your sacrifice.
Sydney, Sat 01 Jun 2019
Basic concept of Blockchain
Tue 02 Oct 2018

Technically, it's like a tracking device. At first when I investigate any technology I look for the reason. Why does it appear? What problems does it solve? It would be useful, wouldn't it? The answer is only one, creating agreements to show who owns certain balances.

Finance

Every time we make a online transaction, a message will be created with three components.

  1. Available funds the buyer has.
  2. The recipient's wallet's address.
  3. Amount of money they are sending.

All those things come along with signature. It made of of public and private codes. The message will be encrypted with a private code and sent to be verified. The public code from buyer is used to decrypt the message. 

Imagine that we are living in a country without any banking system. We exchange things because we don't have any kind of currencies. It's kind of barter system. It's very inconvenient, isn't it? We decide to use a currency whatever we call, we write down every transaction in a public ledger.

Any transaction will be written down such as the sender's name, the recipient's name, the money and date on a piece of paper. Each person will be a keeper who keeps the ledger. For each transaction that all keepers agreed, we call it a block. Thus, we will have many transactions like that, we call them the chain.

We can't modify the data. Blockchain works like a replicated, append-only, and shared database where every body has access to it and validates it. Thus, it has a mechanisms that make it impossible to change the records. If somebody tries to change it, it will be detected instantly. Public blockchains will always have more security than private. 

Blockchain is simple a file contains data structure. Each block will contain the transaction with a header which gives the information of block. All of blocks will be placed in order (a chain) so that we can easily put them back in order if someone mix them up.

Other purpose?

Blockchain is transparent and decentralized so that it can create non-refutable and unbreakable data record.

Decentralized Notary

Each block stores timestamp and it's very convenient and awesome. Because block attached with that timestamp. It confirms the truth at that time. Because we can't modify the blockchain so it becomes tracking clues for Notary. A website already provided this service. Please go to this link for more details.

This technology will make a hash of your document in SHA-2 . It is one-way compression which means we can't reverse this hash to be original document. After making a hash, it will be appended to blockchain with timestamp. Hence, we can prove this document existed in future by following these steps:

  • Calculate the document's SHA256 digest.
  • Find a transaction in the bitcoin blockchain containing an OP_RETURN output with the document's hash prepended by our marker bytes, which are 0x444f4350524f4f46 (or 'DOCPROOF' in ascii).
  • Some online services like Coin Secrets or blockchain.info's list can help you locate OP_RETURN transactions more easily.
  • The existence of that transaction in the blockchain proves that the document existed at the time the transaction got included into a block

It is pretty cool. Because no one can modify blockchain so that we always can believe in this evidence.                             

Digital Voting

Why not? Because blockchain is immutable so that we can do a lot of things.

Trading Ownership

We can attach any information to blockchain. Why not Ownership?

Smart Contracts

Because every things can be recorded and updated (by appending) in blockchain and it is a decentralized system exists between all permitted parties, no need to have Middlemen. The contract can be called as digital contract. We can convert them to computer code (SHA) to store and replicate on the decentralized systems which supervise the blockchain. 

Each block in blockchain can contains not only the balances but also the documents. We can exchange them instantly without waiting for anyone to approve. It's like the vending machine. We drop a bitcoin in there and then a document or whatever will drop into our account. We don't need anyone (lawyer) who writes down a contract and supervise this contract.

The benefits:

  • Autonomy: no need a lawyer.
  • Trust: contracts are encrypted on a shared ledger.
  • Backup: replicated to many decentralized computers.
  • Savings: no need to pay to lawyer or waiting for long time.
  • Accuracy: avoid errors from manual process.

We might use blockchain for solving many problems in future. I will dive deep on next article by coding.