Blockchain

(10 minutes for reading and thinking)

A blockchain is a decentralized, distributed and public digital ledger that is used to record transactions across many computers so that any involved record cannot be altered retroactively, without the alteration of all subsequent blocks. This allows the participants to verify and audit transactions independently and relatively inexpensively. A blockchain database is managed autonomously using a peer-to-peer network and a distributed time-stamping server

How to blockchain work?

In here, I will introduce about the best basic blockchain of blockchain-world, that is Bitcoin(BTC). I will not deep dive into what is transaction, how to confirm transaction, it is hard to explain now for non-tech-people, who don’t know about tech.

OK, let go. When you want to send your money(USD, VND, EUR) to your friend, that is easy, go to bank, fill form, give money to band and bank send it to target for you. So, everything you do here, bank will control, bank do it, band send it. Bank control money of the world, bank can change it if bank want. That is a centralized system, which surv by thousand year ago until now. And blockchain is the tech to change that, remove role of bank. Imagine, world of us is only a space with n people. M/n people are validator, and K/n people don’t want to become validator, K are normal user, only transfer and spend money. So that, M need to hold a ledger, which write down all transaction of K. And if m/M(m > M/2) say that one transaction of k1->k2(in K) is vefified. That is confirmed transaction, all people of M need to update their ledger, add money to k2 and subtract money of k1. That’s all. It mean we used majority to decide transaction is true or false. Much later, anyone of M also have a big ledger, write down all transaction of community. And no-one can change content of ledger. Anyone change it, he is no longer a validator of community. Because validator get fee-reward from transaction, he lost fee-reward. So, he need to update latest ledger from other validator and continue. This make sure, transactions are alway exact. If can not understand, please read again and ask me.

More tech detail, validator need run a application, called NODE. Look at the image

  1. k1 send money to k2 with fee-reward. k1′ send money to k2′, k1” send money to k2” … and many many transactions like that
  2. Transactions sent to a validator V1(or any validator else). V1 create a block with many transactions which he collect
  3. V1 send block to V2, V3, V4… all of validators.
  4. V2, V3,…Vn validate block and transactions, base on data of their ledger which they hold: check money of k1, check money of k2, … check anything about k1, k2, fee-reward.
  5. If anything is ok(>1/2 validator agree on transactions of block), nice, add that block(many transactions) into their ledger, get fee-reward and wait for next block.
  6. Transactions in progressing block are completed(confirmed).

In here, you heard about ledger, and blockchain is ledger. Data structure which is used to store data of ledger in programming language(tech)

Blockchain is only a tech to storage decentralized ledger. That mean any validator also hold a blockchain data in his computer program(NODE) and verify transaction base-on data of blockchain. Most famous application of blockchain is digital money, Bitcoin, transaction is tranferring Bitcoin. That mean blockchain is not Bitcoin, blockchain is tech which be used to create Bitcoin. You could hear about, Etherium, NEO … and many other applications of blockchain. They only base-on blockchain tech with some variant which need to apply on their business.