Blockchain signature
If you want to understand the application of blockchain, you can refer to many books and opinions, such as illustrated blockchain, blockchain: reshaping the economy and the world, blueprint and guide of new economy, and articles of coin'an community, including a detailed understanding of the platform of coin'an community, with great strength
As the name suggests, blockchain is composed of block and chain. It is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and so on. It is a kind of chain data structure that combines data blocks in order according to the time sequence, and it is a secure and reliable distributed account book that can not be tampered with and forged by means of cryptographyin 2008, in his paper bitcoin: a peer-to-peer e-cash system published by Nakamoto, he first proposed the idea of blockchain and encrypted digital currency. Starting from bitcoin, blockchain has become the underlying technology of various digital currencies
Second, the working principle of blockchain:1. The basic concepts include: (1) transaction: one operation will change the account status once, such as adding a record 2) Block: records the transaction and status data within a specified time, which is a consensus and preservation of the current account status 3) Chain: it is composed of a series of blocks in chronological order, which is the log record of the whole state change. If you understand the working concept of blockchain, it is not difficult to understand its working principle. Suppose there is a distributed data logbook, which can only be added, not deleted or changed. Its structure is a linear chain formed by a series of "blocks" (which is also the source of the name of "blockchain"), and new data must be put into a new block to be added, The maintenance node can propose a new block, but it must go through a certain consensus mechanism to reach an agreement on the final selected block
2. Take bitcoin as an example to see the working principle of blockchain
the block of bitcoin is divided into block head and block body
Core advantages and characteristics of blockchain1. The verification, accounting, storage, maintenance and transmission of decentralized blockchain data are all based on distributed system structure. There is no centralized hardware or management organization, and the rights and obligations of any node are equal, The data blocks in the system are jointly maintained by the nodes with maintenance function in the whole system. 2. The open and transparent 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. Anyone can query the blockchain data and develop related applications through the open interface, so the information of the whole system is highly transparent. 3. Security blockchain uses 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. 4. Information cannot be tampered with. Once the information is verified and added to the blockchain, it will be stored permanently. Unless more than 51% (almost impossible) nodes in the system can be controlled at the same time, the modification of the database on a single node is invalid. Therefore, the data stability and reliability of the blockchain are extremely high. 5. Anonymity because the exchange between nodes follows a fixed algorithm, and its data interaction does not need trust (the program rules in the blockchain will judge whether the activity is effective or not). Therefore, the counterparties do not need to let the counterparties generate their own trust by disclosing their identities, which is very helpful for credit accumulation
At present, the most popular classification of blockchain is to divide blockchain into public blockchain, private blockchain and consortium blockchain according to different participants1. Public chain: anyone can participate in the use and maintenance, and can obtain the effective confirmation of the blockchain. Public chain is the earliest blockchain and the most widely used blockchain at present, such as bitcoin blockchain. The information is completely public
if the licensing mechanism is introced, it includes private chain and alliance chain. 2. Private chain: a company or indivial only uses the blockchain technology, enjoys the exclusive write permission of the blockchain, and does not disclose the information. At present, conservative giants (traditional finance) want to experiment with private blockchain, and the application procts of private blockchain are still groping. 3. Alliance chain: it is a blockchain between the public chain and the existing chain, which is jointly controlled by multiple organizations. The use of the chain is managed with authority, which can be controlled by the manager, and also open to others according to the manager's wishes. In addition, according to the different use scenarios and purposes of blockchain, it can be divided into currency chain for the purpose of digital currency, property chain for the purpose of recording property rights, and crowdfunding chain for the purpose of crowdfunding
On May 28, Ma Huateng, CEO of Tencent, proposed the anti-counterfeiting method based on cloud integrated blockchain technology, which is far more efficient than traditional anti-counterfeiting methods. The future anti-counterfeiting verification scenario may only require users to use their mobile phones for simple scanning, and a large number of complete information based on different dimensions can be obtainedtake Maotai liquor as an example:
distillery address, proction workshop, operation staff, inspector, delivery time, transportation vehicle information and driver information,
liquor year, raw material source, raw material supplier, storage warehouse number, raw material transportation vehicle and driver information,
all information can be accurately traced, permanently recorded and tampered with
the above information can be easily verified
2. Food safety issues as early as last November, Wal Mart has cooperated with IBM to track the source of food by using blockchain technology, so as to ensure the safety of food and increase the circulation of food to rece costs. For Wal Mart and other large supermarkets, it took a few days to investigate the source of problem food, After using this technology, only one item of proct information is needed to achieve accurate traceability, and important information such as food origin, inspector, supplier, logistics and transportation can quickly find problems in a few minutes. Currently, procts tracked by blockchain include packaging procts from the United States and pork from China
3. Information security
blockchain technology is promoting an information security technology revolution. (1) identity protection PKI is a common public key encryption technology in e-mail, message application, website and other communication applications. However, since the implementation of most PKI, the centralized trusted third party certification authority (CA) is used to issue, activate and store user certificates. Hackers can attack PKI to fake user identity or crack encrypted information
certcoin is the first PKI implementation of blockchain, which comes from MIT, removes the centralized authentication center, and uses blockchain as a distributed ledger for domain name and public key
pomcor company: blockchain PKI implementation path: keep the authentication center, and use blockchain to store the hash value of issued and activated certificates. Users can verify the authenticity of certificates through decentralized and transparent sources, and can also improve the network access performance through local authentication of secret key and signature based on blockchain
(2) data integrity protection
guardtime developed a secret key free signature architecture (Ksi) based on blockchain technology to replace the secret key based data authentication technology. Ksi stores the hash table of the original data and files on the blockchain, runs the hash algorithm to verify other copies, and compares the results with the data stored in the blockchain. Any data tampering will be found quickly because the original hash table is stored in millions of nodes
(3) key infrastructure protection
the "Achilles heel" of the Internet, DDoS has entered the TB era, DDoS is still the simplest weapon for hackers to bring down the big target with low cost, DNS service is the primary target for hackers to carry out large-scale destruction, but blockchain technology is expected to fundamentally solve the problem
The distributed storage ofblockchain makes hacker attacks lose focus. Nebulis is developing a distributed DNS system, which uses Ethereum blockchain and interstellar Internet file system (IPFs, the distributed substitute of HTTP) to register and resolve domain names. The biggest weakness of DNS is caching, which makes DDoS attacks possible. It is also the bane of the centralized government's censorship of social networks and manipulation of DNS registration. A highly transparent and distributed DNS system can effectively prevent any entity, including the government, from arbitrarily manipulating records
(1) digital currency: improve the convenience of currency issuance and use, such as bitcoin and Ethernet in foreign countries, and guorenbao in Chinafrom the use of physical transactions, to physical currency and credit currency, and then to the rise of bitcoin network, more and more people are aware of the distributed ledger blockchain technology behind it, and graally apply it in many scenarios other than digital currency
(2) cross border payment and settlement: realize point-to-point transaction, rece intermediate fees
transfer and payment. At present, the most mature application of blockchain technology is payment and transfer. Blockchain technology can avoid complicated systems, save the process of inter-bank reconciliation and review, and accelerate the settlement speed; Virtual currency can rece transaction costs without the intervention of clearing house. Different countries have different clearing proceres. It takes two or three days for a single remittance to arrive, which is inefficient and accounts for a large proportion of funds in transit. No longer through the third party, through the blockchain technology to form point-to-point payment. By eliminating the link of the third-party institutions, we can make full day payment, real-time payment, withdraw cash quickly and rece the hidden cost, which helps to avoid the capital risk. It is timely and convenient
(3) bills and supply chain financial business: rece human intervention, rece costs and operational risksvalue transfer between point-to-point, control and verify physical bills or central system; Intermediaries will be eliminated and human intervention reced. With the improvement of efficiency, financing channels are more unblocked, risks are lower, and multiple parties benefit
(4) securities issuance and Trading: realize quasi real-time asset transfer, accelerate the speed of transaction clearing
the application of blockchain technology can make the process of securities trading more concise, transparent and fast, rece the plication of IT system, and improve the efficiency of market operation. For stocks, blockchain can eliminate paper and pen or electronic form records, rece human errors in trading, and improve the transparency and traceability of trading platform. Citigroup and Nasdaq cooperate to promote blockchain applications
(5) customer credit investigation and anti fraud: rece the cost of legal compliance, prevent financial crimes
the customer information and transaction records recorded in the blockchain help banks identify abnormal transactions and effectively prevent fraud. The technical characteristics of blockchain can change the existing credit reference system, and store the data of customers with bad records in the blockchain when the bank concts "know your customer" (KYC)
equity crowdfunding:
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.
in fact, blockchain uses the basic principles of modern cryptography to ensure its security mechanism. The knowledge system involved in the field of cryptography and security is very complicated. Here, I only introce the basic knowledge of cryptography related to blockchain, including hash algorithm, encryption algorithm, information digest and digital signature, zero knowledge proof, quantum cryptography, etc. Through this lesson, you can learn how to ensure the confidentiality, integrity, authentication and non repudiation of the blockchain using cryptography technology
basic course lesson 7 basic knowledge of blockchain security
1. Hash algorithm (hash algorithm)
hash function (hash), also known as hash function. Hash function: hash (original information) = summary information. Hash function can map any length of binary plaintext string to a shorter (generally fixed length) binary string (hash value)
a good hash algorithm has the following four characteristics:
1. One to one correspondence: the same plaintext input and hash algorithm can always get the same summary information output
2. Input sensitivity: even if the plaintext input changes slightly, the newly generated summary information will change greatly, which is greatly different from the original output
3. Easy to verify: plaintext input and hash algorithm are public, anyone can calculate by themselves, and whether the output hash value is correct
4. Irreversibility: if there is only the output hash value, the hash algorithm can never dece the plaintext
5. Conflict avoidance: it is difficult to find two plaintexts with different contents, but their hash values are the same (collision)
for example:
hash (Zhang San lent Li Si 100000 yuan for 6 months) = 123456789012
such a record as 123456789012 is recorded in the account book
it can be seen that hash function has four functions:
simplify information
it is easy to understand, and the information after hashing becomes shorter
identification information
you can use 123456789012 to identify the original information, and summary information is also called the ID of the original information
hidden information
the account book is a record like 123456789012, and the original information is hidden
verification information
if Li Si cheated that Zhang San only lent Li Si 50000 when repaying, both parties can verify the original information with the hash value of 123456789012 recorded before
hash (Zhang San lent Li Si 50000 for 6 months) = 987654321098
987654321098 is completely different from 123456789012, which proves that Li Si lied, Then the information can't be tampered
common hash algorithms include MD4, MD5 and Sha series algorithms, and Sha series algorithms are basically used in mainstream fields. Sha (secure hash algorithm) is not an algorithm, but a group of hash algorithms. At first, it was SHA-1 series, and now the mainstream applications are sha-224, SHA-256, sha-384 and sha-512 algorithms (commonly known as SHA-2). Recently, Sha-3 related algorithms have been proposed, such as keccak-256 used by Ethereum
MD5 is a very classic hash algorithm, but unfortunately, both it and SHA-1 algorithm have been cracked. It is considered by the instry that its security is not enough to be used in business scenarios. Generally, sha2-256 or more secure algorithm is recommended
hash algorithm is widely used in blockchain. For example, in blocks, the latter block will contain the hash value of the previous block, and the content of the later block + the hash value of the previous block will jointly calculate the hash value of the later block, which ensures the continuity and non tamperability of the chain< Encryption and decryption algorithm is the core technology of cryptography, which can be divided into two basic types: symmetric encryption algorithm and asymmetric encryption algorithm. According to whether the key used in the encryption and decryption process is the same or not, the two modes are suitable for different needs, just forming a complementary relationship, and sometimes can be combined to form a hybrid encryption mechanism
symmetric cryptography (also known as common key cryptography) has the advantages of high computational efficiency and high encryption strength; Its disadvantage is that it needs to share the key in advance, which is easy to leak and lose the key. The common algorithms are des, 3DES, AES and so on
asymmetric cryptography (also known as public key cryptography) is different from the encryption and decryption key, and its advantage is that it does not need to share the key in advance; Its disadvantage is that it has low computational efficiency and can only encrypt short content. Common algorithms include RSA, SM2, ElGamal and elliptic curve series. Symmetric encryption algorithm is suitable for the encryption and decryption process of a large number of data; It can't be used in signature scenario: and it often needs to distribute the key in advance. Asymmetric encryption algorithm is generally suitable for signature scenario or key agreement, but it is not suitable for large amount of data encryption and decryption< Third, information digest and digital signature
as the name suggests, information digest is to hash the information content to obtain a unique digest value to replace the original and complete information content. Information digest is the most important use of hash algorithm. Using the anti-collision feature of hash function, information digest can solve the problem that the content has not been tampered
digital signature is similar to signing on paper contract to confirm contract content and prove identity. Digital signature is based on asymmetric encryption, which can be used to prove the integrity of a digital content and confirm the source (or non repudiation)
we have two requirements for digital signature to make it consistent with our expectation for handwritten signature. First, only you can make your own signature, but anyone who sees it can verify its validity; Second, we want the signature to be only related to a specific file and not support other files. These can be achieved by our asymmetric encryption algorithm above
in practice, we usually sign the hash value of information instead of the information itself, which is determined by the efficiency of asymmetric encryption algorithm. Corresponding to the blockchain, it is to sign the hash pointer. In this way, the front is the whole structure, not just the hash pointer itself< Zero knowledge proof means that the verifier can make the verifier believe that a certain conclusion is correct without providing any additional information to the verifier
zero knowledge proof generally meets three conditions:
1. Completeness: authentic proof can make the verifier successfully verify
2. Soundness: false proof can not make the verifier pass the verification
3. Zero knowledge: if you get proof, you can't get any information other than the proof information from the proof process< With more and more attention paid to the research of quantum computing and quantum communication, quantum cryptography will have a huge impact on the information security of cryptography in the future
the core principle of quantum computing is that qubits can be in multiple coherent superposition states at the same time. Theoretically, a large amount of information can be expressed by a small number of qubits and processed at the same time, which greatly improves the computing speed
in this way, a large number of current encryption algorithms are theoretically unreliable and can be cracked, so the encryption algorithm has to be upgraded, otherwise it will be broken by quantum computing
as we all know, quantum computing is still in the theoretical stage, which is far from large-scale commercial use. However, the new generation of encryption algorithms should consider the possibility of this situation.
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. Decentralization is the most prominent and essential feature of blockchain
openness. Blockchain technology is based on 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
independence. Based 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
Let's suppose villagers Lao Wang and Xiao Li. Lao Wang borrowed some money from Xiao Li, who wrote it in an IOU signed by both parties. A few days later, Lao Wang denied the existence of borrowing money and claimed that Xiao Li forged the paper. Xiao Li can't argue because he finds it difficult to prove that Lao Wang actually owes him money
in this example, Lao Wang and Xiao Li are two nodes
now assuming the same scenario, there are many pairs of people trading with each other in the village. The only evidence for each pair is the IOU. If one party fails, it will be difficult to do so. Seeing this scene, the village head came up with a solution. He suggested using a common notebook for the whole village to record all the transactions. Due to the high prestige of the village head, the villagers unanimously decided to let the village head keep this important transaction book. Each transaction, the villagers go to the village head's home, let the village head witness and record, each transaction is written into a notebook, and then safely saved. That notebook can be called a database
because this notebook is very important, the village head locked it in the safe. However, there are always some problems. Sometimes, the village head will accidentally sprinkle ink on the paper, making some transaction records illegible. This is called a single point of failure. The thief knows that there is an important notebook in the safe of the village head's house. He tries his best to steal it. This is called hacking
until one day, the village head's son owed others a lot of money, so the village head secretly deleted his son's debt entry. In this way, the village head's son "does not owe money."
when the villagers knew this, they began to question the fairness and authority of the village head. So some people put forward a new idea:
abolish the power of the village head, which is called decentralization. Let all villagers keep a notebook, and the transaction records are copied and distributed, which is called distributed database. Therefore, if there are n people in the village, there are n notebooks, that is, n nodes. Every time there is a trade between any two people, all the people in the village get together and record it in their notebooks. And no one can cover the sky. This is called decentralization
they also decided that they would never delete the mentioned transactions from their notebooks, which is irreversible. For example, Lao Wang borrowed a sum of money from Xiao Li before, but in the twinkling of an eye, he wants to return the money. Then the transaction book will not delete the previous borrowing record, but write a new repayment record, so there are two records
next, let's try to break this rule. What if we bribe Lao Wang to change his notebook? It's not feasible, because the next time the villagers meet, they find that Lao Wang's notebook is different from everyone else's, so the villagers notice that Lao Wang may be engaged in an indescribable transaction, and decide to abolish Lao Wang's transaction record and kick Lao Wang out of the organization
What if you try to bribe all the villagers? It's too expensive
the characteristic of this model is that greedy people need to pay a lot to attack the rules. He will find it more profitable to follow the rules
a smart child in the village suggested that each transaction data be called "block" and linked into a "chain" in chronological order, which is called blockchain strong>
in the distributed network of blockchain, the communication and trust between nodes need to rely on digital signature technology, which mainly realizes the identity confirmation and information authenticity and integrity verification
digital signature
digital signature (also known as public key digital signature, electronic signature) is a kind of common physical signature written on paper, but it uses the technology in the field of public key encryption to identify digital information. A digital signature usually defines two complementary operations, one for signature and the other for verification. Only the sender of information can proce a digital string which can not be forged by others. This digital string is also an effective proof of the authenticity of the information sent by the sender. Simply prove that "I am who I am."
When did you buy 500? Now you make a lot of money
jump out of the verification interface, click the return button in the upper left corner, and then upgrade to the latest version to refresh the node. Or uninstall again and restore the account with mnemonics Refresh node] in free communication, the + sign in the upper right corner, "node detection & quot;