Block chain algorithm hash
hash algorithm is a cryptographic algorithm that can only encrypt, but not decrypt. It can convert any length of information into a fixed length string
this string has two characteristics:
1. Even if the input value changes only a little, the output hash value will be very different
2. Only exactly the same input value can get exactly the same output value
3. There is no rule between the input value and the output value, so the input value cannot be calculated by the output value. In order to find the specified output value, we can only use enumeration method: constantly change the input value to find the output value that meets the conditions
hash algorithm ensures that the results of bitcoin mining can not be deced reversely. Therefore, the miner's continuous operation is essentially brutally cracking the correct input value. Whoever finds the first one will get the bitcoin reward.
jinwowo group analyzes the functions of its hash algorithm as follows:
the hash value of the blockchain can uniquely and accurately identify a block. Any node in the blockchain obtains the hash value of the block through simple hash calculation, and the calculated hash value does not change, which means that the information in the blockchain has not been tampered with.
generally, y = hash (x) is used in the instry to calculate a hash value y by calculating X.
it is suggested that netizens should stay away from bitcoin and its related things if they don't understand bitcoin. This netizen can send me a private letter and tell me what you know. I will sort out and report on it.
Hash function, also known as hash function and hash algorithm, is a method to create small digital "fingerprint" (also known as Digest) from any kind of data. What do you mean? That is to say, if you input data of any length and content, the hash function outputs a fixed length and fixed format result, which is similar to the fingerprint of the data you input. As long as the input changes, the fingerprint will change. Different content, the fingerprint obtained by hash function is different. This is the hash function
in distributed ledger, in order to ensure data integrity, hash value is used for verification. For example, a transaction or a page of ledger (that is, the concept of block) generates a summary after hashing, which means that the transaction information of the whole block cannot be tampered with (that is, the summary cannot be kept unchanged after tampering with the data)
the original definition or narrow sense of blockchain is in the form of block + chain, which is linked by hash. Each block may have many transactions, and the whole block can generate summary information through hash function, and then each block needs to record the summary information of the previous block, so that all blocks can be connected into a chain
if you change the data of a block in the history, it means that the block summary value (i.e. hash value) will change, then the hash of the previous block recorded in the next block will have to be modified accordingly, and so on. That is to say, if you want to modify the history, you need to start from that point, and then all records will have to be modified to ensure the legitimacy of the ledger, Hash function increases the difficulty of account book tampering
the Xueshuo innovation blockchain Technology Workstation of Lianqiao ecation online is the only approved "blockchain Technology Specialty" pilot workstation of "smart learning workshop 2020 Xueshuo innovation workstation" launched by the school planning, construction and development center of the Ministry of ecation of China. Based on providing diversified growth paths for students, the professional station promotes the reform of the training mode of the combination of professional degree research, proction, learning and research, and constructs the applied and compound talent training system
As an emerging technology, blockchain has attracted more and more attention. It is a new application of traditional technology in the Internet era, including distributed data storage technology, consensus mechanism and cryptography. With the establishment of various blockchain research alliances, more and more funds and personnel support related research. Hash algorithm, zero knowledge proof, ring signature and other cryptographic algorithms used in blockchain:
hash algorithm
as the basic technology of blockchain, the essence of hash function is to map a set of data of any length (limited) to a set of defined length data stream. If this function satisfies the following conditions:
(1) the calculation of hash value for any group of data is very simple
(2) it is difficult to find two different data with the same hash value
hash functions satisfying the above two properties are also called encrypted hash functions. In case of no contradiction, hash functions usually refer to encrypted hash functions. For the hash function, finding such that is called a collision. The current popular hash functions are MD5, SHA1, Sha2, Sha3
bitcoin uses sha256, and most blockchain systems use sha256 algorithm. So here's sha256< Step 1: additional filling bits. The length of the message is congruent with that of 448 mod512 (length = 448 mod512). The number of bits to be filled ranges from 1 to 512. The highest bit of the filled bit string is 1, and the rest bits are 0
Step2: additional length value. The bit length of the initial message (before filling) represented by 64 bit is appended to the result of step 1 (the low byte takes precedence)
Step3: initialize cache. A 256 bit cache is used to store the intermediate and final results of the hash function
Step 4: process 512 bit (16 word) packet sequence. The algorithm uses six basic logic functions and consists of 64 steps of iterative operation. Each step takes the 256 bit cache value as the input, and then updates the cache content. Each step uses a 32-bit constant KT and a 32-bit wt. Where WT is the packet after the packet, t = 1,2,..., 16
step5: after all 512 bit packets are processed, the output of the last packet of sha256 algorithm is 256 bit packet< In 2001, Rivest, Shamir and TauMan proposed ring signature for the first time. It is a simplified group signature, only ring members have no manager, and it does not need the cooperation between ring members. In the ring signature scheme, the signer first selects a temporary signer set, which includes signers. Then the signer can generate the signature independently by using his private key and the public key of others in the signature set without the help of others. Members of the signer collection may not know that they are included in it
ring signature scheme consists of the following parts:
(1) key generation. A key pair (public key PKI, private key ski) is generated for each member of the ring
(2) signature. The signer uses his private key and the public keys of any n ring members (including himself) to generate the signature a for the message M
(3) signature verification. According to the ring signature and message M, the verifier verifies whether the signature is signed by the member in the ring. If it is valid, it will be received, otherwise it will be discarded
ring signature satisfies the following properties:
(1) unconditional anonymity: the attacker can not determine which member of the ring generated the signature, even if the private key of the ring member is obtained, the probability is not more than 1 / n
(2) Correctness: the signature must be verifiable by all others
(3) unforgeability: other members of the ring can't forge the real signer's signature, and even if an external attacker obtains a valid ring signature, he can't forge a signature for message M
(1) anonymity. The verifier can verify that the signature is signed by a member of the group, but can't know which member it is, so that the signer can be anonymous< (2) traceability. In group signature, the existence of group administrator ensures the traceability of signature. The group administrator can revoke the signature and expose the real signer. The ring signature itself cannot reveal the signer unless the signer wants to expose or add additional information to the signature. A verifiable ring signature scheme is proposed. In this scheme, the real signer wants the verifier to know his identity. At this time, the real signer can confirm his identity by disclosing his secret information< (3) management system. Group signature is managed by group administrator, ring signature does not need to be managed, signer can only select a set of possible signers, obtain its public key, and then publish the set, all members are equalthe Xueshuo innovation blockchain Technology Workstation of Lianqiao ecation online is the only approved "blockchain Technology Specialty" pilot workstation of "smart learning workshop 2020 Xueshuo innovation workstation" launched by the school planning, construction and development center of the Ministry of ecation of China. Based on providing diversified growth paths for students, the professional station promotes the reform of the training mode of the combination of professional degree research, proction, learning and research, and constructs the applied and compound talent training system< br />