WEBVTT - Automatic transcript; recognition may contain errors. Reviewed for technical wording and speaker labels. Times match the published episode.

00:00:20.400 --> 00:00:22.320
<v Aaron van Wirdum>Live from Utrecht, this is Bitcoin.

00:00:23.120 --> 00:00:23.560
<v Sjors Provoost>Explained.

00:00:23.820 --> 00:00:24.180
<v Aaron van Wirdum>Hey, Sjors.

00:00:24.440 --> 00:00:24.640
<v Sjors Provoost>Hello.

00:00:24.960 --> 00:00:25.280
<v Aaron van Wirdum>Hey, Sam.

00:00:25.700 --> 00:00:26.040
<v Sam Wouters>Hello.

00:00:26.460 --> 00:00:27.460
<v Aaron van Wirdum>We have another guest, Sjors.

00:00:27.640 --> 00:00:28.340
<v Sjors Provoost>Hello, Sam. Welcome.

00:00:28.880 --> 00:00:29.180
<v Sam Wouters>Thank you.

00:00:29.320 --> 00:00:29.700
<v Aaron van Wirdum>Wouters,

00:00:31.100 --> 00:00:31.540
<v Aaron van Wirdum>who are you?

00:00:31.880 --> 00:00:34.860
<v Sam Wouters>I'm a Bitcoin research analyst at River Financial.

00:00:35.420 --> 00:00:36.960
<v Aaron van Wirdum>All right. What is River Financial?

00:00:37.220 --> 00:00:42.500
<v Sam Wouters>It's a US-based Bitcoin-focused company. Offers brokerage. Offers like zero fee

00:00:42.500 --> 00:00:47.860
<v Sam Wouters>DCA. So no fees on recurring orders. And offers hosted mining services. And

00:00:47.860 --> 00:00:50.540
<v Sam Wouters>increasingly, we're starting to do more with the Lightning Network. We first

00:00:50.540 --> 00:00:55.780
<v Sam Wouters>integrated it in 2019. And now we're offering a new product around it as well.

00:00:56.020 --> 00:00:56.700
<v Sam Wouters>Around Lightning.

00:00:57.300 --> 00:01:01.060
<v Aaron van Wirdum>All right. What are you doing here? Why are you in Sjors's living room with us now?

00:01:01.420 --> 00:01:05.860
<v Sam Wouters>Well, it's an honor to be here, I'd say. Yeah, recently released a report around

00:01:05.860 --> 00:01:08.920
<v Sam Wouters>our learnings from the Lightning Network, the insights that we gathered from

00:01:08.920 --> 00:01:13.660
<v Sam Wouters>running some of the highest capacity nodes in a network. And basically you

00:01:13.660 --> 00:01:16.620
<v Sam Wouters>reached out to me and you were like, well, it would be interesting to have a

00:01:16.620 --> 00:01:19.840
<v Sam Wouters>podcast about this. We talked briefly at Bitcoin Amsterdam about it, awesome

00:01:19.840 --> 00:01:22.300
<v Sam Wouters>conference. And yeah, we'd love to share more.

00:01:23.040 --> 00:01:26.260
<v Aaron van Wirdum>All right. Sjors, what do you think? Sam's here now. Do you want to do it?

00:01:26.600 --> 00:01:26.980
<v Sjors Provoost>Sounds good.

00:01:27.200 --> 00:01:28.660
<v Aaron van Wirdum>Might as well discuss the report.

00:01:29.000 --> 00:01:29.380
<v Sjors Provoost>Yep.

00:01:29.820 --> 00:01:35.400
<v Aaron van Wirdum>First of all, though, we did an episode about the Lightning LND

00:01:35.400 --> 00:01:41.140
<v Aaron van Wirdum>bug. So that was the last episode two weeks ago. And I think there is an update

00:01:41.140 --> 00:01:41.700
<v Aaron van Wirdum>about that.

00:01:42.080 --> 00:01:42.300
<v Sjors Provoost>Yes.

00:01:42.540 --> 00:01:47.860
<v Aaron van Wirdum>So to start off, we kind of speculated in the episode itself what the exact

00:01:47.860 --> 00:01:52.160
<v Aaron van Wirdum>cause was. And we mentioned that we weren't 100% sure.

00:01:52.380 --> 00:01:53.700
<v Sjors Provoost>But we were 100% correct.

00:01:53.960 --> 00:01:55.140
<v Aaron van Wirdum>We were not correct?

00:01:55.360 --> 00:01:56.000
<v Sjors Provoost>No, we nailed it.

00:01:57.630 --> 00:01:59.150
<v Aaron van Wirdum>Did you, Sjors? Did you nail it?

00:01:59.650 --> 00:02:04.270
<v Sjors Provoost>Well, roughly. Anyway, we speculated on a few different possibilities. But yeah,

00:02:04.370 --> 00:02:07.730
<v Sjors Provoost>it turns out that especially we were talking about what happens when you're not

00:02:07.730 --> 00:02:12.330
<v Sjors Provoost>actually using btcd as a full node. You're just using Bitcoin Core as a full

00:02:12.330 --> 00:02:17.270
<v Sjors Provoost>node, yet your Lightning node still stops and you're using LND as a Lightning

00:02:17.270 --> 00:02:22.210
<v Sjors Provoost>node. And the reason that happens is because LND uses parts of btcd because btcd

00:02:22.210 --> 00:02:26.850
<v Sjors Provoost>is not just a node, it's also a library of components that you can use. And so if

00:02:26.850 --> 00:02:30.430
<v Sjors Provoost>you're using one of those components, even though you're not using btcd as your

00:02:30.430 --> 00:02:34.930
<v Sjors Provoost>node, you still rely on how those components check certain rules about blocks

00:02:34.930 --> 00:02:38.550
<v Sjors Provoost>that they should probably not check or at least should check correctly if they

00:02:38.550 --> 00:02:41.360
<v Sjors Provoost>do. So those components broke.

00:02:42.240 --> 00:02:47.020
<v Aaron van Wirdum>Right. So it's basically because LND was using code from btcd.

00:02:47.240 --> 00:02:47.520
<v Sjors Provoost>Yeah.

00:02:47.840 --> 00:02:52.960
<v Aaron van Wirdum>Okay. Got it. That's clear enough. But there's been another bug this week.

00:02:53.160 --> 00:02:53.420
<v Sjors Provoost>Yes.

00:02:53.980 --> 00:02:56.120
<v Aaron van Wirdum>LND nodes crashed again. Is that right?

00:02:56.360 --> 00:03:00.300
<v Sjors Provoost>Yes. As the song by Britney Spears goes, oops, I did it again. The same person

00:03:00.300 --> 00:03:05.360
<v Sjors Provoost>crafted another special transaction, put it in a Bitcoin block and voila, all the

00:03:05.360 --> 00:03:09.500
<v Sjors Provoost>LND nodes crashed. Now, in this case, there are a few differences. I mean, in

00:03:09.500 --> 00:03:13.890
<v Sjors Provoost>general, it was the same kind of bug. It was like a Bitcoin transaction that was

00:03:13.890 --> 00:03:18.850
<v Sjors Provoost>perfectly valid, though a bit weird, and in such a way that Bitcoin Core nodes

00:03:18.850 --> 00:03:23.310
<v Sjors Provoost>would be perfectly happy with it. But, [unclear], the btcd-based nodes or

00:03:23.310 --> 00:03:27.150
<v Sjors Provoost>libraries that use btcd code would not be happy with it and would stop,

00:03:27.490 --> 00:03:28.090
<v Sjors Provoost>basically.

00:03:28.920 --> 00:03:34.740
<v Aaron van Wirdum>Right well so last time the reason was that there was a limit on the witness size

00:03:34.740 --> 00:03:39.340
<v Aaron van Wirdum>of SegWit transactions and then the Taproot transactions don't have that limit

00:03:39.340 --> 00:03:44.260
<v Aaron van Wirdum>but for the blocks that that come in People should listen to the last episode,

00:03:44.400 --> 00:03:48.260
<v Aaron van Wirdum>but I'm getting to the point where my question is, so was it exactly the same?

00:03:48.380 --> 00:03:49.240
<v Aaron van Wirdum>Wasn't the bug fixed?

00:03:49.480 --> 00:03:54.000
<v Sjors Provoost>Yeah, that specific bug was fixed, but it was another difference in

00:03:54.000 --> 00:03:57.820
<v Sjors Provoost>interpretation out there, which had to do with another limit that was slightly

00:03:57.820 --> 00:03:59.240
<v Sjors Provoost>different in LND.

00:03:59.750 --> 00:04:03.530
<v Aaron van Wirdum>I see. So it was a very similar bug, but not the same bug.

00:04:03.790 --> 00:04:05.670
<v Sjors Provoost>The same kind of bug, but it was a different one.

00:04:05.790 --> 00:04:11.730
<v Aaron van Wirdum>Okay, but the last time LND nodes crashed, it was an accident, I think, right?

00:04:11.870 --> 00:04:15.610
<v Sjors Provoost>It could have been an accident. We don't know. The second time was definitely not

00:04:15.610 --> 00:04:16.110
<v Sjors Provoost>an accident.

00:04:16.390 --> 00:04:19.930
<v Aaron van Wirdum>This time was not an accident. So this time this developer, and I think his name

00:04:19.930 --> 00:04:22.510
<v Aaron van Wirdum>was Burak, if I'm remembering that correctly.

00:04:23.770 --> 00:04:27.610
<v Aaron van Wirdum>And I actually I'm sure I remember that correctly because you told me five

00:04:27.610 --> 00:04:32.390
<v Aaron van Wirdum>minutes ago my memory isn't that bad he did it presumably by accident last time

00:04:32.390 --> 00:04:38.050
<v Aaron van Wirdum>so this time he did it intentionally he was looking for bugs and he

00:04:38.050 --> 00:04:38.850
<v Aaron van Wirdum>exploited that.

00:04:38.850 --> 00:04:43.370
<v Sjors Provoost>Well the transaction has a message in the OP_RETURN that says something along the

00:04:43.370 --> 00:04:48.470
<v Sjors Provoost>lines of haha you should be using C-Lightning so it was you know very clearly an

00:04:48.470 --> 00:04:52.950
<v Sjors Provoost>attempt to to cause a problem there which is not very nice but it can happen.

00:04:53.960 --> 00:04:59.940
<v Aaron van Wirdum>Right. So have you guys have had any problem with this? Did this

00:04:59.940 --> 00:05:00.620
<v Aaron van Wirdum>affect you at all?

00:05:01.340 --> 00:05:06.140
<v Sam Wouters>Well, we run multiple nodes and I believe the developers were immediately on top

00:05:06.140 --> 00:05:10.040
<v Sam Wouters>of it. And I think like upgraded the nodes, made sure that there were no issues.

00:05:10.160 --> 00:05:14.800
<v Sam Wouters>And I believe there was no downtime on the API that we have either. So altogether

00:05:14.800 --> 00:05:19.060
<v Sam Wouters>it was, it went pretty smooth. So fortunately not too many issues, but could have

00:05:19.060 --> 00:05:20.000
<v Sam Wouters>been worse for sure.

00:05:20.470 --> 00:05:25.450
<v Sjors Provoost>Yeah that sounds lucky because it would have it did stop a lot of nodes yes.

00:05:25.960 --> 00:05:30.260
<v Aaron van Wirdum>So hang on though but so this bug was also fixed by now within a couple of hours

00:05:30.260 --> 00:05:30.920
<v Aaron van Wirdum>it sounds like?

00:05:30.920 --> 00:05:32.080
<v Sam Wouters>I believe it was pretty quick.

00:05:32.080 --> 00:05:35.660
<v Aaron van Wirdum>Yeah and then it was basically fixed before it affected you?

00:05:35.660 --> 00:05:36.480
<v Sam Wouters>Believe so yeah.

00:05:36.480 --> 00:05:40.320
<v Aaron van Wirdum>Okay so but that does obviously mean you need to pay attention?

00:05:40.320 --> 00:05:41.780
<v Sam Wouters>Yes yeah for sure.

00:05:41.780 --> 00:05:45.830
<v Aaron van Wirdum>Yeah Okay, I think that's also the type of stuff we're going to discuss in this episode.

00:05:45.870 --> 00:05:49.850
<v Sjors Provoost>Yeah, and I guess the failure could depend on exactly the details of your setup,

00:05:49.890 --> 00:05:54.750
<v Sjors Provoost>which I don't think you know in that much detail, but... I think it would stop

00:05:54.750 --> 00:05:59.730
<v Sjors Provoost>processing new blocks, but if the channels are still there, those channels might

00:05:59.730 --> 00:06:03.510
<v Sjors Provoost>keep working. So that's maybe why it didn't go down, something like that. There's

00:06:03.510 --> 00:06:05.970
<v Sjors Provoost>a couple of other details about this exploit that might be worth mentioning

00:06:05.970 --> 00:06:11.270
<v Sjors Provoost>before we move on. One of them is that this transaction was a so-called non

00:06:11.270 --> 00:06:15.730
<v Sjors Provoost>-standard transaction. And that means that it is a weird transaction that is

00:06:15.730 --> 00:06:20.590
<v Sjors Provoost>valid, but nodes will not relay it by default. So if you see this transaction in

00:06:20.590 --> 00:06:24.350
<v Sjors Provoost>your mempool, you will not send it to your neighbors. Which begs the question of

00:06:24.350 --> 00:06:29.340
<v Sjors Provoost>how did this transaction ever find a miner? And this mechanism is mostly a safety

00:06:29.340 --> 00:06:31.760
<v Sjors Provoost>mechanism to prevent you from accidentally throwing away your money.

00:06:31.900 --> 00:06:36.620
<v Aaron van Wirdum>Not only how does it find a miner, but even why would a miner itself include it then, right?

00:06:36.920 --> 00:06:40.500
<v Sjors Provoost>Yeah, because miner software would, again, generally not include those things

00:06:40.500 --> 00:06:44.540
<v Sjors Provoost>because it has to do with some safety mechanisms for soft forks that if you don't

00:06:44.540 --> 00:06:48.040
<v Sjors Provoost>include non-standard transactions, that's a double negative, but if you don't

00:06:48.040 --> 00:06:52.770
<v Sjors Provoost>include non-standard transactions... then you will probably not get screwed at

00:06:52.770 --> 00:06:56.790
<v Sjors Provoost>the next soft fork if the rules change. That's the way. We've talked about that

00:06:56.790 --> 00:07:00.510
<v Sjors Provoost>in some other episodes. We'll skip that now. But basically, so the way he got it

00:07:00.510 --> 00:07:05.070
<v Sjors Provoost>in there was just emailing this pool and just asking them to please include it.

00:07:05.150 --> 00:07:08.350
<v Sjors Provoost>And it included a nice $750 transaction fee.

00:07:09.680 --> 00:07:10.040
<v Aaron van Wirdum>Interesting.

00:07:10.340 --> 00:07:14.440
<v Sjors Provoost>Now, it was a very, very large transaction. I think it was half a megabyte. So

00:07:14.440 --> 00:07:18.380
<v Sjors Provoost>this was 26 Satoshi per byte, which is a high fee, but not an absurd fee rate.

00:07:18.680 --> 00:07:22.480
<v Sjors Provoost>But the total fee was pretty high. So yeah, that's how it got included. And once

00:07:22.480 --> 00:07:24.940
<v Sjors Provoost>it's in a block, nodes will simply accept it.

00:07:27.050 --> 00:07:31.990
<v Aaron van Wirdum>All right. I don't want to dwell on the topic, but I guess now my... curiosity

00:07:31.990 --> 00:07:36.430
<v Aaron van Wirdum>has been sparked like what what's the incentive for Burak to even do this I I

00:07:36.430 --> 00:07:41.630
<v Aaron van Wirdum>mean I know there is this sort of controversy about LND maybe being too dominant

00:07:41.630 --> 00:07:43.510
<v Aaron van Wirdum>on the network is that why?

00:07:43.510 --> 00:07:48.330
<v Sjors Provoost>I don't know there could be my guess would be without having spent too much time

00:07:48.330 --> 00:07:52.470
<v Sjors Provoost>it's like there's two ways you can deal with security issues when you when you

00:07:52.470 --> 00:07:58.020
<v Sjors Provoost>see a product that you think is not secure you can contact the developers of that

00:07:58.020 --> 00:08:03.740
<v Sjors Provoost>product and disclose carefully what the bugs are and be very, very patient. So it

00:08:03.740 --> 00:08:08.060
<v Sjors Provoost>could take months for them to address it. Or you can go out and simply break

00:08:08.060 --> 00:08:11.760
<v Sjors Provoost>their product in public and create sort of a warning signal to the general

00:08:11.760 --> 00:08:15.420
<v Sjors Provoost>public. Now, that last thing could be warranted under some really extreme

00:08:15.420 --> 00:08:18.700
<v Sjors Provoost>circumstances, but I think this was too early for that. But it may have been

00:08:18.700 --> 00:08:21.940
<v Sjors Provoost>something like that, like telling the world, like, hey, be careful. Lightning is

00:08:21.940 --> 00:08:26.250
<v Sjors Provoost>not as mature as you think it is. Things can still break. I don't think it's the

00:08:26.250 --> 00:08:31.010
<v Sjors Provoost>right way to do it, so responsible disclosure would require you to do these things.

00:08:32.410 --> 00:08:36.810
<v Sjors Provoost>Contact developers directly be very very patient about stuff and then even if you

00:08:36.810 --> 00:08:39.850
<v Sjors Provoost>did want to do a public demonstration of the vulnerability I would say do it on

00:08:39.850 --> 00:08:43.530
<v Sjors Provoost>testnet so that you know you can show that you have this thing that can crash

00:08:43.530 --> 00:08:46.910
<v Sjors Provoost>nodes but it only crashes test nodes and not real nodes.

00:08:46.910 --> 00:08:51.970
<v Aaron van Wirdum>Okay I'm gonna move over move on to the report very soon but first of all because

00:08:51.970 --> 00:08:55.690
<v Aaron van Wirdum>I don't think this is in the report but now that I mentioned it Sam do you have

00:08:55.690 --> 00:09:00.430
<v Aaron van Wirdum>any insights about which types of nodes are used on the Lightning network?

00:09:01.470 --> 00:09:05.740
<v Aaron van Wirdum>At all? It is mostly LND, for example, right?

00:09:06.000 --> 00:09:09.340
<v Sam Wouters>I think largely, yeah. It's a very popular one, indeed.

00:09:09.740 --> 00:09:10.960
<v Aaron van Wirdum>Yeah, but you don't have any...

00:09:10.960 --> 00:09:12.220
<v Sam Wouters>No, I don't have any statistics.

00:09:12.220 --> 00:09:13.500
<v Aaron van Wirdum>There wouldn't even be any statistics.

00:09:13.500 --> 00:09:14.140
<v Sam Wouters>Exactly, yeah.

00:09:14.280 --> 00:09:15.240
<v Aaron van Wirdum>I guess, I would assume.

00:09:15.460 --> 00:09:19.220
<v Sjors Provoost>Well, my guess is you could figure it out, but I've looked at mempool.space. They

00:09:19.220 --> 00:09:22.540
<v Sjors Provoost>have a new Lightning Explorer, and they don't show the node type. So I guess

00:09:22.540 --> 00:09:26.280
<v Sjors Provoost>you'd have to pay attention to some subtle behaviors to guess whether somebody

00:09:26.280 --> 00:09:29.760
<v Sjors Provoost>has a C-Lightning node or an LND node or an Eclair node.

00:09:30.640 --> 00:09:31.040
<v Aaron van Wirdum>Yeah.

00:09:31.890 --> 00:09:36.250
<v Sjors Provoost>Okay but also I do know that most of the mobile wallets are based on LND

00:09:37.820 --> 00:09:42.580
<v Sjors Provoost>yes and that's probably the majority of nodes but not maybe not the majority of

00:09:42.580 --> 00:09:43.180
<v Sjors Provoost>visible nodes.

00:09:44.460 --> 00:09:50.400
<v Aaron van Wirdum>Anyway anyways okay moving on Sam, your report it's called

00:09:50.400 --> 00:09:55.240
<v Aaron van Wirdum>insights from the fourth largest Lightning network node yes and I think you

00:09:55.240 --> 00:09:57.280
<v Aaron van Wirdum>briefly mentioned it already but let's

00:09:59.490 --> 00:10:04.850
<v Aaron van Wirdum>start again by why did you write this report why does this report exist yeah what

00:10:04.850 --> 00:10:05.870
<v Aaron van Wirdum>is it and why does it exist.

00:10:05.870 --> 00:10:10.870
<v Sam Wouters>Yeah so the report's focus is to share data and essentially as the title says

00:10:10.870 --> 00:10:15.630
<v Sam Wouters>share insights about what we've learned from the Lightning network and When we

00:10:15.630 --> 00:10:19.150
<v Sam Wouters>initially had a look at sort of where things were at when I joined the company

00:10:19.150 --> 00:10:23.310
<v Sam Wouters>earlier this year, Lightning was starting to pick up quite significantly in terms

00:10:23.310 --> 00:10:25.390
<v Sam Wouters>of activity as we could see in the data.

00:10:26.790 --> 00:10:30.290
<v Sam Wouters>We have a team of four Lightning developers and I just saw them sharing things in

00:10:30.290 --> 00:10:35.210
<v Sam Wouters>Slack. And being enthusiastic about the progress. And I figured like, I haven't

00:10:35.210 --> 00:10:39.170
<v Sam Wouters>really seen anything like this out there too much. So we started discussing like,

00:10:39.230 --> 00:10:42.610
<v Sam Wouters>hey, could we, you know, like share some of these insights with people? And there

00:10:42.610 --> 00:10:46.550
<v Sam Wouters>are people who have been sharing data, which is great, but not much from larger

00:10:46.550 --> 00:10:51.230
<v Sam Wouters>nodes or bigger companies, anything like that. So we figured, what if we make a

00:10:51.230 --> 00:10:56.380
<v Sam Wouters>report and share what... we think people might be interested in as a first pass

00:10:56.380 --> 00:11:00.580
<v Sam Wouters>sort of to see what is the interest from the industry what is the interest from

00:11:00.580 --> 00:11:03.740
<v Sam Wouters>the market where do they think it might be interesting to learn more about

00:11:03.740 --> 00:11:07.800
<v Sam Wouters>Lightning and the way we operate it or the way they could operate it and then

00:11:07.800 --> 00:11:10.660
<v Sam Wouters>potentially repeat the report in the future with some learnings with more

00:11:10.660 --> 00:11:14.740
<v Sam Wouters>insights but the focus was very much on data sharing because it's very difficult

00:11:14.740 --> 00:11:19.660
<v Sam Wouters>for I believe anyway for people to work on this kind of system and to improve it

00:11:19.660 --> 00:11:24.550
<v Sam Wouters>if they don't really have a lot of statistics about Like, you know, why payments

00:11:24.550 --> 00:11:28.850
<v Sam Wouters>are failing to give an obvious thing of how users are actually experiencing the

00:11:28.850 --> 00:11:32.210
<v Sam Wouters>Lightning Network. You have to do a lot of in-person conversations with people, I

00:11:32.210 --> 00:11:36.150
<v Sam Wouters>guess, a lot of qualitative research. And that's quite time intensive if you're a

00:11:36.150 --> 00:11:40.130
<v Sam Wouters>developer who wants to, you know, build systems. You're not necessarily a

00:11:40.130 --> 00:11:42.430
<v Sam Wouters>[unclear] market researcher.

00:11:42.690 --> 00:11:47.230
<v Sjors Provoost>And you might be running a non-custodial service where you're not spying on your

00:11:47.230 --> 00:11:50.590
<v Sjors Provoost>customers enough to see what problems they're running into. Or you might be, you

00:11:50.590 --> 00:11:53.490
<v Sjors Provoost>know, building a node. And you don't even have a help desk.

00:11:53.890 --> 00:11:53.990
<v Sam Wouters>Yeah.

00:11:54.170 --> 00:11:54.730
<v Sjors Provoost>So yeah.

00:11:55.150 --> 00:11:58.610
<v Sam Wouters>Yeah, definitely. So we were trying to figure out like what would be the best

00:11:58.610 --> 00:12:02.070
<v Sam Wouters>format to share this. The report is relatively brief. I believe it's about 20

00:12:02.070 --> 00:12:06.590
<v Sam Wouters>pages and lots of images and graphs in there to just make it accessible to

00:12:06.590 --> 00:12:10.750
<v Sam Wouters>people. So to River clients who might not all have necessarily used the Lightning

00:12:10.750 --> 00:12:14.750
<v Sam Wouters>Network before or really learned much about it. So it also keeps them in mind a

00:12:14.750 --> 00:12:18.570
<v Sam Wouters>little bit, makes it accessible for non-technical people. And yeah, the focus was

00:12:18.570 --> 00:12:21.630
<v Sam Wouters>sharing data. And what we're now already seeing is that other people are sort of

00:12:21.630 --> 00:12:25.350
<v Sam Wouters>jumping in, starting to share their insights too, based on some of the metrics

00:12:25.350 --> 00:12:28.830
<v Sam Wouters>that we shared. And it's starting to get a conversation going, which is really

00:12:28.830 --> 00:12:32.770
<v Sam Wouters>what we were hoping to see there. And hopefully this can help developers who want

00:12:32.770 --> 00:12:37.470
<v Sam Wouters>to improve Lightning to gather more data and insights so that they improve

00:12:37.470 --> 00:12:40.870
<v Sam Wouters>Lightning and essentially everyone benefits because it's definitely in our

00:12:40.870 --> 00:12:45.290
<v Sam Wouters>interest to see Lightning succeed. And we're trying to do what we can to help there.

00:12:45.710 --> 00:12:51.590
<v Aaron van Wirdum>And to be very clear what you did specifically, this is the data from

00:12:51.590 --> 00:12:55.930
<v Aaron van Wirdum>your own node. You didn't collect data from other nodes or users. This is just...

00:12:56.820 --> 00:13:00.860
<v Aaron van Wirdum>You guys have one of the biggest nodes and this is your experience. That's what it is, right?

00:13:00.860 --> 00:13:04.620
<v Sam Wouters>Yeah, we actually have two nodes in the top 10 by capacity. So how much Bitcoin

00:13:04.620 --> 00:13:08.300
<v Sam Wouters>is on there. But initially, the second one was in the process of being built up.

00:13:08.420 --> 00:13:11.620
<v Sam Wouters>So it wasn't up there yet. But by the end, when I was done with the report, we

00:13:11.620 --> 00:13:16.000
<v Sam Wouters>also had number five or six, I believe, by capacity. The data is all from there.

00:13:16.200 --> 00:13:20.060
<v Sam Wouters>I would love to, in the future, start aggregating data for more providers. And

00:13:20.060 --> 00:13:22.840
<v Sam Wouters>I've seen some comments on Twitter of people being like, yeah, but this is just

00:13:22.840 --> 00:13:27.280
<v Sam Wouters>what operators are saying. How can we trust that? And it's like well you could

00:13:27.280 --> 00:13:30.860
<v Sam Wouters>you know you could lie about how many transactions you're processing and make all

00:13:30.860 --> 00:13:34.600
<v Sam Wouters>kinds of things up to make it look bigger than it is but eventually it's going to

00:13:34.600 --> 00:13:38.480
<v Sam Wouters>catch up with you if you pretend to do like 10 times the number of transactions

00:13:38.480 --> 00:13:42.140
<v Sam Wouters>that you're currently doing and everyone else shares their data and nobody gets

00:13:42.140 --> 00:13:46.990
<v Sam Wouters>close to what you're doing then It looks kind of dicey. So mostly I believe at

00:13:46.990 --> 00:13:50.230
<v Sam Wouters>the current stage of Lightning, people are very invested in seeing it succeed in

00:13:50.230 --> 00:13:54.350
<v Sam Wouters>the long run. So like you don't necessarily have to trust everything and you can

00:13:54.350 --> 00:13:59.390
<v Sam Wouters>put like 17 asterisks in the report saying like this is all like self-reported

00:13:59.390 --> 00:14:03.230
<v Sam Wouters>data from all of these users. But across this many users, these are the insights

00:14:03.230 --> 00:14:03.950
<v Sam Wouters>we can gather.

00:14:05.860 --> 00:14:11.080
<v Aaron van Wirdum>Okay, so the way we're going to handle the report is we're not going to...

00:14:11.500 --> 00:14:17.020
<v Aaron van Wirdum>deal with it page by page we're gonna select some subtopics that we've found of

00:14:17.020 --> 00:14:21.860
<v Aaron van Wirdum>particular interest maybe in context of a more technical podcast so let's start

00:14:21.860 --> 00:14:24.780
<v Aaron van Wirdum>with the most important question how much money are you making?

00:14:26.030 --> 00:14:27.450
<v Sam Wouters>Well, me personally?

00:14:28.050 --> 00:14:31.210
<v Aaron van Wirdum>No, no, I'm not asking about your salary. I'm asking about the fees.

00:14:31.410 --> 00:14:36.890
<v Sam Wouters>I know it was a joke. Yeah, no. So the focus of the company isn't to make as much

00:14:36.890 --> 00:14:41.070
<v Sam Wouters>money as possible on Lightning. The focus is to help grow it. So currently the

00:14:41.070 --> 00:14:46.850
<v Sam Wouters>returns are about 1.15% per year. And in the report itself, I also compared this

00:14:46.850 --> 00:14:51.110
<v Sam Wouters>to some other users that have sort of shared their data. Some of them earn like

00:14:51.110 --> 00:14:55.730
<v Sam Wouters>5% to 10% per year which is already a pretty significant number but there's

00:14:55.730 --> 00:14:59.890
<v Sam Wouters>likely some kind of plateau in there where if you add more capacity to your node

00:14:59.890 --> 00:15:02.590
<v Sam Wouters>you're not going to be able to reach those numbers because there's not enough

00:15:02.590 --> 00:15:06.230
<v Sam Wouters>activity on the network for you to get those kind of returns with that much

00:15:06.230 --> 00:15:11.290
<v Sam Wouters>Bitcoin so there's a that's a little asterisk there so for River it's 1.15 at the

00:15:11.290 --> 00:15:15.810
<v Sam Wouters>moment but the focus is much more on reliability of the of the Lightning

00:15:15.810 --> 00:15:16.850
<v Sam Wouters>integration that we have

00:15:16.850 --> 00:15:17.890
<v Aaron van Wirdum>Right yeah.

00:15:17.890 --> 00:15:20.870
<v Sjors Provoost>I think one of the things you pointed out in the report was to say like companies

00:15:20.870 --> 00:15:25.700
<v Sjors Provoost>can optimize for very different things so they could optimize for revenue but if

00:15:25.700 --> 00:15:29.960
<v Sjors Provoost>they have clients they may want to and they make money from those clients in very

00:15:29.960 --> 00:15:32.920
<v Sjors Provoost>different ways they want to make sure that the clients just have the best

00:15:32.920 --> 00:15:37.340
<v Sjors Provoost>experience when they use Lightning even if that's not profitable at all so and

00:15:37.340 --> 00:15:40.560
<v Sjors Provoost>that also I guess in the marketplace means that you're competing with people who

00:15:40.560 --> 00:15:45.900
<v Sjors Provoost>do not optimize for profit so that means that fees might stay quite low but we'll

00:15:45.900 --> 00:15:47.820
<v Sjors Provoost>have to see how that goes yeah.

00:15:49.200 --> 00:15:49.560
<v Sam Wouters>Definitely.

00:15:54.460 --> 00:16:00.320
<v Aaron van Wirdum>What is the most work so to say, in operating a node? Is it

00:16:00.320 --> 00:16:04.000
<v Aaron van Wirdum>managing liquidity? That would be my guess. That's sort of where most of the

00:16:04.000 --> 00:16:05.440
<v Aaron van Wirdum>effort goes into. Is that right or no?

00:16:05.680 --> 00:16:09.580
<v Sam Wouters>Yeah, I think that's fair to say. As a node operator, I mentioned we have a team

00:16:09.580 --> 00:16:13.400
<v Sam Wouters>of four developers. They're not spending all day closing and opening channels and

00:16:13.400 --> 00:16:17.080
<v Sam Wouters>managing liquidity. That would be very extensive. They're very focused on

00:16:17.080 --> 00:16:22.760
<v Sam Wouters>building out the infrastructure that we are offering to other companies. So

00:16:22.760 --> 00:16:26.230
<v Sam Wouters>that's where the majority of the work goes. Managing liquidity as you mentioned

00:16:26.230 --> 00:16:29.730
<v Sam Wouters>and opening and closing channels that does take up some time especially if you

00:16:29.730 --> 00:16:34.050
<v Sam Wouters>want to have successful routes if you want high reliability so there's a bit of

00:16:34.050 --> 00:16:38.450
<v Sam Wouters>vetting involved there in sort of the nodes that you want to connect to because

00:16:38.450 --> 00:16:43.190
<v Sam Wouters>if you just connect to A random hobbyist that will send one transaction per month

00:16:43.190 --> 00:16:47.670
<v Sam Wouters>doesn't really have much liquidity, doesn't really put any effort into it. It's

00:16:47.670 --> 00:16:50.810
<v Sam Wouters>kind of difficult as a company to justify that because you're locking up capital

00:16:50.810 --> 00:16:54.770
<v Sam Wouters>in a very inefficient place with no track record. So there's a little bit of

00:16:54.770 --> 00:16:58.070
<v Sam Wouters>vetting. It's not very strict. And our CEO has also mentioned on Twitter, like

00:16:58.070 --> 00:17:01.990
<v Sam Wouters>we're looking into ways to make this a bit more flexible. So there is a whitelist

00:17:01.990 --> 00:17:05.530
<v Sam Wouters>at the moment. And only if you're on there, you can open and close channels. But

00:17:05.530 --> 00:17:09.940
<v Sam Wouters>it ensures that... there's a high reliability for transactions to get routed and

00:17:09.940 --> 00:17:13.880
<v Sam Wouters>that's ultimately what we want to focus on to get it reliable enough for

00:17:13.880 --> 00:17:17.700
<v Sam Wouters>companies to want to consider accepting Lightning as a payment for example.

00:17:17.700 --> 00:17:23.530
<v Aaron van Wirdum>So how does the vetting work what are the factors you you

00:17:23.530 --> 00:17:25.010
<v Aaron van Wirdum>weigh when it comes to vetting?

00:17:25.360 --> 00:17:28.980
<v Sam Wouters>Yeah for example some of the things I mentioned like how long has this node been

00:17:28.980 --> 00:17:32.440
<v Sam Wouters>there like is there some kind of track record how many connections do they have

00:17:32.440 --> 00:17:36.100
<v Sam Wouters>how much Bitcoin capacity do they have essentially is there some kind of minimum

00:17:36.100 --> 00:17:40.520
<v Sam Wouters>for the channel size it's not very large but it's not like you're opening and

00:17:40.520 --> 00:17:44.400
<v Sam Wouters>closing channels for just a few dollars because there are already like so many of

00:17:44.400 --> 00:17:49.020
<v Sam Wouters>those out there so I think those are some of the main reasons main things and I'm sure…

00:17:49.020 --> 00:17:53.460
<v Aaron van Wirdum>Like how does this actually work is this is there someone sitting there looking

00:17:53.460 --> 00:17:58.120
<v Aaron van Wirdum>at these things or is it automated and by the way I will notice right now so we

00:17:58.120 --> 00:18:02.600
<v Aaron van Wirdum>had a discussion yesterday before we did a podcast where I mentioned [unclear] as

00:18:02.600 --> 00:18:05.840
<v Aaron van Wirdum>well but for me it's definitely true I haven't been keeping up with Lightning

00:18:05.840 --> 00:18:10.900
<v Aaron van Wirdum>very closely at all for the past couple of years like I see I'm somehow way more

00:18:10.900 --> 00:18:15.300
<v Aaron van Wirdum>interested in Bitcoin base chain always have been so it's very possible that I'm

00:18:15.300 --> 00:18:18.600
<v Aaron van Wirdum>asking very beginner questions just so the listeners know and you know.

00:18:18.850 --> 00:18:22.910
<v Sjors Provoost>I don't pay super much attention to Lightning, but I do run my own node. But I

00:18:22.910 --> 00:18:27.610
<v Sjors Provoost>don't pay much attention to the node either. I will open new channels if I make a

00:18:27.610 --> 00:18:31.190
<v Sjors Provoost>payment and it doesn't go through. That's sort of a reminder to me, okay, I

00:18:31.190 --> 00:18:33.790
<v Sjors Provoost>should probably open a channel there. Or if people complain that they can't buy

00:18:33.790 --> 00:18:36.210
<v Sjors Provoost>my book. But other than that, yeah.

00:18:36.850 --> 00:18:39.830
<v Aaron van Wirdum>So the question was is there actually someone sitting there looking at these

00:18:39.830 --> 00:18:41.670
<v Aaron van Wirdum>things or is this some automated process?

00:18:41.670 --> 00:18:46.490
<v Sam Wouters>Yeah no it is a human process very much so because there's just like too many

00:18:46.490 --> 00:18:50.890
<v Sam Wouters>things to consider etc it's too early stage in the future I could potentially see

00:18:50.890 --> 00:18:54.170
<v Sam Wouters>it automated but that goes for for many of the processes they're currently

00:18:54.170 --> 00:18:57.750
<v Sam Wouters>manually doing it's it's just a matter of time before a lot of that will get

00:18:57.750 --> 00:19:01.450
<v Sam Wouters>automated and needs to be automated because if you know if companies want to run

00:19:01.450 --> 00:19:05.170
<v Sam Wouters>Lightning it's kind of unlikely that they'll want to have a full-time employee

00:19:05.170 --> 00:19:09.410
<v Sam Wouters>just sitting there managing channels and liquidity. It's just not realistic in

00:19:09.410 --> 00:19:14.110
<v Sam Wouters>many cases. So for your note there, like on Lightning knowledge, like I'm also

00:19:14.110 --> 00:19:18.610
<v Sam Wouters>not a developer. I'm not a technical person. So I do spend time looking at

00:19:18.610 --> 00:19:22.630
<v Sam Wouters>Lightning because... similar to Bitcoin like it gives off a lot of energy like

00:19:22.630 --> 00:19:25.150
<v Sam Wouters>Bitcoin in the early days it gives off a lot of energy there's a lot of people

00:19:25.150 --> 00:19:29.610
<v Sam Wouters>excited about it it's really interesting to learn more about so I try to keep up

00:19:29.610 --> 00:19:31.450
<v Sam Wouters>to date but I'm definitely no expert either.

00:19:31.450 --> 00:19:37.270
<v Aaron van Wirdum>So if there if if it's currently such a manual process to manage liquidity

00:19:37.270 --> 00:19:42.290
<v Aaron van Wirdum>for example does that mean in effect that how centralized is the network now is

00:19:42.290 --> 00:19:46.750
<v Aaron van Wirdum>it really dominated by a few big players like River that actually have someone

00:19:46.750 --> 00:19:48.710
<v Aaron van Wirdum>doing this because they can afford to do it?

00:19:49.580 --> 00:19:53.940
<v Sam Wouters>Well, if you take a look at some of these node operators that are sharing their

00:19:53.940 --> 00:19:59.080
<v Sam Wouters>data on Twitter publicly, I believe Goldsatz is a quite well-known one who just

00:19:59.080 --> 00:20:02.400
<v Sam Wouters>shares all of his strategies, all of his approaches. There's quite a lot of other

00:20:02.400 --> 00:20:06.860
<v Sam Wouters>Lightning enthusiasts like it who just share how they do things. And for them,

00:20:06.960 --> 00:20:10.600
<v Sam Wouters>since they're earning higher returns, they can also potentially actually be an

00:20:10.600 --> 00:20:15.220
<v Sam Wouters>income stream. But generally they mention like it's a couple hours per week work

00:20:15.220 --> 00:20:19.220
<v Sam Wouters>for his approach, for example, that gives a bit of an idea for people like how

00:20:19.220 --> 00:20:22.000
<v Sam Wouters>much work is this actually. But this is, of course, someone who is very

00:20:22.000 --> 00:20:24.980
<v Sam Wouters>experienced, really knows what they're doing. If you're not that kind of person,

00:20:24.980 --> 00:20:28.020
<v Sam Wouters>there's probably quite a learning curve. It will take you a while to get to that

00:20:28.020 --> 00:20:32.120
<v Sam Wouters>point. So then it's a significant time investment, which, yeah, of course,

00:20:32.260 --> 00:20:35.640
<v Sam Wouters>changes the entire picture for people. But to your question, like is it

00:20:35.640 --> 00:20:39.620
<v Sam Wouters>centralized at the moment? From everything I've seen, like all the data I've

00:20:39.620 --> 00:20:43.020
<v Sam Wouters>looked into, And there was also a really nice visualization that I added to the

00:20:43.020 --> 00:20:47.140
<v Sam Wouters>report from a Twitter user called PyMoment, which was a visualization of the

00:20:47.140 --> 00:20:50.820
<v Sam Wouters>Lightning Network. And you could see how essentially there's dozens and dozens of

00:20:50.820 --> 00:20:55.120
<v Sam Wouters>different routes that any given transaction could take, like through sort of the

00:20:55.120 --> 00:20:58.740
<v Sam Wouters>major nodes out there. And there will be many sub-routes that will be longer,

00:20:58.920 --> 00:21:02.700
<v Sam Wouters>that might be less reliable, etc. So in that regard, for the current size of the

00:21:02.700 --> 00:21:07.000
<v Sam Wouters>Lightning Network, I would say it looks pretty dang decentralized. It could be

00:21:07.000 --> 00:21:08.520
<v Sam Wouters>far more decentralized, of course.

00:21:09.720 --> 00:21:12.980
<v Sam Wouters>To sort of bootstrap the network from the ground up, it makes sense to have a

00:21:12.980 --> 00:21:17.560
<v Sam Wouters>very reliable experience for people so that they can enjoy the benefits of the

00:21:17.560 --> 00:21:21.120
<v Sam Wouters>network. And then as it grows bigger and bigger, I'm sure people will also become

00:21:21.120 --> 00:21:24.300
<v Sam Wouters>more vocal about centralization and that type of thing.

00:21:24.660 --> 00:21:30.260
<v Aaron van Wirdum>Right. And I guess the other cost in managing liquidity, so we've just discussed

00:21:30.260 --> 00:21:34.580
<v Aaron van Wirdum>the human cost. The other cost would be on-chain fees, I guess, because you have

00:21:34.580 --> 00:21:36.280
<v Aaron van Wirdum>to open and close channels. Is that right?

00:21:36.560 --> 00:21:38.180
<v Sam Wouters>Yeah, for sure. And I think...

00:21:38.180 --> 00:21:43.000
<v Aaron van Wirdum>Right now, surely that's very low. So that could change into the future. What are

00:21:43.000 --> 00:21:43.960
<v Aaron van Wirdum>the expectations there?

00:21:44.220 --> 00:21:48.240
<v Sam Wouters>Yeah, for sure. Like, I mean, nobody knows how expensive it's going to get in

00:21:48.240 --> 00:21:50.640
<v Sam Wouters>what kind of timeframe. Yeah, he does.

00:21:50.960 --> 00:21:53.320
<v Aaron van Wirdum>How expensive is it going to get 20 years from now?

00:21:53.820 --> 00:21:55.440
<v Sjors Provoost>Less than 21 million Bitcoin.

00:21:55.720 --> 00:21:56.300
<v Aaron van Wirdum>So disappointing.

00:21:58.430 --> 00:21:59.610
<v Aaron van Wirdum>Okay, we have an estimate.

00:22:00.840 --> 00:22:00.960
<v Sam Wouters>Yeah.

00:22:01.240 --> 00:22:01.960
<v Aaron van Wirdum>Sorry, Sam, go on.

00:22:02.080 --> 00:22:07.940
<v Sam Wouters>No, no problem. Think... like what it might be an issue for in the future if you

00:22:07.940 --> 00:22:11.380
<v Sam Wouters>want to get more people who set up routing nodes where they actually earn returns

00:22:11.380 --> 00:22:16.080
<v Sam Wouters>that's like that requires some technical skill it requires a lot of trial and

00:22:16.080 --> 00:22:19.940
<v Sam Wouters>error and setting up channels trying to find optimal routes where you can

00:22:19.940 --> 00:22:23.740
<v Sam Wouters>actually make some money so if you have to open and close a lot of channels to

00:22:23.740 --> 00:22:28.580
<v Sam Wouters>get to the optimal setup but transaction fees are quite high then you could have

00:22:28.580 --> 00:22:32.440
<v Sam Wouters>sort of a upfront cost that you would need to pay to actually get to that success

00:22:32.440 --> 00:22:35.910
<v Sam Wouters>point But in a way, I mentioned this in a report as well, it's not that

00:22:35.910 --> 00:22:39.230
<v Sam Wouters>dissimilar from someone who wants to build up a successful YouTube channel, for

00:22:39.230 --> 00:22:42.430
<v Sam Wouters>example. You need to invest in some equipment. You need to really put in a lot of

00:22:42.430 --> 00:22:48.190
<v Sam Wouters>time and effort to make really good videos. And by doing that, you invest a

00:22:48.190 --> 00:22:51.310
<v Sam Wouters>little bit in it, but it can then give you returns. So I actually see it quite

00:22:51.310 --> 00:22:55.850
<v Sam Wouters>similar to that where the best content creators, they don't talk into their

00:22:55.850 --> 00:23:00.330
<v Sam Wouters>iPhone. They have a proper microphone and some good lighting, etc. And that just

00:23:00.330 --> 00:23:03.990
<v Sam Wouters>makes a massive difference. So I see this play out in the future quite similar

00:23:03.990 --> 00:23:08.070
<v Sam Wouters>for Lightning. However, that argument goes only so far. You know, if transaction

00:23:08.070 --> 00:23:12.750
<v Sam Wouters>fees become hundreds of dollars, then it becomes pretty expensive to become a

00:23:12.750 --> 00:23:15.930
<v Sam Wouters>successful routing operator, a node operator.

00:23:16.210 --> 00:23:20.550
<v Sjors Provoost>Well, it goes both ways, right? If transaction fees on-chain are $100, well, that

00:23:20.550 --> 00:23:26.230
<v Sjors Provoost>implies that everybody who tries to use Bitcoin has to pay that $100. So that

00:23:26.230 --> 00:23:30.110
<v Sjors Provoost>means a lot more people will try to use Lightning and they'll be happy to pay $20

00:23:30.110 --> 00:23:31.590
<v Sjors Provoost>Lightning routing fees.

00:23:31.790 --> 00:23:35.510
<v Sam Wouters>Yeah, for sure. But what it changes essentially is that the upfront cost to

00:23:35.510 --> 00:23:39.410
<v Sam Wouters>become a successful routing node, that would rise, that would become potentially

00:23:39.410 --> 00:23:44.110
<v Sam Wouters>less accessible to someone who doesn't have a bit of a budget to invest in this.

00:23:44.290 --> 00:23:47.930
<v Sam Wouters>So that's the only thing. But is that a big threat to the decentralization of the

00:23:47.930 --> 00:23:48.370
<v Sam Wouters>network?

00:23:48.530 --> 00:23:53.370
<v Sjors Provoost>But I'm not even sure about that, right? Because it's all about the money, the

00:23:53.370 --> 00:23:56.910
<v Sjors Provoost>returns you're making. On the capital that you're investing. So if you're putting

00:23:56.910 --> 00:24:02.880
<v Sjors Provoost>up $1,000 and you start making $300 a year, then it's actually better than

00:24:02.880 --> 00:24:07.220
<v Sjors Provoost>it is now. So maybe those high fees just mean that you get more return on your

00:24:07.220 --> 00:24:11.220
<v Sjors Provoost>investment and you don't have to be a big operator. You could be a small operator.

00:24:11.600 --> 00:24:13.700
<v Sam Wouters>Yeah, there's definitely many facets to it, I think.

00:24:15.990 --> 00:24:21.050
<v Aaron van Wirdum>You mentioned, and again, well, maybe I should stop mentioning this myself. I was

00:24:21.050 --> 00:24:26.470
<v Aaron van Wirdum>just going to say this might be a very beginning question again. But you said, so

00:24:26.470 --> 00:24:31.550
<v Aaron van Wirdum>there's particular routes you could be on that would make more money than other

00:24:31.550 --> 00:24:37.370
<v Aaron van Wirdum>routes. Would the way to figure that out be just trial and error? Sorry,

00:24:37.610 --> 00:24:42.070
<v Aaron van Wirdum>trial and error. Just try it out and see what works? Or are there other ways to

00:24:42.070 --> 00:24:43.250
<v Aaron van Wirdum>sort of figure it out beforehand?

00:24:43.730 --> 00:24:48.590
<v Sam Wouters>From my understanding so far that's how a lot of people do it so when I mentioned

00:24:48.590 --> 00:24:51.870
<v Sam Wouters>earlier that we're trying to share a lot of interesting data that people might be

00:24:51.870 --> 00:24:55.110
<v Sam Wouters>interested in the number one request is obviously from people like what are your

00:24:55.110 --> 00:24:58.670
<v Sam Wouters>most profitable routes but the tricky thing there when you share that publicly is

00:24:58.670 --> 00:25:04.060
<v Sam Wouters>you get all these people who copy the exact same setups And by doing that, the

00:25:04.060 --> 00:25:07.100
<v Sam Wouters>profit for everyone declines and ultimately everyone's disappointed because some

00:25:07.100 --> 00:25:10.400
<v Sam Wouters>people feel like, oh, you lied about this because I'm not making any money. And

00:25:10.400 --> 00:25:13.620
<v Sam Wouters>it's like, well, you know, like 100 people just did the exact same thing. Of

00:25:13.620 --> 00:25:14.540
<v Sam Wouters>course, it's not going to be great.

00:25:14.480 --> 00:25:18.140
<v Sjors Provoost>That's arbitrage. So I guess to make a concrete example, let's say Starbucks

00:25:18.140 --> 00:25:23.680
<v Sjors Provoost>starts accepting Lightning payments and nobody has a channel to Starbucks, but

00:25:23.680 --> 00:25:27.680
<v Sjors Provoost>you do. Then everybody wants to pay. Starbucks goes through you. And so you can

00:25:27.680 --> 00:25:31.200
<v Sjors Provoost>just charge like 2% on every transaction. You wouldn't do that, but you could.

00:25:31.620 --> 00:25:35.500
<v Sjors Provoost>And then as people find out, oh my God, that's so profitable, I'm going to open a

00:25:35.500 --> 00:25:38.540
<v Sjors Provoost>channel to Starbucks too. Then, of course, those fees will go down in

00:25:38.540 --> 00:25:42.360
<v Sjors Provoost>competition. But the other problem is they also need to have inbound liquidity

00:25:42.360 --> 00:25:46.220
<v Sjors Provoost>because you are part of a route. So you are the last destination before

00:25:46.220 --> 00:25:50.660
<v Sjors Provoost>Starbucks, but somebody has to get to you first. So if nobody has a channel to

00:25:50.660 --> 00:25:53.760
<v Sjors Provoost>you, then even though you have a giant channel to Starbucks, nobody's going to

00:25:53.760 --> 00:25:58.160
<v Sjors Provoost>use it because they can't get to you first. So it's tricky on both sides, I guess.

00:25:58.680 --> 00:25:59.160
<v Sam Wouters>Yeah, definitely.

00:26:00.500 --> 00:26:06.360
<v Aaron van Wirdum>Okay, so this segment of the podcast was about fees and liquidity and also

00:26:06.360 --> 00:26:10.200
<v Aaron van Wirdum>because that's the segment of the report, of course. Is this what we want to

00:26:10.200 --> 00:26:14.460
<v Aaron van Wirdum>discuss about this or just do you have any questions about fees or about

00:26:14.460 --> 00:26:18.900
<v Aaron van Wirdum>liquidity? Sam, did we forget to mention anything? If not, we'll move on. Okay,

00:26:19.000 --> 00:26:24.720
<v Aaron van Wirdum>so the next point is why Lightning payments can fail. So Sam, why can Lightning

00:26:24.720 --> 00:26:26.500
<v Aaron van Wirdum>payments fail? What did you find?

00:26:27.030 --> 00:26:31.670
<v Sam Wouters>Yeah, what's nice about being a larger node in the network and having a good bit

00:26:31.670 --> 00:26:34.930
<v Sam Wouters>of connections is that you start to get to volumes where you can say something

00:26:34.930 --> 00:26:39.330
<v Sam Wouters>statistically meaningful about these failures. Whereas if you're a hobbyist,

00:26:39.450 --> 00:26:42.650
<v Sam Wouters>you've routed maybe 100 transactions in a month, it's a bit difficult to draw conclusions from.

00:26:42.650 --> 00:26:45.270
<v Aaron van Wirdum>Wait, so how many transactions do you route per month?

00:26:45.510 --> 00:26:50.890
<v Sam Wouters>So in September, I believe off the top of my head, it was 115,000. And so then

00:26:50.890 --> 00:26:53.210
<v Sam Wouters>you can start to say something meaningful about it.

00:26:53.430 --> 00:26:57.250
<v Sjors Provoost>Yeah, that's a huge number. So that might be useful to clarify. You're primarily

00:26:57.250 --> 00:27:03.090
<v Sjors Provoost>a routing node, as in people connect to you and like payments go through

00:27:03.090 --> 00:27:07.270
<v Sjors Provoost>you, but you're not necessarily, you are sometimes, but you're usually not the

00:27:07.270 --> 00:27:10.790
<v Sjors Provoost>origin and destination of those payments. So it's really a perspective of

00:27:10.790 --> 00:27:14.610
<v Sjors Provoost>somebody sitting in the middle. How often does that work or how often does that

00:27:14.610 --> 00:27:17.970
<v Sjors Provoost>fail? Which is different from the end user point of view.

00:27:19.630 --> 00:27:24.390
<v Sjors Provoost>So to remind people, if you're making a payment on Lightning, you are the one

00:27:24.390 --> 00:27:29.310
<v Sjors Provoost>deciding the route, generally. So that means you have an idea of what the

00:27:29.310 --> 00:27:32.430
<v Sjors Provoost>Lightning network looks like and what the capacity of all these channels is, and

00:27:32.430 --> 00:27:36.770
<v Sjors Provoost>you construct a whole bunch of routes and you try all of them until it works.

00:27:37.990 --> 00:27:43.220
<v Sjors Provoost>And that means you know that it failed or not. If you're receiving coins on

00:27:43.220 --> 00:27:47.160
<v Sjors Provoost>Lightning, you're just telling people, please send the money to me. And then

00:27:47.160 --> 00:27:49.680
<v Sjors Provoost>either you get something or you don't get something. There's some in-between

00:27:49.680 --> 00:27:52.900
<v Sjors Provoost>phases where I think you get something, but then it still doesn't finalize. But

00:27:52.900 --> 00:27:57.260
<v Sjors Provoost>you have a lot less information. And when you are a route, then you don't know

00:27:57.260 --> 00:27:59.760
<v Sjors Provoost>where the payment is coming from and you don't know where the payment is going

00:27:59.760 --> 00:28:03.840
<v Sjors Provoost>because it's all onion routed. So you can only see the next hop and where the

00:28:03.840 --> 00:28:08.460
<v Sjors Provoost>previous hop where it came from. And so all you know is that some payment tried

00:28:08.460 --> 00:28:12.960
<v Sjors Provoost>to get through. And that's it. But you don't know any context there. But you can

00:28:12.960 --> 00:28:16.240
<v Sjors Provoost>still do statistics on that. And that's, I think, what your report is mostly

00:28:16.240 --> 00:28:21.620
<v Sjors Provoost>focused on. Yeah, exactly. Having 100,000 plus payments per month is a lot, I

00:28:21.620 --> 00:28:26.100
<v Sjors Provoost>think. And then a very low failure rate. Though, though, I think the failure rate

00:28:26.000 --> 00:28:30.420
<v Sjors Provoost>doesn't necessarily explain—it doesn't necessarily completely include what the

00:28:30.420 --> 00:28:35.120
<v Sjors Provoost>end user is experiencing. Because some payments might not even go through you.

00:28:35.300 --> 00:28:39.420
<v Sjors Provoost>And so they might fail. Or maybe the payment is split up in multiple parts. And

00:28:39.420 --> 00:28:42.960
<v Sjors Provoost>the part that goes to you is fine. And the part that goes to somebody else is not fine.

00:28:43.320 --> 00:28:47.860
<v Sam Wouters>Yeah. And to maybe give some context on the numbers there. So I mentioned 150,000

00:28:47.860 --> 00:28:52.100
<v Sam Wouters>transactions that was in September. I believe October, like I haven't looked at

00:28:52.100 --> 00:28:56.840
<v Sam Wouters>the data yet, but for September, so 115,000, the success rate was

00:28:56.840 --> 00:29:02.690
<v Sam Wouters>98.7%, I believe. And I did check a couple months back as

00:29:02.690 --> 00:29:05.590
<v Sam Wouters>well to see if this wasn't a fluke of course and the numbers were typically

00:29:05.590 --> 00:29:10.650
<v Sam Wouters>around that I believe at one point they were 99 [unclear]—sorry,

00:29:10.650 --> 00:29:15.290
<v Sam Wouters>98.5 so they've sort of been hovering around there for the past few months out of

00:29:15.290 --> 00:29:18.390
<v Sam Wouters>that essentially so 1.3 percent of the payments that…

00:29:18.390 --> 00:29:23.570
<v Aaron van Wirdum>Wait does this mean are you bragging now is this thanks to River doing good work?

00:29:23.570 --> 00:29:25.610
<v Aaron van Wirdum>Or do you think this is sort of general?

00:29:25.610 --> 00:29:30.290
<v Sam Wouters>So I've checked with some people to like just out of curiosity like do you see

00:29:30.290 --> 00:29:34.330
<v Sam Wouters>these numbers as well some other people have it a bit lower but like they also

00:29:34.330 --> 00:29:38.110
<v Sam Wouters>don't have a sort of a white list of channels that they connect to and some

00:29:38.110 --> 00:29:40.650
<v Sam Wouters>people will mention like yeah if you're you know if you're connecting to all

00:29:40.650 --> 00:29:45.580
<v Sam Wouters>kinds of random nodes then obviously that success rate will drop So it's also not

00:29:45.580 --> 00:29:51.140
<v Sam Wouters>bragging in the sense that we're happy with it. There's progress, but

00:29:51.140 --> 00:29:56.360
<v Sam Wouters>the ultimate goal is just to get to 100% or as close as 100% as possible. Because

00:29:56.360 --> 00:30:00.640
<v Sam Wouters>if we want people globally to use this in a reliable way and use it for business,

00:30:00.940 --> 00:30:06.760
<v Sam Wouters>then you just need to be extremely reliable. Yeah, 98.7% is great. But if one in

00:30:06.760 --> 00:30:09.380
<v Sam Wouters>100 payments doesn't make it, some people have the patience for that.

00:30:09.660 --> 00:30:13.440
<v Sjors Provoost>Well, that depends on really on the details, right? Because it sounds really bad.

00:30:13.580 --> 00:30:17.240
<v Sjors Provoost>Like if that was the case for normal credit card payments, that would be a

00:30:17.240 --> 00:30:21.100
<v Sjors Provoost>complete disaster. But because Lightning Wallets make multiple attempts to finish

00:30:21.100 --> 00:30:25.720
<v Sjors Provoost>a payment, 98% success rate might be perfectly fine because it'll one second

00:30:25.720 --> 00:30:29.700
<v Sjors Provoost>later try some other route and it'll go through. So maybe it's perfectly fine,

00:30:29.700 --> 00:30:34.460
<v Sjors Provoost>this number. I find it hard to qualify. To assess that, maybe some Lightning

00:30:34.460 --> 00:30:38.300
<v Sjors Provoost>expert will tell. It probably depends on the kind of failure. So I think there

00:30:38.300 --> 00:30:42.380
<v Sjors Provoost>are Lightning failures where it immediately tells the wallet that's trying to

00:30:42.380 --> 00:30:46.240
<v Sjors Provoost>send, hey, I'm sorry, your payment failed. Try again. There's another one where

00:30:46.240 --> 00:30:48.860
<v Sjors Provoost>it's like, oh, sorry, your money is stuck in limbo for the next three weeks.

00:30:49.120 --> 00:30:52.640
<v Sjors Provoost>Those are the nightmare failures. But I think those, I don't know if you can

00:30:52.640 --> 00:30:55.980
<v Sjors Provoost>measure those separately, but I think what you're showing in your chart is one is

00:30:55.980 --> 00:31:01.630
<v Sjors Provoost>a timeout. So that I I don't know maybe the listeners can help us explain what

00:31:01.630 --> 00:31:05.550
<v Sjors Provoost>what exactly the thing is that times out the only thing I could find was multi

00:31:05.550 --> 00:31:10.270
<v Sjors Provoost>-path payments apparently when you have multi-path payments so your wallet sends…

00:31:10.270 --> 00:31:15.790
<v Aaron van Wirdum>Well hang on Sjors, we just mentioned there's a high success rate but it's not a

00:31:15.790 --> 00:31:21.750
<v Aaron van Wirdum>100 and then the failed payments can be divided into several categories right so

00:31:21.750 --> 00:31:22.670
<v Aaron van Wirdum>what are the several…

00:31:24.560 --> 00:31:29.580
<v Sam Wouters>Yeah, the two biggest ones, so Sjors just mentioned one, it's a timeout. And from

00:31:29.580 --> 00:31:33.200
<v Sam Wouters>my understanding, the timeout means that after about a minute, which is the

00:31:33.200 --> 00:31:37.700
<v Sam Wouters>standard time that has been built in, after about a minute of trying to find a

00:31:37.700 --> 00:31:42.000
<v Sam Wouters>route, like trying to send this onwards, it just can't seem to figure anything

00:31:42.000 --> 00:31:46.180
<v Sam Wouters>out that definitively gets it to the final point it needs to be. And in the

00:31:46.180 --> 00:31:50.000
<v Sam Wouters>second... option that might actually be the second biggest that I just mentioned

00:31:50.000 --> 00:31:53.140
<v Sam Wouters>the timeout the biggest might be that there's no route it's one of the two

00:31:53.140 --> 00:31:57.400
<v Sam Wouters>they're both about half a percent ish or so so there's just no route available.

00:31:57.400 --> 00:32:01.900
<v Sam Wouters>Let's check the options and it isn't there even though there was supposedly a way

00:32:01.900 --> 00:32:03.160
<v Sam Wouters>to get to the final destination.

00:32:03.160 --> 00:32:06.980
<v Sjors Provoost>And so the latter thing suggests that for example you're talking to a mobile

00:32:06.980 --> 00:32:11.720
<v Sjors Provoost>wallet and so the next hop in line I guess is a mobile wallet and that mobile

00:32:11.720 --> 00:32:17.200
<v Sjors Provoost>wallet is just not there so the original Person making a payment constructed a

00:32:17.200 --> 00:32:20.000
<v Sjors Provoost>route which went from you to the mobile wallet and then it's gone.

00:32:20.300 --> 00:32:20.900
<v Sam Wouters>Yeah, potentially.

00:32:21.480 --> 00:32:25.080
<v Sjors Provoost>Or could it be multiple hops away too? Because you have, of course, no control

00:32:25.080 --> 00:32:26.060
<v Sjors Provoost>over the final destination?

00:32:26.680 --> 00:32:30.640
<v Sam Wouters>Yeah, indeed. And I think as well, the other reason that gets mentioned quite a

00:32:30.640 --> 00:32:35.980
<v Sam Wouters>bit is Tor. So people using just like the Tor network has been experiencing, I

00:32:35.980 --> 00:32:39.460
<v Sam Wouters>believe, quite a lot of issues over the past months. I'm not sure how long this

00:32:39.460 --> 00:32:44.030
<v Sam Wouters>has been. So there can also be issues there where there was supposedly a node in

00:32:44.030 --> 00:32:47.910
<v Sam Wouters>between that was going to be accepting this transaction, like routing it forward.

00:32:48.510 --> 00:32:52.290
<v Sam Wouters>And if Tor is having issues, then it could be that initially there was a

00:32:52.290 --> 00:32:56.410
<v Sam Wouters>connection established, but it drops for some reason. And that could also cause

00:32:56.410 --> 00:32:56.850
<v Sam Wouters>issues.

00:32:57.250 --> 00:33:00.650
<v Sjors Provoost>Yeah. I mean, it seems like for your direct peers, you could try and make sure

00:33:00.650 --> 00:33:05.390
<v Sjors Provoost>that you connect to those peers through clearnet. If you know who they are, then

00:33:05.390 --> 00:33:08.450
<v Sjors Provoost>you can call them and say, can you give me your clearnet IP address, I guess?

00:33:08.700 --> 00:33:11.180
<v Sjors Provoost>They might give it to you or they might not. But if you don't know who they are,

00:33:11.260 --> 00:33:14.900
<v Sjors Provoost>then I guess that's part of your criteria, right? Whether you want to connect to

00:33:14.900 --> 00:33:19.640
<v Sjors Provoost>a node that's on Tor because you might get lots of failures if there's a problem

00:33:19.640 --> 00:33:20.120
<v Sjors Provoost>on the network.

00:33:20.610 --> 00:33:23.910
<v Sam Wouters>Yeah, I don't know if that's something that's currently looked at as one of the

00:33:23.910 --> 00:33:28.190
<v Sam Wouters>criteria that you asked about earlier, Aaron. So I'm not sure there. I haven't

00:33:28.190 --> 00:33:32.530
<v Sam Wouters>heard anything about it, so it would actually surprise me. But it is a factor. Is

00:33:32.530 --> 00:33:37.830
<v Sam Wouters>it a very big factor? It's one of the biggest factors at the moment of the 1.3%

00:33:37.830 --> 00:33:42.270
<v Sam Wouters>that isn't making it. And perhaps for other people, this is significantly higher.

00:33:42.410 --> 00:33:46.010
<v Sam Wouters>So it's definitely worth exploring more, I think, for people that sort of

00:33:46.010 --> 00:33:47.950
<v Sam Wouters>understand where is this issue originating.

00:33:48.320 --> 00:33:52.720
<v Sjors Provoost>Yeah, we talked about probing yesterday during the preparation. And I guess

00:33:52.720 --> 00:33:57.540
<v Sjors Provoost>probing means that somebody is just scanning the network for how much money is

00:33:57.540 --> 00:34:01.940
<v Sjors Provoost>actually in every channel. So they just send a fake payment, essentially, to a

00:34:01.940 --> 00:34:05.600
<v Sjors Provoost>final destination. And if the fake payment makes it through, then the recipient

00:34:05.600 --> 00:34:09.480
<v Sjors Provoost>of the fake payment will not accept it because they don't have the pre-image. So

00:34:09.480 --> 00:34:12.900
<v Sjors Provoost>it will fail, but it will fail in a different way than when there's not enough

00:34:12.900 --> 00:34:17.810
<v Sjors Provoost>money. So the attacker or scanner, whatever you want to call it. Can see how much

00:34:17.810 --> 00:34:21.030
<v Sjors Provoost>money is actually in the channels because that's normally kept private. But if

00:34:21.030 --> 00:34:25.210
<v Sjors Provoost>that was happening a lot, you would expect a very, very high payment rate, as you

00:34:25.210 --> 00:34:29.170
<v Sjors Provoost>pointed out. And you're not seeing that. So that implies there's no probing?

00:34:29.870 --> 00:34:34.730
<v Sam Wouters>There's probably some, I would guess. I don't know for sure. There's also, I

00:34:34.730 --> 00:34:39.410
<v Sam Wouters>believe, probably many of the chain analytics companies that are trying to figure

00:34:39.410 --> 00:34:43.530
<v Sam Wouters>this kind of stuff out to see if they can sort of... reduce the privacy on

00:34:43.530 --> 00:34:46.910
<v Sam Wouters>Lightning and figure out what's going on there but there I couldn't see anything

00:34:46.910 --> 00:34:50.870
<v Sam Wouters>in the data that would indicate like this is happening at mass scale and really

00:34:50.870 --> 00:34:53.330
<v Sam Wouters>impacting sort of success rates etc.

00:34:54.290 --> 00:34:59.110
<v Aaron van Wirdum>Okay, I want to recap this, and I'm not sure if I understand this correctly. So

00:34:59.110 --> 00:35:04.010
<v Aaron van Wirdum>do correct me if I'm wrong. So generally, we have a high success rate of

00:35:04.010 --> 00:35:07.710
<v Aaron van Wirdum>payments, or at least sounds high to me. I don't know what would be considered

00:35:07.710 --> 00:35:13.470
<v Aaron van Wirdum>high, but 99% sounds kind of high to me. And then out of the 1%, so the payments

00:35:13.470 --> 00:35:17.710
<v Aaron van Wirdum>that do fail, you can basically categorize them in two categories. So one is

00:35:17.710 --> 00:35:23.280
<v Aaron van Wirdum>timeout. And one is no route available right and then there's a very small sliver

00:35:23.280 --> 00:35:27.900
<v Aaron van Wirdum>of other I'm seeing in the report do we even need to get so what's other that you

00:35:27.900 --> 00:35:29.100
<v Aaron van Wirdum>just don't know or what other?

00:35:29.100 --> 00:35:33.380
<v Sam Wouters>Others could be there is indeed there's like a error unspecified like when

00:35:33.380 --> 00:35:37.660
<v Sam Wouters>there's just some kind of issue my guess is one of the issues as well I believe I

00:35:37.660 --> 00:35:42.560
<v Sam Wouters>looked into it was that someone might send an actual manual payment but they make

00:35:42.560 --> 00:35:47.300
<v Sam Wouters>some kind of mistake in in their in their payment or in the instructions etc and

00:35:47.300 --> 00:35:51.920
<v Sam Wouters>it doesn't go through for some reason or the node could be uh offline for just a

00:35:51.920 --> 00:35:56.140
<v Sam Wouters>second or something a power outage you name it something yeah something like

00:35:56.140 --> 00:36:00.180
<v Sam Wouters>this. Could happen but that's that's such a small minority that I really believe

00:36:00.180 --> 00:36:03.960
<v Sam Wouters>focusing on the first two will give the biggest results in getting a higher

00:36:03.960 --> 00:36:04.600
<v Sam Wouters>reliability.

00:36:04.600 --> 00:36:09.460
<v Aaron van Wirdum>Okay so the first two were or the main two the two are timeout and no route

00:36:09.460 --> 00:36:15.440
<v Aaron van Wirdum>available so my first question about no route available is why would it

00:36:15.440 --> 00:36:20.280
<v Aaron van Wirdum>even get to you if there's no route available? Did you already discuss this or no?

00:36:20.380 --> 00:36:23.360
<v Sjors Provoost>Yeah, it wasn't super clear to me either, but I think it just means that the next

00:36:23.360 --> 00:36:28.840
<v Sjors Provoost>hop isn't available, which could be that you have a... So basically Lightning

00:36:28.840 --> 00:36:33.120
<v Sjors Provoost>nodes gossip around things about the network. So they'll say, oh, River is

00:36:33.120 --> 00:36:37.240
<v Sjors Provoost>connected to these other five nodes and they have channels that are this big. And

00:36:37.240 --> 00:36:40.770
<v Sjors Provoost>so somebody makes a payment based on that information. Then the payment gets to

00:36:40.770 --> 00:36:44.730
<v Sjors Provoost>River, and River's like, yeah, I'm trying to reach that other guy, but they're

00:36:44.730 --> 00:36:45.270
<v Sjors Provoost>not online.

00:36:45.510 --> 00:36:49.810
<v Aaron van Wirdum>Right. Okay, so that could be the mobile wallet, which you just mentioned. For

00:36:49.810 --> 00:36:53.670
<v Aaron van Wirdum>example right okay I got that one then yeah and then the other one would be

00:36:53.670 --> 00:36:56.630
<v Aaron van Wirdum>timeout and you mentioned that's probably Tor related I think?

00:36:56.630 --> 00:37:00.210
<v Sam Wouters>Could be that's the biggest suspicion I've heard from people so far indeed

00:37:00.210 --> 00:37:04.530
<v Aaron van Wirdum>Well I can definitely confirm because we do our meetup in amsterdam and a lot of

00:37:04.530 --> 00:37:08.730
<v Aaron van Wirdum>people try to pay with Lightning and some of the people have set it up themselves

00:37:08.730 --> 00:37:12.670
<v Aaron van Wirdum>with their wallet and then it's going through Tor and that's probably the number

00:37:12.670 --> 00:37:17.830
<v Aaron van Wirdum>one problem we we encounter when people try to pay us through their own sort of

00:37:18.050 --> 00:37:20.170
<v Aaron van Wirdum>set up which uses Tor and

00:37:20.170 --> 00:37:24.470
<v Sjors Provoost>Well they're probably using Tor in both directions so they're probably using Tor

00:37:24.470 --> 00:37:29.530
<v Sjors Provoost>to connect to their home wallet in the first place and then that wallet itself is

00:37:29.530 --> 00:37:34.230
<v Sjors Provoost>connected through Tor to the next hop on the Lightning network route so yeah that

00:37:34.230 --> 00:37:34.930
<v Sjors Provoost>can get slow.

00:37:34.930 --> 00:37:38.530
<v Sam Wouters>Yeah makes sense maybe to give a little more context actually I was just thinking

00:37:38.530 --> 00:37:42.970
<v Sam Wouters>like we've shared the the number of transactions the payment success rate it's

00:37:42.970 --> 00:37:45.650
<v Sam Wouters>also interesting to know I guess for people like for what kind of size of

00:37:45.650 --> 00:37:49.210
<v Sam Wouters>transactions is that because you know it's really easy to have an extremely high

00:37:49.210 --> 00:37:54.310
<v Sam Wouters>success rate if people are just sending one cent so to speak or one Satoshi worth

00:37:54.310 --> 00:37:59.040
<v Sam Wouters>but the average transaction size was 46 dollars Which to me, the first thing was

00:37:59.040 --> 00:38:02.140
<v Sam Wouters>like, I had to quadruple check if this was correct, because it seemed really high

00:38:02.140 --> 00:38:06.480
<v Sam Wouters>for Lightning given the current on-chain fees. But it gets skewed upwards very

00:38:06.480 --> 00:38:10.200
<v Sam Wouters>high by like, we have high capacity on the nodes. So obviously larger

00:38:10.200 --> 00:38:13.580
<v Sam Wouters>transactions are a bit more likely to come through us and some of the others in

00:38:13.580 --> 00:38:18.080
<v Sam Wouters>the top capacity nodes. But then I had to look at the median size and it was

00:38:18.080 --> 00:38:22.680
<v Sam Wouters>about $5. So that seems a lot more realistic and sort of around what you might

00:38:22.680 --> 00:38:25.880
<v Sam Wouters>expect, given the fact that there will still be large transactions that people

00:38:25.880 --> 00:38:30.730
<v Sam Wouters>just... trying things out. So that gives a little bit of an idea, like this is

00:38:30.730 --> 00:38:34.050
<v Sam Wouters>sort of the median transaction size for which that payment success rate is there.

00:38:34.210 --> 00:38:37.650
<v Sam Wouters>And I had a look at some of the earliest data I could find in terms of payment

00:38:37.650 --> 00:38:43.350
<v Sam Wouters>success rates on Lightning from, so I believe from 2018 or might be 2018. Yeah. A

00:38:43.350 --> 00:38:49.230
<v Sam Wouters>$5 transaction failed 50% of the time ish. So that's quite a jump there.

00:38:49.370 --> 00:38:55.360
<v Aaron van Wirdum>Right. And I would assume that the bigger the payments, the bigger the [unclear]

00:38:55.360 --> 00:38:55.980
<v Aaron van Wirdum>will fail…

00:38:56.480 --> 00:39:01.660
<v Sam Wouters>That was the assumption initially as well, but due to the size that the Lightning

00:39:01.660 --> 00:39:05.620
<v Sam Wouters>Network is at at the moment, we had a look at as well as how many transactions

00:39:05.620 --> 00:39:09.280
<v Sam Wouters>have we done over a Bitcoin, for example, worth, as there are some large

00:39:09.280 --> 00:39:12.260
<v Sam Wouters>channels. But typically when people try these, they're...

00:39:12.260 --> 00:39:13.660
<v Aaron van Wirdum>Over a Bitcoin? Is that what you said?

00:39:13.940 --> 00:39:14.180
<v Sam Wouters>Yeah.

00:39:14.840 --> 00:39:15.820
<v Aaron van Wirdum>Over the Lightning Network?

00:39:16.020 --> 00:39:16.160
<v Sam Wouters>Yeah.

00:39:16.560 --> 00:39:16.780
<v Aaron van Wirdum>Okay.

00:39:17.200 --> 00:39:20.300
<v Sam Wouters>I believe we've routed four, one of our developers.

00:39:20.480 --> 00:39:20.620
<v Aaron van Wirdum>Really?

00:39:20.800 --> 00:39:23.640
<v Sam Wouters>Yeah. This was yeah but but.

00:39:23.640 --> 00:39:25.780
<v Aaron van Wirdum>I'm guessing that would skew the average?

00:39:25.780 --> 00:39:30.240
<v Sam Wouters>Yeah and that's why but but actually yeah hence why I looked at the median to

00:39:30.240 --> 00:39:35.060
<v Sam Wouters>exclude those indeed but yeah looking at the stats there it gave gave some

00:39:35.060 --> 00:39:38.860
<v Sam Wouters>insights in sort of how have things progressed ever since so that's I think

00:39:38.860 --> 00:39:41.960
<v Sam Wouters>relevant context for people to understand when we talk about these numbers.

00:39:41.960 --> 00:39:45.580
<v Sjors Provoost>I mean keep in mind that if you're sending a Bitcoin to another node you're

00:39:45.580 --> 00:39:48.720
<v Sjors Provoost>probably sending it to some node like through a bunch of channels that are very

00:39:48.720 --> 00:39:52.750
<v Sjors Provoost>high highly reliable you're not sending it to some random mobile wallet on Tor so

00:39:52.750 --> 00:39:54.990
<v Sjors Provoost>I would imagine that the success rate would be higher.

00:39:54.990 --> 00:39:58.570
<v Sam Wouters>Yeah that's actually the point I wanted to make but I kind of lost my train of

00:39:58.570 --> 00:40:01.330
<v Sam Wouters>thought there but indeed like likely when people are sending such large

00:40:01.330 --> 00:40:05.430
<v Sam Wouters>transactions they're going to just manually take a look at you know could I

00:40:05.430 --> 00:40:09.510
<v Sam Wouters>actually get this through is it there or not so I believe at the current stage

00:40:09.510 --> 00:40:13.710
<v Sam Wouters>you can't say a lot about it yet there's probably you know reliability might drop

00:40:13.710 --> 00:40:18.790
<v Sam Wouters>a little bit when you start sort of messing with the threshold of the sort of

00:40:18.790 --> 00:40:24.480
<v Sam Wouters>upper x percentile of the channel sizes but uh yeah for the most part it seems to

00:40:24.480 --> 00:40:26.180
<v Sam Wouters>be pretty reliable.

00:40:26.180 --> 00:40:29.320
<v Sjors Provoost>Yeah and if you want to know a little bit more about routing you should listen to

00:40:29.320 --> 00:40:34.840
<v Sjors Provoost>the episode I did a year ago with Rene Pickhardt about optimally reliable payment

00:40:34.980 --> 00:40:39.960
<v Sjors Provoost>yada yada yada But anyway, a smart way to split transactions into things. And he

00:40:39.960 --> 00:40:44.760
<v Sjors Provoost>looks at, he talks about metrics. Like if the channel is, you don't know what the

00:40:44.760 --> 00:40:49.420
<v Sjors Provoost>capacity of a channel is. So your best guess might be half, basically. So your

00:40:49.420 --> 00:40:52.160
<v Sjors Provoost>best guess might be the half of the money is on one side and the other half of

00:40:52.160 --> 00:40:55.080
<v Sjors Provoost>the money is on the other side. And you can do some reasoning from there.

00:40:56.060 --> 00:41:00.080
<v Aaron van Wirdum>Also, we did an episode with Joost Jager. That was also about routing, right?

00:41:00.380 --> 00:41:00.480
<v Sjors Provoost>Yep.

00:41:02.310 --> 00:41:07.710
<v Aaron van Wirdum>Okay well so we discussed why Lightning payments can fail and I think do we

00:41:07.710 --> 00:41:08.790
<v Aaron van Wirdum>discuss everything about that?

00:41:09.720 --> 00:41:11.320
<v Sjors Provoost>I think so yeah.

00:41:11.320 --> 00:41:14.600
<v Aaron van Wirdum>Okay next topic this will be the last topic of this podcast.

00:41:16.100 --> 00:41:18.560
<v Aaron van Wirdum>Lightning infrastructure for business.

00:41:20.480 --> 00:41:26.240
<v Sjors Provoost>Yeah, you mentioned that River is running a Lightning node as a service. So

00:41:26.240 --> 00:41:29.740
<v Sjors Provoost>basically instead of the clients having to run their own Lightning nodes, you run

00:41:29.740 --> 00:41:34.360
<v Sjors Provoost>it for them and they just use an API that makes their life easier. And you've

00:41:34.360 --> 00:41:36.120
<v Sjors Provoost>discovered some things that are important.

00:41:36.610 --> 00:41:37.050
<v Sam Wouters>Yeah.

00:41:37.170 --> 00:41:37.690
<v Sjors Provoost>When doing that.

00:41:38.130 --> 00:41:42.470
<v Sam Wouters>Yeah. So actually River has been offering this for a while, but to just one

00:41:42.470 --> 00:41:48.350
<v Sam Wouters>client to try things out, which is El Salvador's Chivo wallet. We offer the

00:41:48.350 --> 00:41:51.970
<v Sam Wouters>API for them to route any Lightning transactions that people want to do through

00:41:51.970 --> 00:41:57.370
<v Sam Wouters>the app through our nodes. And what this essentially does is it makes life easier

00:41:57.370 --> 00:42:01.050
<v Sam Wouters>for the developers of this app instead of them having to spend part of their time

00:42:01.050 --> 00:42:05.110
<v Sam Wouters>on keeping nodes online. Updating them making sure they always have enough

00:42:05.110 --> 00:42:10.090
<v Sam Wouters>liquidity etc that responsibility is transferred to us which also means that if

00:42:10.090 --> 00:42:14.310
<v Sam Wouters>Lightning payments fail people look at us like well essentially the clients look

00:42:14.310 --> 00:42:18.110
<v Sam Wouters>at Chivo and they're like why is it not working but Chivo looks at us like hey

00:42:18.110 --> 00:42:21.410
<v Sam Wouters>you have to make sure this works as often as possible and thus why I mentioned

00:42:21.410 --> 00:42:22.750
<v Sam Wouters>earlier our focus is very much…

00:42:22.750 --> 00:42:28.610
<v Aaron van Wirdum>I want to specify something real quick here if it Chivo user pays a

00:42:28.610 --> 00:42:32.710
<v Aaron van Wirdum>Chivo user it doesn't use Lightning right that's just custodial so we're talking

00:42:32.710 --> 00:42:35.990
<v Aaron van Wirdum>about yeah Lightning payments from Chivo to some other Lightning.

00:42:35.990 --> 00:42:36.590
<v Sam Wouters>Specifically.

00:42:36.590 --> 00:42:38.130
<v Aaron van Wirdum>Yeah okay go on.

00:42:38.130 --> 00:42:43.470
<v Sam Wouters>Exactly yeah so if people want to use the Lightning like essentially if the

00:42:43.470 --> 00:42:46.090
<v Sam Wouters>clients want to use the Lightning network we need it to be as reliable as

00:42:46.090 --> 00:42:49.350
<v Sam Wouters>possible as I mentioned earlier that's really why that's the focus but initially

00:42:49.350 --> 00:42:54.010
<v Sam Wouters>like build this up with this as a first client and then recently sort of came out

00:42:54.010 --> 00:42:57.130
<v Sam Wouters>about it and shared it with the industry as initially a lot of people thought

00:42:57.130 --> 00:42:59.830
<v Sam Wouters>that Strike was doing this but it actually wasn't the case.

00:43:01.290 --> 00:43:03.470
<v Sam Wouters>But that was sort of the first client.

00:43:03.550 --> 00:43:07.030
<v Aaron van Wirdum>Wait, so was River doing it from the start or did River jump in later?

00:43:07.290 --> 00:43:08.230
<v Sam Wouters>No, from the start.

00:43:08.330 --> 00:43:08.550
<v Aaron van Wirdum>Okay.

00:43:09.030 --> 00:43:13.090
<v Sam Wouters>So from there on out, like we learned a lot by doing this and then made this

00:43:13.090 --> 00:43:18.070
<v Sam Wouters>product public where now other people and developers, et cetera, can look into

00:43:18.070 --> 00:43:23.910
<v Sam Wouters>this API. If anyone's interested, the website is rls.dev. But you can also find

00:43:23.910 --> 00:43:25.590
<v Sam Wouters>it through the River website.

00:43:27.560 --> 00:43:31.020
<v Sam Wouters>And it's essentially, as mentioned, it's an API so that you can route these

00:43:31.020 --> 00:43:34.800
<v Sam Wouters>payments through. And the first immediate thought that people have like, oh, but

00:43:34.800 --> 00:43:37.800
<v Sam Wouters>that's centralized. But then everything goes through River's nodes or something.

00:43:37.900 --> 00:43:42.120
<v Sam Wouters>That's a problem for the Lightning Network. But I see this very similar to when

00:43:42.120 --> 00:43:46.540
<v Sam Wouters>you tell a friend about Bitcoin and they're pretty excited about it. They're

00:43:46.540 --> 00:43:50.460
<v Sam Wouters>like, all right, I'll buy a little bit. In many cases, they'll buy a bit and put

00:43:50.460 --> 00:43:54.280
<v Sam Wouters>it on an exchange and keep it there. And that's not really the experience that

00:43:54.280 --> 00:43:58.720
<v Sam Wouters>veteran Bitcoiners like to see, but it at least makes them take that first step

00:43:58.720 --> 00:44:03.600
<v Sam Wouters>so they can then start learning more about self-custody, sort of evaluate what is

00:44:03.600 --> 00:44:08.200
<v Sam Wouters>the impact for this on me, on my life, on my Financial decisions. And that's a

00:44:08.200 --> 00:44:13.020
<v Sam Wouters>really first important hurdle to overcome. And in a similar way, if companies

00:44:13.020 --> 00:44:17.460
<v Sam Wouters>want to start taking Lightning seriously and accept it as a payment method, etc.,

00:44:17.460 --> 00:44:21.390
<v Sam Wouters>but they don't necessarily want to... have a developer that spends a lot of time

00:44:21.390 --> 00:44:26.400
<v Sam Wouters>on this then they can use such a service and sorry…

00:44:36.170 --> 00:44:40.650
<v Sam Wouters>So if a company wants to use the Lightning Network, but doesn't necessarily want

00:44:40.650 --> 00:44:45.030
<v Sam Wouters>to put a full-time developer on this, then this makes it far more accessible for

00:44:45.030 --> 00:44:48.990
<v Sam Wouters>them to get started. And if they then take it very sort of seriously and it's

00:44:48.990 --> 00:44:53.310
<v Sam Wouters>promising numbers, et cetera, then they can use it to like use that position to

00:44:53.310 --> 00:44:56.670
<v Sam Wouters>then reevaluate. Do we maybe want to run our own infrastructure? So it's the

00:44:56.670 --> 00:44:59.650
<v Sam Wouters>first important step for businesses to want to consider this.

00:45:00.840 --> 00:45:04.940
<v Sjors Provoost>Yeah, and something I brought up yesterday, I don't know if the answer to that is

00:45:04.940 --> 00:45:07.900
<v Sjors Provoost>known, but you mentioned there's four people working on Lightning. Well, there's

00:45:07.900 --> 00:45:11.020
<v Sjors Provoost>four developers, but they're maybe doing even more than just Lightning.

00:45:11.620 --> 00:45:12.760
<v Aaron van Wirdum>You mean at River?

00:45:13.160 --> 00:45:18.680
<v Sjors Provoost>Yeah, exactly. And that might sound very large, but I have seen companies that

00:45:18.680 --> 00:45:23.680
<v Sjors Provoost>run altcoins and they will have a bigger team on their Ethereum node. So by the

00:45:23.680 --> 00:45:26.660
<v Sjors Provoost>standards of, you know, compared to running a Bitcoin node and doing on-chain

00:45:26.660 --> 00:45:30.360
<v Sjors Provoost>payments, it's definitely more complicated. But is it more complicated than

00:45:30.360 --> 00:45:33.800
<v Sjors Provoost>certain altcoins to manage these nodes? I don't know the answer to it. My guess

00:45:33.800 --> 00:45:39.730
<v Sjors Provoost>is it's somewhere in between a very, like, very demanding altcoin. And a

00:45:39.730 --> 00:45:42.830
<v Sjors Provoost>much simpler altcoin or something like that. So that's another basis of

00:45:42.830 --> 00:45:47.630
<v Sjors Provoost>comparison you can have. So it's not that you will only have River to run the

00:45:47.630 --> 00:45:52.970
<v Sjors Provoost>only custodial Lightning or the only hosted API for a Lightning node. There could

00:45:52.970 --> 00:45:57.810
<v Sjors Provoost>be a lot of companies offering that service, and you can just swap out to a

00:45:57.810 --> 00:45:58.770
<v Sjors Provoost>different one if you don't like it.

00:45:58.450 --> 00:45:58.850
<v Sam Wouters>Yeah, exactly.

00:45:59.130 --> 00:46:02.910
<v Sjors Provoost>Or do it yourself if you have more than four people available or something like

00:46:02.910 --> 00:46:04.010
<v Sjors Provoost>that. Maybe the number is lower.

00:46:05.110 --> 00:46:11.070
<v Sam Wouters>So initially when Lightning started growing and becoming people who were

00:46:11.070 --> 00:46:15.950
<v Sam Wouters>very vocal about it being a scaling solution for Bitcoin, they sort of started to

00:46:15.950 --> 00:46:20.970
<v Sam Wouters>push exchanges to adopt it without really realizing how much work is involved in

00:46:20.970 --> 00:46:23.790
<v Sam Wouters>doing this. And typically exchanges, they're big enough to be able to do this. So

00:46:23.790 --> 00:46:28.510
<v Sam Wouters>I'd say definitely keep sort of pushing them to take some action. But for a lot

00:46:28.510 --> 00:46:31.930
<v Sam Wouters>of businesses, if they would like to do this, there's a fair bit of work

00:46:31.930 --> 00:46:37.090
<v Sam Wouters>involved. It's not something to overlook. So this just helps it to make it more

00:46:37.090 --> 00:46:40.510
<v Sam Wouters>accessible for them. And then they can essentially play with it themselves, see

00:46:40.510 --> 00:46:44.090
<v Sam Wouters>what demand is like from their customers and get a first good look.

00:46:44.270 --> 00:46:47.790
<v Sjors Provoost>Yeah. And sharing the resource of liquidity probably helps in general, right?

00:46:47.890 --> 00:46:51.540
<v Sjors Provoost>Because you have to lock up. Quite a bit of liquidity in order to have a good

00:46:51.540 --> 00:46:56.200
<v Sjors Provoost>experience so if you can share that burden with multiple businesses that might

00:46:56.200 --> 00:46:57.060
<v Sjors Provoost>make sense yeah.

00:46:57.060 --> 00:47:03.040
<v Aaron van Wirdum>Okay I would assume in general if you're gonna put in man hours to add something

00:47:03.040 --> 00:47:06.600
<v Aaron van Wirdum>to an exchange you're running an exchange you want to add something it's probably

00:47:06.890 --> 00:47:11.710
<v Aaron van Wirdum>more profitable to just add some shitcoin that people trade rather than yeah add

00:47:11.710 --> 00:47:15.510
<v Aaron van Wirdum>Lightning because people can already use Bitcoin on chain right yeah that's

00:47:15.510 --> 00:47:18.930
<v Aaron van Wirdum>probably the reason that a lot of exchanges haven't integrated Lightning although

00:47:18.930 --> 00:47:21.930
<v Aaron van Wirdum>it is growing now some have some are starting to adopt it.

00:47:21.930 --> 00:47:26.010
<v Sam Wouters>Yeah definitely and I think that's totally correct what you're saying and for us

00:47:26.010 --> 00:47:29.150
<v Sam Wouters>it's nice because we're just Bitcoin focused we don't have to worry about all

00:47:29.150 --> 00:47:33.220
<v Sam Wouters>these other coins and integrations and you name everything So it's really

00:47:33.220 --> 00:47:36.980
<v Sam Wouters>exciting to just focus on this and try to help it grow as much as possible.

00:47:38.430 --> 00:47:43.330
<v Sjors Provoost>Thank you for coming and explaining all this interesting stuff to us. And dear

00:47:43.330 --> 00:47:45.070
<v Sjors Provoost>listeners, thank you for listening to Bitcoin.

00:47:45.690 --> 00:47:46.130
<v Aaron van Wirdum>Explained.

