Reading assignment: Hashing

Good question in regard to the Hash Pointer; I was wondering that myself.

<<Instead of going through the cumbersome process of looking at each individual hash and seeing whether it belongs to the data or not, I can simply track it down by following the trail of hashes leading up to the data:>>

Maybe the above process of “following the trail of hashing leading up to the data” i.e. going backwards on the chain has some particular effect that isn’t covered yet.

1 Like
  1. What is the hashing algorithm called used in Bitcoin?

SHA256

Something Hashing algorithm

  1. Why is this hashing algorithm really hard (almost impossible) to brute-force?

As the length of the string being hashed increases in size it become exponentially difficult to guess (without a quantum computer)

1 Like

1. What is the hashing algorithm called used in Bitcoin?
a. It is called SHA-256 (Secure Hashing Algorithm)
2. Why is this hashing algorithm really hard (almost impossible) to brute-force?
a. Because SHA-256 is pre-image and collision-resistant, with the length of the hash currently long enough for SHA to be secure

1 Like
  1. SHA256
  2. Because of the design of cryptographic hash function, a random guess (nonce), has to concatenate with the hash of the block and be less then the known difficulty to solve the puzzle.
1 Like
  1. SHA-256
  2. It is hard to brute-force, firstly because the process of solving the hashing algorithm is done entirely by random. In order for a miner to brute-force the algorithm, they need to take the hash of the block, concatenate it with the nonce, an arbitrary string of values, hash it again. They Keep repeatIng the process with a new nonce each time until the results are Good to be accepted.

Secondly, there is a specified hash rate for each block to be mined to maintain a specific and predictable supply of Bitcoin. The competition would be increased by the number of active miners participating to generate new blocks.

Hi
Can you explain me the age of the universe?
In a simple way as I have no clue of this.

Thank you

Izumi

1 Like

@MarcisB @MusicforMovies

I think the article says block 3 for a block that is 3 blocks old. When you modify something in a block, the hash changes and all blocks newer from that point one will be invalid. It will cause a chain reactions of hashes being changed.

I think its 2ˇ255. Either way its way to big. There is around 10^80 atoms in the universe. With the current speed of computers, we would never be able to brute force a single hash.

Brute forcing the Sha-256 algorithm in itself is what we meant by the question. We wanted to makes sure that you understand that the miners need to put the work in order to mine a block. There is no shortcut for a miner to solve a block. The Sha-25 algorithm is impossible to brute force with the current technology due to how many possibilities it has. 2ˇ256

1 The hashing algorithm used in Bitcoin is called SHA-256
2 While a 256 bit encryption is hard to brute-force, it would generally take so long that it doesn’t matter. It is a mathematical possibility so remote that it is practically impossible. Not only being a time lengthy process, but tampering with encryption would affect the rest of the previous blockchain data set and eventually be prevented and null.

1 Like

Finding a collision in a hashing algorithm is a vulnerability. MD5 hash has such vulnerability. However as far as I understand it is still hard to guess the input from a given hash, even in MD5 hash. When we say brute-force, we mean finding an input based on an already given output. If you can achieve this you essentially broke its whole purpose of being secure.

“The attacks against MD5 are collision attacks, not pre-image attacks. This means an attacker can produce two files with the same hash, if he has control over both of them. But he can’t match the hash of an existing file he didn’t influence.”

1 Like

Its a lottery, you will never win. :wink:

It would take you 3.6 x 10^13 years. And this is for collisions, finding an input based on an output would take even longer.

Yep. Brute force needs to be consistent, guessing once won’t get us far. :sweat_smile: Great job on googling and finding more information about Sha-256. :fire: :fire: :fire:

I assume you meant to say that the chances are very low. :smiley:

Finding a collision is hard, as well as finding an input based on a given output. By brute force, we mean finding an input from a hash.

Awesome answers. I see you also searched us more about the SHA-256 on the internet. Keep it up! :muscle:

It would be more appropriate to say dehashing. But then again, if there is a way to dehash, then its not a hash function. Hash function must be one-way, finding a way back breaks their purpose. Encrytion and hashing are 2 different things. Encryption is meant for an eventual decryption with a proper key.

“Encryption is a two-way function; what is encrypted can be decrypted with the proper key. Hashing, however, is a one-way function that scrambles plain text to produce a unique message digest. With a properly designed algorithm, there is no way to reverse the hashing process to reveal the original password.”

What do you mean by specific hash rate? Every 2016 block, the bitcoin network adjusts the mining difficulty. This ensures that the miners find a block every 10 minutes or so. This does not predict the supply of bitcoin but rather the new supply, also know as inflation. Maybe you already knew all of this, but I was just a little confused about how your wrote your answer. Hope this helped. :smiley:

I don’t think there is much to explain. We assume that the universe is that much old. We can all assume that the universe is very old in general. The given example, is there to give us perspective on the time it would take to brute force Sha.256. Keep up the good work, and always stay curious. :wink:

Great answers. However, there is not encryption in hashing. Encryption is a two way function, while hashing is a one-way function. Don’t worry too much about it, but if you are interested in the difference here is a good read: