News for hackers. Stuff that matters.
Re:Ask HN: How would you explain the blockchain (and BTC) to... by wslh on Tuesday February 06, 2018 @07:22PM (#16321262)
My constructivist explanation is as follows (I imagine talking to my grandmother):

1/ You are currently using a bank where they increase your balance when you deposit money, decrease it when you withdraw money or transfer it to another account. This money is printed by the Treasury Department.

2/ Many people with interest in cryptography and general society issues started to think about how people could make direct money transactions without a financial organization acting as a broker and without another centralized organization printing the money.

3/ Now imagine you have digital money stored in your mobile phone, USB storage, or hard drive. If you send this money (represented as files) to someone, it is obvious you can copy this money and also send it to someone else. This is the DOUBLE (or multiple) SPEND PROBLEM.

4/ A lot of smart people tried to find alternative solutions to this problem without success.

5/ In 2008 an anonymous person called "Satoshi Nakamoto" published the first known solution to this problem (under certain assumptions):

5.1/ People share a common file where they append the new transactions observed. In this way they know if money sent from person A to B was already spent.

5.2/ Now we have the following problems: (i) if there are thousand of people doing transactions, they need to communicate the transactions to all members of the network and it takes time until it propagates to everyone, so A can send a transaction to B and very quickly send a transaction to C with the same money, when B knows about the second transaction, and C knows about the first, both know that A spent the money twice but they already accepted the transactions and (ii) they don't know for sure which one comes first.

5.3/ So, we should decide who can propagate the transaction to remove this problem and give an incentive to them. We will call them miners. The protocol agreement will send new printed money to these miners plus fees that the people can add as an extra incentive.

5.4/ To decide who mines transactions (we don't need to talk about blocks) miners should find a solution to a mathematical function that requires trying a lot of numbers, one by one. The one who invest in more powerful devices solves the problem faster and earn more money.

5.5/ Now we have an extra problem, what happen when many miners find the the solution to the problem and one have a transaction using the same money from A to B than from A to C? Miners keep adding transactions as fast as they can and the longest chain of transactions wins. There are some statistics that show that when we see a transaction from A to B we need to wait until the chain has a certain length to be sure than a transaction from A to C never happens. Every person (node) in the network checks the same protocol.

There are no comments on this comment yet.