What is the basic definition of blockchain
The strict definition of blockchain refers to the distributed database technology that multiple nodes in peer-to-peer network jointly maintain a continuously growing list ledger constructed by time stamp and orderly record data blocks through consensus mechanism based on cryptography technology. This technical solution allows any number of nodes in the participating system to calculate and record all the information exchange data in the system in a period of time to a data block through cryptography algorithm, and generate the fingerprint of the data block for linking the next data block and checking. All participating nodes in the system jointly determine whether the record is true
blockchain is a technical solution similar to NoSQL (non relational database). It is not a specific technology, and can be implemented through many programming languages and architectures. There are many ways to realize blockchain, including pow (proof of work), POS (proof of stake), dpos (delegate proof of stake), etc
the concept of blockchain was first proposed in the paper "bitcoin: a peer-to-peer electronic cash system" by indivials (or groups) who call themselves Satoshi Nakamoto. Therefore, bitcoin can be regarded as the first application of blockchain in the field of financial payment
< H2 > [popular explanation]no matter how big the system or how small the website is, there is a database behind it. So who will maintain this database? In general, who is responsible for the operation of the network or system, then who is responsible for the maintenance. If it is wechat database, it must be maintained by Tencent team, and Taobao database is maintained by Alibaba team. We must think that this way is natural, but blockchain technology is not P>
if we think of the database as a book, for example, Alipay is a typical account book. Any change of data is bookkeeping. We can think of database maintenance as a very simple way of accounting. In the world of blockchain, everyone in the blockchain system has the opportunity to participate in bookkeeping. The system will select the fastest and best bookkeeper in a period of time, maybe within ten seconds or ten minutes. The bookkeeper will record the changes of the database and the account book in a block. We can think of this block as a page. After the system confirms that the records are correct, the system will record the changes of the database and the account book in a block, It will link the fingerprint of the past account book to this paper, and then send this paper to everyone else in the whole system. Then, over and over again, the system will look for the next person with fast and good bookkeeping, and everyone else in the system will get a of the whole ledger. This means that everyone as like as two peas in the system is called Blockchain. It is also called distributed account technology. P>
as like as two peas (computer) have identical accounting books, and everyone has the same rights, they will not collapse e to the loss of contact or downtime of a single person. As like as two peas, the data is transparent and everyone can see what changes are in every account. Its very interesting feature is that the data can't be tampered with. Because the system will automatically compare, it will think that the same number of books with the largest number are real books, and a small number of books with different numbers are false books. In this case, it's meaningless for anyone to tamper with his own account book, because unless you can tamper with most nodes in the whole system. If there are only five or ten nodes in the whole system, it may be easy to do so. However, if there are tens of thousands or even hundreds of thousands of nodes and they are distributed in any corner of the Internet, unless someone can control most computers in the world, it is unlikely to tamper with such a large block chain
< H2 > [elements]combined with the definition of blockchain, we think that we must have the following four elements to be called public blockchain technology. If we only have the first three elements, we will consider it as private blockchain Technology (private chain)
1, peer-to-peer network (power equivalence, physical point-to-point connection)
2, verifiable data structure (verifiable PKC system, non tampering database)
3, distributed consensus mechanism (Solving Byzantine general problem, solving double payment)
4 Game design of Nash equilibrium (cooperation is the strategy of evolutionary stability)
combined with the definition of blockchain, blockchain will realize four main characteristics: decentralized, trustless, collective maintenance and reliable database. And the other two will be derived from the four characteristics Features: open source Privacy. If a system does not have these characteristics, it can not be regarded as an application based on blockchain technology
Decentralized: there is no centralized hardware or management organization in the whole network. The rights and obligations of any node are equal, and the damage or loss of any node will not affect the operation of the whole system. Therefore, it can also be considered that the blockchain system has excellent robustnesstrustworthiness: there is no need to trust each other when participating in the data exchange between each node in the whole system. The operation rules of the whole system are open and transparent, and all data contents are also open. Therefore, within the specified rule range and time range of the system, nodes cannot and cannot cheat other nodes
collective maintenance: the data blocks in the system are maintained by all the nodes with maintenance function in the whole system, and these nodes with maintenance function can be participated by anyone
reliable database: the whole system will enable each participating node to obtain a of the complete database in the form of sub databases. Unless more than 51% of the nodes in the whole system can be controlled at the same time, the modification of the database on a single node is invalid, and the data content on other nodes cannot be affected. Therefore, the more nodes and computing power in the system, the higher the data security in the system
Open Source: since the operation rules of the whole system must be open and transparent, the whole system must be open source for the program
Privacy Protection: since there is no need to trust each other between nodes, there is no need to disclose the identity between nodes, and the privacy of each participating node in the system is protected
1. Blockchain is a distributed database (system) placed in a non secure environment
2. The blockchain uses cryptography to ensure that the existing data cannot be tampered with
3, the blockchain uses consensus algorithm to reach consensus on new data
the system with the above three properties is blockchain.
2-The distributed database is the physical carrier of the blockchain, and the blockchain is the logical carrier of the transaction. All core nodes should contain the full of the blockchain data
3-The blockchain serializes the blocks according to time, and the blockchain is the only body of the whole network transaction data
4-The blockchain is only effective for adding, Invalid for other operations
5-public-private key verification based on asymmetric encryption
6-accounting node requires that Byzantine general problem can be solved / avoided
7-consensus progress is evolutionarily stable, that is, it will not collapse in the face of a certain amount of contradictory data of different nodes
8-consensus process can solve the problem of double spending
five characteristics of blockchain:
decentralized
e to the use of Distributed Accounting and storage, there is no centralized hardware or management organization, the rights and obligations of any node are equal, and the data blocks in the system are jointly maintained by the nodes with maintenance function in the whole system
thanks to the decentralization of blockchain, bitcoin also has the characteristics of decentralization [6]
openness
the system is open, in addition to the private information of all parties to the transaction is encrypted, the data of the blockchain is open to all, and anyone can query the blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent
autonomy
blockchain adopts consensus based specifications and Protocols (such as a set of open and transparent algorithms) to enable all nodes in the whole system to exchange data freely and safely in a de trusted environment, so that the trust in "people" is changed into the trust in machines, and any human intervention does not work
information cannot be tampered with
once the information is verified and added to the blockchain, it will be stored permanently. Unless more than 51% of the nodes in the system can be controlled at the same time, the modification of the database on a single node is invalid, so the data stability and reliability of the blockchain are extremely high<
anonymity
since the exchange between nodes follows a fixed algorithm, their data interaction does not need trust (the program rules in the blockchain will judge whether the activity is effective by themselves), so the counterparties do not need to let the counterparties generate their own trust by disclosing their identities, which is very helpful for credit accumulation.
A: the basic characteristics of blockchain
I. decentralization
blockchain technology does not rely on additional third-party management institutions or hardware facilities, and there is no central control. In addition to the self-contained blockchain itself, each node realizes information self verification, transmission and management through distributed accounting and storage
the foundation of blockchain technology is open source. In addition to the private information of all parties involved in the transaction is encrypted, the data of blockchain is open to everyone. Anyone can query blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent
Third, independencebased on consensus specifications and Protocols (similar to various mathematical algorithms such as hash algorithm used by bitcoin), the whole blockchain system does not rely on other third parties, and all nodes can automatically and safely verify and exchange data in the system without any human intervention
Four, safetyas long as 51% of all data nodes cannot be controlled, the network data cannot be arbitrarily controlled and modified, which makes the blockchain itself relatively safe and avoids subjective and artificial data changes
5. Anonymityunless there are legal requirements, technically speaking, the identity information of each block node does not need to be disclosed or verified, and the information transmission can be anonymous
block is an independent unit on the blockchain. Each block contains the hash value of the previous block (so it is impossible for someone to delete or modify any block on the blockchain without making some hash values on the blockchain mismatched), as well as as as many unconfirmed transactions that can be found on the network, and a number called nonce random number. Someone who is creating a block must find a suitable nonce random number so that the hash value of the block is lower than a certain threshold (the target value). This can only be done by trying all the random numbers one after another until a random number with the desired hash value is found. The lower the target value is, the more difficult it is to find a suitable random number. Deliberately making block creation so difficult is to prevent someone from spending bitcoin, and then create and promote his own blockchain that does not include the transaction that shows that bitcoin has been spent just now, erase the transaction record once and allow him to spend bitcoin twice. When a valid block is created, it will be distributed to the whole network, and then search for the next block based on this block.