The basic elements of blockchain are
From the perspective of technology and architecture, I will tell you my understanding of blockchain in common language
what is blockchain? In a word, blockchain is a storage system. To be more specific, blockchain is a distributed storage system without an administrator and each node has all the data
What are the common storage systems like
first, how to ensure high availability
the common storage system usually uses "rendancy" to solve the problem of high availability. As shown in the figure above, if the data can be copied into several copies and rendant to multiple places, high availability can be guaranteed. The data in one place is hung, and there is data in other places. For example, the master-slave cluster of MySQL is the same principle, and the raid of disk is also the same principle
two points need to be emphasized in this place are: data rendancy often leads to consistency problems
1. For example, in the master-slave cluster of MySQL, there is actually a delay in reading and writing, which means there is a inconsistency in reading and writing in a short period of time. This is a side effect of data rendancy
The second point is that data rendancy often reces the efficiency of writing, because data synchronization also consumes resources. If you add two slave libraries, the write efficiency will be affected. The common storage system is to use rendancy to ensure the high availability of dataso the second question, ordinary storage system, can write more
the answer is yes, for example, take this graph as an example:
in fact, MySQL can do a master-slave synchronization of al masters, master-slave synchronization of al masters, two nodes can be written at the same time. If you want to do a multi room multi live data center, in fact, multi room multi live data synchronization. What we should emphasize here is that multi-point writing often leads to the consistency problem of writing conflicts. Take MySQL as an example, suppose that the attribute of a table is self incrementing ID, then the data in the database is 1234 now. If one of the nodes writes and inserts a piece of data, it may become 5, and then these 5 pieces of data are synchronized to another master node, Before synchronization, if another write node inserts a piece of data, a piece of data with self incrementing ID of 5 will be generated. Then, after the generation, synchronize to another node, and the synchronized data will conflict with the two local 5's after it arrives, which will lead to synchronization failure and write consistency conflict. This problem will occur in the case of multi-point writing
how to ensure consistency in multi-point writing
the reform "Swan class" gives you more technical work
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
2. Blockchain is an innovative application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies in the Internet era. In recent years, the development and application of blockchain is of great significance to technological innovation and instrial revolution. This experience introces the relevant knowledge of blockchain technology
3. Blockchain is a distributed ledger, which can contain financial and / or non-financial transactions. It can be replicated (distributed) on multiple systems in almost real time through peer-to-peer network. Each participant "owns" the same ledger and gets updated when adding any transaction. Each participant helps to determine the inherent "invariance" of all existing records, Using cryptography and digital signature to prove identity, authenticity and enforce read / write access, there is a mechanism that makes it difficult to change history, and it is easy to detect someone trying to change it.
Blockchain is a term in the field of information technology. In essence, it is a shared database. The data or information stored in it is characterized by "unforgeability", "trace in the whole process", "traceability", "openness and transparency" and "collective maintenance". Based on these characteristics, blockchain technology has laid a solid "trust" foundation, created a reliable "cooperation" mechanism, and has broad application prospects
on January 10, 2019, the state Internet Information Office issued the regulations on the management of blockchain information services. In October 24, 2019, ring the eighteenth collective learning of the Central Political Bureau, general secretary Xi Jinping stressed that "block chain as an important breakthrough in core technology and independent innovation", "accelerating the development of block chain technology and instrial innovation". "Blockchain" has entered the public field of vision and become the focus of social attention
on December 2, 2019, the word was selected into the top ten catchwords of "biting words" in 2019
extended data:
Application of blockchain Finance:
since 2016, the major financial giants have also carried out blockchain innovation projects to explore the possibility of applying blockchain Technology in various financial scenarios. In particular, Puyin group took the lead in creating a "blockchain +" standard digital currency
standard digital currency refers to the process of assets identification, evaluation, right confirmation and insurance completed by a third party organization, which is written into the blockchain through careful digital algorithm to form the standard corresponding relationship between assets and digital currency, which is called standard digital currency
in order to realize the great leap forward development of blockchain finance, promote the new development of China's economy, accelerate the circulation of global assets, and realize the dream of rejuvenation that has been struggling for generations, Puyin group will hold the Guiyang strategic development ceremony of Puyin blockchain finance in Guizhou on December 9, 2016
the meeting will discuss the realization of digital circulation of assets by blockchain, the financial transaction mode of blockchain, and the application of blockchain services and social public instry. This conference will mark the beginning of the application of blockchain finance and the change and development of the new financial ecology
1-contains a distributed database
2-distributed database is the physical carrier of blockchain, blockchain is the logical carrier of transaction, all core nodes should contain full copies of the blockchain data
3-blockchain serializes blocks according to time, And blockchain is the only body of the whole network transaction data
4-blockchain is only effective for addition, but not for other operations
5-public and 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, in the face of a certain amount of contradictions between different nodes, the data will not collapse
8-consensus process can solve the problem of double spending