--- Log opened Wed Apr 01 00:00:40 2020 00:06 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has joined #c-lightning 00:10 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has joined #c-lightning 00:41 -!- vasild_ [~vd@gateway/tor-sasl/vasild] has joined #c-lightning 00:44 -!- vasild [~vd@gateway/tor-sasl/vasild] has quit [Ping timeout: 240 seconds] 00:44 -!- vasild_ is now known as vasild 00:48 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has quit [Ping timeout: 246 seconds] 00:49 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has joined #c-lightning 01:09 -!- sr_gi [~sr_gi@132.red-83-34-186.dynamicip.rima-tde.net] has joined #c-lightning 01:29 -!- jtimon [~quassel@206.160.134.37.dynamic.jazztel.es] has joined #c-lightning 02:20 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has left #c-lightning [] 02:20 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has joined #c-lightning 02:26 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has quit [Quit: Leaving.] 02:27 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 02:28 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #c-lightning 02:50 -!- masterdonx2 [~masterdon@213.183.54.167] has joined #c-lightning 02:54 -!- MasterdonX [~masterdon@103.108.117.132] has quit [Ping timeout: 256 seconds] 04:13 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 04:13 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #c-lightning 05:01 -!- treehug88 [~textual@pool-71-105-170-196.nycmny.fios.verizon.net] has joined #c-lightning 05:58 -!- fiatjaf [~fiatjaf@2804:7f2:2a81:cff9:ea40:f2ff:fe85:d2dc] has quit [Ping timeout: 252 seconds] 06:00 -!- fiatjaf [~fiatjaf@2804:7f2:2981:285a:ea40:f2ff:fe85:d2dc] has joined #c-lightning 08:41 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has quit [Ping timeout: 246 seconds] 09:00 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has joined #c-lightning 09:22 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has quit [Ping timeout: 252 seconds] 09:24 -!- jonatack [~jon@37.171.65.83] has joined #c-lightning 10:24 -!- jonatack_ [~jon@37.173.127.56] has joined #c-lightning 10:26 -!- jonatack_ [~jon@37.173.127.56] has quit [Client Quit] 10:26 -!- jonatack_ [~jon@37.173.127.56] has joined #c-lightning 10:27 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has left #c-lightning [] 10:28 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has joined #c-lightning 10:28 -!- jonatack [~jon@37.171.65.83] has quit [Ping timeout: 265 seconds] 10:52 -!- mdunnio [~mdunnio@208.59.170.5] has joined #c-lightning 10:56 -!- mdunnio [~mdunnio@208.59.170.5] has quit [Ping timeout: 260 seconds] 11:03 -!- mdunnio [~mdunnio@208.59.170.5] has joined #c-lightning 12:13 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Ping timeout: 240 seconds] 12:17 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has joined #c-lightning 12:35 -!- cryptoso- [~cryptosoa@gateway/tor-sasl/cryptosoap] has quit [Ping timeout: 240 seconds] 12:36 -!- cryptosoap [~cryptosoa@gateway/tor-sasl/cryptosoap] has joined #c-lightning 12:37 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has quit [Remote host closed the connection] 12:40 -!- vasild_ [~vd@gateway/tor-sasl/vasild] has joined #c-lightning 12:44 -!- vasild [~vd@gateway/tor-sasl/vasild] has quit [Ping timeout: 240 seconds] 12:44 -!- vasild_ is now known as vasild 13:04 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has joined #c-lightning 13:15 -!- ghost43_ [~daer@gateway/tor-sasl/daer] has joined #c-lightning 13:15 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Ping timeout: 240 seconds] 13:22 -!- ghost43_ [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 13:23 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #c-lightning 13:45 -!- jtimon [~quassel@206.160.134.37.dynamic.jazztel.es] has quit [Remote host closed the connection] 14:02 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has joined #c-lightning 14:35 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 14:35 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #c-lightning 14:51 -!- rusty [~rusty@pdpc/supporter/bronze/rusty] has left #c-lightning [] 15:04 -!- Dean_Guss [~dean@gateway/tor-sasl/deanguss] has quit [Remote host closed the connection] 15:08 -!- Netsplit *.net <-> *.split quits: @cdecker 15:11 -!- raucao [~raucao@skippe2.nine.ch] has quit [Ping timeout: 264 seconds] 15:12 -!- DeanGuss [~dean@gateway/tor-sasl/deanguss] has joined #c-lightning 15:13 -!- raucao [~raucao@skippe2.nine.ch] has joined #c-lightning 15:13 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 15:14 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #c-lightning 15:15 -!- michaelfolkson [~textual@host86-132-64-99.range86-132.btcentralplus.com] has joined #c-lightning 15:18 -!- michaelfolkson [~textual@host86-132-64-99.range86-132.btcentralplus.com] has quit [Client Quit] 15:31 -!- mdunnio [~mdunnio@208.59.170.5] has quit [Remote host closed the connection] 15:50 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has quit [Ping timeout: 256 seconds] 16:07 -!- justanotheruser [~justanoth@unaffiliated/justanotheruser] has joined #c-lightning 16:08 -!- mdunnio [~mdunnio@208.59.170.5] has joined #c-lightning 16:14 -!- mdunnio [~mdunnio@208.59.170.5] has quit [Ping timeout: 256 seconds] 16:36 -!- sr_gi [~sr_gi@132.red-83-34-186.dynamicip.rima-tde.net] has quit [Ping timeout: 256 seconds] 16:40 -!- mdunnio [~mdunnio@208.59.170.5] has joined #c-lightning 16:45 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has quit [Remote host closed the connection] 16:50 -!- sr_gi [~sr_gi@39.red-83-46-130.dynamicip.rima-tde.net] has joined #c-lightning 17:46 -!- zmnscpxj [~zmnscpxj@gateway/tor-sasl/zmnscpxj] has joined #c-lightning 18:29 -!- mdunnio [~mdunnio@208.59.170.5] has quit [Remote host closed the connection] 18:37 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has left #c-lightning [] 18:37 -!- blockstream_bot [blockstrea@gateway/shell/sameroom/x-txhnryyccoeyadae] has joined #c-lightning 18:46 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has joined #c-lightning 18:51 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has quit [Ping timeout: 265 seconds] 20:03 -!- polydin [aede8c6d@109.sub-174-222-140.myvzw.com] has joined #c-lightning 20:04 < polydin> zmnscpxj, i will follow the rabbit hole down on this PR request, any other tips before i get started? 20:05 < zmnscpxj> first, understand that c-lightning is composed of multiple daemons, not a single daemon 20:05 < polydin> this i know 20:05 < polydin> i did actually browse through it awhile ago but i've just forgotten everything 20:06 < zmnscpxj> each peer is passed around a set of daemons. 20:06 < zmnscpxj> initially, a peer is connected to by the connectd 20:06 < zmnscpxj> or an incoming peer connects to the connectd 20:06 < zmnscpxj> then when the connectd sees the peer has a channel, a channeld is launched which handles the channel 20:06 < polydin> with you so far 20:07 < zmnscpxj> and the peer fd is given to the channeld 20:07 < zmnscpxj> since the channeld is strictly a single-channel process, it is not able to handle more than one channel for that peer 20:07 < zmnscpxj> to keep the architecture of the channeld simple 20:07 < zmnscpxj> now, if the peer does not have a channel yet, the peer fd is managed by connectd still 20:08 < polydin> still with you 20:08 < zmnscpxj> if you, or your peer, then send a request to open a channel, an openingd is started to handle the opening protocol 20:08 < zmnscpxj> So openingd works in one of two modes, either it is the one initiating the open, or it is the one that is initiated to 20:09 < zmnscpxj> for current single-funding, the initiator is the funder 20:09 < zmnscpxj> for dual-funding, we still retain this concept of "initiator" 20:09 < zmnscpxj> the channel, even after fully established, still keeps track of who is the initiator of the channel open 20:10 < zmnscpxj> because at closing, it is the initiator who pays for onchain fees 20:10 < polydin> ah that make sense 20:10 < zmnscpxj> so openingd is the one that handles the opening protocol 20:10 < polydin> meaning the handshake process? 20:10 < zmnscpxj> it completes the opening protocol up to signing transactions and broadcasting the funding tx 20:11 < zmnscpxj> *waiting* for the funding tx to be confirmed is the first task of channeld 20:11 < polydin> ok 20:12 < zmnscpxj> so channel states start with CHANNELD_AWAITING_LOCKIN 20:12 < polydin> so far then the order is connectd -> openingd -> channeld ? 20:12 < zmnscpxj> yep 20:12 < polydin> yes the channel states i am aware of 20:13 < zmnscpxj> when lightningd notices a funding txo is spent, it invokes onchaind to check what happened (unilateral close) 20:13 < zmnscpxj> if you or the peer request a mutual close, channeld enters CHANNELD_SHUTTING_DOWN and eventually switches to closingd 20:13 < zmnscpxj> but we were talking about dual-funding, so let's not go deep into that 20:14 < polydin> lol ok 20:14 < zmnscpxj> all of the dual-funding changes are mostly in the openingd 20:14 < zmnscpxj> since it encapsulates the entire funding process 20:14 < zmnscpxj> niftynei is proposing a completely-new opening protocol that uses completely different messages as the current single-funding opening protocol 20:15 < zmnscpxj> lemme dig a bit.... 20:15 < polydin> kk 20:16 < zmnscpxj> Here is the mailinglist post for that: https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-January/002466.html 20:17 < zmnscpxj> And is continued in Feb here: https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-February/002500.html 20:17 < zmnscpxj> The dual-funding proposal has a marked increase in complexity relative to single-funding 20:17 < polydin> can you explain "marked increase in complexity" ? 20:18 < zmnscpxj> see https://github.com/ElementsProject/lightning/pull/3418 20:18 < zmnscpxj> there's a message diagram there 20:18 < zmnscpxj> Compare that message diagram to the one here, for single-funding: https://github.com/lightningnetwork/lightning-rfc/blob/master/02-peer-protocol.md#channel-establishment 20:19 < polydin> you mean there's just more message calls? 20:19 < zmnscpxj> there's also a loop in niftynei proposal 20:19 < polydin> ah gotcha 20:19 < zmnscpxj> (b) can go back to (5) 20:19 < zmnscpxj> this loop handles RBF and might not actually repeat 20:20 < polydin> rbf? 20:20 < zmnscpxj> but note that current funding protocol does not support RBF directly except as a hacky trick that needs multiple channels per peer 20:20 < zmnscpxj> replace-by-fee 20:20 < zmnscpxj> fee-bumping 20:21 < polydin> gotcha 20:21 < polydin> thank you so much for your help 20:21 < zmnscpxj> np 20:21 < polydin> i've got so much to learn haha 20:22 < zmnscpxj> one of the notable things in the dual-funding proposal is that I proposed adding JoinMarket-style PoDLEs to mitigate some privacy-leak attacks 20:22 < zmnscpxj> I do not know if nifty has added that to the PR yet 20:22 < zmnscpxj> probably not 20:22 < zmnscpxj> though general consensus as I understand at the time is that some kind of PoDLE thing would probably be a good thing to implement 20:23 < polydin> PoDLEs ? 20:23 < zmnscpxj> lemme dig.... 20:23 < polydin> hahaha thx 20:24 < zmnscpxj> PoDLE = proof of Discrete Log Equivalence 20:24 < zmnscpxj> basically, using this I can prove that I own a UTXO 20:24 < zmnscpxj> the initiator gives this to the acceptor of the channel 20:25 < polydin> why would you need to prove this? or why would it create a privacy leak? 20:25 < zmnscpxj> before the acceptor will tell the initiator about any of its own UTXOs it wants to add to the channel 20:25 < zmnscpxj> otherwise, I could "initiator" a channel with you, you tell me some of your UTXOs, now I know you own those UTXOs 20:25 < polydin> ah gotcha 20:26 < zmnscpxj> by forcing the initiator to show its own UTXO(s) first, the acceptor at least gets dirt on the initiator 20:26 < zmnscpxj> now, a PoDLE can be gossiped as well 20:26 < zmnscpxj> but a PoDLE by itself does not reveal the UTXO 20:26 < zmnscpxj> which is the nice thing about PoDLE. 20:26 < zmnscpxj> so suppose I initiate a channel with you and tell you my UTXOs, then you tell me yours. 20:26 < zmnscpxj> but I stop 20:27 < zmnscpxj> Then I go to niftynei and initiate a channel with her 20:27 < zmnscpxj> if you shared the PoDLE I gave to you to niftynei, then niftynei will say "but you already tried that on polydin" 20:27 < zmnscpxj> and refuses to talk to me 20:27 < zmnscpxj> so I cannot use a single UTXO to get the UTXOs of many other nodes 20:28 < zmnscpxj> However, even if you share the PoDLE, it does not show which UTXO I was using 20:28 < zmnscpxj> so if I was able to complete the initiation with you, then the PoDLE does not leak the UTXO 20:28 < zmnscpxj> got that? 20:28 < zmnscpxj> waxwing explains here as well: https://joinmarket.me/blog/blog/poodle/ 20:29 < polydin> i think so 20:29 < polydin> i will look at the link further 20:29 < zmnscpxj> this was first used in JoinMarket, which is a privacy mechanism. 20:29 < polydin> so this would require that all nodes are sharing the proofs throughout the entire graph? 20:29 < zmnscpxj> yes 20:30 < zmnscpxj> But a PoDLE is just a point, so 33 bytes each 20:30 < zmnscpxj> much smaller than a channel advertisement 20:30 < polydin> got it 20:31 < polydin> i have enough to keep me busy for awhile, i'm gonna go make food and get on it 20:31 < polydin> thanks for all your help 20:31 < polydin> will check back in when i've made some progress 20:31 < zmnscpxj> np 20:35 < zmnscpxj> waxwing does not explain in the article, but JoinMarket allows a UTXO to be used up to 3 times by using 3 different J points (NUMS points that replace the normal G generator) 20:36 < zmnscpxj> because that innovation was created after waxwing wrote the article 20:37 -!- polydin [aede8c6d@109.sub-174-222-140.myvzw.com] has quit [Remote host closed the connection] 20:37 < zmnscpxj> haha 21:42 -!- zmnscpxj [~zmnscpxj@gateway/tor-sasl/zmnscpxj] has quit [Ping timeout: 240 seconds] 22:25 -!- jonatack__ [~jon@37.170.215.215] has joined #c-lightning 22:28 -!- jonatack_ [~jon@37.173.127.56] has quit [Ping timeout: 256 seconds] 22:34 -!- polydin [407668ab@64.118.104.171] has joined #c-lightning 22:48 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has joined #c-lightning 22:53 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has quit [Ping timeout: 250 seconds] 23:14 -!- polydin [407668ab@64.118.104.171] has quit [Remote host closed the connection] 23:32 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 23:33 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #c-lightning 23:52 -!- PaulTroon [~paultroon@h-5-150-248-150.NA.cust.bahnhof.se] has joined #c-lightning --- Log closed Thu Apr 02 00:00:40 2020