Cryptography is one of the key technologies of blockchain techno
broadly speaking, blockchain technology is a new distributed infrastructure and computing paradigm, which uses blockchain data structure to verify and store data, uses distributed node consensus algorithm to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses intelligent contract composed of automated script code to program and operate data
as we all know, blockchain technology is an independent underlying architecture from bitcoin system. From the perspective of architecture model, it is a set of distributed ledger, which is naturally used for bookkeeping
in the blockchain technology, if you want to generate accounting records, you need to have the transaction and flow of funds. Therefore, in the initial blockchain technology, the cryptocurrency corresponding to the main network is used as circulation goods, and the circulation transaction records of cryptocurrency between the accounts of the main network of the blockchain will be recorded on the main network
different from other transaction record databases, transaction records on the main network of blockchain technology will be recorded on all block nodes (i.e. all data blocks) in the main network, which is the so-called decentralization principle. That is to say, in blockchain technology, there is no central database to store all records, Every block on the chain has the transaction data of the whole chain, that is to say, every data block is the center
another feature of blockchain technology is that it can't be tampered with, because every transaction on the blockchain will be recorded in all blocks on the chain, so no single data block can change the record. Even if you change it, all other data blocks will also record real data, and each group of data can be traced back to the first time
because of these characteristics of blockchain technology, after the advent of bitcoin, blockchain has also attracted a lot of attention, and many people also began to want to use blockchain technology to make a centerless, traceable and unchangeable data, so as to ensure the credibility of the data
however, blockchain technology also faces many problems, such as single application scenario, non modifiable original error data, non recoverable currency stolen by hackers, etc.
blockchain refers to the technical solution of collective maintenance of a reliable database through centralization and distrust in the past, and it is a technical way for the whole people to participate in bookkeeping. Previous bookkeeping methods were all centralized and needed centralized intermediary, whether it was traditional government, financial institutions, notarization institutions or emerging e-commerce platform and online payment platform
in economic hypothesis, information is sufficient. In fact, it is precisely because of insufficient information that there are very large intermediaries. The existence of intermediaries increases the transaction cost and raises the transaction threshold. In essence, blockchain technology is a large-scale collaboration tool. It makes direct value transfer possible by using pure technology for the first time, and continues the trend of Internet decentralization and disintermediation. Disintermediated blockchain technology will greatly subvert the information intermediary instry
blockchain technology is the basic technology for building bitcoin data structure and encrypted transmission of transaction information, which realizes the issue and transaction of bitcoin. The core of blockchain technology is that all the current participating nodes jointly maintain the transaction and database, so that the transaction is based on the principle of cryptography rather than trust, so that any agreed parties can directly carry out payment transactions without the participation of a third party
technically, a block is a data structure for recording transactions, reflecting the capital flow of a transaction. In the system, the transaction blocks are connected to form a main chain, and all the nodes participating in the calculation record the main chain or part of the main chain
a block contains the following three parts: transaction information, hash formed by the previous block and random number. Transaction information is the task data carried by the block, including the private keys of both parties, the number of transactions, the digital signature of electronic currency, etc; The hash hash formed by the previous block is used to connect the blocks and realize the sequence of past transactions; Random number is the core of the transaction. All nodes compete to calculate the answer of the random number. The node that gets the answer the fastest generates a new block and broadcasts it to all nodes for updating, so as to complete a transaction.
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
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.
1. Lianzhuang data block structure based on blocks
2. Network wide shared ledger
3. Asymmetric encryption
4. Source code open source
blockchain 2.0 era technical basis:
1. Smart contract; It is an application in the blockchain system. It is a business logic that can run automatically by coding. It usually has its own token and special development language
2. DAPP: it includes the user's applications, including but not limited to various cryptocurrencies, such as Ethereum wallet
3. Virtual machine: used to execute the compiled code of smart contract. Virtual machine is Turing complete
with the application and deepening of blockchain technology, the era of blockchain 3.0 has come. The mode of blockchain cooperation can be seen from behind the operation of all walks of life. Therefore, blockchain will change the way of human life widely and profoundly, so the whole life service will enter the era of blockchain. In the process of Internet development, blockchain + physical instry, blockchain e-commerce and blockchain community operation can be applied to blockchain technology
of course, 3.0 came into being with the development of modern cryptography. Today's applied cryptography is the result of cryptography 20 years ago. Therefore, in order to apply blockchain technology to more participation scenarios, especially in Internet economy and other aspects, more verification is needed to verify whether the existing encryption technology can meet the demand, and more in-depth integration of cryptographic frontier technology and continuous innovation are needed.
once the information is recorded in the blockchain, it will become permanent and impossible to change or delete. If a user wants to create a new entry (called a block) to the ledger, other users in the network must verify the information they propose to add. Each computer on the network (called a "node") compares the submitted information with the existing ledger. If most nodes can verify the accuracy of the new block of information, it is allowed to become a permanent part of the ledger. Because the blockchain network is composed of computers in multiple locations, even if a certain network is destroyed, the security of the whole data will not be affected
to understand the working principle of blockchain technology, we must first know the data type of each block in Dimon. Except for transaction data, all blocks contain digital fingerprints called hashes. Each unique hash is generated based on the information within the block, so if the data is changed in any way, the hash will change automatically. This cryptography is the key to decentralized authority of blockchain. The new block also contains the imprint of the hash assigned to the previous block and the chain of entries being audited. If the user attempts to tamper with the block data, the hash cannot be authenticated and the entry is rejected.