user11591: What is the minimum energy (or CPU operations) required for someone to confirm one block on their own, to launch a double-spend attack?
How can I calculate this from the current difficulty or hashrate?

user2306: There is no minimum. In theory, you could find a valid block on your very first attempt. The best we can do is an average.
Here's the average energy required to find one valid block using CPU mining:

average energy required = difficulty * 232 / 2*10^6 * joules

Or, at current difficulty, 1.018×10^14 joules.
Explanation:

difficulty * 232

The average number of hashes to find a block.

2*10^6 * joules

According to the Bitcoin wiki, the typical mining efficiency for CPUs is 2 Mhash/J.

user5757: Here is how to compute this in general.  I am intentionally not going to give an example using current numbers, since (a) it will instantly be obsolete, and (b) it will encourage people to ask for an updated answer, rather than learning to work it out for themselves.

Determine the current network difficulty.  Google "bitcoin difficulty" for the current figure.  Call it D.
Multiply D by 2^32, which is about 4.3e9.  Call this new number H.  This represents the average number of hashes needed to mine one block.
Look up the hashes per unit energy for current mining hardware.  Check https://en.bitcoin.it/wiki/Mining_hardware_comparison for the device with the highest number in the Mhash/J column.  Multiply this Mhash/J number by 1 million (1e6) to determine the number of hashes per joule performed by this hardware.  Call this number E.
Divide H by E.  This gives you the number of joules of energy needed to mine one block.
If you would prefer to measure energy in kilowatt-hours (a typical billing unit for electric utilities), then divide the previous number by 3.6e6.


11591: <p>What is the minimum energy (or CPU operations) required for someone to confirm one block on their own, to launch a double-spend attack?</p>

<p>How can I calculate this from the current difficulty or hashrate?</p>
 2306: <p>There is no minimum. In theory, you could find a valid block on your very first attempt. The best we can do is an average.</p>

<p>Here's the average energy required to find one valid block using CPU mining:</p>

<blockquote>
  <p>average energy required = difficulty * 2<sup>32</sup> / 2*10^6 * joules</p>
</blockquote>

<p>Or, at current difficulty, <a href="http://www.wolframalpha.com/input/?i=47%2C427%2C554%2C951+*+2%5E32+%2F+2*10%5E6+Joules" rel="nofollow">1.018×10^14 joules</a>.</p>

<p>Explanation:</p>

<blockquote>
  <p>difficulty * 2<sup>32</sup></p>
</blockquote>

<p>The average number of hashes to find a block.</p>

<blockquote>
  <p>2*10^6 * joules</p>
</blockquote>

<p>According to the Bitcoin wiki, the <a href="https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison" rel="nofollow">typical mining efficiency for CPUs</a> is 2 Mhash/J.</p>
 5757: <p>Here is how to compute this in general.  I am intentionally not going to give an example using current numbers, since (a) it will instantly be obsolete, and (b) it will encourage people to ask for an updated answer, rather than learning to work it out for themselves.</p>

<ul>
<li><p>Determine the current network difficulty.  Google "bitcoin difficulty" for the current figure.  Call it D.</p></li>
<li><p>Multiply D by 2^32, which is about 4.3e9.  Call this new number H.  This represents the average number of hashes needed to mine one block.</p></li>
<li><p>Look up the hashes per unit energy for current mining hardware.  Check <a href="https://en.bitcoin.it/wiki/Mining_hardware_comparison" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Mining_hardware_comparison</a> for the device with the highest number in the Mhash/J column.  Multiply this Mhash/J number by 1 million (1e6) to determine the number of hashes per <a href="https://en.wikipedia.org/wiki/Joule" rel="nofollow noreferrer">joule</a> performed by this hardware.  Call this number E.</p></li>
<li><p>Divide H by E.  This gives you the number of joules of energy needed to mine one block.</p></li>
<li><p>If you would prefer to measure energy in <a href="https://en.wikipedia.org/wiki/Kilowatt_hour" rel="nofollow noreferrer">kilowatt-hours</a> (a typical billing unit for electric utilities), then divide the previous number by 3.6e6.</p></li>
</ul>
