- A hash function is just an encrypted output of the original input.
2.Hash functions are used to protect the data stored in the bitcoin network and also connect each block to make the network immutable.
3.Hash functions need to be collision-resistant because if it wasn’t then the functions could consistently make splits in the chain. Since the hash function provides an almost impossible collision resistance, there is usually never a collision.
- Function that transforms one random string into a unique fingerprint (hash-code) based on particular algorithms. The exact same string would give the exact same fingerprint, however it’s close to impossible to figure out the input, based on the output.
2.They are used in the mining process to hash transaction data combined with block-specific data. This process is important for the proof of work, security and traceability aspects.
- Collision in this context would mean having 2 inputs that give the same output (fingerprint), which would interfere in a way with the whole hashing concept. Being resistant to collision says that such chances are as close to 0 as possible.
-
Hash Functions - create a computation that takes the input value of a string of text that can be any length and returns an output of a fixed length.
-
Cryptography hash functions provide a one way function that is virtually impossible to invert which provides security to a transaction. The security of the hash function must be able to satisfy 6 criteria:
- Must be deterministic - same message always results in same hash
- Must be able to provide quick computation
- Must be pre image resistant - cannot retrieve the input via the output
- Any change to the input no matter how small should produce a different output.
- Must be Collision resistant - no 2 input hashes should produce the same output
- Must be puzzle friendly- should be difficult to find an input that produces a pre-defined output.
- No two input hashes should map out to the same output hash
-
Describe hash functions with your own words
Hash functions are functions in which any given unique input will give the same unique output every time. Like a digital fingerprint unique to the input. And with hash functions you must never be able to find the input from the output hash. -
How are hash functions used in cryptocurrencies like bitcoin? (Try to research this on your own, we will cover this later in the course but challenge yourself and see if you can find information on this already now).
Each block header has the hash of the previous block. meaning if any information in any of the previous blocks is changed, even a single digit, the block header of every single block will drastically change. this makes it so no-one can change any previous transaction data in any of the blocks that have already been mined. If they tried too, the block header hash’s would prove that the information has been changed, nullifying the changes. -
What does it mean when we say that hash functions need to be collision resistant? (We didn’t use the term “collision resistant” in the lecture, but you will easily find this on Google, we add this question intentionally to make you research information on your own, that’s how you learn best).
A hash function being collision resistant means it is resistant (not impossible) to produce the same output hash from two different input hash’s
A hash function generates from any input, a unique output with always the same amount of “digits”. If my hash functions output is for example 16 digits long, weather the input is 1 or the input is an arbitrary long combination of text and numbers, the output in both case will be 16 digits long. The out put is also consistently reproduceable for the same input.
As the blocks are in a chain, the hash is used to verify the contents of a previous block in thecurrent blocks header.
It is also used in the merkle trees.
It is also used to specify a threshold for a valid block in the mining process.
Collision resistance means in this context that it is infeasible to produce identical hash for two different inputs. It is not impossible, but infeasible.
As I was watching this lecture I was wondering, wouldn’t machine learning provide a way to break a hash function?
- Hash function is like a conversion of data in form of encryption value from a fixed input variable or fingerprint.
- Each private key has a digital fingerprint which is used to sigh a transaction using hash function and this cannot be back traced as the input is taken random which is difficult to trace back to private key.
- As the private key generates a signature while interacting with some public key the variables change each time and no two random inputs will generate same signature.
-
It is a one-way function in which each unique input gives you a unique output.
-
In bitcoin, the hash function is used to write new transactions into the blockchain through the mining process. bitcoin miner will compete to find an input that gives a specific ash value. it is a guessing game in which computers help us to find the input.
-
It means with 2 differents unique input it will be really unlikely to find the same output but not impossible.
How do you think machine learning would be able to break hash functions? Hash functions give a seemingly random output and machine learning algorithms provide a way for a machine to learn and repeat patterns.
Hash functions are not used to derive public keys. Public key cryptography uses the elliptic curve function.
Its true that two inputs must not result in the same output, but its not for the purpose of digital signatures.
-
hash functions allow for input = output. by this I mean that hash functions take an input which can be anything and run it through a has algorithm to give you an output of a fixed length.
-
has functions are used in cryptocurrencies because they keep the output secure and any change to the original input will not yield the same output hash.
-
collision resistant simply means that the input will equal a certain output and only the exact same input can equal the output after it ran through the hash algorithm. this way any change to the input will always give a different hashed output.
Machine learning proved to reduce billions of possible go moves to a set of effective ones. Maybe if the dataset is big enough, machine learning can reduce the set of possible hashes to a small enough number where brute force becomes feasible. I know that there might be no pattern in the output of a hashing function, but there might be one that only an ML can pick up. Just a theory.
Well I really am not sure about a practical example of how this is used in Bitcoin for sure.
I would guess that it is what the blockchain does to verify transactions of bitcoins since my understanding that the hash is a method of comparison or validation?
- A hash function is a function that takes a string of text and converts it into a unique value that represents that text. Every value entered into a hash function as a specific hash to represent that data.
- BTC uses the SHA-256 hash function. This is a base 16 hash function which outputs a 64 digit string of letters and numbers to represent the data from a specific transaction
- Collision resistant means every input has its own unique output. This is important because if two inputs resulted in the same output the hash function would not be working properly.
-
A hash function is an algorithm (e.g. MD5, SHA1, SHA256) which takes any input and transforms it into a unique output of a fixed length.
-
Hash functions in cryptocurrencies like Bitcoin are used to take inputs from transactions and add additional inputs to form a hash that is of 19 leading zeros at the time of writing. The additional inputs would comprise of random characters. The number of leading zeros required to form the hash also reflects the mining difficulty.
Usually, achieving this kind of goal would likely take lifetimes if solved by a single computer. In the blockchain a extreme high volume of computers are working together to add to the existing transaction input to form a hash that will have 19 leading zeros. The first computer to solve the puzzle will broadcast the transaction to the rest of the blockchain which will lead to consensus. Should the transaction be valid it will be added to the block and be replicated across the network.
During the phase where the newly added transaction is being propagated to the blockchain it is possible some malicious entity could try to manipulate the block. However, by doing so they would only invalidate it and such block would be rejected. As a result, the blockchain is immutable and nobody can make changes to any block once the agreed upon hash to a transaction based on consensus is mined.
- What we mean by a collision resistant hash function is it should not be possible for any transaction input to generate the exact same hash as another transaction as that would lead to a collision where two or more transactions being mined are competing with one another to join the same block.
P.S.
Also I would like to say that some parts of my explanations were me trying to provide my own understanding between how I think hashing functions are used in the blockchain network so please do correct me or educate me if I got the wrong idea somewhere.
Thank you!
1-hash function is any function that can be used to map data
2-encrypt the transaction and more
3-Collision resistance is a property of cryptographic hash functions
-
Hash Functions allow a “Digital Fingerprint” of a fixed size to be produced of the Input Data whether it’s one number or a megabyte of data that uniquely identifies that data and if just 1 BIT is changed the hash signature will be different. Also, we can be reasonably confident that a unique hash bill be generated for each unique set of data.
-
Yes. https://hackernoon.com/cryptographic-essence-of-bitcoin-part-1-what-is-a-hash-function-f468e7f72daa
-
Collisions would degrade our confidence in any hashing function that dissimilar input should produce different hashes, even if dissimilar by a 1-Bit difference.
-
Hash functions is when an input always gives a specific output and not does not work the other way around.
-
Hash is used like Bitcoin because an input string of any length gives out an output of a fixed length like SHA-256.
-
Hash needs to be collision resistant means trying NOT have a situation when two distinct data have the same hash value.
The hash function creates a fingerprint of the data. This is a key part of how mining works in bitcoin.
Collision resistant means simply that it is less prone to collisions. See the birthday experiment.
-
A hash function is the instructions given to a cryptographic protocol to convert an input into a hash.
-
It uses hash functions to add entries into bitcoin’s ledger by taking an input and converting it into a hash. Since the input is protected by the Cryptography, it is currently not possible to figure out what the input was thus keeping things such as private keys protected from the public.
-
If two input’s put out the same output this could cause issues with security and reliability of the blockchain. From my research I found that many cryptographic experts believe a cryptographic method that is not collision resistant would be more susceptible to brute force attacks.
1.a function to create a unique output for every unique input allowing verification and encryption.
2. computers were used to run strings of codes to find the unique key or output to reward the block miner.
3.Where some inputs will hash the same output because of the pigeonhole principle. If there is an easier way than a brute force attack, it will be a flawed hash function.