What is the origin of the data that the bitcoin algorithm operates on?
The proof of work that miners do is a double sha256 hash on 80 bytes of data.

Where do the 80 bytes come from?

They are build from enough data to describe the current block (and the transactions it contains) and a pointer to the previous block.

To wit:


4 bytes version number
32 bytes hash of the previous block
32 bytes Merkle root of all the transactions contained in this block
4 bytes timestamp
4 bytes current difficulty target
4 bytes nonce


These 80 bytes are concatenated and have the shit sha'd out of them until the required difficult is reached.

More info