Homework on Hash Functions - Questions

  1. Hash functions are the fixed unique out you get for every input you make. If there is a change of input by even a tiny space or dot, the output which is the hash function will be different. It is a one way traffic function that does not go from output to input. It only goes from input to output.
  2. How hash functions are used in cryptocurrencies like bitcoin is simple…It takes the transactions (input) of any length and run it through an algorithm SHA256 and produce an output of a fixed length.
  3. Collision resistance is a property of cryptography. A hash function is collision resistant if it is hard to find two inputs that hash to the same output. Example could be tow inputs a and b. H(a) = H(b), but a ≠b
  1. Hash functions in one direction only that is output. You can not go backwards to discover the input. Has 256 uses 0-9 and A to F with 64 total in the Hash that was created. You can create hash with input of any digital asset.
  2. It can be used to confirm a transaction and mining.
  3. It means two inputs create the same output that can be exploited if discovered.

1. Describe hash functions with your own words
Hash functions create a unique output (of fixed length) for a given input.
2. How are hash functions used in cryptocurrencies like bitcoin?
The transactions go through the SHA-256 hashing algorithm creating a unique hash for them.
3. What does it mean when we say that hash functions need to be collision resistant?
It means that two different inputs cannot have the same output.

Hash Functions

1 Hash function is a computation of an Input to produce an Output

2 In bitcoin the hash functions are sent using digital signature.
It is the same as sending an encrypted message via public key but since the blockchain is trustless
and also semi private the blockchain requires the digital signature to verify that you have bitcoin

3 Collision resistant is the probability of two different inputs resulting in the same hash

  1. Describe hash functions with your own words
    A hash function will take any unique input and return a corresponding unique output of fixed length that acts like a digital fingerprint. It is a one-way function which means that you cannot derive the input value from the output value.

  2. 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).
    Bitcoin uses a block hashing algorithm when writing new transactions to the blockchain. This process is known as mining and is responsible for verifying each bitcoin transaction. The input consists of header data, including timestamp and previous block reference, along with a list of the most recent unconfirmed bitcoin transactions.

  3. 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)
    Hash functions need to be collision resistant to ensure that no two input values will result in the same output.

1- A hash function is a string of letters and numbers for specific given data or information.

2- They are used as cryptographic hash functions in which they secure the network by linking every block to the previous one, in which if a hacker tries to hack or change any piece of information that would require the change of every block in the blockchain which would cause the collision of the entire network.

3- it means that every hash needs to be unique in which there aren’t two hashes that have the same string of letters and numbers. and that doesn’t mean that it is impossible but it means that it’s very unlikely to happen that it wouldn’t even matter if it happens once.

  1. Hash function is a function produces unique out put from each input

  2. To identify digital signeture , validate transaction and produce new wallet addresses

  3. means hash functions should not produce same out put for 2 different inputs

  1. A hash function is a one-way function, where a particular input will always lead to the same unique output. Simply put, it is like the fingerprint of an input. A hash function’s security increases with its number of bits.

  2. Hash functions like SHA256 are used in cryptocurrencies to encrypt transactions, as well as in the mining process where miners brute force until they generate a hash that is lower than the difficulty level. SHA256 hashes are hexadecimal numbers and the number has to be lower than that of the current difficulty level in order to create the next block. Because a network of more powerful nodes will generate that hash faster, the difficulty level will adjust accordingly. This ensures a block creation time of 10 minutes, so that no duplicate blocks will be created that then exist outside of the blockchain. The first node to generate the hash lower than the difficulty wins, and thus gets the block rewards in bitcoin. In a pool several nodes act as one node and share the reward.
    Each block has a hash pointer to the next block in order to link the blocks together, thus creating a chain of blocks. Every transaction’s hashes between two blocks will be combined into a merkle tree. The merkle root is then added to the block. This combination simplifies the structure of transaction and is better than a sequential list.

  3. A collision in a hash function describes the rare event of two different inputs resulting in the same hash. Because the number of possible hashes is not infinite, it is technically possible. It is, however, extremely unlikely for this to happen in a reasonable amount of time. The higher the number of bits used in the hashing algorithm, the longer it takes for a collision to occur.

Side note: All of the questions have been, although somewhat simplified, addressed in the previous reading assignment.

  1. A hash function is a one way operation where an input, no matter how complex, results in a unique, specific-length output. However, the input can never be determined from the output. (except through brute-force, which is infeasible.)

  2. They secure the information within each block and tie blocks together.

  3. Two different sets of data should not result in the same hash.

  1. Hash function is a one-way function to produce a “digital finger print” of an input. However, you cannot generate the input from the generated finger print (ie output). It is Pre-Image Resistant.

  2. Hashing is used exclusively in everything in the Bitcoin blockchain. Every data in the blockchain is hashed forming a Merkle Tree. The Merkle Root eventually together with nonce, timestamp, previous block hash which forms the Block Header will be hashed again to be input into the next block in the chain.

  3. Hash function is collision resistant if it is hard to find two different inputs that may result in the same output.

  1. A hash function creates a digital fingerprint for an input and you cannot figure out the input from the output.

  2. Hash functions are used to encrypt transactions on the blockchain and to generate encrypted keys for wallets.

  3. Collision resistant means that the chance of two different inputs to get the same output is incredibly low.

  1. Hash functions turn any length input into a fixed character number.

  2. The hash of the previous block becomes the header for the next block.

  3. Collisions are multiple outputs from a single input.

  1. Describe hash functions with your own words
    A hash function turns an input with arbitrary length into an output with a predefined number of characters. It’s a one way function that only works from input to output.

  2. 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).
    Hash functions are used in the mining process. Every block receives a unique hash.

  3. 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).
    Collision resistant means, that for every unique input, there is a unique hash. It’s not possible that two different inputs result in the same hash.

A hash function is a unique fingerprint of of a particular
input. One small change in the original input will create
a completely different and unique output.

Hash functions are used in cryptocurrencies to document a particular transaction
in the public ledger. The transaction is verified by the decentralized
blockchain and is secured from hacking by the hash encryption algorythm.

It is the rare occurrence that 2 different inputs will generate
the same output hash. When this circumstance happens it is referred to as
a collision. Due to the high frequency of hash transactions it is unlikely that
a collision will occur.

  1. hash functions are a one way process that takes any input and transforms it into a fixed number output.
  2. hash function sha 256 is used to encrypt the previous block to derive the block header of the next block making a chain of encrypted blocks.
  3. collisions are multiple outputs of hashed inputs
  1. its a digital fingerprint thats allows to make an input to get a specific output but not being able to look at any output and figuring out the input.

  2. In the bitcoin protocol, hash functions are part of the blockchain algorythm which is used to write new transactions into the blockchain through the mining process.

  3. it needs to be very difficult to find 2 inputs that has the same output.

Homework on Hash Functions - Questions

  1. Describe hash functions with your own words
    A hash function is a function that takes an input and gives an output. In a hash function it is really important that it is impossible to go from output to input. It is know as a one way function.

  2. 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). Every block’s hash also includes the hash of the last block in the input. Also, in mining, miners try to brute force (guess) the input that will cause the hash to have a certain number of 0’s at the beginning of the string. The more 0’s required the more the difficulty increases and the more computing power it takes to find the anwer.

  3. 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).

Because a hash has only a certain number of characters, it means that 2 inputs can have the same output. For example, if I input the numbers 1 and 10 in a hash function and it outputs the same answer, that hash function would be very mediocre because there was a “collision” right there (2 inputs with the same output). Of course there will always be pairs of inputs with the same output, but we want it protected by the law of large numbers, so it is very unlikely to occur.

  1. A hash function is a function that produces a unique fingerprint of a fixed length, of the input given.

  2. Hash functions are completely unique and attached to the input. This makes it really easy to detect even the smallest changes in the input. In cryptocurrencies like Bitcoin, all blocks and transactions are defined and identified by a hash, that’s calculated by the content of the transactions and the blocks. Each block has also a hash of the previous block so every block will always stay in the correct order. This also ensures correctness in the blockchain since a block becomes invalid if the hash pointing to the previous block does not match with any block hash (which it won’t if someone tampers with previous transactions/blocks, since change of an input changes the hash).

  3. Hash functions need to be collision resistant in order to ensure 99.99 % correctness. If a hash function is not collision resistant it means that 2 different inputs are highly likely to give the same output. That would be fatal. Collision resistance does not mean that collisions will never happen; it means it’s highly unlikely.

Collision resistance is important to prevent unnoticed tampering, like changing “Ivan sends 1 BTC to Sebastian” to “Ivan sends 1.000 BTC to Sebastian” and receiving the same hash.

  1. Hash function is when every input (regardless of the leght) gets a unique output of a fixed lenght. As a finger print. The smallest change on the input date will completely change the output.,

  2. Hash functions are used in bitcoin to secure data in the blockchain from hackers. It also amkes it easier to store data.

  3. Its important for hash function to be collision resistance to significantly reduce the chances of getting repeated outputs.

1 Funções de hash são formas de algoritmos utilizados para garantir a segurança/integridade de um dado/informação ao transformar esse dado/informação de entrada em uma informação de saída padronizada. Existem diversas funções hash, elas podem ser utilizadas para criptografia e assinaturas digitais. Quando utilizada em assinaturas digitais a função de hash, através de algoritmos irá criar um ouput (informação de saída) através de cálculos e informações pré estabelecidas na fórmula do algoritmo. Essa informação pode ser utilizada para checar a imutabilidade do input(informação de entrada).

2 As funções de Hash são a forma de criar o consenso na blockchain, no caso o Proof of Work. Através de cálculos matemáticos os mineradores buscam encontrar uma hash correspondente ao critério pré estabelecido pela dificuldade da rede. Ao encontrar uma hash compatível dizemos que o bloco foi minerado e a hash será utilizada no cálculo da hash do próximo bloco, isso faz com que todos os blocos sejam interligados pelas hashs, criando imutabilidade e segurança na blockchain.

3 Significa dizer que a probabilidade de dois inputs(os inputs são os dados utilizados para cálculas a hash) resultarem em um mesmo output(hash do bloco) é infinitamente pequena.