What is the hash function used by Bitcoin proof-of-work?
Bitcoin uses SHA256d to hash block headers, which is sha256(sha256(x)). 

In anticipation of your next question, it uses a double hash to protect against length extension attacks (source).