Neat. Just browsing through the source, is there a reason that:<p><pre><code> calculateBlockHash (Block i p t b _) = concatMap hashString [show i, p, show t, b]
</code></pre>
is not<p><pre><code> calculateBlockHash (Block i p t b _) = hashString $ concat [show i, p, show t, b]
</code></pre>
i.e. why is a block hash a concatenation of 4 SHA-256 hashes instead of just 1? Is there some security benefit of doing it one way vs. the other?<p>edit: thinking about it a little more, option 2 seems better because in option 1 you can calculate 3/4 of a block hash without knowing the previous block's hash. Maybe that's not a problem in this context though?