Blockchain general ledger account
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
(1) distributed ledger, that is, transaction bookkeeping is completed by multiple nodes distributed in different places, and each node records complete accounts, so they can participate in monitoring the legitimacy of transactions, At the same time, they can testify together
different from traditional distributed storage, the uniqueness of distributed storage of blockchain is mainly reflected in two aspects: one is that each node of blockchain stores complete data according to block chain structure, while traditional distributed storage generally stores data in multiple copies according to certain rules. Second, the storage of each node in the blockchain is independent and has the same status, which relies on the consensus mechanism to ensure the consistency of storage, while the traditional distributed storage generally synchronizes data from the central node to other backup nodes[ 8]
no single node can record the account data separately, so as to avoid the possibility that a single bookkeeper is controlled or bribed to record false accounts. In theory, unless all the nodes are destroyed, the accounts will not be lost, so as to ensure the security of the account data
(2) asymmetric encryption and authorization technology, the transaction information stored on the blockchain is public, but the account identity information is highly encrypted, which can only be accessed under the authorization of the data owner, thus ensuring the data security and personal privacy
(3) consensus mechanism is how to reach a consensus among all accounting nodes to determine the validity of a record, which is not only a means of identification, but also a means of preventing tampering. Blockchain proposes four different consensus mechanisms, which are suitable for different application scenarios and achieve a balance between efficiency and security
the consensus mechanism of blockchain has the characteristics of "the minority is subordinate to the majority" and "everyone is equal", in which "the minority is subordinate to the majority" does not completely refer to the number of nodes, but also can be the computing power, the number of shares or other characteristics that can be compared by computers“ "Everyone is equal" means that when the nodes meet the conditions, all nodes have the right to put forward the consensus results first, and then directly recognized by other nodes, and finally may become the final consensus results. Taking bitcoin as an example, the workload proof is adopted. Only when more than 51% of the accounting nodes in the whole network are controlled can a nonexistent record be forged. When there are enough nodes in the blockchain, this is basically impossible, thus eliminating the possibility of fraud.
(4) smart contract, which is based on these trusted and tamperable data, can automatically execute some pre-defined rules and terms. Take insurance as an example. If everyone's information (including medical information and risk occurrence information) is true and reliable, it is easy to carry out automatic claim settlement in some standardized insurance procts
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