user30916: I'm not sure how to ask this question clearly so I will ask it three different ways and hopefully someone understands me.

Is the input for the hash pointer in block k+1 just the transactions in block k or is it the transactions in block k as well as the hash of block k-1?
Does the hash pointer in block k+1 look like this : H(k) or this : H(k||H(k-1))?
In block k+1, there is a bunch of data as well as a hash pointer for the block k. But does block k+1 contain a hash of the entire block k (so, the data and H(k-1))? Because if block k+1 contained a hash of the entire block k then it should contain a hash of the hash already contained in block k right?

I hope I made some sense. Any help is appreciated.

user18196: (https://en.bitcoin.it/wiki/Protocol_documentation is a good resource for technical details about the protocol)
At the topmost level, blocks contain three things:

80 byte block header.
VarInt for the number of transactions in the block (N).
N concatenated transactions.

The block header contains:

4 byte version number
Prev block hash pointer.
Merkle hash/root of the N transactions in the block. (See What is the Merkle root?)
Block timestamp
Difficulty to solve the block encoded as an integer.
Nonce - an easy number to change to try different hash values.

I think you are asking: what is the 2nd block header parameter in block k+1?
Each hash pointer in a block to point to the previous block is SHA256(SHA256(80 byte header of block k)).

Is the input for the hash pointer in block k+1 just the transactions in block k or is it the transactions in block k as well as the hash of block k-1?

It's just the hash of the header. The header contains a hash of the transactions, though, the merkle root.

Does the hash pointer in block k+1 look like this : H(k) or this : H(k||H(k-1))?

Neither.

In block k+1, there is a bunch of data as well as a hash pointer for the block k. But does block k+1 contain a hash of the entire block k (so, the data and H(k-1))? Because if block k+1 contained a hash of the entire block k then it should contain a hash of the hash already contained in block k right?

You do need the hash pointer in block k to be able to calculate the hash pointer in block k+1. Verifying the hash pointers and their difficulties is a small part of the work of miners.

30916: <p>I'm not sure how to ask this question clearly so I will ask it three different ways and hopefully someone understands me.</p>

<ol>
<li><p>Is the input for the hash pointer in block k+1 just the transactions in block k or is it the transactions in block k as well as the hash of block k-1?</p></li>
<li><p>Does the hash pointer in block k+1 look like this : H(k) or this : H(k||H(k-1))?</p></li>
<li><p>In block k+1, there is a bunch of data as well as a hash pointer for the block k. But does block k+1 contain a hash of the <strong>entire</strong> block k (so, the data and H(k-1))? Because if block k+1 contained a hash of the <strong>entire</strong> block k then it should contain a hash of the hash already contained in block k right?</p></li>
</ol>

<p>I hope I made some sense. Any help is appreciated.</p>
 18196: <p>(<a href="https://en.bitcoin.it/wiki/Protocol_documentation" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Protocol_documentation</a> is a good resource for technical details about the protocol)</p>

<p>At the topmost level, blocks contain three things:</p>

<ol>
<li>80 byte block header.</li>
<li>VarInt for the number of transactions in the block (N).</li>
<li>N concatenated transactions.</li>
</ol>

<p>The block header contains:</p>

<ol>
<li>4 byte version number</li>
<li>Prev block hash pointer.</li>
<li>Merkle hash/root of the N transactions in the block. (See <a href="https://bitcoin.stackexchange.com/questions/10479/what-is-the-merkle-root">What is the Merkle root?</a>)</li>
<li>Block timestamp</li>
<li>Difficulty to solve the block encoded as an integer.</li>
<li>Nonce - an easy number to change to try different hash values.</li>
</ol>

<p>I think you are asking: what is the 2nd block header parameter in block k+1?</p>

<p>Each hash pointer in a block to point to the previous block is <code>SHA256(SHA256(80 byte header of block k))</code>.</p>

<blockquote>
  <p>Is the input for the hash pointer in block k+1 just the transactions in block k or is it the transactions in block k as well as the hash of block k-1?</p>
</blockquote>

<p>It's just the hash of the header. The header contains a hash of the transactions, though, the merkle root.</p>

<blockquote>
  <p>Does the hash pointer in block k+1 look like this : H(k) or this : H(k||H(k-1))?</p>
</blockquote>

<p>Neither.</p>

<blockquote>
  <p>In block k+1, there is a bunch of data as well as a hash pointer for the block k. But does block k+1 contain a hash of the entire block k (so, the data and H(k-1))? Because if block k+1 contained a hash of the entire block k then it should contain a hash of the hash already contained in block k right?</p>
</blockquote>

<p>You do need the hash pointer in block k to be able to calculate the hash pointer in block k+1. Verifying the hash pointers and their difficulties is a small part of the work of miners.</p>
