lightninglabs / lightninglabs/taproot-assets
[feature]: add a `proof_courier_addr` option to `FundChannel`
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 525
- Forks
- 150
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
In https://github.com/lightninglabs/taproot-assets/issues/1483 I asked for an option in FundChannel to match the same type of request for SendAsset in https://github.com/lightninglabs/taproot-assets/issues/1476 , that is, skip courier proof transfer and allow it to be done manually. It was determined that this is a bad idea for FundChannel because we want to make sure we have proofs available for doing a channel close. FundChannel is a lot more sensitive than SendAsset for this kind of thing because we can't really allow for or rely on manual intervention in LND for closing a channel.
However, we could instead add a proof_courier_addr option to FundChannel to match the same option that already exists for NewAddr. That could make sense and that is what this issue is about.
Why would we want such an option?
- We may want to use a non tapd default universe server for this particular channel (maybe the channel peer runs their own universe server and we'd like to be able to send the proofs directly to them so that we don't need to rely on a third party universe server to courier proofs), or
- we want to make sure no channels ever use the same universe server for privacy reasons so we don't want to define a default universe server in tapd's option
taproot-assets.proofcourieraddr(and maybe we want to define a bogus one because we don't want the LL default one to be accidentally attempted).
Notes:
- If alice wants to fund a channel with bob and bob is running a universe server that alice plans to courier the proofs through, bob is also going to have to be smart enough to publish his proofs on channel closure to his universe server since that is where alice would be expecting them to go. We'd need a way for alice to trust that bob is going to do this?
- If alice wants to fund a channel with bob and charlie is running a universe server that alice plans to courier the proofs through, bob is also going to have to be smart enough to publish his proofs on channel closure to charlie's universe server since that is where alice would be expecting them to go. We'd need a way for alice to tell bob that he needs to use charlie's universe server?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the FundChannel API and comparing its requested option with the existing proof_courier_addr behavior in NewAddr and the related SendAsset discussion. Resolve how a selected universe server affects proof delivery and channel closure, including coordination with the channel peer. Done means the API and those trust and publication expectations are clearly specified and implemented with appropriate coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100