Are you advancing with the times! (Talk about what the blockchain is)

in bitcoin •  7 years ago  (edited)

DQmYnzYbQJDEFZn3257g7eaC9pHBzxEReujAycoz3mfHifm.jpg

At the cutting-edge technologies of today's world, artificial intelligence and blockchain are the stories that have to be said. If for the average person, "artificial intelligence" is something that can be understood literally, then the word "blockchain" really makes people's two monks scratch their heads.

What is the ghost of "blockchain"? Why are the smart people all over the world studying and discussing the "blockchain" and using the term "subversive" to describe it?

To understand the blockchain, I thought of the title of an article in the column "From Silicon Valley," by Teacher Wu Jun. "Machine intelligence is productivity, and blockchain is a production relationship."

Although this sentence did not allow me to understand how the blockchain actually works, it instantly made me realize that this thing must be very important. If we care about artificial intelligence, we mainly want to understand the way wealth is created in the future. Then we care about the blockchain, and we want to understand the way to distribute wealth in the future.

First, from the first blockchain application - Bitcoin talking

To understand the blockchain, one has to start with Bitcoin, the world's first and most successful blockchain application.

The creator of Bitcoin, "Nakamoto", said in the "Bitcoin White Paper" that Bitcoin is "an electronic cash system that is completely implemented through peer-to-peer technology, which enables online payments to be initiated directly by one party and paid to the other." There is no need to pass any financial institution."

You must know every word in this sentence, but it is not so easy to truly understand this sentence. When you read this article and come back to see this sentence, there will be a completely different understanding.

Since bitcoin is an electronic currency, not a physical currency such as paper money or gold, we start with the money in the bank account, which is the most used electronic currency now.

If you transfer 100 yuan from a bank account to me today, the bank will record that your account will be reduced by 100 yuan and my account will be 100 yuan more. We all trust that the intermediary institution of the bank can handle these things well (in fact, it is not entirely trustful, otherwise we will not set up so many regulatory agencies to supervise the bank). Before Bitcoin appeared, we could not imagine how to use electronic money in a world without a bank.

In 2008 (perhaps coincidence, that year, the global financial system exposed its deficiencies in a costly way), Bitcoin turned out and solved this problem with a very elegant and ingenious design - without financial In the case of an institution, how does one person pay electronic money to another person and guarantees safety and reliability.

To do this, at least the following five key issues need to be addressed:

The account book must be unique: everyone recognizes the same book;
The account must have security: no one can take my money;
The account should have privacy: I don't want people to know how much money I have;
The money in the account must be unique: no one can spend the money he does not have, nor can he spend a sum of money;
Transaction records cannot be tampered with.
Let's take a look at how Bitcoin's design solves these problems.

  1. Everybody comes to book

Now that there are no banks, and people on the Internet don’t trust each other (you don’t even know if the person is a monkey or a monkey), you have to issue one account for each person.

Let's remember together, but we have to record the same information, otherwise we'll go nuts. The result we need is, "Ask everyone the same."

If everyone is honest, this process can be achieved through "broadcasting." For example, Xiao Ming wants to transfer one bitcoin to Xiao Gang, and records a “Bright Ming transferred a bitcoin to Xiao Gang” on his account book, and at the same time “broadcasts” this transaction online so that everyone else can hear. When other people heard it, they also recorded on their own books, ""Xiao Ming transferred a bitcoin to Xiaogang". This synchronized process is not difficult to achieve on the Internet.

However, we also said that the premise for doing this is: All people are honest. In other words, if someone shouts, it will not work.

  1. Can other people transfer my money? - The perfect combination of small butlers and signature pens

Now that Xiao Ming is embarrassed, he broadcasts to the entire network that "Xiao Gang transferred a bitcoin to Xiao Ming." However, in fact, the transaction was not made by Xiaogang and was created by Xiao Ming. Xiaogang, of course, refused to record the transaction. Xiaohong was not aware of the incident. Heard the broadcast and recorded the transaction. But Xiaogang thinks, I can't eat a bad job. I also broadcast a "Bright Ming to Xiaogang to transfer 10 Bitcoins." Xiao Hong heard the broadcast and recorded the transaction again. But under Xiaoming's refusal, he refused to record.

This is a mess, definitely not, you have to find a solution. What's the solution?

The Bitcoin White Paper says: Every owner signs a random hash digital signature on the previous transaction and the next owner's public key, and attaches the signature to this one. At the end of electronic money, electronic money is sent to the next owner. The payee can verify the owner of the chain by checking the signature.

can not read it? It doesn't matter. You can look at the less accurate but "speaking people" version below.

In order to protect the security of your treasury, the system gives you a housekeeper to help you supervise your own treasury. The housekeeper's name is “public key”; then you are given a special pen. This pen is called “private.” Key, specifically for signatures. The steward has a special skill, which is to identify the authenticity of a signature - is it not your pen, it is 100 percent correct. The steward has three duties:

  1. If someone gives money to your vault, he has nothing to ask and is responsible for taking in and keeping it;

  2. If someone wants to get money from your vault, he is responsible for protection. The housekeeper will say: Please show the instructions signed by my family owner with a private key. I only follow the owner's instructions.

3, if someone takes a signature to ask him to identify, he is responsible for answering the signature is not true.

With the treasury manager, now Xiaogang wants to give Xiao Hong a bitcoin. What do I need to do? Quite simply, Xiao Gang wrote a note on the note, "Xiao Gang transferred a bitcoin to Xiao Hong," and attached his signature with a special pen, "Private Key," and then broadcast the signed directive. Go out. After seeing this order, the housekeeper will verify the authenticity of the signature and find it to be true. Then he takes out a bitcoin from your vault to Xiao Hong's housekeeper and puts it into Xiao Hong's vault.

When others saw this directive on the Internet, they asked your housekeeper. Is this signature true? The steward said yes, they recorded the transaction on their books.

How, with such an intimate butler, do you not have to worry about others moving your treasury?

In this example, we assume that each transaction is individually and separately verified. However, the actual data processing process is more similar to the endorsement of bills. On a bill that has been transferred many times, it will be clearly recorded that the bill was transferred from A to B, B was transferred to C, and B was transferred to D, as was Bitcoin's transaction, and the transaction process was traceable. The validity of each new transaction depends not only on the authenticity of your signature, but also on the previous relevant transaction records. At the same time, Bitcoin has a big advantage over the bills - the bills cannot be divided, but Bitcoin can be divided, and after Bitcoin is divided and transferred, all relevant bits can also be found on the segmented Bitcoin. Trading records, which greatly improve the convenience of the transaction.

  1. I don't want people to know how much money I have - money is open, you don't know

What needs to be explained is that all the small treasuries are transparent and how much money can be known by everyone. The reasons for this rule are well understood - you transfer the money. Others want to see if there is so much money in your vault. If not, everyone thinks that you are shouting and will not help you record.

Well, there is a problem with this. I do not want people to know how much money I have. What should I do?

In fact, through the above transfer process, you will find that during the entire transaction process, the pen you signed, which is the private key, is the most important. The butler only recognizes the signature and does not recognize people. Even if a monkey signs your pen, the steward will recognize it.

This means that you don’t need to tell people who you are and keep this pen safe—in other words, bitcoin transactions can be anonymous. You put your own treasury (bitcoin "address") on the Grand Place (Internet) and let the housekeeper (public key) take care of you. If you want to transfer money, sign the private key to let the steward act. If someone wants to give you money, you tell him which vault to put in. And you can also open many vaults. Each vault has a steward—and of course Get a new pen (think of how you can have multiple treasuries with housekeepers, creating an illusion that you have realized the freedom of wealth, haha).

This means that bitcoin transactions can be anonymous. You put your own treasury (bitcoin "address") on the Grand Place (Internet) and let the housekeeper (public key) take care of you. You want to transfer money and sign it with a private key

Anonymity solves Bitcoin's privacy problems, but it also opens a new door to money-laundering crimes, which is a bit controversial for Bitcoin. However, anonymity is not unique to Bitcoin, but is a common feature of all cash – whether copper, gold, or banknotes. This is probably why Nakamoto also called Bitcoin electronic "cash" rather than electronic "money," because Bitcoin is more similar to cash than money in a bank account.

Can I spend the same amount of money twice? Obviously not.

To solve the problem of account security, we have another problem - double payment. For example, in the A account, there are only 100 bitcoins, but he also signs two conflicting transactions between "A transfer 100 BTC to B" and "A transfer 100 BTC to C" to the entire network. Broadcasting, how can we do it?

We can stipulate a principle: First, which transaction is heard, which transaction is recorded, and the subsequent transaction is in conflict with the previous one, and it is deemed to be invalid and will not be recorded. But the problem is that because many people are keeping books, the content that everyone hears may not be the same. Some people first heard that "A transferred 100 bitcoins to B." He heard "A transferred 100 bitcoins to C." When he found that the transaction was in conflict, he refused the transaction; but others first Hearing the message to C, rejected the message to B. This time, everyone's record is inconsistent again.

How to do it? We must think of a fair way to determine whose account books are used, and then everyone agrees to continue adding new transaction records in this version. This approach is - proof of workload.

The so-called workload proof, we can see it as a math game. The system assigns each person a random math problem. Each person's math problem is different (but the difficulty is the same), and the problem also includes transaction data on your account. The calculation of this topic is very difficult, but verification is very easy. The whole process is a bit like brute-force cracking of the mailbox password. There are many attempts to calculate this password, but once it is cracked, you can successfully log in to the mailbox.

Everyone agrees that the person who first calculated this math problem can package the transaction information he recorded during this period into a "block" broadcast and attach his "workload proof" - that is, he Calculate the answer to this question. After the other person receives this “block”, he will verify that his answer is correct and that the transaction information contained in this block is valid (such as whether Xiaogang has transferred a sum of money twice or not). If the verification is passed, other people will accept the block as a valid block, "link" this block with the previous block, and then everyone starts to solve the next block of math problems, compete to create the next area Block right. If this continues, it will form a "chain." This chain, we call it "blockchain."

There is an extreme situation where the person who recorded "A to 100 Bitcoin transfer to B" (we call it "B camp") and the person who recorded "A transferred 100 Bitcoin to C" (we will Call it “C camp”) and calculate the answer for your own block. At the same time, broadcast it out. Both blocks are linked to the previous block because they are all valid blocks – this is called cross. What should I do at this time?

It does not matter that people in "B camp" and "C camp" have temporarily preserved the chain they have approved and continue to compete in the next block. Once a certain node of "B camp" has created the next effective block, the "B camp" chain will have one more block than the "C camp" chain, that is, the "B camp" chain will be longer. Now. At this time, because the entire network agrees that "the longest chain is an effective chain," people in the "C camp" will "revolt" at this time, giving up the previous block and turning to "B camp." Now everyone has reached consensus - A has transferred 100 Bitcoin to B instead of C.

Hey, isn't C very embarrassing? No no no no. Suppose the 100 bitcoins are used by A to buy a picture from C. C now sees that A has already transferred to her, but because she knows that the transaction information is in the latest block, it is still unstable. She will wait and wait for this block to be linked to other blocks. For example, after adding 6 blocks to the block, she thinks it is safe and she will pass this picture to A. If "C camp" fails, she will find that A's transfer to her account has not been confirmed, and she will not give the painting to A.

The transaction failed, but C did not suffer a loss - unless she delivered the goods prematurely. In the Bitcoin world, a new block is generated every 10 minutes. If C needs 6 blocks to confirm, it only takes 1 hour to wait.

  1. Can the transaction information on the blockchain be modified? - Theoretically, practically impossible

One question that must be answered is: Can the information on the block be modified, and why is it more difficult to modify a block after it is connected to other blocks?

The first thing to explain is how the two blocks are "chained." In fact, it is very simple. When the question is asked, put the answer to the previous block of math problems. In other words, the mathematical problem of block 2 is related to the answer of block 1. If the answer of block 1 changes, the title of block 2 will also change, and the answer of block 2 will change. It will also change; the answer in block 2 will change, the title and answer in block 3 will change, and so on.

What are the benefits of doing so? It's very simple. If Xiao Gang is very dishonest, he wants to modify the information on the block (for example, Xiao Gang wants to erase the transaction information previously sent to Xiao Ming's 100 Bitcoins). In addition to modifying the area where the transaction is The piece of information, re-completion of the proof of work for that block, has to complete the proof of the workload of all the blocks that are linked later - he has to create a new chain, replacing the original chain.

How difficult is it to create this new chain? Since everyone agrees that "the longest chain is a valid chain," he must create a longer chain than the existing chain - at least one more block - other people will accept this new chain he created. He is ultimately successful. Obviously, the more blocks behind, the more questions he has to solve to create a new chain, and he has to be extraordinarily fast—faster than everyone else—or he can't catch up with others to create a new district. The speed of the block. In theory, he had to master 51% of the calculation power of the entire network.

Obviously, it is very difficult to master 51% of the computing power of the entire network. However, if many people unite, it can be achieved. If you master 51% of the computing power, you must think: Is it more cost-effective to use this computing power to maintain the Bitcoin network, or is it more cost-effective to attack the Bitcoin network? If the cost of attacking this network is too high, there will be no benefit at all and you will not do so.

DQmSzGiVZLwyJXLUgsNJ7vdEqaBnbuzJbNjH8t7cu5dLNPA.jpg

Which cost-effective? This involves Bitcoin's incentive mechanism.

  1. Why is it more cost-effective to be honest?

We can see that both accounting and competing block creation rights consume a lot of resources - to complete the record of all bitcoin transactions around the world, but also to solve so many math problems, this workload is not a little oh ! Why do people want to do these jobs?

Because of money! Each time a valid block is created, this node can receive a certain amount of bitcoin rewards, as well as the transaction fees paid by the exchanges contained in this block. This is all money!

The process of producing a certain number of bitcoins for each block generated is very similar to the gold mining process and is therefore called "mining." The process of producing these new Bitcoins is also a process of currency issuance.

With such an incentive mechanism, our previous problems can also be solved. People who have 51% of the total network's computing power must be the ones who make the greatest contribution to the maintenance of the bitcoin system. They also receive the most rewards. This person or these people will find that it is more profitable to continue to maintain the system than to attack the system.

Imagine that by attacking the system, they brought back a large sum of money that they once spent, but the resources needed to create a new chain for this purpose are also very large. More importantly, once the system is attacked (the new chain replaces the old chain and others cannot prevent it, but all can see it), everyone’s trust in Bitcoin will no longer exist. He will take back these bits. What is the significance of currency?

Therefore, honesty is really more cost-effective.

Second, from the Bitcoin to see the underlying logic of the blockchain

Now look back at the key issues we raised earlier:

The account book must be unique: everyone recognizes the same book;
The account must have security: no one can take my money;
The account should have privacy: I don't want people to know how much money I have;
The money in the account must be unique: no one can spend the money he does not have, nor can he spend a sum of money;
Transaction records cannot be tampered with.
Through a set of designs, the above problems have been solved. However, when we think about it, we will find that there are only one fundamental issue - how to reach a stable consensus among distrustful individuals. Behind the security, privacy, uniqueness, can not be modified, are to achieve the first point - everyone agrees that the same book - that is, "consensus" service.

How important is the "consensus" matter?

The modern society is a society where large-scale cooperation between strangers takes place. Human beings can create such an embarrassing civilization today because human cooperation is larger than any other species. And human beings can achieve large-scale cooperation between strangers because humans have created “imaginary communities”—states, governments, laws, religions, banks, companies, and so on. These entities did not exist originally, but all people reached a "consensus" on their existence. Then they really existed and played a crucial role in the development of human society.

Today, we do not need to understand the character of a counterparty and we can trade and cooperate with him because we have government, law, and other centralized mechanisms to sustain the trust between strangers - you do not believe me, I do not believe you, But we all believe in the same government, which will enforce the same set of laws that we all must abide by.

The reason why the cost of cross-border trade is higher than the cost of domestic transactions is that an important reason is that it is even more difficult for the cross-border trading counterparties to generate trust. Once a dispute arises, the cost of rights protection is very high - playing a game in China. The cost of the lawsuit is already high enough. Go to the United States to try a lawsuit? In the end, everyone lacks a "stable consensus" as a basis.

The amazing thing about blockchain technology is that people can reach a consensus on a set of open rules, because this set of rules is guaranteed by computer code and cryptography technology. Once the program is run, no one can interfere, even if it is created. The person of this program. In other words, you do not need to trust any country, organization or individual. If you believe in technology, you can trust anyone on the network.

If countries, governments, laws, and banks are all "centralized" consensus--believing an entity, then blockchain is the consensus of "decentralization"--believing that certain sets of rules are guaranteed by technology. So, in the blockchain world there is a famous saying - Code is law.

Since the blockchain puts forward a very different proposal for the formation of the "consensus" mechanism, many people say that with Bitcoin Bank being laid off, the entire world must be "subverted." Although there are various problems in the current banking system, I do not think that the emergence of Bitcoin will allow banks to completely disappear, nor do they think that blockchain can make the existing legal system disappear. It is probably not clear whether the centralization and decentralization are better or worse.

I think the blockchain will not "subvert" the world, but it will certainly bring about many incredible changes to the world.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @jflaru! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You got a First Vote
You made your First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Congratulations @jflaru! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

SteemitBoard - Witness Update
Vote for @Steemitboard as a witness to get one more award and increased upvotes!