Tip:
Highlight text to annotate it
X
What is blockchain?
Blockchain is functionally a distributed ledger, so what is a distributed ledger? Let's take a look at the following three points.
Let’s look at the first point. The ledger reflects the asset database that can be shared among multiple nodes in different geographical locations or in a network composed of multiple institutions. What does this mean? Let's take a look at this picture.
This picture reflects multiple nodes, different geographical locations or multiple institutions. We can understand this picture as a subordinate branch of a bank. We know that if this picture represents the subordinate branches of a certain bank, then these outlets or these nodes must share the financial assets of the bank. In such a case, bookkeeping is required, and the distributed ledger is in this situation. accounting below.
Looking at the second point, the network does not have a center. There is some mechanism in the network to generate a unique real ledger, and all nodes can have a copy of it. What does this mean? It can be understood as the branch of the bank. Obviously, in the real world, these branches must have a central node. This central node is also what we often say.
Where are the accounts in this network? It must be placed in the central server of the head office. If each node wants to access this ledger, it must have corresponding permissions to access the central server of the head office.
However, in the distributed ledger mode, the center is gone, and the central server is gone, but in the case of distributed ledger, there is a mechanism in the network, which still generates a unique real ledger.
So if there is no central server, even if you have the only real ledger, how do the following nodes access it? And this mechanism stipulates that the following nodes do not have to come to visit, because in the case of this mechanism, all nodes have a copy of that ledger. Any changes in the ledger will be reflected in all copies, and the reaction time will be within minutes or even seconds. This is about the reliability of the mechanism or distributed ledger technology.
If there is a transaction in the network and the asset changes, then the only real ledger in the network will change. After this ledger is changed, the copy will also change immediately, and all nodes will see the changed copy in the first time, and this time is within a few minutes or even a few seconds. If you are new to the concept of distributed ledgers, you will definitely feel a little new.
We say that blockchain technology should be a network concept, but distributed ledger is an accounting concept. The concept of distributed ledger appeared in the 1990s, but at that time, whether it was computer technology or artificial intelligence No technology can make it come true. Until the birth of Bitcoin, the birth of blockchain, the accounting idea of distributed ledgers was truly realized.
How is the only real ledger in the network generated? How does each node get its copy?
Let's take a look at the second topic called the blockchain mechanism .
We assume that a network has just been formed in the world, and this network has not conducted any transactions, then we naturally think about what the ledger in this network looks like?
The ledger in this network is obviously blank, so at this time there is the first transaction in the network. For example, in this network, node 1 and node 2 conduct a transaction. What happens after the transaction? After the transaction, there is a whole network broadcast action, that is to say, the transaction information of node 1 and node 2 is pushed to all nodes in the network through software technology.
So what do all the nodes do after receiving this message? The following action is called national accounting, that is to say, each node records the transaction between node 1 and node 2 through software technology, so obviously each node generates a small account.
Who shall prevail? There is a consensus mechanism below . What is a consensus mechanism? We can easily understand that if it is said that it is to select the best and to evaluate according to a certain standard, then after this consensus mechanism, we will select a node, for example, suppose node 3 here, after the selection of this consensus mechanism, everyone thinks It remembers this account best, so it will grant the single-note accounting right of this accounting to Node 3.
The record of node 3 about this transaction is confirmed as the first record of the large ledger. Once this confirmation is completed, the record of node 3 will be sent to all nodes in the network immediately, then all the nodes in the network Nodes are equivalent to obtaining a copy of the network ledger .
Then as the transaction progresses, the process I just mentioned goes on and on again and again, and such a record one by one will generate the only real ledger in the network, and each node in the network will also be generated. A copy of that ledger.
So what I just talked about was the concept of ledger. We said that each record in the ledger needs to be stored in a certain form in the world of the network. Under the conditions of blockchain technology, what is this storage form called? This storage form is called a block. Each record needs a corresponding block for storage. In turn, each block can also store n records. We connect the records one by one, which is called a distributed ledger. When we connect one block after another, it is called a blockchain.
When it comes to how the blockchain works and how it is generated, many friends feel that it is difficult to understand when they come into contact with the blockchain and learn the blockchain. Why?
Because blockchain technology has not yet been widely used in our real world, it is difficult for us to understand it intuitively. I personally think that to understand blockchain technology, we must understand the three points of the whole network broadcasting, national accounting and consensus mechanism. Only by understanding these three points can we understand how the blockchain is formed and what can the blockchain do? what.
When we read and understand some information about the blockchain, we will find that the definition of the blockchain is very large. The blockchain is not only a technology, but more often a model and idea.
How should blockchain be defined?
Blockchain has two definitions: narrow sense and broad sense. In a narrow sense, blockchain refers to a chain data structure that combines blocks in a sequential manner according to time sequence, and uses cryptography to ensure that data cannot be Tamperable and unforgeable distributed ledgers. The Bitcoin blockchain is such a narrow blockchain. In addition to the narrow definition, the blockchain also has a broad definition. Blockchain in a broad sense refers to a new distributed architecture and computing paradigm that uses a block chain data structure to verify and store data, use distributed nodes to generate updated data, use cryptography to ensure data security, and use smart contract programming to operate data.
For our friends from non-technical backgrounds, it is enough that we understand blockchain in a broad sense as an architecture and paradigm.
What are architectures and paradigms?
There are power sources, resistors, inductors, etc. in the circuit, and series and parallel can make different combinations and arrangements of power sources, resistors, inductors, etc. Blockchain is the same as series and parallel technology in a broad sense, it is an architecture and computing paradigm.
The relationship between blockchain and other SAT technologies, is blockchain an Internet technology?
I have no answer to this question. Big Data, IoT, Next Generation Networks, Artificial Intelligence, Cryptography, Cloud Computing, and more. These mainstream Internet technologies or mainstream SAT technologies jointly realize and support the blockchain paradigm. In turn, blockchain can recombine and deploy these technologies, which is the relationship between blockchain and other SAT technologies.
The third decentralization, decentralization is one of the main characteristics of Bitcoin and blockchain. Many friends will have a question after learning about the blockchain. The blockchain advocates decentralization. Will the development of the blockchain lead to the disappearance of banks, intermediaries, and even governments in the future.
The application of blockchain.
First of all, let’s talk about the central bank’s digital currency – the technology of the central bank’s digital currency has already matured, and the blockchain is not used, because the purpose of the blockchain is to decentralize, and the central bank’s digital currency cannot use this. Of course, the central bank's digital currency technology using blockchain has long been available (see RSCoin), which may use blockchain technology to decentralize in some links - for example, the issuance of currency is still centralized, but The management and verification in circulation can be decentralized to other banks through blockchain technology. At the same time, as far as I know, an official digital currency research institute has been studying this for a long time. I wrote a long time ago that the digitization of currency is inevitable in general terms, but this is different from Bitcoin, and it may look more like Alipay. Then, now facebook has a libra (see my article on libra https://zhuanlan.zhihu.com/p/69 941436), I think it has largely driven the news of the blockchain and the launch of the central bank's digital currency. Libra itself only represents the ambitions of Facebook. At present, their ambitions are likely to be unsuccessful, but perhaps this ambition and the indicated technical direction give the country a sense of urgency - because even if all members of libra quit now Almost there, the future of libra itself is uncertain, but if a similar framework is built and attracts other heavyweight members to join, then the country will lose its dominance in this. So, based on recent news, a central bank digital currency should be very close.
But this is not enough to suddenly make "blockchain" a national strategy. The blockchain mentioned here must include other applications than digital currency.
The most fascinating application of the blockchain is undoubtedly represented by "Ethereum", using the blockchain to make a "global computer", and then using "smart contracts" to write the code that runs on this global computer Software (also known as Dapp, or Decentralized Application). Simply put, the advantage of this global computer is that you can do everything you want to "remove the middleman and make the difference" without relying on a large enterprise as a trusted center, such as Banks or Internet giants. For this issue, please refer to this https://zhuanlan.zhihu.com/p/28 930323
However, this kind of global computer vision has exposed a lot of problems in the past two years, leaving no hope of a short-term solution.
Therefore, the application direction revealed from this blockchain news, the characteristics of the "non-tamperable" blockchain, and its role in evidence, traceability, anti-counterfeiting, and credit reporting. This is currently the most mature application in the implementation, and it is also an application that can truly see the advantages of blockchain compared to traditional centralized systems.
2. Blockchain technology
The most important thing in this strategy is "to master the core technology of blockchain", so what is the core technology of blockchain?
There are many aspects of blockchain-related technologies, which I can roughly divide into 4 categories: 1), consensus algorithms ; 2), privacy protection technologies and corresponding cryptography technologies; 3), smart contract-related technologies; 4), application-oriented technologies technology. Among them, the first three can be considered as the bottom layer, and the latter two are the upper layer.
1) Among them, the consensus algorithm is the core of the blockchain, and it is also the most enthusiastic field of the entire technology development and academia: a large number of public chain projects are pursuing the innovation of consensus algorithm, and at the same time, a large number of researchers are also devoted to this field, However, most of them are abroad (my previous main research direction was also this field). This is actually not surprising - as we all know, very few people in China are willing to engage in basic theoretical research.
However, the coverage of consensus algorithms is very broad, and one of the concepts is very important - permissioned and permissionless. Permissioned consensus algorithms require that the identities of all participating nodes be known, and BFT-like algorithms are mainly used. The permissionless consensus algorithm allows any node to enter as long as certain conditions are met, without registering an identity in any system in advance, and POW and later derived POS and many other POx-like algorithms are included in this list. The former is mostly used for alliance chains, while the latter is mostly used for public chains. Among them, the two have developed to this day, and the difference in speed and delay is not big. In the final analysis, the difference is the difference between whether there is permission mentioned above. The permissionless consensus algorithm, due to its permissionless nature, leads to a very important concept called "incentive mechanism", such as Bitcoin mining, and thus, "currency" is derived. As a result, many very interesting directions have been derived, such as: ASIC mining machines , on-chain governance, cryptoeconomics, and more.
Which of the above directions may be considered as the "core technologies" in this strategy?
Personally, I am more optimistic about the related technologies of licensing consensus algorithms. Moreover, such consensus algorithms may also be deployed on the road of Alipay, which will abandon many ideological requirements and pursue faster speed, larger scale, more convenient use and more standardized. Non-licensed consensus algorithms face higher risks - first, the policy on "coin" is not clear; secondly, in the application direction mentioned above, the public chain is not relative to the alliance chain. significant advantage.
2), in fact, the cryptography technology adopted by the blockchain technology itself is neither advanced nor complicated, it is nothing more than two very classic and simple cryptography tools: hash function and digital signature. However, due to the natural fit between blockchain technology and cryptography (most of the early scholars who studied blockchain came from the field of cryptography), and because of the word "cryptocurrency", namely: cryptocurrency, (Note: in the In English, this word is used to refer to all currencies like Bitcoin, rather than the "digital currency" commonly used in the Chinese field), leading most people to think that cryptography and blockchain are inherently linked of.
In fact, blockchain technology itself does not use particularly advanced cryptographic tools (of course, some new cryptographic tools are used in some new consensus algorithms). However, the most important cryptographic challenge is privacy protection technology, which may be used, including zero-knowledge proof, homomorphic encryption and other currently developing cryptographic tools. This is not actually a requirement of the blockchain itself, but it is closely related to the blockchain - the reason has to go back to the nature of the previous blockchain and the application of the blockchain:
First of all, the biggest feature of the blockchain is that all data on the chain must be verified by all nodes. However, if the blockchain is applied on a large scale, this means that all nodes will obtain all the data. Well, we don’t trust the center now, and a large part of the reason is that the center has access to all our data, and now it’s better, after using the blockchain to decentralize, everyone can access all our data.
Therefore, how can we enjoy the decentralization advantages brought by blockchain while ensuring privacy? This requires all nodes to be able to verify the validity of the data without knowing the content of the data, for example: verifying you without knowing who you are, how much money you have, and how much money you want to spend There is indeed a sum of money to cover this expenditure...
It sounds like a fantasy, however, we actually have a cryptographic tool that enables it - called zero-knowledge proofs .
However, although the current zero-knowledge proof has been developing, there is still a big limitation. This limitation is efficiency - we have some efficient proof methods, for example: we can quickly prove an unknown unknown number is greater than another known number, or we can prove that some unknown value comes from some set. However, these efficient zero-knowledge proofs are not enough to cover all applications of blockchain. Therefore, it is conceivable that these new encryption technologies, although not necessary in blockchain technology, are necessary for blockchain technology to be widely used, so they must be part of the "core technology".
3) The technology related to smart contracts actually includes language, including compilation... These are actually equivalent to the question of how to use the blockchain when we already have it as the bottom layer. There is currently no clear direction on this, because in fact, there are several ideas currently being tried:
i, Ethereum-style, highly free Turing-complete system. The problem, however, is that writing programs is too error-prone and too costly to make.
ii, Hyperledger-fabric-style , highly modular systems, however, are extremely complex, so complex that companies that want to adopt HF either give up or pay IBM guys to do it for them.
iii, Libra-style, a system that focuses on a certain application, such as the move language of libra, it is clearly stated that we do not pursue Turing completeness, our goal is to make a language that is more convenient to implement various financial scenarios—— This may be a trend, but it has not been tested enough.
In these directions, there are very few attempts at present. Most blockchain projects still use the Ethereum-style system, or improve it. However, I think this point is likely to become the most important part of the "core technology of the blockchain" - because once the blockchain rises to the height of the national strategy, a large number of demands, scenarios and users will inevitably be born, so Only then will there be sufficient platforms for experimentation and realization. From this, a language and development tool that is most suitable for blockchain may be derived, and this, like OS, will become a new worldwide standard. From the current point of view, when other blockchain projects are struggling to find a way to land, maybe only China has such soil to be able to give birth to such a standard. This is presumably the reason for making blockchain a national strategy.
4), apply the relevant technology. In fact, the biggest technical difficulty in blockchain application is not technical. For example: blockchain deposit evidence, if we make a consortium chain to use relevant parties as consensus nodes and then put the evidence on the chain, then this evidence cannot be tampered with. Everyone knows this, but the question is: who will do this? How is evidence digitized? How to run the blockchain? Where is my benefit in giving data? And most importantly, who pays?
The biggest difficulty in the current implementation of blockchain is that compared with the traditional centralized solution, in addition to some scenarios in terms of evidence storage and traceability, there is no obvious advantage, and no feasible business model. Therefore, it is difficult to implement it through the market, which has been proved by the downturn of the currency market in the past two years. However, all of this will change with the support of the state. Therefore, just as China's Internet industry has gone from imitating foreign countries to exporting Douyin, China hopes to inspire more attempts and efforts in the field of blockchain. Scenes. Therefore, in these scenarios, we will accumulate relevant experience, technology and business model, so as to export this model abroad, and this will also be a very important part of the core technology of blockchain.
The first thing to get clear is that Bitcoin is a blockchain, but a blockchain is not Bitcoin.
Therefore, in the answer to this question of the blockchain, the words "miners", "mining", "longest chain", "fork" and so on are actually inaccurate.
Write a little about the content of the lecture last month - I personally feel that most of the answers, including those from google searches or wikis, can't explain what a blockchain is. Because there are many people who talk about Bitcoin and many people who understand Bitcoin, but when it comes to blockchain, there is no clear definition of what a blockchain is. Basically, all the introductions are like this:
Bitcoin——>Blockchain is the underlying technology of Bitcoin.
or
Bitcoin -> Bitcoin is a blockchain.
As for the question of what is blockchain, I have not seen a good definition and introduction. It is more an empty article about the meaning of blockchain in a generalized way, or else it is the miners of Yishui and the Mining. So let me talk about my personal definition of blockchain from a purely theoretical perspective:
1. The blockchain is a distributed database (system) placed in a non-secure environment.
2. The blockchain uses cryptography to ensure that existing data cannot be tampered with.
3. The blockchain adopts a consensus algorithm to reach a consensus on new data.
A system with the above three properties is a blockchain.