On Wikipedia it is said that HMAC is basically (without taking into account padding):
$H(key\ \Vert\ H(key\ \Vert\ message))$
where $\Vert$ denotes concatenation.
I understand the need to hash twice, but why concatenate the key a second time in the outter hashing?
Why not simply hash twice, but without reusing the key, like this:
$H( H(key\ \Vert\ message))$
A bit like Bitcoin's double-SHA, rumored to be done to prevent length-extension attacks.