区块链不可逆算法有哪些,区块链不可逆算法是什么
请查看相关英文文档
⑴ What exactly is blockchain
Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. Simply put, blockchain is a decentralized distributed ledger database.
Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithms. After reading this, you may still be confused. In fact, in vernacular terms, blockchain is a decentralized distributed ledger database. The advantage of this distributed ledger is that buyers and sellers can trade directly without any intermediary. Everyone has a backup, even if your copy is lost, it will not be affected.
So what is distribution and decentralization? Take marriage registration as an example. In the past, when two people got married, they had to go to the Civil Affairs Bureau to go through the formalities, and then enter the information into the computer to complete the legal process. What if we use blockchain technology? As long as two people agree to get married and post a message in their circle of friends, the marriage process is completed and there is no need to go to the Civil Affairs Bureau. Your friends are common witnesses. They may be scattered around the world, but their mobile phones will help you record the information and tell others who want to know the situation.
If you want to conceal your marriage information, you used to have to modify the records on the Civil Affairs Bureau's computer, but now you have to modify the records on the mobile phones of all insiders at the same time. The more people who know about it, the less likely it is to modify it. Therefore it is an impossible task. This is distribution and decentralization.
On the network, every once in a while, a block will be generated. This block is equivalent to a network record book, which is used to record relevant information that has occurred over a period of time. Waiting for this record book When the record is full, a new record book will be generated. Once the information is recorded, all participants will be notified and everyone's record book will be updated simultaneously.
These record books are eventually connected in series with each other. This is blockchain technology. Because of the use of cryptography technology, if someone wants to unilaterally tamper with the message, it will be verified through the blockchain algorithm protection mechanism. If the time point does not match and the related information does not match, other people will not update their record books. Then this information is invalid.
Therefore, compared with traditional information storage technology, blockchain technology is more secure, transparent, and information is irreversible.
Blockchain is not equal to Bitcoin, it is just an underlying technology invented to realize the digital currency of Bitcoin. Blockchain can be applied in a wider range. In addition to digital currency, it can also be applied in financial aspects such as P2P lending, global payment, micro-finance, electronic payment, remittance, etc. It can also be used in people's livelihood aspects such as intellectual property, elections, and notarization. The prospects for future development are huge.
⑵ What is the blockchain encryption algorithm
Blockchain Encryption Algorithm
Asymmetric encryption algorithm is a function that converts the original plaintext file or data into a string of unreadable ciphertext codes by using an encryption key. The encryption process is irreversible. Only by holding the corresponding decryption key can the encrypted information be decrypted into readable plain text. Encryption allows private data to be transmitted through public networks with low risk and protects data from being stolen and read by third parties.
The core advantage of blockchain technology is decentralization. It can achieve decentralized credit in a distributed system where nodes do not need to trust each other by using data encryption, timestamps, distributed consensus and economic incentives. Point-to-point transactions, coordination and collaboration, thus providing solutions to the problems of high cost, low efficiency and insecure data storage common in centralized institutions.
The application fields of blockchain include digital currency, certificates, finance, anti-counterfeiting and traceability, privacy protection, supply chain, entertainment, etc. With the popularity of blockchain and Bitcoin, many related top domain names have been registered. , which has had a relatively large impact on the domain name industry.
⑶ Blockchain: Tamper-proof Hash Encryption Algorithm
Students A and B toss a coin in the classroom and bet on who will clean the house. If the head comes up, A will clean the house. If it's facing up, then B sweeps. There's nothing wrong with this strategy.
However, if the scenario is transferred to an online chat room, and A and B also play a coin-tossing game, B will probably not agree, because when A tosses a coin, B will not guess.
Heads or tails, A can say that B guessed wrong.
How to solve this problem? How about encrypting the result of the coin toss first, and then B guesses? You can try this method.
Assume that any odd number represents the front side of the coin, and any even number represents the tail side. A wants a number 375, then multiplies it by 258, tells B the result is 96750, and declares that the 375 A wants is the key, which he keeps for safekeeping.
When verifying the result next, A can lie and claim that 258 is the number he wants and 375 is the key, and A is still invincible. What if A tells B the key in advance? B can directly calculate the original number, losing the confidentiality function.
This method of knowing the encryption method and knowing the decryption method obviously does not work. Is there a way to know the encryption method and still not be able to recover the original text?
Obviously there is, it is OK to add irreversible operations to the encryption process. A designs a new encryption method:
Assume that the number A wants is 375 and encrypts it:
B gets the result 120943, but he can hardly calculate the key 375 based on 120943.
If B wants to verify whether A is lying:
Finally, he can flip a coin...
ThisThis encryption method that loses part of the information is called "one-way encryption", also called hash algorithm.
There is a problem:
This is possible, but it can be solved by increasing the difficulty of the above algorithm so that A is difficult to find.
According to the above statement, a reliable hash algorithm should satisfy:
The hash function in cryptography has three important properties, namely collision resistance and irreversibility of the preimage. , problem friendliness.
Collision means that student A can find out an odd and an even number in advance to make the hash results consistent, which is computationally infeasible.
First of all, if the news about the large space sauna is compressed into a small space, there will definitely be a collision. Assume that the length of the hash value is fixed to 256 bits. If the order is 1, 2,...2 256 + 1, these 2 256 + 1 input values, and the hash values are calculated one by one, you will definitely be able to find two input values that make the hash The values are the same.
Student A, when you see this, please don’t be too happy too early. Because you have to have time to figure it out before it's yours. Why do you say that?
According to the birthday paradox, if 2 130 +1 inputs are randomly selected, there is a 99.8% probability of finding at least one pair of collision inputs. Then for a hash function with a hash value length of 256 bits, an average of 2128 hash calculations need to be completed to find the collision pair. If a computer performed 10,000 hash calculations per second, it would take approximately 10 27 years to complete 2 128 hash calculations.
Student A, don’t think about cheating, I guess you won’t live this long. Of course, it is possible if computer computing power is greatly improved.
So what other uses does integrity have?
Used to verify the integrity of the information, because if the information is not tampered with during transmission, the hash value obtained by running the hash calculation will be different from the original hash value.
Therefore, in the blockchain, the collision resistance of the hash function can be used to verify the integrity of blocks and transactions.
Because a hash value corresponds to countless plaintexts, theoretically you don't know which one it is. For example, the results of 4+5=9 and 2+7=9 are the same. I know that the result I entered is 9, but can I know what number I entered?
If, when performing hash calculation on message m, a random prefix r is introduced, and based on the hash value H(r||m), it is difficult to recover message m, which means that the hash function The value hides message m.
Therefore, student B, it is impossible to deduce the original data based on the results. It is like finding a needle in a haystack.
Problem friendliness means that there is no convenient way to generate a hash value that meets special requirements. What does it mean? In layman's terms, there is no shortcut, you need to calculate it step by step.Come. If the required hash result starts with several 0s, then the number of hash calculations required to find a hash value with the first 3 digits all being 0 and a hash value with the first 6 digits all being 0 is a certain number. Quantitative relationship.
How can this be used? In the blockchain, it can be used as proof of work in the consensus algorithm.
Mainly describes three important properties of the hash function: collision resistance, preimage irreversibility, and problem friendliness.
Because of these important properties, functions such as integrity verification of blocks and transactions in the blockchain and workload proof of the consensus algorithm are implemented using hash functions.
[1]. Zou Jun, Zhang Haining. Blockchain Technology Guide [M]. Beijing: Mechanical Press, 2016.11
[2]. Chang Chai, Han Feng. Blockchain From digital currency to credit society [M]. Beijing: CITIC Press, 2016.7
[3]. Zhang Jian. Blockchain defines the new future financial and economic landscape [M]. Beijing: Machinery Industry Press, 2016.6
⑷ What can you do if you know the blockchain address?
With the address, others can transfer money to you.
Blockchain address generally refers to wallet address. To put it bluntly, a wallet on the blockchain is a tool for managing digital assets (what we usually call coins). The transfer of your coins in and out, as well as the records of transfers in and out, are all achieved through the wallet. Just like you need a home address when you go home, digital currency also needs a home address. The difference is that digital currency addresses are unique.
What is an address? In a blockchain system, the private key is generally a 256-bit binary string randomly generated by a special random algorithm, and the public key is generated from the private key through an irreversible algorithm, (i.e. You can only deduce the result from the initial value, but cannot deduce the initial value from the result), and the public key passes the address of the irreversible algorithm (Note: Yes
⑸ What exactly is the blockchain and what areas Blockchain has physical applications
What is blockchain?
Official definition: Blockchain is a new application model of computer technologies such as distributed data storage and point-to-point transmission consensus mechanism encryption algorithms. .The so-called consensus mechanism is a mathematical algorithm that establishes trust and obtains rights and interests between different nodes in the blockchain system.
Vernacular understanding: A block is to package all data generated within a time period in chronological order. Generally, the length of a block is 10 minutes, which means that within 10 minutes, all Internet data on the network is packed into a complete package. This complete data package is called a block, and the blockchain converts this data Packages are linked in order to form a structure, and are cryptographically guaranteed to be non-tamperable and non-forgeable to form a distributed ledger. This is the blockchain.
It seems that everyone is familiar with the blockchain. After gaining a preliminary understanding and understanding, does the blockchain have any practical application in daily life? The answer is yes.Yes, the current practical applications mainly include the following aspects. Of course, I may not know some of them. Friends are welcome to leave comments and add.
Financial Industry
Blockchain should be used the most in the financial industry.
For example, in May 2017, OMG (Omise Coin) announced that it would cooperate with Alipay to launch an electronic wallet, integrating the "Alipay" payment solution into its own payment service suite to help local electronics in Thailand. Business merchants accept online payment transactions from Chinese tourists.
Another example is PPT, which is a financial transaction system for bills based on blockchain.
Gaming
The gambling industry entered the blockchain probably last year. Why does gambling favor blockchain? Because blockchain provides a relatively fair betting system. Why? It is relatively fair. As can be seen from the previous introduction, the blockchain cannot be tampered with or forged.
For example, WICC (WikiChain) can realize rich application scenarios such as asset issuance, betting applications, copyright traceability, mutual insurance, decentralized exchanges, and cross-border settlement.
For example, the STX (King of Fighters Token) stox application is designed to provide the full functionality of a prediction market application without the need for any central server. Prediction markets require functions such as event planning, market production, providing information and analysis to traders, reporting event results, and of course collection and payment.
I believe that if the current lottery industry is built on the blockchain, people will become more and more enthusiastic about buying, because there are too many insider tips that make people give up.
Internet of Things
The Internet of Things still has many applications on the blockchain, because the traceability and immediacy of blocks are very suitable for this industry.
For example, DATA is the concept of the Internet of Things. It is a decentralized p2p network. Data sources can connect to any node in the entire network, then publish data, and the network will immediately send it to subscribers. Horizontal scalability is achieved through sharding pattern. This timeliness and accuracy are very important in IoT applications.
Game industry
For example, GTC (G coin) is a decentralized digital asset based on Ethereum erc20 issued by Game Global. G coin is committed to becoming a universal number in the global game industry. Monetary standards.
For example, MANA is a distributed shared virtual platform. On this platform, users can browse and discover content and interact with other people and entities. Users can also claim ownership of virtual territories through a blockchain-based land ledger. The territory is demarcated by rectangular coordinates (x, y), and its owner can decide the content published on the territory, including static 3D scenes to interactive systems such as games.
There are many other industries. The emperor did not list them one by one, but listed a few representative ones. What is the purpose? It shows that the blockchain is definitely not just a currency transaction, it has real projects and real projects.It is a product of the changes of the times that can achieve practical use.
The development of human society is actually like the blockchain, it is irreversible and unstoppable. As far as I feel, the blockchain will enter thousands of households sooner or later. Regardless of whether it is bull or bear, hold it in your hands. Value coins and Flush have started quoting digital currencies, which shows that society is accepting it step by step. The power of social development cannot be blocked by any country or person.
⑹ Characteristics of blockchain technology
The five basic characteristics of blockchain technology are as follows:
1. Characteristics of blockchain technology 1: distributed database
Every party on the blockchain has access to the entire database and its complete history. No single party controls the data or information. Each party can directly verify the records of its trading partners without the need for a middleman.
2. Blockchain technology feature 2: Peer-to-peer transmission
Communication occurs directly between peers, rather than through a central node. Each node stores and forwards information to all other nodes.
3. Blockchain technology feature three: Transparent anonymity
Any user with access to the system can see each transaction and its associated value. Each node or user on the blockchain has a unique address consisting of more than 30 letters and numbers, which is used to identify itself. Users can choose to remain anonymous or provide proof of their identity to others. The addition of the blockchain occurs at one of these addresses.
4. Blockchain technology feature four: Irreversibility of records
Once a transaction is entered in the database and an account is updated, the records cannot be changed because they are linked to every transaction record before them (hence the name "chain"). Various algorithms are employed to ensure that records in the database are permanent, chronologically ordered, and accessible to all other nodes on the network.
5. Features of Blockchain Technology Five: Computational Logic
The digital nature of the ledger means that blockchain transactions can be associated with computational logic and are essentially programmable. Therefore, users can set algorithms and rules that automatically trigger transactions between nodes.
Extended information:
Blockchain is a chain composed of blocks one after another. Each block stores a certain amount of information, and they are connected into a chain in the order in which they were generated. This chain is saved in all servers. As long as one server in the entire system can work, the entire blockchain is safe. These servers are called nodes in the blockchain system, and they provide storage space and computing power support for the entire blockchain system. If you want to modify the information in the blockchain, you must obtain the consent of more than half of the nodes and modify the information in all nodes. These nodes are usually in the hands of different subjects, so it is extremely difficult to tamper with the information in the blockchain. thing. Compared with traditional networks, blockchain has two core characteristics: data is difficult to tamper with and decentralized. Based on these two characteristics, the information recorded in the blockchain is more authentic and reliable, and can help solve the problem of people's mutual distrust.
⑺ The cryptographic technology of blockchain includes
Cryptography technology is the core of blockchain technology. The cryptographic technology of blockchain includes digital signature algorithm and hash algorithm.
Digital Signature Algorithm
Digital signature algorithm is a subset of the digital signature standard, representing a specific public key algorithm used only for digital signatures. The key is run on the message hash generated by SHA-1: to verify a signature, the hash of the message is recalculated, the signature is decrypted using the public key and the results are compared. The abbreviation is DSA.
Digital signature is a special form of electronic signature. So far, at least more than 20 countries have passed laws recognizing electronic signatures, including the European Union and the United States. my country's electronic signature law was adopted at the 11th meeting of the Standing Committee of the 10th National People's Congress on August 28, 2004. . A digital signature is defined in the ISO 7498-2 standard as: “Some data appended to a data unit, or a cryptographic transformation made to the data unit, which allows the recipient of the data unit to confirm the source and origin of the data unit. The integrity of the data unit and protects the data from forgery by a person (e.g. the recipient)”. The digital signature mechanism provides an identification method to solve problems such as forgery, denial, impersonation and tampering. It uses data encryption technology and data transformation technology to enable both parties to send and receive data to meet two conditions: the receiver can identify what the sender claims. Identity; the sender cannot later deny that it sent the data.
Digital signature is an important branch of cryptography theory. It is proposed to sign electronic documents to replace handwritten signatures on traditional paper documents, so it must have 5 characteristics.
(1) The signature is credible.
(2) The signature cannot be forged.
(3) Signatures are not reusable.
(4) Signed documents are immutable.
(5) The signature is non-repudiation.
Hash algorithm
Hash is to convert an input of any length (also called pre-mapping, pre-image) into a fixed-length output through a hash algorithm, and the output is a hash value. This transformation is a compressed mapping in which the space of hash values is usually much smaller than the space of inputs. Different inputs may hash to the same output, but the input values cannot be deduced in reverse. Simply put, it is a function that compresses a message of any length into a message digest of a fixed length.
Hash algorithm is a one-way cryptographic system, that is, it is an irreversible mapping from plaintext to ciphertext, with only encryption process and no decryption process. At the same time, the hash function can change an input of any length to obtain a fixed-length output. The one-way characteristics of the hash function and the fixed length of the output data allow it to generate messages or data.
Bitcoin blocksChain is represented, in which secondary hashing is used multiple times in the workload proof and key encoding process, such as SHA (SHA256(k)) or RIPEMD160 (SHA256(K)). The benefits of this method are increased The workload may increase the difficulty of cracking if the protocol is not clear.
Represented by the Bitcoin blockchain, the two main hash functions used are:
1. SHA-256, mainly used to complete PoW (proof of work) calculations;
2.RIPEMD160, mainly used to generate Bitcoin addresses. As shown in Figure 1 below, the process of generating an address from a public key for Bitcoin.
⑻ Blockchain encryption technology
Digital encryption technology is the key to the application and development of blockchain technology. Once the encryption method is cracked, the data security of the blockchain will be challenged, and the tamperability of the blockchain will no longer exist. Encryption algorithms are divided into symmetric encryption algorithms and asymmetric encryption algorithms. Blockchain primarily uses asymmetric encryption algorithms. Public key cryptography systems in asymmetric encryption algorithms are generally divided into three categories according to the problems they are based on: large integer differentiation problems, discrete logarithm problems and elliptic curve problems. First, introduce blockchain encryption technology. Encryption algorithms are generally divided into symmetric encryption and asymmetric encryption. Asymmetric encryption refers to encryption technology integrated into the blockchain to meet security requirements and ownership verification requirements. Asymmetric encryption usually uses two asymmetric keys, called public and private keys, in the encryption and decryption process. Asymmetric key pairs have two characteristics: First, after one key (public key or private key) encrypts information, it can only decrypt the other corresponding key. Second, the public key can be disclosed to others, while the private key is kept confidential, and others cannot calculate the corresponding private key through the public key. Asymmetric encryption is generally divided into three main types: large integer differentiation problems, discrete logarithm problems and elliptic curve problems. The problem class of large integer differentiation refers to using the product of two large prime numbers as the encrypted number. Since the appearance of prime numbers is irregular, solutions can only be found through constant trial calculations. The discrete logarithm problem class refers to an asymmetric distributed encryption algorithm based on the difficulty of discrete logarithms and strong one-way hash functions. Elliptic curve refers to the use of planar elliptic curves to calculate a set of asymmetric special values. Bitcoin uses this encryption algorithm. The application scenarios of asymmetric encryption technology in blockchain mainly include information encryption, digital signature and login authentication. (1) In the information encryption scenario, the sender (denoted as A) encrypts the information with the public key of the receiver (denoted as B) and sends it to
B, who uses his own private key Decrypt the information. Encryption of Bitcoin transactions falls into this scenario. (2) In the digital signature scenario, sender A uses its own private key to encrypt the information and sends it to B. B uses A's public key to decrypt the information and then ensures that the information was sent by A. (3) In the login authentication scenario, the client uses the private key to encrypt the login information and sends it to the server. The server then uses the client's public key to decrypt the authenticated login information. Please noteNote the differences between the above three encryption schemes: information encryption is public key encryption and private key decryption, ensuring the security of the information; digital signature is private key encryption and public key decryption, ensuring the ownership of the digital signature. Authenticated private key encryption and public key decryption. Taking the Bitcoin system as an example, its asymmetric encryption mechanism is shown in Figure 1: The Bitcoin system generally generates a 256-bit random number as a private key by calling the random number generator at the bottom of the operating system. The total number of Bitcoin's private keys is large, and it is extremely difficult to traverse all private key spaces to obtain Bitcoin's private keys, so cryptography is safe. In order to facilitate identification, the 256-bit binary Bitcoin private key will be converted through the SHA256 hash algorithm and Base58 to form a 50-character long private key, which is easy for users to identify and write. Bitcoin's public key is a 65-byte random number generated by the private key through the Secp256k1 elliptic curve algorithm. Public keys can be used to generate addresses used in Bitcoin transactions. The generation process is that the public key is first hashed through SHA256 and RIPEMD160 to generate a 20-byte summary result (that is, the result of Hash160), and then converted through the SHA256 hash algorithm and Base58 to form a 33-character Bitcoin address. The public key generation process is irreversible, that is, the private key cannot be derived from the public key. Bitcoin’s public and private keys are usually stored in Bitcoin wallet files, with the private key being the most important. Losing the private key means losing all the Bitcoin assets of the corresponding address. In the existing Bitcoin and blockchain systems, multi-private key encryption technology has been derived based on actual application requirements to meet more flexible and complex scenarios such as multi-signatures.