3
I am just a beginner trying to understand technical details of bitcoin. As far as I know, the Merkle root of a block works to provide summarizing hash of list of transactions. And according to my understanding, mining works by first hashing block header, appended with some bits and testing whether the resulting hash satisfies difficulty requirement.
My confusion is this: when hashing to perform mining, is Merkle root included? I am asking this as if Merkle root is included, then this would mean that mining depends on the transactions chosen to form a block. Thus it seems to me that if this is the case, then a miner can, by luck, choose some group of transactions that turns out to provide the hash that is under then target faster than other agents, assuming that other conditions are equal.
"some group of transactions that turns out to provide the hash that is under then target faster": why? if that is the case, the hash function would be considered completely broken – Pieter Wuille – 2017-03-26T18:05:19.497
but then it's just enough for group of transactions that turn out to be faster very difficult to know beforehand. After all, doesn't most cryptography work this way? – Geo Mez – 2017-03-26T18:11:37.097
Every hashing attempt has the same chance at being below the target, independent of any other related attempts. If that is not the case, the hash function is broken. – Pieter Wuille – 2017-03-26T18:44:43.220