internal Sha256Hash ReadHash()
{
var hash = new byte[32];
Array.Copy(Bytes, Cursor, hash, 0, 32);
// We have to flip it around, as it's been read off the wire in little endian.
// Not the most efficient way to do this but the clearest.
hash = Utils.ReverseBytes(hash);
Cursor += 32;
return new Sha256Hash(hash);
}