On Sat, Apr 25, 2015 at 12:22 AM, Justus Ranvier
<justus.ranvier@monetas.net> wrote:
> Taking the hash of the secret would then require an extra step to make sure
> the hash is valid for secp256k1.
The x value may not be a valid member of the group, effectively the
same as with a hash. Its also very unequally distributed, as only
about half the possible values are points on the curve.
> With 97 byte standard OP_RETURN values the ephemeral public
> key could be appended to the chain code, but that's undesirable for other reasons.
Can you elaborate? Storing a ~33 byte (deterministically generated)
ephemeral key should be all that is required. Everything else,
including the chain code could be derived from it. What reason do you
have to include additional data?
> Taking the SHA512 of something less than 512 bits seemed wrong.
Why should it? Adding the Y does not increase the entropy at all. As
an aside, I think this can be reformulated to only need 256 bits of
output, and then the need for yet-another-hash-function could be
avoided in some cases.
> In this proposal I optimized for non-reliance on third party services
The requirement for inputs is a guaranteed dependency on third party
services; so if thats whats being optimized for here it must go (well,
I think it must go for the reason of avoiding blocking users from
using other schemes to control their coins too..).
> I agree. I could not find a straightforward way to express a multisignature payment code in less than 80 bytes.
A prior stealth address proposal here handled them fine with only a
single ephemeral point in the op_return. It does result in a longer
address (is that what you're referring to with '80 bytes'?)
> Exchanges could restrict bitcoin withdrawals to a single payment code known to be associated with their identified customer.
> In some jurisdictions the ability to prove that withdrawals are sent to a positively-identified party, rather than arbitrary third parties, might move some Bitcoin businesses out of money transmitter territory into less onerous regulatory situations.
But this mandates horrible key management practices, reliance on a
single "hardcoded" private key which you cannot change; even if it
might be compromised or lost to the wind. It's less horrible than
sticking to a single address because it doesn't wedge privacy, I
agree; but care should be taken that a tortured dance for confused
regulatory cargo-cult reasons doesn't mandate people not engage in
sound practices like periodic key rotation. :)