On Fri, Jan 3, 2014 at 10:00 AM, Nadav Ivgi <na...@shesek.info> wrote: > I had an idea for a payment scheme that uses key derivation, but instead of > the payee deriving the addresses, the payer would do it. > > It would work like that: > > The payee publishes his master public key > The payer generates a random "receipt number" (say, 25 random bytes) > The payer derives an address from the master public key using the receipt > number and pays to it > The payer sends the receipt to the payee > The payee derives a private key with that receipt and adds it to his wallet
Allow me to introduce an even more wild idea. The payee publishes two public keys PP PP2. The payer picks the first k value he intends to use in his signatures. The payer multiplies PP2*k = n. The payer pays to pubkey PP+n with r in his first signature, or if none of the txins are ECDSA signed, in an OP_RETURN additional output. The payer advises the payee that PP+(pp2_secret*r) is something he can redeem. But this is technically optional because the payee can simply inspect every transaction to check for this condition. This is a (subset) of a scheme by Bytecoin published a long time ago on Bitcoin talk. It has the advantage that if payer drops his computer down a well after making the payment the funds are not lost, and yet it is still completely confidential. (The downside is particular way I've specified this breaks using deterministic DSA unless you use the OP_RETURN, ... it could instead be done by using one of the signature pubkeys, but the pubkeys may only exist in the prior txin, which kinda stinks. Also the private keys for the pubkeys may only exist in some external hardware, where a OP_RETURN nonce could be produced when signing). These schemes have an advantage over the plain payment protocol intended use (where you can just give them their receipt number, or just the whole key) in that they allow the first round of communication to be broadcast (e.g. payee announced to EVERYONE that he's accepting payments) while preserving privacy. ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development