What is the blockchain and how do you introduce the blockchain in an easy-to-understand way?
This is the case. Recently, my roommate Hasaki has been asking me about the blockchain and bitcoin. I tried a lot of different gestures to explain the blockchain technology to the simple and vivid image. But in the end, All failed. So I came up with the idea of writing a BlockChain for Babies (aka: How to explain the blockchain to your mentally handicapped roommate), in order to be able to understand the blockchain technology in a simple, intuitive and vivid way but want to know the block. The person who is the chain introduces blockchain technology or bitcoin.
Because the oriented readers do not want to know the specific technology implementation only want to understand the blockchain of people, so this article avoids some of the underlying and algorithmic details, using a more subjective way to show the author's perceptual knowledge of blockchain technology. If you are only interested in the blockchain, and don't plan to go deep into it, or just want to force it to be forced by others when asked, this article should be a good "introduction." _DJMINER
The
blockchain is essentially a decentralized distributed ledger database.It is itself a string of data generated using cryptography associations, each of which contains information that is validly confirmed by multiple Bitcoin network transactions. This is the definition of the blockchain, so to gradually understand the blockchain, we need to understand the following steps step by step._DJMINER
Let's first consider the process of a centralized centralized process. You have to buy a mobile phone on a treasure, the transaction process is: you call the money to Alipay - Alipay after the payment to notify the seller of the delivery - seller delivery - you confirm the receipt - Alipay to the seller to the money.
In the process, although you are dealing with the seller, the transaction involves a third party other than you and the seller, Alipay, and the transactions between you and the seller are all around Alipay. Therefore, if the Alipay system has a problem, it will cause the transaction to fail. And although you simply bought a mobile phone, you and the seller must provide extra information to the third party. So consider the extremes, if Alipay runs or if you don't recognize your transaction or the city where Alipay is located because you drive the G20 to drive everyone away (?), then you are tragedy.
The decentralization approach is much simpler. You only need to exchange money and mobile phones with the seller. Then both parties claim to have completed the transaction and it is OK. It can be seen that in some specific cases, the decentralization process will be more convenient, and there is no need to worry about the leakage of information that is not related to the transaction. In fact, if you only consider the transaction of two people and can not fully display the benefits of decentralization, imagine that if there are thousands of transactions in progress, decentralized processing will save a lot of resources, making the whole transaction autonomous and simple. And eliminate the risk of being controlled by a centralized agent. Decentralization is a subversive feature of blockchain technology. It does not require a centralization agent, and realizes a point-to-point direct interaction, making the information interaction mode of high-efficiency, large-scale and non-centralized agents a reality. Of course, the above example has a big potential problem: Without an authoritative centralization agent, how to ensure the accuracy and validity of each transaction? For example: If there is no authoritative centralization agent, Zhang San borrowed 100 yuan from me one day, but what if I don’t pay back? Here are the other characteristics of the blockchain._DJMINER
After decentralization, there is no authoritative centralization agent in the whole system, and the credibility and accuracy of information will face problems.
The first time I heard that this problem was actually in the TCP class, it was said that there were two troops far apart to transmit information. The Red Army sent a messenger to the Blue Army: "You take his Italian gun come out!". After receiving the information, the Blue Army sent a messenger to the Red Army to say: "Receive instructions!". Then the Red Army sent another messenger to the Blue Army and said, "Know that you have received the order!". Then the Blues sent another messenger to the Red Army and said, "Know that you know I received the order!". Then the Red Army sent another messenger to the Blue Army and said, "Know you know that I know you received the order!"... Then there is no end.
In this case, because of peer-to-peer communication, it is impossible for both parties to achieve information consistency in this case. The rigor is that "in distributed computing, it is impossible to achieve consistency on asynchronous systems and unreliable channels."
In the military operation, the Byzantine Roman Empire adopted the strategy of the generals to vote to decide whether to attack or retreat. That is to say, if the majority decides to attack, they will go up. However, if there is a spy in the army (for example, if the general has deliberately voted against the water, or the commander rebelliously modifies the military order), how can the results of the final vote really reflect the will of the loyal general?
The Byzantine general problem is reflected in the field of information exchange. It can be understood that in a decentralized system, some nodes are broken. They may broadcast wrong information or not broadcast information to the outside world. In this case, how to verify The accuracy of data transmission._DJMINER
Now let us solve these problems step by step in the decentralized system, witness the birth of the blockchain technology prototype.
1. Let's start by building a decentralized system. For the sake of understanding, let's look at a simple decentralized lending model: If A borrows B 100 dollars, this time, A yells in the crowd "I am A, I lent B 100 dollars!", B also shouted in the crowd "I am B, A loaned me 100 yuan!", at this time passersby A, B, D, Ding heard these news, so everyone In my heart, I silently wrote that "A loaned B100 dollars." You see, at this time, a decentralized system is established. This system does not require a bank, and does not require a loan agreement and receipt. Strictly speaking, it does not even require a long-term trust relationship between people (such as B suddenly I changed my mouth and said, "I don't owe A money!" At this time, the people will stand up and say "No, my small book records that you borrowed A100 dollars a day!").
2. Perhaps you have already discovered that in the above model, the so-called "100 dollars" is no longer important. In other words, anything can be exchanged in this model, and you can even make a thing out of thin air. As long as you admit it, you can let things you make. For example: I shouted in the crowd, "I created 10 chakras!", I don't even need to know what Chakra is, nor do I need to care if there is a chakra in the world, as long as everyone hears it, then Write down "LaiW3n has 10 chakras" on his own small book, so I really have 100 chakras. From then on, I can claim that I gave someone a chakra. As long as the passerby received and acknowledged this information, then I completed the transaction, even if there is no chakra in the world.
Do you have three words in your mind now - "Bitcoin"? Since the real blockchain and bitcoin are much more complicated and more detailed than the ones I have above, the following is an example of Chakra, after all, this article is Blockchain for Babies.
Suppose that after a long period of time, Chakra, which I created out of thin air, has already circulated in this system, and everyone has begun to recognize Chakra. But there are only 10 chakras in this system, so someone has a bad thought. He shouted in the crowd, "I have 10 chakras!" What should I do? Everyone wrote down directly on the books that he had 10 chakras._DJMINER
Isn't this everyone can forge a chakra? In order to prevent this from happening, I decided to mark my chakra when I created Chakra (more precisely, I was the one that I shouted, "I created 10 chakras", such as Marked as 001), so in the future, when I yell "I gave a certain chakra!" at the time of each transaction, I will attach an extra sentence: "The source of this 1 Chakra It is the record recorded as 001, and my sentence is marked as 002!". Let's abstract again. The format of the content of someone's shouting becomes: "This sentence is numbered xxx, the number of the previous sentence is yyy, I gave a certain chakra!", thus solving the forgery problem. In fact, the above model becomes a simplified version of Nakamoto's first version of the Bitcoin blockchain protocol.
Ok, see you here basically have a vivid image and explain the blockchain to your mentally handicapped roommate without any detail. But maybe your roommate is a student who has to break the casserole and ask for the truth, so you'd better continue to answer the following questions.
1. "Why?"
Your roommate may ask: "Why do you call me for a word? I don't want money for my small book?" In order to motivate everyone to help me with my words and accounts, I decided to give some rewards to the first person who heard me yelling and recorded on a small book: the first person who heard me yelling and recorded it, you got it out of thin air. Chakra, this chakra is the reward for the whole system for your fortune, and after you have recorded this sentence, you should immediately tell others that you have already recorded, let others give up and continue to record this sentence, and give Your own record number makes it easy for others to check, and then you will call my words together with your record number for the next person to keep accounts._DJMINER
When this rule is set, there will be a group of people in the system who will start to listen to the sounds around them in order to seize the first right to book. Yes, is the word "bitcoin mining" appearing in your mind?
Single dogs are looking for girlfriends, and the national mother-in-law says that I have a lot of daughters, so I will give you some questions and solve a We chat number for one of them.
Single dogs are madly competing and want to break their heads to solve problems. As long as one of the dogs solves a problem, they immediately smugly tell the world that all the single dogs are demonstrating. This girl is mine, let me give up. Other single dogs can't do anything if they don't accept it. It's not a big thing to be annoyed, or just go to the next topic. This lucky puppy who wins the girl is also recognized by the mother-in-law and can get a gift of 25 currency units.
2. "Who is listening to?"
In this system, if I and another person C almost simultaneously shouted: "For Azeroth!". Because the audience is in a different position, someone will first hear the sentence I said, while others will hear the sentence of C first. If we stipulate that only one person can say this sentence, then in the end Who said this sentence?_DJMINER
If you don't add any conditions, then the above situation will definitely develop like this: Some people think that this sentence is what I said. After I heard this sentence, I started to keep accounts. After that, everything they did was based on this fact. And as this information is passed down again and again, this information chain will become deeper and deeper; and another group of people who believe that C first said this sentence will follow this trend. In this way, it was originally a unique information chain. After we shouted the phrase "for Azeroth", it was forked! ?
What kind of situation will this lead to? According to our assumptions, the things recorded on each person's small books are the same, and they are all chains that can connect all the information together. But at this moment, the things they recorded on the small books are different! What else is this playing? How to determine the authenticity of the transaction and information in the future! ?
In order to solve this problem, I have added a new rule: each person needs to take off his shoes and then use his foot to take a pen while writing a small book, and write it in a small body on a small book! With this rule, because it is very difficult to write with your feet, it takes at least 10 minutes for each person to finish writing, and because each person's proficiency in writing with his feet is different, the time taken to write this sentence is different, so there must be someone. Write it first and then shout "I finished it! That sentence is LaiW3n shouted!", so other people who are writing this sentence will stop writing, and then start writing again on the small book "The sentence is a communication Written, the number of the previous sentence is xxx".
If you are interested in my solution above, you can learn the following knowledge against my metaphor:
"Who to listen to" - Nakamoto to solve the "Byzantine general problem" algorithm
"recorded on small books" - bitcoin mining
“Take off your shoes and write with your feet” – Bitcoin mining difficulty
"Take off the speed of writing" - computing power
"New Rules" - Workload Certification Chain
3. "Double flower" problem
At this time, your roommate may ask again: If I also announced that I gave A Chakra and I gave B a Chakra, but I only have one Chakra, what? Did both A and B receive Chakra or Daddy?
At this time, you only need to hold up his chin, look at his eyes gently, scratch his nose with his hand, and say, "Leprechaun, do you bring this situation to the above rules to try?"_DJMINER
Because the oriented readers do not want to know the specific technology implementation only want to understand the blockchain of people, so this article avoids some of the underlying and algorithmic details, using a more subjective way to show the author's perceptual knowledge of blockchain technology. If you are only interested in the blockchain, and don't plan to go deep into it, or just want to force it to be forced by others when asked, this article should be a good "introduction." _DJMINER
The
overview
blockchain is essentially a decentralized distributed ledger database.It is itself a string of data generated using cryptography associations, each of which contains information that is validly confirmed by multiple Bitcoin network transactions. This is the definition of the blockchain, so to gradually understand the blockchain, we need to understand the following steps step by step._DJMINER
Decentralization
Let's first consider the process of a centralized centralized process. You have to buy a mobile phone on a treasure, the transaction process is: you call the money to Alipay - Alipay after the payment to notify the seller of the delivery - seller delivery - you confirm the receipt - Alipay to the seller to the money.
In the process, although you are dealing with the seller, the transaction involves a third party other than you and the seller, Alipay, and the transactions between you and the seller are all around Alipay. Therefore, if the Alipay system has a problem, it will cause the transaction to fail. And although you simply bought a mobile phone, you and the seller must provide extra information to the third party. So consider the extremes, if Alipay runs or if you don't recognize your transaction or the city where Alipay is located because you drive the G20 to drive everyone away (?), then you are tragedy.
The decentralization approach is much simpler. You only need to exchange money and mobile phones with the seller. Then both parties claim to have completed the transaction and it is OK. It can be seen that in some specific cases, the decentralization process will be more convenient, and there is no need to worry about the leakage of information that is not related to the transaction. In fact, if you only consider the transaction of two people and can not fully display the benefits of decentralization, imagine that if there are thousands of transactions in progress, decentralized processing will save a lot of resources, making the whole transaction autonomous and simple. And eliminate the risk of being controlled by a centralized agent. Decentralization is a subversive feature of blockchain technology. It does not require a centralization agent, and realizes a point-to-point direct interaction, making the information interaction mode of high-efficiency, large-scale and non-centralized agents a reality. Of course, the above example has a big potential problem: Without an authoritative centralization agent, how to ensure the accuracy and validity of each transaction? For example: If there is no authoritative centralization agent, Zhang San borrowed 100 yuan from me one day, but what if I don’t pay back? Here are the other characteristics of the blockchain._DJMINER
Two basic problems
After decentralization, there is no authoritative centralization agent in the whole system, and the credibility and accuracy of information will face problems.
Question 1: Class two military issues
The first time I heard that this problem was actually in the TCP class, it was said that there were two troops far apart to transmit information. The Red Army sent a messenger to the Blue Army: "You take his Italian gun come out!". After receiving the information, the Blue Army sent a messenger to the Red Army to say: "Receive instructions!". Then the Red Army sent another messenger to the Blue Army and said, "Know that you have received the order!". Then the Blues sent another messenger to the Red Army and said, "Know that you know I received the order!". Then the Red Army sent another messenger to the Blue Army and said, "Know you know that I know you received the order!"... Then there is no end.
In this case, because of peer-to-peer communication, it is impossible for both parties to achieve information consistency in this case. The rigor is that "in distributed computing, it is impossible to achieve consistency on asynchronous systems and unreliable channels."
Question 2: The Byzantine General
In the military operation, the Byzantine Roman Empire adopted the strategy of the generals to vote to decide whether to attack or retreat. That is to say, if the majority decides to attack, they will go up. However, if there is a spy in the army (for example, if the general has deliberately voted against the water, or the commander rebelliously modifies the military order), how can the results of the final vote really reflect the will of the loyal general?
The Byzantine general problem is reflected in the field of information exchange. It can be understood that in a decentralized system, some nodes are broken. They may broadcast wrong information or not broadcast information to the outside world. In this case, how to verify The accuracy of data transmission._DJMINER
The birth of blockchain technology
Now let us solve these problems step by step in the decentralized system, witness the birth of the blockchain technology prototype.
1. Let's start by building a decentralized system. For the sake of understanding, let's look at a simple decentralized lending model: If A borrows B 100 dollars, this time, A yells in the crowd "I am A, I lent B 100 dollars!", B also shouted in the crowd "I am B, A loaned me 100 yuan!", at this time passersby A, B, D, Ding heard these news, so everyone In my heart, I silently wrote that "A loaned B100 dollars." You see, at this time, a decentralized system is established. This system does not require a bank, and does not require a loan agreement and receipt. Strictly speaking, it does not even require a long-term trust relationship between people (such as B suddenly I changed my mouth and said, "I don't owe A money!" At this time, the people will stand up and say "No, my small book records that you borrowed A100 dollars a day!").
2. Perhaps you have already discovered that in the above model, the so-called "100 dollars" is no longer important. In other words, anything can be exchanged in this model, and you can even make a thing out of thin air. As long as you admit it, you can let things you make. For example: I shouted in the crowd, "I created 10 chakras!", I don't even need to know what Chakra is, nor do I need to care if there is a chakra in the world, as long as everyone hears it, then Write down "LaiW3n has 10 chakras" on his own small book, so I really have 100 chakras. From then on, I can claim that I gave someone a chakra. As long as the passerby received and acknowledged this information, then I completed the transaction, even if there is no chakra in the world.
Do you have three words in your mind now - "Bitcoin"? Since the real blockchain and bitcoin are much more complicated and more detailed than the ones I have above, the following is an example of Chakra, after all, this article is Blockchain for Babies.
Suppose that after a long period of time, Chakra, which I created out of thin air, has already circulated in this system, and everyone has begun to recognize Chakra. But there are only 10 chakras in this system, so someone has a bad thought. He shouted in the crowd, "I have 10 chakras!" What should I do? Everyone wrote down directly on the books that he had 10 chakras._DJMINER
Isn't this everyone can forge a chakra? In order to prevent this from happening, I decided to mark my chakra when I created Chakra (more precisely, I was the one that I shouted, "I created 10 chakras", such as Marked as 001), so in the future, when I yell "I gave a certain chakra!" at the time of each transaction, I will attach an extra sentence: "The source of this 1 Chakra It is the record recorded as 001, and my sentence is marked as 002!". Let's abstract again. The format of the content of someone's shouting becomes: "This sentence is numbered xxx, the number of the previous sentence is yyy, I gave a certain chakra!", thus solving the forgery problem. In fact, the above model becomes a simplified version of Nakamoto's first version of the Bitcoin blockchain protocol.
Ok, see you here basically have a vivid image and explain the blockchain to your mentally handicapped roommate without any detail. But maybe your roommate is a student who has to break the casserole and ask for the truth, so you'd better continue to answer the following questions.
1. "Why?"
Your roommate may ask: "Why do you call me for a word? I don't want money for my small book?" In order to motivate everyone to help me with my words and accounts, I decided to give some rewards to the first person who heard me yelling and recorded on a small book: the first person who heard me yelling and recorded it, you got it out of thin air. Chakra, this chakra is the reward for the whole system for your fortune, and after you have recorded this sentence, you should immediately tell others that you have already recorded, let others give up and continue to record this sentence, and give Your own record number makes it easy for others to check, and then you will call my words together with your record number for the next person to keep accounts._DJMINER
When this rule is set, there will be a group of people in the system who will start to listen to the sounds around them in order to seize the first right to book. Yes, is the word "bitcoin mining" appearing in your mind?
Single dogs are looking for girlfriends, and the national mother-in-law says that I have a lot of daughters, so I will give you some questions and solve a We chat number for one of them.
Single dogs are madly competing and want to break their heads to solve problems. As long as one of the dogs solves a problem, they immediately smugly tell the world that all the single dogs are demonstrating. This girl is mine, let me give up. Other single dogs can't do anything if they don't accept it. It's not a big thing to be annoyed, or just go to the next topic. This lucky puppy who wins the girl is also recognized by the mother-in-law and can get a gift of 25 currency units.
2. "Who is listening to?"
In this system, if I and another person C almost simultaneously shouted: "For Azeroth!". Because the audience is in a different position, someone will first hear the sentence I said, while others will hear the sentence of C first. If we stipulate that only one person can say this sentence, then in the end Who said this sentence?_DJMINER
If you don't add any conditions, then the above situation will definitely develop like this: Some people think that this sentence is what I said. After I heard this sentence, I started to keep accounts. After that, everything they did was based on this fact. And as this information is passed down again and again, this information chain will become deeper and deeper; and another group of people who believe that C first said this sentence will follow this trend. In this way, it was originally a unique information chain. After we shouted the phrase "for Azeroth", it was forked! ?
What kind of situation will this lead to? According to our assumptions, the things recorded on each person's small books are the same, and they are all chains that can connect all the information together. But at this moment, the things they recorded on the small books are different! What else is this playing? How to determine the authenticity of the transaction and information in the future! ?
In order to solve this problem, I have added a new rule: each person needs to take off his shoes and then use his foot to take a pen while writing a small book, and write it in a small body on a small book! With this rule, because it is very difficult to write with your feet, it takes at least 10 minutes for each person to finish writing, and because each person's proficiency in writing with his feet is different, the time taken to write this sentence is different, so there must be someone. Write it first and then shout "I finished it! That sentence is LaiW3n shouted!", so other people who are writing this sentence will stop writing, and then start writing again on the small book "The sentence is a communication Written, the number of the previous sentence is xxx".
If you are interested in my solution above, you can learn the following knowledge against my metaphor:
"Who to listen to" - Nakamoto to solve the "Byzantine general problem" algorithm
"recorded on small books" - bitcoin mining
“Take off your shoes and write with your feet” – Bitcoin mining difficulty
"Take off the speed of writing" - computing power
"New Rules" - Workload Certification Chain
3. "Double flower" problem
At this time, your roommate may ask again: If I also announced that I gave A Chakra and I gave B a Chakra, but I only have one Chakra, what? Did both A and B receive Chakra or Daddy?
At this time, you only need to hold up his chin, look at his eyes gently, scratch his nose with his hand, and say, "Leprechaun, do you bring this situation to the above rules to try?"_DJMINER
评论
发表评论