9

My understanding is that the current Lightning Network spec requires an address receiving money to sign things with its private key - which requires the owner of that key to be online. Are there any techniques that would allow some 3rd party to accept money on your behalf without trusting that 3rd party?

I can imagine a situation where the sender delegates sending to a 3rd party, just like posting anti-cheat transactions can be delegated to a 3rd party that watches the blockchain. For example, maybe the sender gives a 3rd party the proper transactions needed to authorize sending lightning btc to the destination once the destination comes online. I don't know if this is possible with the current functionality in Bitcoin, tho. Is this possible?

1 Answer 1

1

This sounds like a web wallet, where the keys were managed for you and you simply interact through a website. You'd have to trust the third party, but as we've seen on the main network, this is acceptable to a great number of people.

Just like with the existing Bitcoin network, you have to run things yourself to be trustless, but there are more convenient options if you are willing to trust (and pay fees to) other parties.

8
  • Ok, but, like you said, that's just a web wallet. The web wallet's address is still online because its operated by the web wallet servers. So it doesn't really answer the question.
    – B T
    Commented Jul 19, 2017 at 23:04
  • Sorry, I thought the question was about whether a third party could stand in for you on the lightning network (which, yes, is a web wallet). If you are asking specifically about giving the web service pre-made transactions, no, that won't work. The transactions that make up the smart contracts need to be produced as money flows through the channel. If you knew everything that was going to happen in the channel ahead of time, you wouldn't need the channel.
    – Jestin
    Commented Jul 20, 2017 at 4:24
  • Well, the transaction bonding described here rusty.ozlabs.org/?p=462 looks like all that's needed to create the transaction is a hash from the destination. If the destination pre-creates a bunch of hashes and gives them to his channel provider, it seems like the sender can create the necessary transactions to transfer money to his provider, which can wait for the destination to come online and complete the chain. The only constraint would be that if the destination doesn't come online within the time of the hashed timelock contract (~1 day), the transaction would have to be cancelled.
    – B T
    Commented Jul 20, 2017 at 19:45
  • I think the problem is that you create transactions on top of the most recent UTXOs in the smart contracts. You are assuming that the channel isn't being used while one party is away, and I don't think that's a fair assumption. If the channel is used (as a route for non-related payments), then there are new UTXOs to reference, and the stored transactions are worthless.
    – Jestin
    Commented Jul 20, 2017 at 19:52
  • Hmm, I didn't think an addresses that were offline could be used as a route hop.. isn't routing through an offline address a similar problem to sending to an offline address?
    – B T
    Commented Jul 21, 2017 at 0:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.