From rusty at rustcorp.com.au Sat Jul 28 02:16:34 2018 From: rusty at rustcorp.com.au (Rusty Russell) Date: Sat, 28 Jul 2018 11:46:34 +0930 Subject: [Lightning-dev] Virtual channels In-Reply-To: References: Message-ID: <87a7qct88t.fsf@rustcorp.com.au> Dmytro Piatkivskyi writes: > Dear list, pardon me that I haven't investigated the Lightning implementations in depth yet, but one discussion has made me wonder how you approach the below described situation. > > Rene was talking about virtual channels in his article [1]. His motivation was that a company running multiple nodes has to open channels between its own nodes in order to transact between them. Rene CC'd. The issue with virtual channels is that we rely on proving that funding transactions exist as a simple spam-prevention mechanism. However, that's just for gossip messages which advertize a public channel. Two things to note: 1. You can advertize anything you want in BOLT-11 `r` fields; this is the correct place for virtual channels, or private channels. We might also allow some kind of local channel advertisements in the future. 2. The advertisement of existence of a channel doesn't require its use. If you have a trust relationship you can just say "please send this" etc. Hope that helps! Rusty. > My vision of LN was to allow for much heterogeneity. Not only a company should be able to transact between its own nodes, but also with other entities it has a trust relationship with. Let me give you an example. > > Say I trust you unconditionally. Alice asks me to send a satoshi to Bob. I don't have a channel with him, but you do. No channel between us. I receive HTLC from Alice, give you the image. You create HTLC with Bob, using that image. Bob checks - everything is OK. Bob executes. > > The problem is source routing. Alice creates the whole payment chain, so she should be aware of our relationship. A solution could be advertising our trust as being a single node or introducing virtual channels as Rene suggests, constantly figuring out our respective balances. Is there a way to do so or do you see any other solution? > > I understand the word 'trust' is repulsive, but think of the case with a single company running multiple nodes for whatever reason. > > Thanks, > Dima > > [1] https://www.rene-pickhardt.de/virtual-payment-channels-for-the-lightning-network-a-lightning-network-improvement-proposal-draft/ > _______________________________________________ > Lightning-dev mailing list > Lightning-dev at lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev