Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split one-sided transactions in pure MW #64

Closed
wants to merge 8 commits into from

Conversation

tromp
Copy link
Contributor

@tromp tromp commented Sep 8, 2020

@tromp
Copy link
Contributor Author

tromp commented Sep 8, 2020

At the moment, the lack of payment proofs is a showstopper for this RFC.
How would one distinguish between the sender spending the 1-of-2 and the receiver spending the 1-of-2? Only the latter should allow for a payment proof.
Seems rather impossible...

@DavidBurkett
Copy link
Contributor

DavidBurkett commented Sep 8, 2020

I know it's WIP, but so far this just seems like an onchain way of giving the receiver the private key. You lose non-repudiation, so no payment proofs.

Edit: Sorry, I didn't see your previous comment at the time I wrote this one.

@Paouky
Copy link
Contributor

Paouky commented Sep 8, 2020

I asked david how does the diffie exchange work here and the answer was quite useful, so here it is for future reference.

You can perform diffie-hellman on any public key. Here's how his proposal works:

  1. Receiver shares public key
  2. Sender generates one-time keypair. Multiplies private key by receiver's pubkey to get shared secret
  3. Sender hashes shared secret and symmetrically encrypts the blinding factor with the result
  4. Sender adds their one-time pubkey to the output, along with the encrypted blinding factor
  5. Receiver sees output on-chain, multiplies their private key by the one-time public key to get shared secret
  6. Receiver hashes shared secret and decrypts to get the blinding factor

@lehnberg
Copy link
Contributor

@lehnberg lehnberg closed this Sep 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants