Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [hash-algorithm]

A hash algorithm is any algorithm that can be used to map data of arbitrary size to data of fixed size. The values returned by a hash function are called hash values, hash codes, hash sums, or simply hashes. In Ethereum, the algorithm used is Keccak 256.

0
votes
0answers
32 views

How does a message signed in Remix IDE?

What is signing method that is used in remix IDE and how is the hash value calculated from the message that is being signed?
5
votes
1answer
82 views

block-header hash verification

As part of a validation service I am working on, I need to be able to verify that the blockHeader hash was created correctly. Based on my understanding following are the steps to regenerate the header ...
0
votes
1answer
29 views

Match web3py hashing function to solidity hashing function

If I am using web3py to hash some data, like so, msgHash = w3.soliditySha3(['bytes32','bytes32'], [dataBytes, saltBytes]); What would be the correct way to hash inside of a Solidity contract and ...
0
votes
2answers
47 views

HMAC-x implementation for solidity

Is there any implementation of HMAC-SHA1 or HMAC-SHA256 or any other hashing algorithms for solidity? I found this but it's not working.
1
vote
1answer
245 views

I want to compare hash that I have passed in the argument of the function but keep getting this error

function compare(string memory input, uint _y) public returns (uint){ bytes32 hashedinput = keccak256(input); } Error: Invalid type for argument in function call. Invalid implicit conversion from ...
2
votes
1answer
32 views

Calculating a hash of a set of keys in Solidity

I have the following problem that I'm trying to think of an efficient solution for. Suppose I have a set of unordered keys (KEY_1, KEY_5, KEY_2, KEY_4), and I want to calculate a unique hash for this ...
3
votes
0answers
43 views

Why does a full client need to store the DAG?

The yellow paper says that miners and full clients must store the DAG dataset, but light clients can verify block headers by generating only a few necessary pages from the DAG. It makes sense to me ...
0
votes
1answer
58 views

Why is this random algorithm not good enough?

Many lotteries on Ethereum use random algorithms to determine a 'winner'. For instance, this function is bad because has some vulnerabilities (read here about some): function random() private view ...
0
votes
2answers
32 views

retrieving an original data from a hash: is it reliable?

Normally, one of the purposes of hashing a string (such as a transaction) is summarizing the data to save the size because of the space limitation. If this proposition is true, now assume we need to ...
4
votes
2answers
176 views

How is the keccak256(a, b) function implemented?

I need to understand how keccak256(a, b) is implemented and how it differs from keccak256(a || b). Is the content padded? I need this because I do not want to allow for vulnerabilities where a user ...
1
vote
2answers
56 views

Common use cases for hashing functions? [closed]

I'm developing my first dapp with solidity and I was wondering in which cases should I use hashing functions like keccak. I know how they work but it is not clear to me when should I use them and to ...
0
votes
1answer
25 views

Hash of address pair combination where order is irrelevant

I have a contract where I often set stuff for a combination of 2 addresses. Because the parameters addressA and addressB are interchangeable I currently save the information redundantly. Example: ...
0
votes
1answer
280 views

sha256() output

I used sha256() hash of a string and I got the following result 0x0de69f56365c10550d05e65ae8229dd0686f7894a807830daec8caa879731f4d for string Hello World2. Now I want to find out leading byte from the ...
2
votes
1answer
68 views

Hashing Algorithm - Multiple choices in Solidity

Is it possible to choose another SHA algorithm - say SHA256 - in Solidity? Anyone having issues with NIST compliance?
1
vote
0answers
97 views

Error deploying contract to my private network

I keep getting this "Error: The contract code couldn't be stored, please check your gas amount." message when I try to deploy my contract to the blockchain. I read that is a generic error so I'd like ...
0
votes
0answers
178 views

Passing signature parameter to ERC865 contract and ecrecover()

I'm trying to deploy ERC865 Token while using C# Nethereum. The ERC865 contract expect to get signature length of 65 and when i tray to use "geth attach" web3.sha3(privatekey) i get 68 characters long ...
1
vote
1answer
394 views

From golang sha3 to solidity sha3

Trying to match "golang.org/x/crypto/sha3" lib with solidity sha3() is giving me a hard time. Its been discussed in here, but I somehow cant apply it in go. How do I handle a big.Int type s.t i get ...
0
votes
0answers
39 views

What hash algorithm makes the transaction anonymous ?

What hash algorithm makes the transaction anonymous ? Tried to google it and didn't find anything
2
votes
3answers
116 views

Are Ethereum Contracts Vulnerable to Hash Table Poisoning Attacks?

Does anybody know something about this? I know that in general terms we will say not, but looking on the internet I found that isn't sure the answer to the question: Can the EVM’s Internal ...
2
votes
2answers
284 views

Is a block number unique or does it change if the block becomes uncle? Does the transaction hash include a block hash as input?

Is a block number unique or do I need to save block hash to identify a block? Does transaction hash include a block hash as input?
1
vote
1answer
247 views

Help with error please (SHA256 returns 0x)

I'm just playing around with testrpc vs creating my own private blockchain and for some reason when I use testrpc and i use SHA256 in my smart contract to return a hash it gives me a proper one. But ...
1
vote
0answers
263 views

How can I create public-private key for a ERC20 wallet that using user's email address?

I am working on a side project that provides a wallet (Think Coinbase, Binance, etc) like interface to users where they will sign in using username and password. To be able to provide a clearer ...
0
votes
1answer
96 views

SHA3_512 library, convert the input and output to 512-bit bytes

The SHA3_512 library takes an input uint64[8] and outputs uint32[16]. To convert the input from 64 bytes and the output back to bytes, I wrote this, but it gives the wrong result. What are some ...
0
votes
1answer
28 views

Smartpools' sha3_512, is there a stand alone implementation?

Smart pool has implemented sha3_512 (contract), tough it looks like it is combined with EthHash. Is there a stand alone library just for the sha3_512 function?
-1
votes
2answers
296 views

sha512 in Solidity or assembly, does it exist? [duplicate]

Is it possible to do sha512 within a smart contract? Or, not?
0
votes
1answer
576 views

How Ethash works?

I've looked at the wiki in search of how the information about Ethash algorithm but i did not find the answer. Where can i find detailed information about it or can someone explain it?
0
votes
1answer
214 views

Keccak hash of null values, result in different hashes for different types

I was testing the hash value of null values for different types and I'm curious how it generates different results for different types. Here are the results. String = ...
1
vote
1answer
206 views

Hash a message in ethereum-js and check in Solidity

I'm trying to check an hashed message inside my Solidity smart contract. In JavaScript I hash the message as follows: util.sha3(Buffer.concat([ new Buffer(address1), new Buffer(bytes32), new ...
2
votes
1answer
190 views

How Merkle Tree obtain root node hash (example from 'Understanding the ethereum trie')?

I read Understanding the ethereum trie and try to do examples from that article. Now i am at ex1.py - first exaple. Look at code from that example: import sys sys.path.append('src') import trie, ...
8
votes
1answer
5k views

Difference between keccak256 and sha3

I have been reviewing keccak256 implementation and sha3-256 that follows the FIPS standard. The sponge function is taking a while to set in, but I have noticed a difference in implementation : I ...
1
vote
1answer
525 views

What happens on hash collisions for, e.g., transactions, blocks, and contracts?

What happens on hash collisions for, e.g., transactions, blocks, and contracts? What happens if, say, two transactions hash to the same value? In this case, we say that a hash-collision occured. I'...
7
votes
1answer
1k views

Can a mined block have an odd number of transactions? If so, how does the Merkle root in that case?

Merkle Tree pairs transactions and hashes them and the process continues till we get to the root. But how would this pairing process work if the number of transactions were odd?
1
vote
1answer
122 views

Why geth use scrypt for key derivation?

As I understand scrypt was designed to be computationally intensive, so that it takes a relatively long time to compute. For what geth need this? And why it does not use, for example, SHA-256?
3
votes
1answer
6k views

Ethereum Transactions Take So long

It's first time when I tried to make an Ethereum wallet and to make a transfer. Compared to what I am used with other type of d.currency, this transaction seems to be taking forever. In almost 24h ...
1
vote
1answer
253 views

What is FNV and FNV function

When I was started to explore the ethash algorithm then I found this- FNV was used to provide a data aggregation function which is (i) non-associative, and (ii) easy to compute. A commutative and ...
2
votes
0answers
350 views

Mining UBIQ and DBIX using open-ethereum-pool

Open-Ethereum-Pool is configured to mine Ethereum; how do I configure it to mine UBIQ (which uses ethash) and DBIX coins? Thanks for answers
3
votes
2answers
497 views

Is there any project to calculate different hashes like md5, sha1 etc. in solidity?

I'm looking for solditiy-code to generate hashes of different hash-algorithms MD5 SHA1 SHA512 and more. Is there any project which implemented hash-algorithms in solidity? Is there someone out ...
3
votes
1answer
3k views

Is Ethereum's mining algorithm vulnerable to ASICBOOST?

Bitcoin's hashing algorithm uses a multi-step hashing function. Some miners have used a technique referred to as ASICBOOST to exploit this. I'm unclear on the specifics, but it has something to do ...
2
votes
1answer
296 views

Proof of Work validation

I am not too understanding this equation. Do any one know it? Especially what is m stand for since I cannot get it from the paper. Thanks
2
votes
1answer
43 views

Revealing played value

I'm writing a smart contract where participants are asked to submit a value (1 to 1000000) in the submission period, and then reveal what that value is in the revealing period. In order to hide it ...
1
vote
1answer
2k views

How to compare hash of two structures?

function checkOffers() public returns (bool){ uint256 a = sha256(offerFromProducer); uint256 b = sha256(offerFromConsumer); if(a == b){ return true; } return false; } Is ...
4
votes
1answer
1k views

Getting Method ID “Keccak hash” in Python

I am trying to derive the Method ID, the Keccak (SHA-3) hash, in Python so that I may call the functions of my contracts once they are deployed as detailed in the ABI documentation: https://github.com/...
10
votes
1answer
5k views

How does the Keccak256 hash function work?

As the Ethereum platform relies on the Keccak256 hash algorithm, I'd like to get a better understanding of it. My rough understanding is something like this: a function accepting a finite set of ...
10
votes
1answer
4k views

Ethash vs Equihash in terms of memory hardness?

Ethereum's Ethash was designed to be memory hard with the intention of making the mining process ASIC-resistant. Zcash's Equihash algorithm also promises the same. How do these two PoW systems compare ...
2
votes
1answer
4k views

How to use keccak256 in Solidity?

I have created a Student registration form and taking input as firstName, lastName and studentRegId. Something like this: contract Unique { string fn; string ln; bytes20 val; bytes32 sId; ...
4
votes
2answers
1k views

keccak256 Error Undeclared identifier in browser-solidity

I try to use sha3/keccak functions inside a Solidity contract, but I get a weird error: Untitled:5:13: Error: Undeclared identifier. bytes32 d=keccak256(0x616263); The contract : pragma ...
3
votes
2answers
339 views

Wallet download checksum

I am having trouble verifying the checksum of the newest Etherum wallet download. On the download site it is not specified which hash algorithm was used to generate the checksum so on my Mac I tried. ...
6
votes
1answer
128 views

Support in Ethereum for PoWs algos other than Ethash

I read that Ethereum uses Ethash as proof of work algorithm. But since there are other PoWs like NeoScrypt (used by Phoenixcoin), scryptJane (used by LEOcoin). Is it possible to use the above ...
21
votes
2answers
16k views

When will the difficulty bomb make mining impossible?

I know the answer must be out there in the code already, but I couldn't figure out where exactly. Could someone do the maths for me: With block 200k the difficulty bomb started increasing the ...
12
votes
1answer
4k views

arguments of the sha256 function in Solidity

In Solidity, I find that the sha256 function can be used like this a = sha256(uint b, string c, bool d, ......) (the arguments can be a combination of different types, and the other types can also be ...