TFTC: A Bitcoin Podcast - #174: Antoine Riard
Episode Date: June 29, 2020Join Marty as he sits down with Bitcoin Core contributor Antoine Riard to discuss: - Onboarding millions onto the Lightning Network - BIP 157 - Full nodes - Bitcoin Core wallet refactoring - AltNet - ...Time-dilation attacks on the LN - CoinPool - Schnorr + Taproot - much more Find Antoine on the bitcoin-dev mailing list and in IRC Shoutout to this week's sponsors. Cash App. Start #stackingsats today. Use the promo code: "stackingsats" to receive $10 and contribute $10 to OWLS Lacrosse when you download the app.
Transcript
Discussion (0)
What's up freaks, it's your boy Marty here to introduce this episode of Tales from the Crypt.
A demented pleasure of sitting down with Bitcoin Core contributor Antoine Riard.
We sat down in person, first in person interview in quite some time.
Very special interview for me because it was good to get back in the studio
and be able to see somebody's face while I'm interviewing them,
get some social cues, drink some wine.
Very, very fun episode, long one.
Long rep, three hours, I think you guys are going to like it.
This episode is brought to you by our good friends at the Cash App.
You freaks already know all about them.
They're helping you stack sats.
They're helping you send sats.
They're helping you receive sats.
Letting you sell sats, if you so please.
And on top of that, they're allowing you to make sats the standard.
You're not stacking fractions of bitcoins anymore.
You're stacking whole sats.
Mentally, it's a lot more pleasing that way, in my opinion.
On top of that, they have Cash App Investing.
If you want to stack slivers to stonks, you can do that on the Cash App.
If your favorite stonk is a little too expensive, you can buy as little as $1 because it's connected directly to your bank account.
There's no 4-5 day waiting period.
You can start stacking sats today.
And guess what? Cash App may even be your bank account.
They're allowing individuals to direct deposit into the app.
You get accounting numbers, routing numbers, and you can use the Cash App as your bank if you so please.
Cash App investing is a subsidiary of Square and member SIPC.
As always, make sure you use the code stacking sats.
That's one word, S-T-A-C-K-I-N-G-S-A-T-S.
You're going to get $10, and $10 is going to go to our good friends
at Owl's Lacrosse in Chicago.
That's Owl's Lacrosse, not Al, not that dirtbag Al
with some weird issues.
Owl's Lacrosse.
Woo, woo, woo, woo.
Download the Cash App.
Use the code STACKINGSATS.
Enjoy this episode with Antoine.
It was a pleasure sitting down with him.
I wish him well on his journey back to France.
Bitcoin wins.
In the world of fiat currencies, Bitcoin is the victor.
I mean, that's part of the bull case for Bitcoin.
If you're not paying attention, you probably should be.
What is up, freaks?
Welcome back to Tales from the Crypt.
It's your boy, Marty Bent here.
This is a very special Thursday night.
This is the first live interview, in-person interview.
Not live, in-person.
It's making me feel alive.
I'm not looking at somebody through a computer screen.
I can know for sure that this person exists and I'm not getting an AI version of somebody on the other line here.
I'm sitting down with Bitcoin Core contributor Antoine Riard.
Antoine, welcome to the podcast.
Thanks, Marty.
Thank you for coming and have wine with me throughout all this.
I've, like I said, been interviewing people over Zoom.
Sorry to say that.
Conversation is recorded, so it's going to be put public anyway, so I don't mind using Zoom for that.
But I do think them centering Chinese activists, that's another conversation for another day.
Looking for other software.
Yeah, so my big friends are going to mock me right now because I've been like pretty demanding privacy concerns.
But I made a mistake towards someone these past months, and this is part of my excuses.
So, yeah.
What's the mistake?
This?
uh this person knows okay it's between you and that person maybe we'll find out one day
what the hell's going on we met you said over a year ago i can't believe it's been a year since
we first met at bit devs almost a year ago then we had uh beers after bit devs very passionate
conversation it was you um fabian yar elikai i was there for sure yeah you're sitting at a table
talking about what you guys were going to embark on starting your chain code residency yeah i mean
the residency was just started uh i think personally it was my third day in new york
i just arrived morning of 12th june last year and directly getting started in the residency
and getting the flow meeting everyone uh switching to an english context and uh first day was just
introduction for us and we
started hard. Like we started hard
Thursday was Matt
on the Bitcoin ecosystem
Bitcoin history and
in the afternoon if I remember correctly
it was like
Ethan Amon on like Eclipse attacks
and this kind of stuff and
the third day
our big day
was Sir Austin
peer-to-peer and Julia
Fenty on privacy
on the peer-to-peer layer
and we had like this awesome beat there yeah yeah i think i remember peter wool was there
sippa was there not this one not that one no that was for the oh that was number 100 exactly
yeah it was socratic meetup number 100 getting the mixed up yeah i'm like i miss yeah it was
like quite like it was a blast my first beat day if i really remember like you arrive in new york
and you enter into this room and you have like 200 people it was really crowded like the first
one like last summer there were a lot of people and you have like um few uh bitcoin protocol
developers uh more than five like more than you can count in your hand and you have like really
intense debate for two hours and people got i mean sharing knowledge and it's it's really like
it was really special for us like to start the residency like this it's always a magical
feeling in bit devs um i miss it terribly and i'm going to miss it uh when i when i leave new york
but i'll come up for some more bit devs uh throughout the years so what was the you came
from france uh what was what was that culture shock like from from a bitcoin community perspective
and then from a france to new york perspective okay so you were explaining well there's probably
like 20 Bitcoiners in France or Paris?
No, I mean, we are the awesome community.
I haven't seen most of them since Hawaii now
because I've been in New York.
But it's really like,
it's really more like friendly one.
People are more hanging out together,
but not that much technical.
We don't have like,
they used to have technical presentation.
We don't have anymore.
We don't have like big day
where you have like people gathering links and going systematically through every link
and trying to engage conversation and trying to make people think about it
and trying to prevent people doing mistakes with hardware wallets.
And yeah, I think like that much people are interested in really deep technical stuff.
Yeah, it's right.
Like, I do love those dinner meetups where you're just shooting the shit, getting cosmic about the future of Bitcoin.
But BitDev is special in that.
You really dive into the technical details.
You don't understand Bitcoin if you have never been to one BitDev instance.
And it can be the New York one, but I've been lucky.
I think I've done BitDev on three continents.
Oh, really?
What other BitDevs have you been to?
Okay, I've done one in London.
And I think my best one was in Tel Aviv for scaling Bitcoin last year.
Who Michael Fulkson runs, London Crypt.
Yeah.
Yeah.
It was.
Yeah.
And then is Udi running Tel Aviv or no?
Tel Aviv was a special one for scaling Bitcoin last year.
Yeah.
Yeah.
It was really good.
Like we were like in the embassy, Bitcoin embassy there.
It was too much crowded, but it was a good one.
Three hours one and we are like, John was really good.
It was really good.
John Newberry was leading it?
Yeah, John Newberry.
Shout out to John Newberry.
John, I miss you if you're listening.
So speaking of John Newberry, legend at Chaincode Labs, what's your residency been like?
What has it been like since that first week?
Okay, the first week.
You don't have to go week by week.
I think I can quote from memory.
I can quote from memory every day of the, I mean, the first three weeks of the memory
of the residency, because each day was, like, you know, each day we are, like, different
presentation, different topics, so I talked about the first three of them.
The fourth one was EDKI on double-spin attacks, and us doing presentation for the other resis.
The second week of the residency was mostly digging into Bitcoin Core
with the help of John, actually, and going through the wallet,
going through the different security model of Bitcoin Core,
going through the validation engine,
going through us doing more presentation on the bips.
And you learn about really weird stuff.
You know, like, I think one of my, I mean,
we had this presentation by Eli Kai on OpVer.
And I'm not sure if you know about OpVer.
OpVer?
It's an opcode in Bitcoin script.
V-E-R?
Yeah.
Yeah.
And so it was parsing the version of the software
directly on the stack.
Hmm.
Yeah.
Is that like an auto-update?
like this opcode was letting you fork like like if you use this opcode between different versions
you will just fork the network it'd be like a branch exactly it was like this kind of wrong
drawing of satoshi design it was like uh disabled in 2010 or something like this but it was really
good doing like doing this kind of can you find it here oh maybe it's okay so i never think this
book this book is bitcoin v0.01 alpha wow i mean there is really a book about that yeah there's a
book shout out to uh copyrights
i just put it right it's not open source i think it's not creative commands all right
okay imagine maybe okay let's well okay if they're up there up there okay i can't find it
It's, let me find it.
Yes, it is.
It's here.
You just turned two pages and found it.
On the left one.
So it's up, not, up, ver, up, if, up, not, if, up, ver, if.
Yeah.
So how does it differ from up, ver, if?
I think it was doing the same, but doing some kind of control
flow.
Like if, if I don't know, I don't read,
I haven't read this opcode,
but I think he was doing something like
if version is something branch left or branch right.
Yeah.
Yeah.
So, so it was a second week of the residency was beacon core,
like beacon core controls.
So has Opvair been deprecated?
Opvair was?
Has it been like taken out of the code base?
I hope so because if not,
If not, I mean, I can fork the network, like, tonight.
Well, let's hope it's out.
Yeah.
I haven't checked.
Well, and the third week was, okay,
I think it was the first in-person training
of lightning developer in the world,
for the first time in history.
And it was really, like, really cool
because we had, like, Christian Deckard,
Rene Picard, we had Fabrice Durand from Async,
and we had alex bosworth from liking labs and we had um we're like and we were actually to have
touch uh touch doing some liking stuff touch yeah exactly yeah that's what we'll get to that later
in our conversation but i want to talk about discrete log contracts at some point yeah yeah
for sure uh and that was like our three weeks of training the liking one was still experimental
because people are just doing presentations on stuff they released like a week ago on the main
list or two weeks ago and it wasn't spec out at all so a lot of you know not unraving but just
giving you the high level ideas and three weeks of formation education deep education and when
you are done with this you start the coding part you start like the project part which was
completely different but awesome too and you're thinking about what you're going to work on to
this three-week period right or do you come in knowing sorry do you come in to the whole residency
knowing what you're going to work on after that three-week period or you sort of figure it out
okay i used to work already on uh when i started the residency i was working on
Rust Lightning since
10 months, months.
And
I was working on Bitcoin Core already
before the residency, just getting started
at that point. So
I think I split my residency
between bouncing back between
Rust Lightning and Bitcoin Core.
It was really cool. Did you know that
going in though or did you just decide
a couple weeks in, here's what I want to focus on?
I already know that
I already like big
Rust Lightning pure painting
before starting the calling station.
And I was just willing to get the merge.
We got the merge with Matt.
It was like, okay, it would be interesting
to speak about this after,
but it was like really experimental stuff
on dynamic fee bumping,
which is for Nike really important.
And then I started to do like in-depth refactoring
of the wallet and the node interactions.
and like i'm not sure if people are really aware of um the historical and like how much blotted
was the code base yeah it's we've talked about it on this show before but to refresh your freaks
memories in bitcoin core at least we're fixing a lot of things that satoshi sort of didn't think
through in the design too well whatever and one part being that the node in the wallet are sort
to connect and it's hard to develop on one section because the other sort of entangled yeah i mean
like the code path of the i mean if you take the code from 2010 or 2011 the the code path of you
know like marking an output for spending or something like this and validation were just
like the same like these lines were just following each other and part of my work there were just
like splitting the locking between the wallets and in the main port and it was
like it was there since Satoshi and so in getting there like I started to I
started doing its you like last year and my main peer on this was marriage in
April of this year so it took me like 280 days something like this that's
pretty crazy nine months of us yeah you've been working on this Russian
pretty closely for with Russ you know yeah yeah Ross helped me a lot like I
mean it has been like he was working already on multi process and I just like
he has a bench of okay I started to work on this part of the code base of beacon
core code base because you know I was working on rust lining at some point I
was you know what I'm going to take the rest line implementation and I'm going
to plug the backend of Bitcoin Core.
And I was naive, because there is no such ready
to plug Bitcoin Core backend.
So I was like, okay, let's try if I can clean the bits.
Let's try if I can, I knew about the multiprocess work,
and I just start to solve to do in the codebase
and trying to, you know, I have in mind
what should be the backend for Lightning nodes
and how it should be easy to plug it to Bitcoin Core.
It's not something, it's still today, it's not something.
But he was learning a lot,
like trying to push him forward on this side.
And yeah, Ross helped a lot.
And multiprocess is going forward.
It's going forward, like there is currently
one of the big last peer on multiprocess
has been opened like two weeks ago by Ross.
Oh really?
Yeah.
And this is like sort of the...
The build system part has been merged.
The one I was mentioning, the inter-process one,
lets you actually talk between your GUI and the Bitcoin node.
Yeah, that's what I was saying.
You don't want to talk about it because you haven't been in the GUI too much.
But the GUI just got its own GitHub page, correct, Marcos?
I think it merged.
I think it's still a proposal right now.
I mean, okay, so we are like this talk on IRC.
two weeks ago, and people at that point are like just,
you know, it's starting to be a big open source project,
and how do you, like, cognitively scale,
like, a project of this size, and, you know, like,
mangers, like, they have to, at least to be sure
that each peer are not going to touch, you know,
GUI changes are not going to touch validation ones.
And even if in the name of the peer,
you have this is a GUI peer, you have to check the files,
you have to check.
And being able, it's really likely
it's going to stay in the same tree.
But being on a separate GitHub project will let people,
maybe people who are willing to contribute
of the GUI, it would be less daunting for them
to make a change without touching.
Yeah, it's like a staging ground.
Yeah, a staging ground.
We'll see, it can be worse,
because the GUI is not that much.
I don't know that much people
who are actively working with the GUI.
There is few of them, and it's pretty cool.
Yeah, it's trying to have a beacon core more modular.
Mutual process is part of it, refactoring the interface,
between components, it's part of it.
Getting the GUI on its own repo, it's part of it.
Yeah, it's .
So for a dumb, non-technical pleb like me,
the way I understand a GUI, the Graphic User Interface,
Graphical User Interface, whatever it is,
is it just UX, UI on top of the protocol,
just pulling data and displaying it?
Is it that too simplistic?
Well, like you said, there is a GUI between core.
There's a lot of people using it.
I'm not one of them.
I didn't want to bring it up and call you out, but you did it yourself.
How are you going to know the user's experience?
Okay.
Download the GUI tonight.
No, no.
The GUI is part of the code base by default.
You don't use it.
you know what i will tell you like a little secret there is like combining flag to disable degree
so i don't have to compile it agree when i'm running you can call there's a combining what
a compiler's flag oh compilers file so you just go from compile yeah and you don't yeah i mean
do you just pseudo whatever oh yeah something like this yeah yeah and but yeah i mean residency i
I spent digging into the wallet.
I spent learning about the code base,
learning about beacon core review process.
It's quite like, it's really like something
which is really a part, I think, as an open source project.
The review process is something like really like resource,
really heavy, and when PR are starting to touch critical parts of the code base, you
have a lot of people caring about it, you have abos on it, and it's going to go through
multiple rounds.
People are going to, okay, at the high level, do we need to do this change?
like you know it is worthy to burn like maybe 1 000 hours of people hours yeah that's but 1 000
hours of people bandwidth yeah and even if it sounds like it can be an improvement you have
at some point to you know like wait wait between and then you get into the whole again game
theoretical opportunity cost discussion of how long should we discuss this yeah
Well, I've not seen yet economic studies of people who use times and how maybe we can
came up with some kind of stochastic process, you know, like randomly picking up here and
like assigning people to it.
Maybe it can work.
But, you know, it can be like some kind of weird cocktails doing this.
And I'm not good at picking up cocktails or not.
like yeah so you like to start fresh uh yeah i mean like so beacon core review process it's
you start by the audio level and then you start the coding part and i think it's um
that's something like if you're doing a lot of review and i like reviewing personally
so like asking you what's your review methodology you know like close your laptop
take a pen take a paper and write down what's your review methodology you know
Like, do I open the code first and, like, read the code, like, dumbly or, like, mechanically
during the first pass?
Or, like, I'm going to try maybe the description of the PR by its author.
If we are implementing a BIP, maybe I should read the BIP first.
Is the BIP going to match the code?
Is the BIP, like, descriptive enough?
You know?
And that's something you can't,
that's something we're always improving at.
That's something we should,
there's always ways to do it better.
And the great thing now,
like people,
we start to be like more explicit about it.
The Bitcoin Core Review PR Club
is just doing a nice homework here.
And this happens at IRC, right?
Yeah, it's on IRC.
every Wednesday in the morning, 1 p.m. in New York time.
Yeah, it's like 1 p.m.
It's also because people just go through some PR,
explain what markers to look there.
I mean, if it's something which is heavy cryptographically,
like is it making sense?
Is the algorithm correct?
Is there a way to improve performance with the better data structures?
Is this documentation good enough?
Is it described being good enough for the future reviewers, for the future people who
are going to use the part of it?
Unborn reviewers at some point.
Unborn, yeah.
It's unborn reviewers.
It's doing an awesome work at unborn reviewers.
And honestly, if you learn something working on core, the bottleneck is not writing code
because writing code is okay, you know what I mean?
Like even C++, that's okay.
It's review, right?
Attracting people and being sure that people are going to be,
being sure we are doing reviews in a short span of time
and being sure that, you know,
you're not going to let three months
between two reviews on it
because you have to get back to the whole conversation
Yeah, because it's all a very moving target, right?
Because there's reviews going on another part of the code.
So being a chain code for the residency,
I had, like, awesome...
It was really...
It was an awesome opportunity getting faster
and learning faster about the review process.
I think at the end of the residency,
I was starting to get into the loop,
the reviews loop, yeah.
So it was three months last summer.
Has it been worth that time investment
to learn the process?
The residency?
Yeah.
I don't see how it could have been like.
We can, like,
I think it was the first time
the residency was so long.
But there was no better way
of getting Bitcoin protocol development.
And I've been like,
it has been an awesome opportunity.
And I'm really like,
thankful towards John and Jonas
who have organized and sweat numbers of hours on it
and make things really, really good for us
to just do good code.
Two legends.
Two legends of the game.
They're great.
Well, before we hop on to your work,
I want to stick on the review process here.
And you were mentioning get out the pen and paper
and tell me how you review.
So what are the different ways in which people...
Do some people just run the code and see how it runs?
Few hints. First, you should ask yourself, is this a documentation peer? Is this a refactoring peer?
Is this peer implementing a new BIP, like the Taproot one or like LA?
Is this peer, and there is like a second matrix to run, what's the risk of missing out this peer?
Like, if we fucked up the review process of this peer, what can break?
you know, are we going to just break the GUI?
Are we going to break the wallet?
Are people may misuse the neural PC
and overpay fees or something like this?
Or are we touching like the core validation giant?
Are we doing some kind of removing some SMU TXO pure,
which is doing complex refactoring
and we should be like really careful
or are we touching like some bits
and like, you know, encapsulating structures
in the peer-to-peer stack.
And like, and depends on this,
you should allocate yourself times, you know,
like documentation, you're going to spend less time for sure.
And, you know, in an ideal world,
you will spend infinite time on removing, right?
Because you will always come up with new ways
and new way to do it better.
like we don't live in that world you know you have time constraint and review your exhaustion
after multiple of after multiple runs is something we should think about it be cognizant of yeah
at some point we have to move like do incremental steps to move forward yeah and that's i mean
and then even like after the review process like the conversation about like it's not ending after
the review process you know like yeah okay i'm spending i'm spending like and i think everyone
in course i've done this at some point but reading huge parts of the code base and thinking how you
this could break you know like at some point i was trying to does like buffers like if i send
you a lot of blocks if the buffer going to explode and crash the nodes and i was like the buffer
buffers like data buffers yeah yeah and all of them curves are like you know like well well done
you know you you see that people have thought about it before you yeah and you see like the
level of thoughts and the amount of time people are spending on getting right the critical part
is just mind-blowing yeah well it's got to be right like you hope if you're using this network
that that type of thought is going into it it's like thank you for reviewing it and that's like
somebody i'm not i'm not one of them like i'm not one of the biggest rulers i'm far from being one
of them i'm just but you are a reviewer you have reviewed have you yeah yeah i spent i haven't
reviewed so you've done more than me uh that but it's crazy and so let's talk about like what
This spring, you've come out with a lot of stuff.
Wait, let me go down the list here.
You had a very interesting email to the dev mailing list in May
about onboarding millions onto Lightning,
how to do that in a scalable, secure, and private way
so that people can access the network with some privacy,
how BIT 157 plays into that.
We'll get into the specifics there.
But on top of that, wallet refactoring, which we've been talking about already, time dilation attacks that you and Gleb worked on, CoinPoll, which also you and Gleb worked on, AltNet, and given presentations on Lightning Network.
Doesn't need to be chronological.
There is a chronology.
There is one because I was working on this right refactoring.
And one part of it was like, okay, no, the wallet will have its own tip.
You know what I mean?
Like the wallet and the node, they will have different views of the blockchains.
Depending on when the node sends the wallet information.
Yes, exactly.
I spent the summer like bouncing back between wallets and Lightning
and at some point say, you know what?
What if my Lightning nodes has a different view than the other guy?
your lightning node has a different view than your lightning counterparty or your full node
yeah your full node yeah and i explained the issue to matt and he was like yeah of course it can work
and i think i explained the same issue to siros and he was like oh yeah it will work and
people weren't really aware about it and i think at some point just so for you freaks out there
the way I understand this right now.
So you spotted a problem
where the lightning node
and your full node that it's connected to
could have different chain tips
and that difference could be...
The full nodes, like...
Okay.
Every lightning node should have access to the chain.
Yes.
Yes.
And the full node of my counterpart
may not be on the same chain.
Ah, okay, there it is.
It's your counterparty in the channel.
Yes, exactly.
Okay, there we go.
What happened starting from then?
And thinking more about it, I came up,
I described the issue on the lightning mailing list,
like November, December last year,
and it was like the starting of diminution attacks.
So I'm not sure if you're familiar with Eclipse attacks on beacon core.
Yeah, I am, but we can refresh.
It's basically when your node gets surrounded by malicious nodes, right?
It feeds you bad data.
Yeah, there was like, it's coming from peer-to-peer distributed system, which has been studied in the 2000s years.
But, I mean, basically, you are not going to view, and that's something which is not in, I think it's not in the Bitcoin white paper.
But one of the assumptions is miners are honest.
And the second one is the network is not partitioned.
you know like there is something like the internet and there is and we can flow information
through it and part of this information is blocks and if my full node is not connected to
the internet anymore or is not connected to the honest network anymore i'm going to be like
splitted from it i'm going to yeah and while you're split you're going to think you're on
the right network and you think you're on the right network right it might not be true right
And that's interesting because Ishan Iman came with this idea of Eclipse attacks on Bitcoin in 2015.
And at that time, he was saying, OK, you can lose money if, first, it eclipses you.
And secondly, I'm able to mine blocks to do a double spam or able to reorg the chain or do stuff like this.
Digging into this, for Lightning, you don't have to have ashrate access.
So this is an assumption. This is where Gleb called me out.
That's the whole point of why time duration attacks are interesting.
Because you don't have to be a miner to steal funds from your Lightning nodes.
So the way I understand it is if you're not a miner, it's only a griefing attack.
So you can't technically steal.
You're just pissing somebody off.
We're opening a channel, you know, you and I.
You know me.
I know you.
Don't trust each other.
It's block 100, right?
And if I try to shoot you, you're going to have, let's say, 20 blocks.
Period.
Blocks period.
And between these 20 blocks, using a full node, correct?
Yes. Let's keep simple for now.
And yeah, it's great.
So there is like, we are doing,
starting to do HTLC between each other
and sending phones back and forth.
And, and so at some points you still see blocks,
but blocks are going to come up slower.
And due to block violence,
There is no way, internally, for you to know if it's just a bad Poisson distribution or if it's someone messing up with my full model.
Yeah, I mean, we saw alternatively, I think, two or three months ago, something like 14 blocks in 50 minutes or something.
Yeah, that's exactly the issue.
You can't know because that's the way the hash rate and blocks are mounted, right?
and so you see blocks coming slower and you know everything is fine and at some point i'm going to
be at block 120 and you are still going to be at block 100 and now i can close the channel with a
revocate commitment transaction and in the eyes of the rest of the network this transaction is
like it right and when you're going to see this transaction it's going the so this be a force
close the time window periods is going to be force closed okay and you're not going to be
able to punish me okay so and there is like variation of these scenarios on the because
there is like two kind of time logs in lightnings to keep it simple there is the justice one and
than the one between the ops.
You know, I send Alice, send an HTLC to Bob,
and Bob send HTLC to Carol.
And the HTLC on Carol is going to be on the lower time log
than the HTLC between Alice and Bob.
And actually, using time deletion attacks,
you can exploit the time logs between Alice, Bob,
and Bob Carol in a way to steal phones from Bob.
So, time deletion will work against any routing nodes, but it will work also against live
clients today.
And more effectively, correct?
Yes.
Well, if you are using Bitcoin Core, which is great codebase...
Disclaimer.
Disclaimer.
I'm working on Bitcoin Core.
Okay, take a sip, take a sip.
I'll introduce the wine here.
Oh, yeah.
Or do you want to introduce it?
No, no, do it, do it, do it.
No, this is your gift.
Yeah, yeah, okay.
You brought it.
Okay.
It's Chateau St. Julien.
2016.
Well, okay.
The fact is they don't sell it the good years in New York, or not where...
What's a good vintage?
2015 in bordeaux is really good yeah yeah 2015 2009 2010 if you're really lucky get a 2005
uh yeah yeah why uh what's a good season of bordeaux like more wet more dry just depend
which um c'est pas do you are you looking for like chateau saint-emilion yep no no what's like
a good what's like a good season season yeah years i mean no what's the weather like during
2015 I know this 2016 arts of rage not awesome year not an awesome one yeah
yeah it's good it's okay it's very good I'm enjoying it okay cool thank you for
bringing it yeah so SPV clients SPV okay let's say you want to buy a Chateau
Saint-Gilles your lightning can you buy why no lightning today I'm sure it's
some bar there's a bar in germany right bar uh room 77 room 77 right i've been there like too
much time i've never been there no i haven't i've never been in germany but never been in germany
okay i'm not sure if are you a real big player
get there i guess not okay all right um okay so fuck is like beacon core we have like strong
anti-eclipsing measures.
We are going to distrust inbound connections.
We are going to...
Okay, so you are going to bootstrap your node.
You are going to fetch addresses from the DNS dealers.
And then you are going to connect stochastically
to outbound peers.
And then you may open inbound connections
and people may connect to you.
We care about testing.
like when you send me an ip address i'm going to test if the connection if the this ip address is
a real one that's what fear is doing grossly okay how do you test that we have a thread opening
going through it's a thread ah it's not a thread like no it's not a thread i think
And if I remember, it's just like in open connections,
we are going to every 30 seconds or something like this.
Maybe it's two minutes.
I don't know.
Something like this.
And we are going to open the connections,
ping the node, and if it's on Starbucks,
we are going to keep the address in our database.
So there is like, and there is also the fact
that we are going to select IP address by prefix,
by internet prefix,
and being sure we don't have too much peers
in the same internet prefix.
Yeah, does an Erebus work around this?
What?
Or the Erebus attack, what?
Well, no, we are, like, because, like, you know,
doing IP prefix selection, it's too much.
Like, it's already 2016.
We are already doing more fancy stuff right now.
And Gleb and Sipa have worked on this, which is, okay, the internet architecture is mostly you have an IP address, which is just an address for sending you information.
And this IP address is going to be, you are going to allocate a range of IP address to ISM, Autonomous Structure, Autonomous System.
system.
And this autonomous system is going to be your ISP, or it's going to be some entity
on the internet during routing stuff.
The fact is, the internet architectures, there is a lot of merge between ISPs, there is a
lot of things like this, there is a lot of dynamic there.
So you may have a lot of IP address, not in the same prefix, belonging to the same ASN
at the end of the day.
So that's more fancy.
You can do this in 0.20, it's still experimental right now.
But we are doing progress on this.
But my point is, beacon core, there is a lot of work down on preventing Eclipse at the
protocol level, or at the peer-to-peer level.
Link layer is different right now, actually.
SPV clients.
There is no strong anti-eclipsing measures on the client side.
Because that's what matters.
So it's like Electrum side?
Yeah.
Let's say you're running Electrum or Neutrino.
And they are going to connect to Electrum servers or Neutrino servers, B157 servers.
and they are going to, you know,
I can send them a lot of junk addresses
in the way to write garbage in their address manager.
And in that way, I will optimize my Manishu servers
being picked up as a connection to the network.
So someone can easily today, like,
just, you think you see the right chain?
you think you're connected to
an honest Electrum servers
it might not be
and
and so
in the context of time deletions
so would an attacker spoof your node with a bunch of fake IPs
and you're like oh where's the real one
I'm just like right now
it may change
but I can run just a lot
a lot of them
if I'm running 1000 Electrum servers
and I'm not sure if they're doing
IP prefix, I'm not doing IP prefix selection. But the fact is like today you have multiple
like client backend, you have Neutrino, Electrum, there is multiple B457 implementations.
To be secure against Eclipse attacks, all of them must integrate the same stuff that we're
doing in Bitcoin Core. And people are spending like full day on Bitcoin Core, like it's a full
full-time job just being sure we're secure in Eclipse attacks.
Yeah.
So it's hard to imagine these SPV clients
put in at the same time.
I mean, like, getting the SPV client or like clients,
like, just, OK.
Just there is no SPV, like,
there is no such SPV clients.
It's more, like, rational to speak about like clients.
SPV has never been, like, re-implemented.
So like-lens, speak about like-lens.
And like-lens are subject to time deviation attacks
because I can make you connect
to my malicious Electrum servers
and I'm just going to slow down the blocks.
I'm going to, instead of announcing you a block
every 10 minutes,
I'm going to announce you a block every 20 minutes.
You're going to accept it.
It's going to be fine for you.
So here's a question I have.
It might be a stupid question.
like i know third party third parties and oracles are frowned upon but like in a contingency case
we weren't like an alarm system to recognize if your wallet software was behind a consensus chain
tip could you put software in that wallet software pinging like a blockchain.info or
blockstream.info okay and letting you know where their chain is and like if you're behind
Okay, that's exactly what I've started to work on after time deletions.
So yeah, so time deletion, I think it was also like, Gleb and I trying to, you know,
right now it's really new.
The protocol is like three, four years old.
If that.
Yeah.
Okay.
Okay.
It's still something we explore.
Lightning security mobile is still something
we're working on, and we're sending all interactions,
and interactions with the first layer,
it's something which is, it's really tedious.
And Lightning, it's, you have to,
it's not only you have to receive the blocks,
you have to receive them quickly, timely,
because it's a clocked system, right?
You should see the blockchain as a system clock.
And if someone can mess up with your system clock,
your security is in danger.
Yeah, you described it in...
Time deletion paper, yeah.
As like livability, or what's the word you used?
Let me find it real quick.
Which one?
I expect it's here.
yeah yeah so yeah so damn Jason we mr. interesting points we started to explore
it's the ID then you can link an attacker can map your liking notes to
your full node and your i'm listening i mean you are running a full node yeah you are running a
liking node they are sharing the same ip address it's likely it means like your liking nodes is
using this full node as you know as a backend yes it's so you can connect the two exactly and
Most of Lightning attacks, knowing the full node of your Lightning nodes, it's a building
block for making more fancy attacks.
So we started to explore a bit this interiors mapping.
If people are looking for cool Lightning priority research, we would be glad to help people
doing more research there and being sure like in my opinion we we should like we shouldn't be able
to observe that this lightning node is using this full node and you can like you know let's say you
are a big lightning service provider and i or americans or something like this and i can buy
channel from you you know i go through your website and i buy a channel from you it means
you're going to broadcast a funding transaction.
Yeah, you get a bit refill or lightning power users,
something like that.
So doing this, I can just see bit refill
if you're using this full node
because transaction origin inference
is still something on the peer-to-peer level.
It seems like a hard problem to solve.
Would you have to run a VM for your lightning node
or something like that?
Ah, it's more like, well, our conclusion is like,
But you're also not set up.
Well, no matter what, wouldn't the Lightning HTLC be connected to the node no matter what?
Even if you do have a different IP address, you'd just be able to connect those two IP addresses?
At the end of the day, I mean, Lightning Channel, it's Bitcoin transactions.
Yeah.
And this transaction, they have to appear at some point on the network.
Right.
And they are going to propagate, right?
So, it's, there is not a clear separation between them.
And that's the same, you know, I can,
maybe I can slow down block announcement to your node
and seeing that you're going to reject HTLT
on the other layer.
And because we have gossips right now,
there is, there is a bunch of heuristics right now.
Yeah, there is a bunch of heuristics right now
And you can guess.
You can try to, you're going to build, like, this double map.
You have a map of lagging nodes, and you have a map of full nodes,
and you are doing, like, creation between them.
Yeah, so, like, a surveillance heuristic that you could use.
And we haven't, like, we are doing, like, caring about security,
but when we speak about lagging is more private, okay,
first, we should define more lagging privacy attackers.
We don't have, like, we don't have model right now.
and secondly you should integrate the whole bitcoin first layer as part of your study yeah it
was um talking to a meaty what she's been doing at the p2p letter just thinking about rebroadcasting
alone and we broadcast like that makes sense because for lightning node your rebroadcast is
going to be more aggressive because it's time-knocked.
So
I haven't
done yet, but
observing
transaction propagation
on the base layer and being able to
know that this pattern of propagation
means that this lightning node
is doing off-chain lightning or something
like this, that's something we should
start to think about.
Especially in the early days, it's the best time to think about it, right?
Yeah, it's still early.
But let's not set bad
like let's not create sunk costs that we can't overcome or technical debt i guess would be the
correct term in this yeah it's like you know i think lightning is really binary here um
there is this whole like fees uh these issues so we were working on time dilations and digging more
There is this idea of doing dynamic feed bumping for lightning.
That's called anchor output.
It's one of the big objects spec right now.
And so we were reviewing this spec, all the lightning developers.
And Matt and I were trying to break it.
So we're like, oh, this is introducing a suggestion goal.
Either way, this mobility could be used at the period.
You know, like someone catching your transaction as a flight
and increasing the fee rate or stuff like this.
And the sad thing, we realized at some point,
these attacks, we are able to do these kind of attacks
against the current version of Lightning.
And that's Airbnb.
pinning. Matt has a great
mailing post on this.
And, you know,
that's exactly, like,
we do things... You could essentially drain
a side of a channel, right?
You could essentially drain one side of a channel
at this point. Yes, I can, like,
I can still HTLC,
but by... Okay, in Lightning
there is this idea, like, I make
you an offer. You know, I'm going to, okay,
if you give me a pre-image,
I'm going to,
to, in this time period, I'm going to send you the money, and I'm going to propagate
backward the pre-image, right?
If I don't give the pre-image, you have to time out, right, at some point, right?
Yeah, you have to force close.
If you don't do this, you are in danger.
Backward, you know, backward, someone may time out the HTLC, and if in between, if on
the forward link, the HTLC is claimed forward, right?
You are going to be at loss.
You can't call that back.
Yeah.
I mean, Lightning is some kind of, you know,
the Bitcoin blockchain is some kind of big ledger, right?
You must have an input, and you have output,
and output must be in balance with input, right?
Yes.
And you have to think about, Lightning
does the same accounting issue or the same accounting model but it's an individual one
like everyone is doing its own accounting yeah and you're just trying to make sure that
you're not the ledger changes on lightning aren't in uh incompatible with potential attacks and
force closes at the htlc level yeah you have to keep your accounts
equilibrated right you know that's and if you if
someone can break them and then putting like the probabilistic
like nature of like block time into all that like makes it even harder right
it doesn't it doesn't matter okay it doesn't matter
uh um it doesn't matter here but okay bitcoin base layer everyone is
checking everything you know like every four node is going to enforce the full set of consensus
rules that's a double you know the double spam yes people are interested in this lightning is
solving the double spam problem by reversing the logic okay let's dive into that yeah that's
exactly this you know how so well because you know so we are doing this contract between you
an eye. That's a channel. We open, we share a finding output and chain, and we define
some kind of semantic on it, you know, and we are going to update the state. And if you
try to cheat me, you have to prove to the chain that I'm cheating by punishing me by
providing a relocation secret. But that's your job, you know? Like, if I'm Carol and
I'm not involved with this channel, if you get
stolen, that's your issue.
I don't care. This is why Watchtowers
exists. It's different, but
lightning is fundamentally lightning.
It's a switch in security model.
It's just like
it's private justice.
Privatization of justice.
Okay. I like
that framing. Is that
necessarily a bad thing? We are using the blockchain as a judge.
Okay. But
that's your job to have a
lawyers to be represented on chain and good lawyers mean good software that basically looks
over what's going on yeah like my dad is not a lawyer but you know like there is this idea of
you have to you know you it's your job to pay the good fee rate for your justice transaction
being included in the chain before the time lock expires it's your job to getting a good access to
the chain right it's your job then you know like being sure you're not sending more htlc forward
than you're receiving backward so and all self-sovereignty or money comes extreme responsibility
yeah like that's that's something i i think i'm not sure if even us lightning developers under
at how much
like laying a switch
on this side
and what kind of work
we have to do
to make this kind of
thing secure
because
at the end of the day
in acting
you are running
you are running
a hot wallet
you know
you are here
on the internet
and if you are running
a public node
everyone can connect to you
and everyone can
try to game the bank
right
I mean
and especially as
the bank is launching
out here
as more
UTXOs
get locked up and lightning channels created and more value the incentive just rises you know like
we're working on this time of damn deletions okay damn deletions it assumes you can do
eclipse attacks on the base here right um i love today i think it's really hard like what
to eclipse attacks on the peer-to-peer layer you know like someone connecting to you and like
trying to like flood your address management something like this what i'm fear of is attacks
on the link layer you know like you can pour this in academic papers but ursp trying to
rob your lightning nodes if you're a big lightning service provider is that something i'm concerned
so you couldn't do something like lev and peter have been working on to avoid
depending on one ISP well okay okay I think I can't remember exactly the
numbers but the fact is it's like 30% of beacon traffic is going to the same I
think it's even more X maybe 50% going from part of the same deep internet
architecture link like chair one and chair two ISPs and as not just a
starting block in the way then we can diversify the beacon Eric and ensure we
We have more diversity at the internet architecture level.
More diversity of full model.
Sounds like we need some antitrust to break up these ISPs.
It will make like,
like ASMAP is making time duration harder for sure.
Yes.
But it's always still like, you know,
you're running a big lightning service provider
and you are using one internet service provider.
And, you know, like when you are working on security and attacks,
Like that's, you know, it's really hard.
Like if this attack's realistic or not,
is this like winging the in, like the out?
And at some point, it's like most of the time
we see some component as something monolithic,
like an internet service provider.
At the end of the day, you know, there is rogue employee.
There is people who can bribe there.
you know it's it's i think that's it was last year like coinbase they were like they have like
zero day firefox yeah yeah and you know the price of a zero day firefox on dark market
it's something like 100 000 dollars really yeah so they use two of them so the attackers
burned $200,000
to try to steal from Coinbase.
Were they trying to brute force their...
Yeah, I mean, it's just a budget attack.
You know, that's how much money
people are already committing
just to try to steal from you.
Yeah.
To burn.
That's pretty crazy.
Yeah, so, you know,
Lightning right now,
it's in fancy parts,
but, you know, that's...
I mean, I think that's fair.
i don't think anybody would disagree with that infancy i don't think anybody would disagree
with that yeah yeah um and people i think people are nice or like i think we don't have like
sophisticated attackers right now like like or we if that would be the case we wouldn't have a
network today but but it's not going to stay like this it's not like people are like
banking is a complex protocol
so it's
I don't think it's understood right now
by anyone trying to steal from them
from it
you have to
you have to foresee that
these lending service providers
like
five years from now
they will have like
maybe one thousand
bitcoins
locked up in their different channels
and that would be a lot of money
and then
like you know like
bribing an employee from the ISP that's that's probably worth it that's worth it yeah that's
right and so yeah what do you believe helps solve these problems like something like schnorr and
taproot helping no no it's more p2p level stuff no peer-to-peer so we finished the time deviation
papers and at the end of the day uh end of it we're okay you need like strong anti-eclipsing
at the base layer
and like
harder than that
we have
and so
you know
like people
were
I was super
lucky
like last summer
because one of
the residents
was Richard Myers
from Gotena
shout out to
Richard Myers
been on the pod
before
he's doing
with
Gotena
and TX
Tena
yeah
so we had
crazy talks
you know
mesh net and this kind of stuff and actually like you want you want you know
right now you receive the block only through your internet connections you
need more diversification you can't trust on your physical link or you need
multiple of them and so it's hard because like or like your operating
system or hardware or not being, you know, you don't, your system is not going to maybe
come up with a radio, UHF radio transmitter receiver or the kind of stuff you need to
receive block from space if you're using block stream satellites or like reading transactions
through radio or this kind.
So, ideally, you want to, everything we can use to transmit blockchain information, we
you use it and that was kind of the idea like i've had like this proof of concept
pr in beacon core which is called alt net and it's just a way to integrate
like integrate different link layer integrate like so it says something like i was reading and
and I didn't read every part of the GitHub page,
but is this like an alternative to Fiber
or something like that?
No, Fiber.
Fiber's going to the miners.
Okay.
Fiber is re-optimized.
That's the thing you don't want to touch about it.
It's different gossip networks.
Is this what it would be?
It's basically,
you will have a secondary peer-to-peer stack,
and this peer-to-peer stack
we'll have drivers
you know like
and these drivers
one of them
may talk
radio
another
they may use
Wi-Fi
another
they may be
using
shortwave
right
and
right now
if you're using
like
blockstream
satellites
you have to
run
another
Bitcoin
core
a fork
of Bitcoin
core
and you have to
connect it
to your
first full node
and it means
you're going to
and blockstream
satellite people
they have to
maintain it
they have to
do a lot of
work
and you want
You want to ease this and you want this.
Well, we have a lot of discussion on the Bitcoin Core side,
but thing is, for Lightning,
and if you are running any Lightning routing node,
you want, first, you want to have a diversity
of block headers, receiving the block headers
or receiving the block from different sources.
And you want multiple access to broadcast your transaction.
because you may have to broadcast a justice transaction.
And if I can source all this, you know, it's game over.
So the cool thing is if we start to pour work on deploying this kind of stuff
and, like, being sure you can combine them, you know.
Yes, that's my big question.
Like, would it be different transaction-related networks?
So, you have one for the satellite, one for ham radio.
Yeah.
And would they only be able to communicate with other nodes using that?
Well, everyone using a driver, right?
Yeah.
Yeah.
Yeah.
Okay.
And the cool thing, you can, like, oh, and my proof of concept wasn't using radio.
It wasn't using satellites.
It was using the lightning communication layers to exchange inhalers.
And this is completely new, right?
What?
This is new.
So has anybody done this before?
Well, it was something like we have talked about
between lightning developers for a while,
exchanging headers.
No one has done the coding integration.
So I just took two C-Lightning nodes.
I just have a module to talk with two B-Control nodes.
And the two B-Control nodes weren't connected
between themselves.
And they were using the Lightning nodes
to exchange headers.
and so let me think how this would go the one node would feed a header to the lightning network
connected to to it and then it would that would then send a transaction through the lightning
network and take multiple just like like my my poke would just yeah just send data yeah but
multiple you're using from another node to another node to the end the cool thing like
on lightning like we have encryption and authentication by default so it means now like
you know if we can have like you may even secure i mean you can use a lightning network as a way
to propagate first base layer data exactly do you think this is step up man i mean like that's
that's yeah that's cool okay much is a faster propagation no it's for security yeah for
security. Because right now, like, there is step forward with BIP-324 by Jonas Cheney
on encrypted communication at the base layer, but it's not deployed yet, no? And on the
base layer, you don't want identity, you know? No, no, no one wants this, you know? You want
structure-less network with like pseudonymous peers.
Yeah.
So even like authenticating, like an encrypted channel
with authentication is trust at first use.
And it's not, you know, it means like some infrastructure
attacker can still like intercept communication
and do a man in the middle.
But if you are using the Lightning communications,
Lightning nodes, they have a static public keys,
which is known, which is their identities,
and they are using the noise framework
to encrypt their communication by default.
So it means if you exchange headers through lightning,
and if an infrastructure attacker tries to intercept them,
everyone is going to see it.
Hmm.
So how would somebody catch that,
the headers jumping from node to node to get to this?
node yeah how would an attacker catch up with there too well you love to break
communication between liking nodes but this communication are are educated and
they are encrypted so you will see it you will see that something is wrong
yes okay so it'd be broken encryption yeah you don't break encryption just
get you know like you get around the buckets drop the packets right but you
see it you see that something wrong I don't receive ping and pong message from
a Lightning period anymore, something is wrong.
And, you know,
part to what I was saying before
on Lightning security model, which is private,
it also has to be, like, more
dynamic.
If you see something wrong,
you know, if I
lose access to the base layer
and I have pending HTLC,
what should I do?
Hmm. If you lose access
to the base layer,
you have a pending HTLC.
somebody trying to open the channel or no i'm sending you an htlc and maybe you claim it on
chain and maybe i have to uh i have to extract the pre-image and get paid backward and i lose
access to it or maybe you're trying to cheat me and trying to trying to cut um you know trying
to cheat me like you're just broadcasting a revocative state i lose access to the base
here I mean like you know that lose access to the basic that's not good what
should you do try to connect to other peers as quickly as possible and do what
yeah oh you mean you're like you know you're you're you're full on hmm so
your full node that you're connected to is fucking you over in this your phone
is fucked up your phone okay I get access to the chain it's a very good
question because how could you trust anything well you can't trust oh you can't yeah that's
that's bitcoin you don't trust right or how could you be confident well how could you verify well
i mean the only okay theoretically the only way to be confident there is to have perfect
information in any case if you have perfect information if you receive the block in a
time efficient, you know what to do.
You know if I, should I close this channel
or should I claim and change this HTLC
or this kind of set of actions.
So, back to my ALKNET proposal,
that's how do we get there or how do we,
not perfect information because that's theoretically,
but on the engineering side,
how do we ensure that your full node
is receiving block from radio,
is receiving blocks from space,
is receiving blocks from...
You know, you may integrate with TOR or something,
which is like...
So you call on another transaction relay method.
It's really like using different physical...
Yeah, so if you're getting it from an ISP,
you're like, all right, the ISP is not serving to me,
let me get it from the satellite.
Like, internet is a shit in New York.
It's pretty terrible.
Okay, like, that's really funny,
because, like, you know, you live in New York
and you say, like, you know, like, New York,
like, these great cities.
Honestly, you have, like, a third-world infrastructure.
You're preaching to the choir, brother.
Internet is not the weirdest one.
No, I mean, Subway is pretty...
Subway is pretty good.
Like, banking or the trash system.
Guys, I mean, you are late.
I mean, like...
What do you mean?
Well
Travels
I mean you'll see
Yeah
Oh travels
Travels
Yeah it's
I mean like
We don't do
Okay
Let's get back to
No no get into
What's going on in France
Compared to New York
Well
Okay
We don't throw
Our trashes
On the street
On the street
It's so dirty
Guys
It stinks
Yeah
Well you know what
That's
Okay
I don't know if I can
qualify myself as a New Yorker
but I've done this experience
to literally walk on a rat
you're officially a New Yorker
that's the badge
you do that
when I lived on the Upper East Side
I lived on 2nd Avenue
and it was when they were doing the subway up there
and literally the two years
that I lived in this apartment
they did construction on the subway
the whole time i lived there they opened it up the week i moved but that's besides the point
there was a rat village on our corner for two years that was yeah it's dozens and dozens just
climbing over each other i'm used to them you know that there are the nature we don't get in
new york somehow that's uh that's new york uh stockholm syndrome when you get used to the rats
this is normal the trash is normal but it's actually interesting uh having gone to school
in chicago where apparently before the city burnt down it was very similar where people
were putting their trash on the sidewalks is they change it they put it to alleys in the back
i haven't been shocked in chicago being like it's trash on the streets it's one of the cleanest
cities i've ever been to and lived in and because they re they were like all right we fucked up the
first time around we can't be putting the trash on the streets let's make alleyways no don't do
I mean, like, maybe it would change at some point,
but that sounds like New York style.
We also have a lot of trash here.
Like, people need a little...
Yeah, okay, that's also...
Okay, I have to confess, I'm here on a G1.
Not an H1.
Not an H1, a G1.
You know what a G1 is?
No.
Okay, a G1 is a cultural visa.
Is a what?
Cultural, culture...
Theoretically, it lets you work in the U.S. for a year or eight months, something like this.
And you're here to learn about American culture.
Oh, a culture visa.
Cultural.
Yeah, yeah.
You know, you're here to...
Well, Bitcoin is very liberty-minded.
It's a free and open source, individual liberty, individual sovereignty.
And that's deep.
No, but I had to do American culture experiences.
So, I got, like, awesome 4th of July fireworks, you know, seeing from move stops and seeing all this kind of stuff.
And I got, like, Thanksgiving, so it was awesome.
I got Halloween.
And I think rats started running for our structure and yelling on the L line the Friday night as part of it.
It definitely is, especially at 2 a.m. when you got a homeless dude jerking off in the corner.
That's part of the American culture that you got to soak in.
yeah i mean like well it was in the test question is were they staring at you and the answer is yes
they were yeah of course do it wrong welcome to new york yeah it's yeah i have a love-hate
you know like you come to new york and you think it's about finance and money and what one of the
thing which strikes me the more it's not that much about it it's it's more about energy and
like people are getting the flow and getting there and actually new york has one of the best
art life i've known uh it's really excellent like okay before quarantine and corona and blah blah
blah but it's really a part i think the art life in new york and the numbers of jazz good jazz
clubs and theaters and stand-ups and yeah yeah it's i mean stand-ups one of my favorite things
to do uh go to the comedy cellar uh yeah that's one thing i'm gonna miss the music the live music
here is dope you can go uh see a show any night you want to the art is dope depending on what's
your fancy you want to go yep see classical stuff uh this would be blasphemous to a lot of
a quint maximalist but uh modern art there's a lot of good stuff here man i'm so like leaving
the city like oh yeah i have so much museums and especially the mama i have i have not been
through every part of it so and i thought yeah i need to come back to finish the mama at least
yeah yeah it's a that's a big one to go on it's a big one it's a big um yeah back to
lightning security model is
really important.
Do you think
it's a
solvable problem?
Do you think we'll ever
get to a point where it's like, alright, this isn't
solvable and lightning failed?
No, it's
definitely solvable if we do
the right engineering moves and we
ensure that
people who deploy big
lightning nodes understand
the lightning security model.
So, Lightning Security Model, you need to access timeless information, so you need to
– ideally, you want to receive the block from mesh nets or radio or do multi-arming
or receive the blockages from DNS.
And Matt has some stuff here, which is experimentally working.
You want to do dynamic fee bumping.
Right now, we negotiate the static fee rate.
That's update fee.
Paul?
So, dynamic fee bumping at the Lightning Network.
So, this would be like a RBF on the Lightning Network.
Okay.
So, I use Zap as a wallet, and I'm seeing circles, circles, circles, circles.
After five circles, it'll be like after I wait X amount of time.
Probably the better way to explain it.
But, like, I bump it a little bit.
Exactly.
You know, there is, okay, someone is trying to shit you again.
there is, like, this re-rocket communion transaction
being on chain, right?
And you have, like, maybe a day of blocks
or maybe 20 blocks,
just configuration or implementation stuff.
And so you see this time lock.
It's going to be a reactive one.
And ideally, you are going to bounce the few rates
at every block.
And you are going to be more aggressive
when the time of expiration arrives.
Because if you don't do it, you're going to lose money.
Now, there is an issue with this,
which is what if Myers or Northern TT
try to play with your chain access or your chain view
and try to make you think you're under attack
to make your lightning fee simulators going crazy
and you're burning a lot in fees for something which is not.
How realistic is that, though?
You'd have to depend on a pool to do that, wouldn't you?
I think Gleb has done a post on them,
and we write down this scenario on the mailing list
like two or three months ago.
It's just like...
So would a mining pool have to single out one HTLC and do this?
Well, let's say miners, by a correlation,
they decide to stop mining blocks.
And that's back to my point on perfect information of your liking nodes.
What should you do?
Should I close my channels or should I stay off-chain?
Hmm.
Hmm.
Right.
If you have a lot of link-lead redundancy,
if you receive the readers...
Because if you try to close your channel and it's a bad force close and you're counter-party.
No, the point is, like, if you have this kind of theoretical, I don't know if it's theoretical or practical, it's definitely working.
But if you don't have perfect information, you should close your channels because something is wrong, right?
Yes.
Yes.
so everyone is going to try to close
each channels at the same time
and everyone is going to be in competition for
fees and who is going to profit for fees?
the miners. So miners may have theoretical attacks against liking
that makes sense
so one of the real engineering challenges on liking is
being sure
we go
as close as we can
from this perfect information
thing. So would it be attack
on the whole Lightning network and not just
so that's where my framing's been wrong.
Now I get it.
I was writing down
this time deletion paper and at the end
you start to think about more
sophisticated attacks.
And working on altnets
and working on having more
blocks
and haters
link layers
redundancy
like
you know like
I'm concerned about
earthquake scenario
like
you know
what if
in some country
you know
you drop like
export
83333
8333
you drop support
for that
yeah I mean
you just
censor Bitcoin
right
it's happened
I mean
what's the Chinese
firewall right
it's going to happen
like
the Lightning system on top of it is like,
you may crash the whole Lightning system on top of it.
And the issue is like, if you assume that people
who are going to use Lightning may not have the funds
to pay on-chain transactions, it means like,
if you can repeat these attacks two or three times
and force everyone to go off-chain to on-chain,
after doing this, you just make Lightning
you just kill lightning yeah it's a precedent that nobody will be comfortable hopping back on that
yeah exactly you know and i i'm still i'm spending a lot of time right now uh you know digging more
into internet architecture and i'm just turning like better like internet protocols like dns
BGP
Bitcoin is not running on the magical box
it's running on the internet today
and the internet today sadly is not secure
and
the sad thing is
how the way you are
securizing internet today is relying
on certificate authorities
and public key infrastructures
which is re-centralized
something with .org
has been going on yeah like that and like and that's bitcoin business may have issue
lagging is even worse okay like uh and i'm not i'm concerned about if the current
internet architecture is secure enough for lagging
yeah i mean that's something we should definitely think about with this time restriction
because of the the instantaneous nature of the way lightning is supposed to work the way you
you have to react you know like okay people working on terror like you don't get you okay
Let's say, TOR has put a whole lot of work on censorship resistance and getting sure that people in countries where TOR is censored, they can still get access to information outside of it.
But the Bitcoin information is a different kind of nature than, you know, like newspapers, formations, or Wikipedia information.
That's money information somehow, and the lightning one is damning money information.
So, if we are not censorship resistant, it's not only you don't get access, you lose money.
Yeah, that's not what you want.
That's like, you know, like, at the end of, like, if Lightning works, like, and we have to think
about this kind of, how do we mitigate these kind of scenarios? And, and people are doing awesome,
Like, all people working on, you know,
Richard Mayers, Galtina,
Lodzha Mec, Venues and Games,
awesome people that can beat with them.
I mean, they're part of the world right now
about how we can decrease our reliance
on the current internet architecture.
That's a way we should go more forward.
I completely agree.
I mean, is the goal of Bitcoin is to be as robust as possible?
And, you know, people are working a lot about minings.
I've just did a lot of minings.
The week, I'm like, okay.
You spend a lot of time trying to think about what the Bitcoin security model is and what the lagging security model is.
Well, I'll step in from like a mining perspective here.
People are thinking, I mean, speaking a lot about mining.
personally i'm as much concerned with the network side the internet yeah i would be more concerned
about that actually because we have like even thousands the isps don't have any skin in the
game the way miners do where like miners are paying for hardware and energy and infrastructure
you know they didn't care about it you're like yeah my internet when i have my okay
you are in the middle of some like
you know like
like in the virus meeting
and you are talking about like really important
subject like you know what should
be the color of the next generation
of HTLC it should be purple
but
but your connection is dropping because you are
in New York and your internet is not readable
yeah it's not
it's not tenable
Starlink come
yeah
will Starlink help this
there is a good
mesh net in New York
I haven't tested
NYC Mesh
yes
Matt Corallo is very involved
I think he's
a bit involved
yeah
well I think
in New York
you can receive
maths
headers
for a
awesome
awesome city
I think so
awesome city
I would not be surprised
I'll say that
but
but
it's like
and
back to my
iNetwork
like
I'm thinking about
scenarios where
in your
geographical
areas, there is someone
who is tuning to receive blocks
from space, and
you spread the blocks
or headers from radio
to all the people around you.
And they can relay it
over the ISP. Exactly.
So, to be
to have a network
a base-linear network
being more robust against
partitions you don't need everyone to run the most sophisticated link layer redundancy which is
getting the background space but you need someone in your geographic areas
like bouncing the blocks you know yeah just double checking like all right what you're
getting from spaces exactly the kind of logic i want to hopefully get into beacon core like
you receive the block from space and you spread the blocks from all the other people on radio
mesh net or so with this change up peer selection essentially it's even it's even like like you know
there is no peer selection when you get the block from space because it's one way you know you can't
even know yeah yeah and that's also one getting this more sophisticated link layer redundancy
is you can send transaction through space because it's only reception for lightning you have to
broadcast transaction so you're pulling data from space lightning you have to push it out your isp
is wire recruiting you from the rest of the internet you receive a block from space and you
may broadcast a closing an unilateral commitment transaction through radio to secure your liking
notes you know you want to decrease your attack surface so could you broadcast that lightning
transaction in radio and via
ISP at the same time?
Yeah, you should do both.
But
any communication channel you
add to your full node is going to
make it more robust.
Exactly. And if
the marginal cost of it is easy
to do, and that's one of my goals
is making it easy to integrate different
communication, you will do it.
That makes a lot of sense.
And the cool thing is
if we have this kind of infrastructure,
Now, if people care about being able to broadcast a transaction through video, it's not the main one, but it might be a good chunk of transaction broadcast may happen through video.
I would love that.
I mean, don't do something with an IP address.
Don't tie your IP address.
you have data just pouring on you from the skies
I just need a receiver to pick it up
we had this discussion
it's really funny
so I've never
I just had like an epiphany
not an epiphany but like an aha moment in my head
receiving block data
via satellite is much better
because there's no IP attached to the end
man that's the hard point
I want more like I want things like
that has never computed in my mind
like now I'm just getting it
IP address, at the end of the day,
there is a way to link it back to you.
Yes.
Radio wave.
Anybody could be sending those radio waves.
Radio waves, if they don't use internet, yes.
Some of them are using it,
but you can spoof IP address more easily.
Because it's local.
You don't need something.
Yeah, exactly.
So VPNs wouldn't even help here?
Or they could help marginally?
Well, if you want,
the architecture I have in mind,
Well, we, ideally, if we can leverage the Tor work
on censorship resistance, we should be able to do it.
With, there is, I'm not sure
that the same security assumptions,
and because they're, you know, like,
them, they want a lot of, okay,
it's maybe really low-level stuff,
but they have, like, Snowflakes,
which is a way to bypass resistance using WebRTC.
And basically, you ask people to open their brother
and serve as a bouncing point for your internet connections.
There are an incentive program.
You know, how we convince people to give a bit of their brother resources
to help people bypass censorship resistance.
So it's open to anyone.
You know what I mean?
It's a bit altruistic.
Exactly.
an altruistic model
means for Bitcoin
it's super easy
for an attacker
to override it
yes
so that's
one of my
reasons going forward
with altnet
is
where I know
Tor is deeply
integrated
in Bitcoin
but the censorship
resistance
of assumption
of Tor
are not the same
than us
yeah
Gleb does not like
Tor
from conversations
I've had with him
because we had
this discussion
back and forth
between Gleb and I
about okay
should we try
to push people
to using Tor as a default for broadcasting transactions.
And we are coming with good and bad arguments
since we had these conversations.
He's made me question Tor more than anybody I've spoken to.
What?
He's made me question Tor, like myself.
Yeah, I mean, if tomorrow you have all,
like a majority of Bitcoin transaction traffic
going through Tor,
now you have an incentive to re-attack Tor.
you know if you have like
millions
billions of value worth
privacy value worth
striving going through
it hasn't been designed
for this
yeah
like
that's also like
how bad did we fuck up
the internet
the first way around
like
having to deal with
all these problems
like
that's funny
because when you
go through like
internet history
like
okay internet
has been organized
around a set of
standards
requests from
commands
from the
IETF
one of the first one
in the 70s or 80s
was about netbench
was the idea of you know mining
resources on the internet
maybe one of the most like
one of the ancestors of bitcoin
yeah
I think they don't
like
they did it you know
we are the internet
Well, that's like, it reminds me of Guern's piece, like Bitcoin is worse is better.
Like, is it ever going to be good enough?
Or is it just good enough?
And that's what actually makes it good in the long run.
It's just in production and works.
It may not be perfect, but we found ways to work around it.
Or is it getting to a point where there's too much tech debt and it'll just collapse upon itself?
That's the question.
It might collapse because, you know, what's fascinating, like,
Fascinating, like, HTC, you know, now they're doing phones.
They're doing these phones with hardware wallet support.
Yeah.
It means, like, fabricants now start to have the incentive to design specific stuff for servicing a segment of Bitcoin users.
it just
you see how much
like
you know
pressure
or how much
like
unlike
the level of security
we're expecting
of Bitcoin
is mostly
not compatible
with our current
operating systems
and
like
yeah what is it
didn't Sip and Greg Maxwell
find like a
an earn OS
or
HTTP or something like that
was it what
or OpenSSL
oh yeah
it was
exactly
Oh, yeah, okay.
That's a bit different, but...
Okay, the OpenSSL bug that Greg and Sipa found
was about OpenSSL wasn't guaranteeing compliance
or conformity of signature variety
between the different versions of it,
something like this.
Which is okay for most, you know, for most, which is okay for most applications being built on top of it.
That makes sense because when you're a bench and you're using OpenSSL or when you are a client-side architecture, you can say, oh, you know what?
Update it.
Update with the new generation of OpenSSL, right?
That's super big when we don't have like auto-update, right?
So, we have to be interoperable between different versions of it.
The whole backwards compatibility comes into play.
What?
Backwards compatibility comes into play.
Oh, yeah.
And so, that's an issue.
And we have to be careful about it because, for example, you take distributed denial of service attacks.
It does.
It does.
On the internet.
So people were aware about it back in the 80s, back in the 90s.
And they were like, that's okay, there is only good guys on the network right now.
It's not.
No, we are academics, we are researchers, we are internet hobbyists.
The issue now is if you are running major internet infrastructure,
you have to spend a hell of a lot of work being secure about it.
And we have something like Cloudflare.
People are going to burn a lot of money for being secure.
And we can't afford Cloudflare on Bitcoin.
We can't afford security mechanics
or this kind of security infrastructure,
which is centralized by design.
Yeah.
So we have to care.
Is that something which motivates me a lot,
doing all this security work online
and being sure we have peer-to-peer style
of countermeasure against it
to be sure we are not going to have
that people running these big lightning
nodes five years from now they don't have to
use a Cloudflare for being shaken.
Would Bitcoin even work
with a Cloudflare like thing?
For the freaks
out there, Cloudflare
is basically just like a time buffer
and
it would waste the attacker's money
if they're making that many calls. Like hey you're going to have to wait this
long no matter
what. You can't DDoS us
they have a lot of resources
and I think they are implementing a lot of
ingress and egress filtering
to be sure
and maybe resource public key
infrastructure to be sure
when you are sending a lot of IP packets
to all of them, it's coming from
a legit
but in like Bitcoin
yeah, we are secure
internet is relying
on PKI
we can't afford this
Like, we have to come up with new security paradigms.
And lightning is fascinating because somehow, like, okay, you take a network security book, you know, back from your computer science class, and you burn it, and you get lightning.
In a good way or in a bad way?
Well, I mean, you do everything you shouldn't do, you do it.
like you know like you're running something on the IP I mean I the default
line implementation I can connect to you and I can open a channel with you and I
can start to rebalance the channels and I can try to steal from you and there is
this idea like you know I'm going to send you a packet and you have to
sanitize correctly this packet and I'm going to send it back but forward and if
I failed I may close the channel that's something we have seen on lightning you
know like it's weird security assumptions like you know like oh okay so we are opening a second
bottle that's we're opening a second bottle of wine uh we're going from a burdough to syrah
we'll see how this goes this is from scribe 2017 can i see you
this is uh oh napa valley napa valley yes even us french we knows we know about napa for sure
do you know about Napa yeah I mean do you know about Napa that's some of my favorite wines
I'm kidding we uh my my father-in-law is a wine snob so actually we did the taste testing on uh
Saturday he likes to do taste testings on Saturday dinners every once in a while we did a Bordeaux
a Cab
and or no we did a
Bordeaux
no we did a French Pinot
a California
Pinot and an Oregon Pinot
yeah very good tasting
and you have this peer to
peer security model
no
okay
so
what I'm trying to understand
like I can't tell the way you've been
describing it as far as like does Lightning
providing an opportunity to create better security
models or is it harder
and we have to think harder
to create an equal security model
okay
you have to zoom out of the question
is
at the end of the day
you want to secure
your money right
so what you should ask is
your money is more
secure in a bank
which is using the legacy internet
architecture compared to a bitcoin or lightning sub that's the comparison yeah and comparing it
to like internet security and messaging protocol security for different applications outside of
money like they're not as high priority as nbd not not these kind of requirements no so if you
answer, I want, I prefer to secure money through Bitcoin or Lightning. For
Lightning, we have to design new security mechanism. And you have to think about
how much is different from TLS or like IPsec. And which has been designed
in a client-server way. And you know like, I spent like, I think yesterday I was
using witness transaction ID, transaction relay,
peer, which is one by Suos, to get this in Bitcoin Core.
And that's, okay, like, I just feel sad about it.
But the thing is, at some point,
we'll have to extend the way we reject
here transaction from the network,
from propagating the network.
What transaction?
Oh, okay.
Right now, if you are sending an invalid,
yeah, if you are sending an invalid witness transaction,
it's not going to be,
it's not going to be added
to the beacon core rejection feeder.
Which means you're going to redownload it, which is not a concern right now,
but we have to do it before to deploy Taproot to avoid a bandwidth increase
because the witness nodes are not going to be able to verify the Taproot transactions.
So not any credit ones.
So there would just be like longer to rebroadcast because it drops out and it's not even...
It would be a waste of bandwidth.
Yeah, it's not even included in the mempool.
For legacy... Well, they're not legacy.
If and when, if and when we have Dapproot,
at some point we have two sets,
you have Dapproot nodes, Dapproot-abraded nodes,
and the rest of all.
Thing is, so we are doing this change right now with Bitcoin
and at some point if we add witness transactions
to the rejection features of BeaconCore,
Lightning nodes relying on a non-upgraded full node
are going to be in danger.
Because they won't recognize it.
They are not.
No, it's even worse.
The state won't recognize it.
It means that my channel counterparty
can broadcast a nil-format transactions
through the network to get it rejected.
and then when I'm going to be honestly
trying to broadcast it
it's not going to
my witness transaction ID
are not going to fetch it
so
a change
on the high level, a change
in Bitcoin Core
transaction relay policy may break
lightning if we don't care about it
that's
that's a lot of my
I'm spending a lot of time right now trying to
understand how changing Bitcoin
core may silently
break Lightning.
That's
something very important to think about.
Yeah.
Do
most of the Bitcoin, I don't mean to say
most, what is the
better question, better framing
would be
do the developers
working on these upgrades care about
Lightning, most of them, or
are they like, hey, this is better for the protocol level?
Well, you know, Lightning is what?
1,000 bitcoins?
Okay.
I got Clark Moody's dashboard right here.
You have real-time monitoring.
It is 951.16 in public nodes, so.
Yeah, yeah, yeah.
I'd say I'd bump that up to like 1,400.
No, not 50%.
I'd say like 1,200 to 1,300.
It's nothing.
It's market money compared to the rest of the network.
Agreed.
Yeah.
Okay.
So people are working on BeaconCore, it's an application like another, they care about
it for sure, but lighting is hard to understand and being sure that only just BeaconCore is
secure is a lot of, is already a lot of work enough, we start, we start to talk about it,
how like, you know, how we concur, okay, first, you know, like, I think that's something we
should have, like, as a community, like, you know, like, a lot of people, they don't care
about lightning, and I understand them, and should we, should we add more complexity,
can occur to make the life of lightning or any other option application easier
it's a great question right because as you just mentioned it's hard enough to review
uh core as is and then thinking about the externalities of the second layer being built
on top of it and then having to take them into consideration and oh well this may not mess
anything up at the protocol level it's going to fuck things up at the second layer yeah no like
Again, going back to what we were talking about earlier,
like how much time, dev hours, mind hours.
Yeah, I'm just like, right now I'm just...
Does it grow exponentially at that point?
When I'm reviewing peer-to-peer stuff right now,
I'm reviewing first with a peer-to-peer mental model,
is core correct, you know?
And first with the lightning ones
and trying to understand how they can...
That's...
It's really how we...
should we have a safe
API you know like
beacon core maybe should document
more stuff
and especially around the mempool
like it can be worse
okay
I wrote about the mempool
stop saying the mempool around mempools
right
yeah
I'm speaking about
each knows mempool that's like the crazy thing
from an economic like so I come from the
economics finance side of it
I'm just thinking about mempools as like pure, shout out to Zane Pocock who wrote this last week, but like thinking of mempools as like pure pricing mechanisms and clearing houses for Bitcoin transactions and the fact that they're distributed and each node is getting parts of different mempools and together you sort of have a very good idea.
there is no global mempool
that's no
and there is no first scene
which means
you know like right now
lightning fee models it's
quite hobbling and clutches
you know it's that's not what
we want what we want is a
dynamic model where you can bump
the fee rates and it means like
it means like
you know if you see
the mempool starting to be under congestion you're liking again and you see like okay i can
i see your first increase i can still afford these free rates i'm okay i'm secure i can
close my channel in time efficient i'm seeing you know another fee spike and at some point i like
i'm not going to be able in the worst case scenario i'm not going to be able to afford
to closing all my channels at the same time
if someone tries to attack me?
Or for congestion reasons?
Or what should I do?
Should I
close preemptively my channel?
Should I
try to move
try to move
Sats to the other side of the channel?
That doesn't do anything. They're attacking
you anyway.
If you have like 100 bitcoins
up in your 19 channels
you may
but are all those channels susceptible to that attack are we getting let's say let's say i'm
doing a time duration attacks on your liking notes you may want to close all your channels
you want to i'm go back to to chain i'm going back to on chain i want to okay i'm going to
lose business watching his business or american business but it's more that's okay you know what
it's better to go and chain close everything get on the operations that loss exactly now if
I may, you know, I may have as a backup reserve to spend as a fees.
I may have only like 20 bitcoins or backing up 100 bitcoins.
When it starts, like, on the mempool congestion side,
when I'm starting to be insecure, you know, that's a hard question.
Yeah, what are you willing to pay to have the peace of mind that...
And the lightning paper was mentioning this kind of issue.
And the way there's something in right now,
it's just dynamically increase the block size.
Yeah, okay.
Okay, Martin right now is finding out.
I'm shaking my head now.
And they were like thinking,
okay, we should have this kind of weird software.
And like, we're not going to do this.
No.
Like,
personally, I would be like,
care about mining i would be really uncomfortable like doing this kind of software for bitcoin
and that's bad that's a weird precedent ascent too weird change of the protocol level
to accommodate layers above it well you know sig action input is somehow it's more like
even type root like even type root like you know that would make sense when people are using
fancy Bitcoin script policies. Who is using fancy Bitcoin script policies right now? Multisig and Lightning.
I think so.
So,
okay, that's another discussion we should have as a community.
It's
you know, like what
softworks are
doing softworks to get better
off-chain system,
like
Personally, I think that makes sense if you care about privacy and skyrocketing of the wider system.
I'm working on both Bitcoin and Lightning, but I don't think...
At the end of the day, I think that's the same thing.
You think Lightning's additive, so...
I guess that's a question most people would have, is the pace of change that Lightning would demand
as opposed to the protocol level like if it that's you know I at some point so
I'm working on wrestling in a decay I'm spending a lot of time about how we're
going to... what Lightning has been designed for, for what kind of people, people with
what kind of economic needs, payments, what they're looking for.
And Lightning hasn't the same development path than the Bitcoin one. And they are not the
same community, and I'm concerned we might have some kind of divide,
communication divide, because we have too many lists. That's something which is
really basic, but how many people are tracking both and understanding issues in both,
not that much. I'm concerned about like aligning communities, moving fast for
And we have to because there is a lot of work to be done.
And the base layer, people are like,
we care about getting digital gold right.
And if we don't get digital gold right,
we can't get lightning right.
They are beating on each other.
So it's not a dichotomy at all.
It's not antagonism at all.
The thing is, let's say you see millions of Lightning,
or let's say people like,
we designed this Lightning experience,
which is, I really see Lightning as a missing step
on the whole Bitcoin experience between exchanges
and the full load, like the render.
What do you mean by that?
I mean, like, right now, people are like, you know, people are like, you're a real big courier and you're running your full node or you're on an exchange, right?
Yeah.
Okay.
On all the people running your full node and, like, okay, you are running your full node, but do you, like, do you audit your kernel, compilers, linker, loaders?
I mean, do you have a clear idea of your trusted computing base?
I mean, have you, like, disabled Intel Management Engine if you're using x86 or, I mean, are you doing x-ray scan of your platform or, like, are you understanding cryptography well enough to assume correctness of every primitives using the Bitcoin protocol?
Or have you demonstrated the interactability of the discrete logarithm program from mass first principles?
Or like, or are you doing like, have you a strong personal, you know, when you left your device, the device on which your phone is running and then turned dead?
And are you doing any kind of measure boots or like trying to be sure that the firmware hasn't been changed?
Or have you like, you know, like.
You can always, you can always outpure the purists.
like hey well when you have done all the steps uh i mean i will call yourself sovereign individual
in the meanwhile that just that just ranges you know and yeah it's a spectrum that's a spectrum
okay so it's not binary it's not full not against the rest of the world it's just thing is there is
scenario which may uh impact more people than you know like hard fork or like a part of the
community trying to hard fork that's going to concern all of us your operating system being
secure that's just your your issue i might not use the same one but as as a user or as a citizen
of the network trying to answer the question is what can fuck up my money right right so it just
it's just a range
it's a range of
trust model
it's a range of
and
you should
suite the
trust model
or you should suite
the set of tools
which
you understand
or
you have the knowledge
to use it
and
and that's not static
you know
you may start by
having your coins on an exchange
spending time
spending time
yeah
it could be like a business that grows
and you accept bitcoin more
and then like your
incentive to figure
that out grows as your business grows
right? Exactly like
I was like
I don't know if it was
quarantine or anything linked to this
but I have like a high
whole time numbers of people asking
me questions on key management
that's not something they're going to tell you
when you start the job of Bitcoin protocol developers
but everyone in your circle
of friends is going to ask you questions
on key management
Yes.
It's one of the most stressful parts.
Yeah.
So I was trying to learn about it.
And you have friends of friends.
And I was running the personal survey.
Okay, how long did you take from going from an exchange
to starting to run your own node,
starting to be comfortable with hardware wallets?
took me a few years exactly exactly i mean i took it i downloaded electrum and sent it to electrum
pretty early on but like when it comes to like verifying everything via full node it took me a
while yeah that's that's years like when people are talking about scaling bitcoins and all this
we should define what does it mean scaling bitcoin you know like
there is one increasing value
you know we issue against USD dollars
but other can be just
increase their hash rate or
increase the number of public nodes running
it or increasing
the number of people like participating
to be Dave or like
at the end of the day
like
many variables that go into that
overall decentralization right
value of Bitcoin like
like
it's this equation that's an algorithm with a lot of variables you have the code right and
you have variables like hash rate like number and like it's not only code like you need people
to run this this full nodes you need like people behind it and and getting like one metric to like
you know like if there's one metric we can increase on it maybe it's security like
hash rate increasing is something like that's pure physics laws we all agree on this
and it's like that's my favorite part about it too is because if you take like a 30 000 foot view
i think i may have a unique perspective on this because i do this podcast where i speak
people like you people building businesses um people uh trying to get others to adopt bitcoin
who have no idea the technical detail that we're getting into tonight uh and then i work for
company where we're getting into mining and i think that's also the beauty of the the stakeholder
system that satoshi set up where in a lot of instances particular stakeholders aren't even
aware of what the other stakeholders are doing and they're just working in their own self-interest
and your perspective is your developer wants to make sure that you're producing secure robust
scalable efficient code a miner just wants to be as profitable as possible a user just wants to
make sure that their money's secure and i think these stakeholders working disparately are doing
a good job of honing in on what they're focused on and they don't even realize it but the network's
getting stronger over time as they focus in on what they're focused on i think we at the end of
the day security is like or like we need a clear understanding of bitcoin security and you know
sometimes we wake up in the middle of the night and i think i'm just on the whole bitcoin security
model i'm doing it myself there's like other like still new stuff like oh like mining policy
distribution or propagation like the rate of propagation across the networks
like thing is if we want to hash rate you know that's an offer of that's a we
have to be sure that the rules of the games are well functional you know like
the code base you know we don't have like inflation back the 2018 fashion
yeah
oh dude
have I told you that story yet
has Matt told you that story
I was like
we were going to Riga
and Matt was like
oh no
you didn't tell me
Matt was like
writing the disclosure
yes
to that
and it was like
me and him in the airport
I was like
what's going on
he's like
you'll find out
yeah
I'm not going to dwell
on security issues
but it's
okay
If you're a beacon developer, you might have to deal with securities in any stage of exhaustion or in any geographical place you are.
So keep this in mind.
Just get some sleep.
At the end of the day, outside, you guys are, I don't want to say you guys, we're putting the onus on developers.
but at the end of the day
we're all dependent on this code
and most people using Bitcoin can't read it.
It's one component.
It's one component.
It is but you're verifying for us.
And that's concerning.
Right?
But do you expect everybody to learn C++
and do this?
That's a really good question.
Do you think that'll happen in the future?
Well, back to my point that
I don't know anyone which is able to understand an operating system, a laptop, and have our knowledge, but like a few people maybe.
You have to rely on social chain of trust.
You know, we bootstrap Bitcoin on web of trust.
Yeah.
Yeah.
So, and we have to have a clear model of all this layer.
you know you have you have base layer of developers on top of it you have like people
going to be deaf people like being involved into it following newsletter being sure like
a lot of people will yell if bitcoin developers tomorrow start to you know like merge some weird
software yeah mr hod will be right out there yeah and on top of this like like involved community
you have you have people who have a friends who is deep into bitcoin you know like and you have
like this on top you have like people they bought bitcoin like and if we want to somehow scale
bitcoin you have to maintain the ratio between these different kind of layers right i think uh
aj towns went into this for the post correct about the adoption funnel um i think it's different
Yeah, it's a great blog post, but we don't have a clear idea of how do we onboard each segment.
Maybe you have a double degree in computer science and economics, and you are a great candidate to get into Bitcoin.
Maybe you are strong in computer science, but you don't understand economics.
economics maybe you understand economics but not the others that would be really
interesting like understanding what is the onboarding path of the current
people running full nodes right because understanding why they're running a full
node will give us leads on how to onboard new people running full nodes
yeah like before we hit record i was showing you the bitcoin wallet tracker
and i think that yeah yeah yeah you showed me this that's that all these
this kind of tools which make it easier, right?
And I think we should have like,
it's always, you can always be more secure
or you can always have more mastery on your own side, right?
And you know, I was talking about
having link layer redundancy previously.
And I think if we integrate like,
if we are able to give like these capabilities
to Bitcoin full node,
assuming you buy some dishes to receive the back from space.
But now you have different case of Bitcoin full node.
You know, we have the really secure one,
which is like the deep backbone
and you have just normal ones,
public ones and you have private ones
and you have live clients on top of it.
And that's how we build like,
and it's a question of proportion.
Like, you know, like, if you have 10,000 night clients for one full node, that's not good, right?
No.
No.
If you have 10 or 100 for one full node, that's maybe okay.
And to put this in perspective, too, like, this isn't even from a privacy or attackability perspective.
It's, like, from a pure bandwidth perspective, right?
Yeah.
so I spent a bit of time digging into this and right now I think the cost of
running a Bitcoin public node it's 300 gigabytes it's it's it's one of these
hard scanning bottleneck Bitcoin I think and we can say of course of course we
We can, that's okay, just run full nodes on data centers, but we don't want this.
We, ideally, that's not something you can, you shouldn't be able to know about it,
but you want geographical diversity of full nodes.
Yes.
Yeah, right now, most of them are in Germany, the U.S.
We want more full nodes in South America or Africa.
that's agreed just simple distribution logic yeah the thing is and that's funny but thing is like
our one of these bottleneck is the internet infrastructure in these countries and when
i think these countries that's new york maybe one of these countries
i mean it's 50 bucks yeah it's pretty shit dude okay it's there's monopolies that's like
three times the price i was paying in paris guy i i brought up antitrust we need to
fucking break up the is here so when we say like
okay the the whole like third world country between developing countries is
completely wrong because some area of developing countries maybe may have the old infrastructure
but that's not something we should integrate and it means we can't rely only on or we
technically we can we can okay assume like get more more participants get more users and we
see this lightning economy uh blossoming
uh you you need to serve them you need blockchain access to serve them bandwidth is going one of the
bottleneck especially if they're running on spv clients like you know like some spv clients are
I'm not going to name them
they know who they are
but their default configuration is
you download the wallet
and you connect to the trusted servers
no bueno
I'm not
I understand
it's easier
for sure
that's not what you want to do in the long term
well that's an interesting question I had with
this dude
Mike Peterson
who's down in El Salvador
trying to
develop a circular bitcoin economy in this village el zante right and he said custodial apps are yes
they're the easiest to use right now but he agreed that the user should use or move towards
non-custodial apps so do you see a a user journey where a lot of bitcoiners start with these
custodial apps and they realize to contribute to the network and actually make like are the
incentives that strong where like hey i should use a non-custodial app because if if if not me
then who and if not enough people do it it completely fucks it up we we we fucked up the
internet somehow about how do we onboard internet users and how like i don't know like
internet startups are just like okay how we how kpi is going to be how we increase the time of
our users spend on the applications it's disgusting yes thanks maury
it's it's we need to rethink the you know like what doesn't like as a hallway you onboard people
and projects and the hallway it's and i don't like to call this project do you consider you
become from another product no no what is this for you it just gives me peace of mind
that's a cool it's way to get peace of mind like okay and how do you you know like design tools
which make their user smarter or more independence or like
it's ux it comes down to ux design right yeah but that's there is like
like i'm not a ux guy but people are going to do like project management for bitcoin
they can't use the hardbooks because that's not that's not what you want no no so i mean the idea
you have a clear identity of the users you have their ip address their billing address uh you
know their name first thing that's terrifying me yes well then you're talking about like ux research
and how that conducted you're not going to be able to conduct ux research in the way that
traditional apps can because they have that all that data at their fingertips
down to the metadata yeah somehow like all like this big internet platform they succeed on
designing a brother for our mommy or for our grandparents right that's yeah at the price of
dude this is pretty crazy two days ago yeah my sister is like lives in colorado lives in the
mountains she came home this summer to nanny for my wife and i she's watching our son and
she has a special like nutritional supplement i've never heard of before yeah it's from the
netherlands she or new zealand excuse me she gets it delivered to uh where we're staying opens it up
and just literally like reads the package sorry freaks i'm on instagram i'm like hitting a story
literally not even 20 30 seconds later i got served an ad for that company that my sister
just mentioned that i've never heard before it was like the most i was like come on instagram
like wait like a day or two please like privacy is one of the thing i care the most on bitcoin
and you have like multiple uh way to conceptualize privacy is first one privacy because it makes
money more fungible um 100 it's not the only one privacy because you give people like this space of
self-expression and not being forced to be in public not being forced to you know self-censor
yeah and there is a third one which is where the current internet is failing it's
if i know who you are i can just it's easy like to tweak like you know like serve people the good
ads or based on their prevent previews previous buys and get that in the loop you know like
and you have tools like the internet or just like huge marketing ways or like just
instagram doesn't don't have an incentive for you getting out of the platform it has an incentive
to you spending a hell of a lot of time here
because the more you're going to spend time there,
the higher the rate of taking on ads
or doing some American...
Bitcoin, there is a trade-off with self-sovereignty,
but that's not what we should design.
We should design tools for people to have more self-determination
around their space, environment.
Yeah, it's like, who's your base user
and who do you build for?
Like, should you concede?
And we should care about different,
like, as I was saying,
if you have a lot of technical knowledge,
if you have grown up,
you know, I used to do kernel dev.
If you have grown up in a Unix culture,
that's okay using all these tools.
That's not, like, that's not...
It's not your average person.
yeah yeah i'm not like i'm not saying um i'm saying we should have this ascending model for
bitcoin where you may start really low on i'm going to use a custodial wallet the long-term
perspective is how do we get people running from it like it's maybe like multiple years process
like well i've said this plenty of times on this podcast i'd like to get your opinion on it like i
think as much as bitcoin is a software revolution if it is to be successful in the future will be
a hardware revolution as well it's i think it's more education like one of the real bottleneck
is you know like if you are using a linux or if you're using some kind of digital degrees right
like that's how hard bottleneck with bitcoin and if you increase digital
accuracy being able to you know like very just verifying the signature of the
software and components you're downloading if you're able to make sure
like make sure you are going to use an operating system of maybe that's coming
like debian coming or maybe you too or something like geeks ups with this too
Right. With Carl's work, Carl is doing it.
How is a fucking you on this?
All right. Yeah.
Being sure we minimize the surface attacks
or to chain, make it easier for people to
if you have left things to trust, that's easier for people to to verify themselves.
Yeah. Yeah.
But some like you want this model of people are going to learn
through their Bitcoin's path, right?
and how we design Bitcoin
tools, systems
and wallets
that's
Bitcoin Unix is still something to be written
yeah
I agree
and that's, I mean
I can only think of my own user story
my own user path
like I started out on Coinbase
I had a fucking Coinbase debit card at one point
I was like buying shoes at that shit
I was like ah fuck, probably shouldn't be doing that
Is Coinbase the original
scene of every bitcoder?
I think so.
Hopefully not moving forward. Hopefully we convince
enough people moving forward not to use
Coinbase.
Exchanges
are part of the ecosystem.
But they're part of
your running exchanges.
You have to.
You're not going to be able to operate.
Disclaimer, this podcast is sponsored by the Cash App.
No, I know.
but then like steve we had this conversation um you know my opinion on this
no i i mean and that's like it's actually i i don't dive into these conversations and you're
not on bitcoin twitter but uh there are factions of and i see all sides and i probably um i probably
fall somewhere in the middle where it's like ah like where you have like the samurai wallets of
the world the hardcore cypherpunks like the only way to get bitcoin is like via bisque and um or
in the street like meeting somebody doing like a cash trade for it and it's like how scalable is
that that's so here's like the frame of questioning i go down it's like how scalable is that uh
considering the liquidity on these markets
and the loopholes you have to go through.
And then on the other end,
yes, it's so easy to buy Bitcoin on the cash app,
but are we shooting ourselves in the foot in the long run?
That's really something we care about with LDK.
It's how we maintain the same security and privacy concerns
going on higher tiers.
You know, like, beacon cores are some kind of standard on security, privacy.
How do we ensure that when we go on the higher layer, we maintain the same level of it?
And how, like, being sure, you know, like, fucking up lightning wouldn't, it wouldn't mean not scanning the network.
it wouldn't mean
scanning the network
in a dystopian fashion
yeah
yeah
you see
yeah
it's
like
we might
have a lightning network
but the privacy
can be like
so bad
or like
security can be
really
like
shit
yeah
centralized
you have to trust
you're only going to
open channel
with people
from which you have
authenticated
their pubkeys
it's
something I
I mean
being sure
that's
you know what's
when you're doing a lot of security or
something we care about
security or software correctness
being sure we build
trustworthy systems
and
you know like
and we were talking a lot about internet
and how much internet is a shit
but that's
I grew up in France and
we have this
huge bureaucratic
system
it's unreliable because they
change a legal API every year
for tax or social reasons
and that's
my experience of someone growing up
in this kind of country but in other
a lot of countries it's going to be like
electricity got off in the middle
of the day or like
network outage or like
how do we build
trustworthy system and how do we define
what's a trustworthy system as a community
that's something which is
hard right but we should
especially thinking of the different ways
in which it can be disrupted like you just described
the government can come in every year
and change the law or you can have
bad connectivity or storm
in one part of the earth
fun problem to try to solve that right
it's a big problem
yeah
back to the
why Nike Myers
and your Cypher
the point of the Twitter crypto
with this strong Cypher
community
you know like
something I don't have done
I haven't been through all the numbers
but
how much
money
did the miners get
as block reward the last year?
I can tell you the last block.
I have the numbers, I'm just asking you.
Yeah. Do you know?
Something like 6 billions.
That sounds right.
How much transactions do we have
by day?
I think the latest,
I think I saw 14 billion a week.
Yeah.
Number of transactions.
44,000
3,000
last time I checked
3,000 transactions a day
300,000
300,000
yeah
so it means
it means you have to
provide
20 millions of fees
I mean for the current
hash rate we get
you have to pay
by day
the users
of the Bitcoin system
have to pay
20 million
20 millions
or
between 10 or
20 millions
right
to make up for
yeah I mean like
it's
it's 6 billion
divided by
300 today
yeah
roughly
roughly
this order of money
I'm gonna assume
that you're better
at math than I am
oh
yeah
you're working fine
this morning i know i'm trying well sorry you're getting to like a free market developing my point
is like who is going to pay pay for miners when we you know like we we got a halving uh recently
i was i was super lucky because i think i was one of the only bitcoiners being able to party
physically for the
Arlene.
During quarantine.
Why is that?
They know.
It was cool, guys.
It was like 11 a.m.
on the East Coast?
No, it was
the middle of the day.
Oh, yeah.
It was like 2 p.m.
Yeah.
We just left New York.
People were at home.
It was a cool
Arlene party.
I was at a conference
or the digital conference.
Shout out value of blockchain
or bitcoin oh fuck i'm gonna yell out for that but so i have a theory i'd be interested to hear
your thoughts on this and it's a theory i haven't tested it out for sure so you know jevons paradox
is an economic term uh um do you feel some paradox yeah so jevons paradox is basically
the assumption or not the assumption it's the observation that uh the the thought that you
become more efficient with a good uh would lead you to believe that you would use less of it
so prime example yeah prime example is gasoline like uh so or oil combustion to be more broad
like you think if you become more efficient with that you use less you're more efficient why you
need more and it just opens up more use cases so i have this theory with bitcoin utxos as they
become more efficient, that there will
be more use, and that's how a fee market will develop.
And that's exactly what Lightning is about.
Lightning,
you
untangle
the raw value of the
DGXO compared to the
payment throughput, which can be
exponents larger.
Yeah, that's magic.
Wizardry.
So you're picking up what I'm putting down.
My point was, we have
But when, and I assume that everyone is interested
keeping the same level of mining hash rate
because that's a security parameter.
You know, like in cryptography,
we're talking a lot about like the size of the key
between 2048 and 4096, right?
In Bitcoin, our security parameter is the hash rate.
That's a really fancy algorithm,
which is encoded by not yet specified rules in Bitcoin Core.
But we are really aware about this security monitor.
What do you mean?
The hash rate.
Not specified.
You're saying that you're going to be able to calculate hash rate?
No, I'm saying Bitcoin value is somehow tied to the hash rate.
I agree.
Yeah, right.
But were you alluding to that we're going to have better hash rate calculations within Core or something like that?
No, not at all.
I'm saying that the combination of Bitcoin Core and a high level of hash rate somehow make Bitcoin more secure.
I agree.
And if people are using Bitcoin, it's because they demand this level of security.
Yeah, it's a whole feedback loop, right?
Exactly, exactly, right.
like a price was discovered that price leads more people in exactly to chase that token
that token goes higher miners like i want to mine that it becomes more secure you tell everything
yeah but how do we maintain uh this offer of ash rate when the black world is going to be exhausted
i'll tell you how i'll tell you what we're working on a great american mining
what i agree so the company i work for outside yeah we mine and we go to oil fields no no you
have to have a demand for it you offer mining who is going to buy you well it's not demand for
bitcoin it's demand it's again it's it's completely uh sort of perpendicular to bitcoin where uh
bitcoin provides one of the only opportunities to save money in another
economy in the oil and gas economy where they have all this waste and they have
an incentive they don't even care about the Bitcoin but you what you're
mentioning is how do I provide a cheaper offer of money right it happens to be
cheaper but that's not what these energy producers are thinking about they're
You're just thinking about, I need to get rid of my gas.
Oh, yeah, exactly.
Because if I produce too much of this gas and it's not consumed,
then I'm going to get fined.
And I just don't want to get fined.
I don't care about the Bitcoin.
I'm more like, okay, is mining company would be interested
if they get paid $1 billion by year?
It depends on how much you put in.
What?
It depends on how much you invest, right?
Yes, exactly.
But I assume like infrastructure is being deployed
and it's being deployed in the...
They expect, like, being paid
at this level, like, 6 billion by year.
Who? The oil companies?
The whole mining ecosystem.
Again, it depends.
It depends on what they put into it, right?
So that's the thing about the mining industry,
is the price to be profitable is getting driven
further and further down.
But it's still, like, substantial,
like, in billions order.
Yeah, at this point, yes, but
in the future, like,
ASICs literally hit a
physical barrier
which they cannot
get more efficient
and then you have
more competition
which should drive
prices down.
So the question is
are we
in the next decade
because that's what matters
are we going to see
an order of magnitude
decrease
in the manager
cost of mining
from 6 billion
to 600 millions
in the way
they are operating?
I can't speak
with any certainty
to that point.
I don't know.
it would make sense to me
that's something we should consider
that's interesting but
that would make sense to me
on the mining
we can
I'm not an expert in
oil or gas
so I can't speak here but
I think we'll get driven down
again it's going to transition
to a point where everybody's looking
for the lowest cost energy
yeah
there's plenty of miners
getting free energy right now
and that's going to become more
widespread
I would imagine
some mining industry
chasing for every waste
of energy in the world
yeah
literally
leading us to a
type 1 civilization
but you need demand
the demand is there already
the demand
yeah but
because
because
black space is cheap right now
because it's
we live on the
no
I'm not talking about
demand for black space
I'm talking the other side
of the equation
the demand for
raw energy
excuse me
raw energy
yes
like there's demand like there's so much okay okay there's so much raw energy being being wasted
that there is demand to have that but at the end of the day someone has a marginal cost which is
lower than everyone yeah i mean that's how art market that's how capitalism works right yeah
that's right but but we might that's interesting and i haven't considered yet this in part of my
scanning, Bitcoin research, but
you need a demand
for the black space.
You need people to pay the fees.
Yes, and there will always be demand for
censorship-resistant transactions.
Just look at what's going on in the world.
Okay, you have six billions.
Okay, assume
we keep this as a constant in the next
decade.
Six billion, three hundred
transactions, twenty millions by day.
This means
roughly thirty dollars by transactions.
sounds about right yeah okay do you think we'd have 300 300 000 transactions by day at
30 dollars price no all right but so but this gets back to my point about the mempool and
and because like what i wrote about last week is like like individual usage of the network
will drive innovation like people will like try to send transactions they won't go through like
fuck that fucked up so you get batching you get consolidation you get century you get incentives
to move towards snore and taproot where you can condense a lot of this or i'm getting i'm getting
weird looks right now where you can be more efficient with it yeah we have the southern of
okay not the southern but we have a bunch of way making uh compressing transaction yeah yeah we just
as developers right now
we don't have that much incentive on working
on making transactions
more value efficient
on the chain
we have but it's still like low
like there's a bunch
of technologies we can work on
but still. But until a certain point
Bitcoin as a network and users within it
are gonna hit up
against these thresholds
like realize limitations
some people will fall out like we've seen
this in the price range. But my point is like
if Bitcoin is a digital gold,
like if you're thinking Bitcoin is a digital gold,
you're going to do like, what,
two or three transactions on the network by year?
I don't...
See, I view it as that,
but then I see myself using Lightning.
But...
Like, because it's useful.
It makes it easier for me to, like...
So a good example is Bitcoin Bounty Hunter.
Is that good?
That's my whole point.
If...
I don't think we will...
If we think Bitcoin as a digital gold,
going through post-block reward subsidy exhaustion,
we won't have enough demand to maintain the same demand.
This goes back to Jevons' paradox, right?
Yes.
One of the ways of doing it is, like you were saying,
like a non-chain channel funding transaction
is a way of entangling the price I pay
to use the payment system
from the overall value I can get.
Exactly.
Yeah.
And that's what, I mean,
you know, like somewhere at the end of the day,
Satoshi has done some weird bets.
There is a Satoshi bet,
which is we are going to be able to bootstrap a Bitcoin economy
before black subsidy exactions to pay for a consistent hash rate.
And this consistent hash rate is going to give people confidence in Bitcoin value.
I think we may already be there, dude.
We already passed there?
Dude, are you that much confident?
I mean, being in the mining industry,
the amount of capital that's being dumped in it now
and the incentives
but what if they have like three
like okay assuming a zero block
reward what if there is 3,000 transactions
by day how many of them
are going to be burned
I don't find that plausible
3,000
like
my point is like
it goes back to the stakeholders right
then you see like the hodlers
who aren't mining
who aren't looking at code
they wouldn't
naturally see it
like alright
maybe I need to
spend something
but like
maybe that's my
tax for living
within the system
that's
like to assume
that nobody
assume like
to assume
3,000 people
they were making
transactions
exchanges would
make more than
that one day
I don't know
unless you're
bitmex
I mean bitmex
is the only one
batching right
batching is a
that's hard
like I
I should
I should
I should
god batching
a batching library for people.
That's how do we get to this equilibrium,
or guaranteeing we have the same level of hash rates
after block subsidy exertions,
and maybe due to block mining costs being marginal,
becoming more marginal and energy being cheaper,
or it's maybe like people having 100 transaction
and more value of it, I think.
That's something we should be concerned as a community.
No, I mean, this is something I think about a lot.
And, like, I actually don't worry about it.
A lot of people, like, and I've been called out for not worrying about it.
I don't worry about a fee market because I just think, again, the secondary and tertiary effects that Bitcoin has on other industries that Bitcoiners who are so focused on the protocol don't realize is...
Because you have a constant demand.
I mean, at 30 dollars in transactions, people doing on-chain transactions are mostly HFunds,
and there is no, like, 3,000 HFunds in the world or something like that.
Can we do, like, some kind of Fermi?
But you could also on-load people directly onto Lightning, and then even if you're doing that,
if they're not making on-chain transactions in their HTCLs, or LCs, excuse me,
uh the provider that's doing that will be doing that right can you shortcut your arguments
like even if people are onboarded onto lightning directly they never touched on chain uh the way
that like the person who onboards them is going to be making on-chain transactions yeah i mean you
you can combine um you know i was working on this uh coin pool id idea oh yeah i was like i thought
we weren't gonna get to coin pool i love coin pool okay so it's similar to coin swap no no
it's completely different i know it's second layer it's not it's not protocol layer the point
is like even if you assume like everyone is using lightning you need snore for this correct
you need a bunch of things
One of my concerns is, even if everyone is in Lightning at some point, you have some
kind of UTXO-set scanning bottleneck, which means it's going to be a high cost for a full
not verifying the whole things. And you want some way to evaluate channel.
There is this idea of channel factories. It's a paper that has been published by
Christian Decker in 2018 and 2019. And the way we are using one base data
transactions and from then we are going to find out multiple channel funding
output. Coin pool is exploring the same way and we are considering another
assumption. The issue with the tree construction like China factories is
doing if you if you fall on chain the whole tree like other people who are
siblings of the trees will have to pay the price to close their channels and
join another China factories so basically consolidating a bunch of
users into one transaction that transaction is pretty malleable via
a Merkle tree
depending on who
wants to hop out
of the coin pool.
Coin pool is like
instead of doing
a tree of transactions
we are going to encode
the transaction tree
in a Merkle tree.
In the taproot Merkle tree
we are working on
the point
or designing
proper thing.
So
that's the question
I had when I first
looked at it.
So you have this
Merkle tree
and every
lift on the Merkle tree
many users involved
in it, correct?
Exactly.
And if one
pops
It's a fancy
multi-party channel.
If one's like
hey I want to take
my money and go home uh-huh it just adjusts the merkle tree but like does that create a utxo for
that person who goes home say yeah does that create like a transaction for that person who
goes home if you want to go go out of the pool it means going on chain right yeah you you uh a pool
if we are designing this flexible enough you should be able to open channel with anyone being
participant of the pool or you might you know we are reassuming with Gleb that
Lightning is cool. Lightning might be 80% of Bitcoin traffic in the coming decade at
the end of this decade. It might be not the only protocol like you know people
are working in vaults, people are working on coin swaps, people are working on
I'm a bit involved in DRC specs, it's a cool project.
As we are doing more fancy protocols, flexibility is somehow an enemy of privacy.
Because doing transactions which are expressing more, like including some contract or option
protocol are leaking more information and I'm really concerned if you're like
you know internet it's like tens and hundreds of different protocols if we
have a beacon ecosystem with ten different protocols you have to and you
imagine like people like you know like I have this lightning channel I'm closing
this tiny channel and I'm sending funds to a vault.
And now
people can use
like-informations and
the expressivity of your Bitcoin Vault
scripts to learn
information about yourself.
Because the scripts
only accept...
Let's say Miniscript is awesome,
right? Because it lets you encode
easier, safe policy.
Let's say I'm the only guy
using
95
relative time locks
it's gonna be obvious
exactly
you know what I mean
exactly
yeah
like
if you
so standardization
even though
it may be scary
to some people
may actually be
flexibility
is somehow
urging privacy
and how we do
solve this
it's still a pain in the ass
so is this just like
a dick measuring contest
between developers
on what standardization
is better no it's more about i'm 100 percent about people doing vaults uh people using
creative time logs i just want to be sure that we you know like on the current internet uh
there is a lot of privacy attacks on the using different protocols oracle you know like your
DNS request, or even at networks, like weird stuff.
Every protocol we are going to support on Bitcoin
is going to be, might be, might leak information.
Might be harmful for privacy.
So with Coinpool, with Gleb, we consider both like,
first, how do we scale?
How do we scale Lightning channels opening and closing?
It's basically a patching trend.
Yeah, yeah.
So first, trying to come with a solution
more optimized than channel factories.
And we are trying to consider also,
how do you avoid privacy leaks between portables?
Because you might not care about your privacy on Lightning,
but you really care about your privacy on vaults.
Because on your vaults, you have your saving.
kind of saving accounts and switching from one to another yeah yeah so my mind
just got put in a press I'm like I can't even like yeah and every protocol every
protocol designers we you may do the work using cool privacy tech like dark
proof trees, script-less scripts.
With scoring pool, we are trying to come with, you know,
like, solving privacy, answer for all, or some level.
Not perfect, there is no thing, but it
will be like some kind of 1.5 layer between the base layer
and the layer 2.
What would that 1.5 layer just be, just the Merkle
tree within the HTLC?
Well, where the top script of your Merkle tree will be a finding out point of your channel, of your mining channel.
Okay.
So the information of who's involved in that Merkle tree would be hidden in your funding transaction?
Yeah.
Grossly, yes.
Yes.
That's more like...
So everybody's getting in this one transaction.
Everyone is...
You can't tell who's in it.
You commit funds to a pool, and then you have, like, this multi-parter channel with everyone as a balance.
And the balance is enforced as a leaf of the tap script.
That's what confused me.
Like, when you're updating that, when people are pulling their money out.
Yeah.
Like, do you, how do you not deprecate privacy on the way?
Like, you're just creating, like.
You don't, like, you don't know who is exiting from the pool.
Okay.
But at the end, when the pool's done, will you know how many people were in it?
Well, the pool may be forever or maybe for a long time.
And I may have multiple Charles.
How do you know it's Alice, Bob, and Carol or not all Alice?
Alice could be Bob.
Yeah, and Carol could be just Carol.
Yeah.
Interesting.
It can be like, I think we should, I'm talking to a lot of people doing privacy research.
I think we can reuse a lot of assumptions
which has been made on CoinJoin
and just doing off-chain
CoinJoin
CoinPool is some fancy off-chain CoinJoin
yeah
well that's why I thought
you compared it to Coinswap because Coinswap
seems superior to me in that where it's like
hey, me and you are going to integrate
or we're going to Coinswap
Coinswap is more like
here I'm going to give you an address
that you send this to
And you are going to change the color in an option way.
I think CoinPo is just like,
we are just trying to increase the offer,
the privacy offer.
And one of my concerns with CoinGen or CoinSwap,
it's going to be too much expensive.
Is that scalable?
Well, if you want a lot of privacy,
you will burn a lot in fees.
Yeah.
if you use Whirlpool
be careful of like
the pools you're getting into
the fees are not cheap
this sentence has not been
backed by any scientific research
but I think Coinsop is going to be better than
Coinpool
but less deployable
harder to get used by users
just because of the UTXO
yeah, on-chain fees
It's too much.
Yeah.
How do we design a scalable privacy system?
The design we offered with Gleb was just an attempt.
It's years, years before we have anything looking like this.
It is just like, that's a real discussion we should have.
How do we design privacy for the average guy?
how do you design
which is
economic in some
type
right
yeah
that's what
I mean I like
hopefully coin
pulls easier too
yeah
hopefully there
can be a GUI
put on the
taproot
miniscript
whatever it is
like hey
do you want
Margie
you can have
any GUI
you want
I want the
best GUI
that's ever been
made
I'm not just
I'm not
going to
get laughing
at me
CLI
fan over here
but
that's what's gonna
that's what's gonna make
this shit happen
yeah I think
your point is
like
how do you design
like
how do you abstract
all that
how do you abstract
that Merkle tree
that's the question
right
yeah that's part of
like you know
I was talking about
dystopian lighting
I'm not sure
if
that much
a good UX
choice
the
people are
saying
you know you shouldn't
be a world
about channel
you know you should like
I want to send money to someone
doesn't matter about the routing power
if users
don't understand channel
and if the default
autopilot of it is picking up
channel for them
well if I'm your LSP I can censor your
transaction
so you have this trade off between
how much
you know how much knowledge you assume
in your user and how
much censorship resistant payments you offer them yeah but it's like it doesn't software like the
bitcoin wallet tracker where you can just do a plugin into your node and it makes pulling this
data a lot easier how do you design things like bitcoin white trackers we are like
uh keeping a lot of privacy well it's just your electron wallet being connected to full node
to your full node on your own device.
That's awesome.
That's pretty cool.
That's pretty cool.
And we should...
Maybe you have to connect to the internet
to download the plugin,
but if you verify the signatures,
you do it in a secure way.
So most of my time is not spent
about fancy lagging attacks
or privacy research.
It's about coding and russlining.
And russlining is the first component of the LDK.
and if you're in like are you worried about ldk marley it is ringing a bell but i can't
describe it off the top of my head right now what do you know about it it's just something
development kit like okay if you like you have already an ecosystem of wallets in place right
and how do you give lightning capabilities to them uh yes yes like
Electrum is going through this problem right now
that's why Electrum 4 has been held up
Electrum guys are awesome
they have awesome developers
they are literally
developing Lightning from scratch
to get it into their work
in Python right?
yeah
and
that's
we are talking about
Lightning and how Lightning
may solve
like provide demand for block space
because you untangle the on-chain value
from the payment throughput.
And if you want,
one of my personal hypothesis is
in the next decade,
we are going to see
the bootstrap of Lightning economy
in some part of the world
is going to be like single digit.
It's going to be unnoticed.
It's going to be unseen.
It's not going to be part of any new Pre-Purse title,
but it's going to be awesome, right?
It's going to come out of nowhere.
Exactly.
People are going to be like,
oh, I can use this for this.
First day there is one guy,
and at the end of the week there is a whole city.
Well, that's the conversation I had yesterday
with our friend Mike Peterson,
who's down in El Salvador,
really incepted that idea in my head
is like thinking of M-Pesa in Africa
and, like, who are the first to adopt mobile technologies,
particularly mobile technologies that move money.
It's actually people in developed countries
who are able to leapfrog this shit
because they don't have the preconceived notion
of, oh, I need a laptop.
You don't have the legacy system.
Yeah, exactly.
And, like, how do we, you know,
like, how do we design a big-swing experience
for people who don't have a payment system right now?
I think that lightning is one part of the solution,
And what we're trying to address with the ADK is trying to build this experience.
And building experience means making it easier for what's on the ground, integrating Lightning.
I think money is for sure a thing, and you need to adapt to every culture, country, payment.
You don't have to adapt to every culture, country, payment.
You just have to adapt to what's easiest for people to understand.
There is different scales of it.
So we envision Lightning, like LDK, being a building block integrated in any wallet experience.
And people should be able to design the landing experience they need to.
If you want zero-conf channel, you should be able to do two.
yeah well i would analogize that to like any human on earth regardless of where you're from
your educational backward background or your understanding of bitcoin bitcoin and lightning
for them should be like somebody who's thirsty and needs water sees a river running and they
know like a river running produces clean potable water yeah like bitcoin and its software built on
top of that should be like that like hey i need to move money around the world i recognize this
network does that yeah you know what's fascinating with lightning it's fascinating because
um the way we bootstrapped um markets economies in europe uh it has been a long process starting
the 11th century somehow and what were the tools of merchants you know like what are the tools of
merchants in
Venetia,
Gena,
and
basically
they were
using
something
which is
called
the
letter of
credits.
Serve
credits?
Letters of
credits.
Oh,
letters of
credits.
Yeah,
it's
Alice
asking
Bob to
pay Carol
if some
condition is
fulfilled.
On a
high level
it's the
exact same
mental
model as
a
lightning.
People
are building
a chain
of
payments.
So we're just making more sophisticated for what is old is new again.
Lateral credits were used in merchant cities to like, okay, I will sell like what people were trading in the middle age.
Grain for salt.
Wine.
Wine.
Yes.
Very applicative to this.
So I'm going to sell you like 100 wine bottles like from Barcelona to Venice.
and I want to be paid so I'm going to withdraw a letter of credits from a
local agents and the local agents are going to be in touch with the guy in
Venetia and make his balance at the equilibrium and the local
agent in
Venetia is
going to
pull money
from the
guy receiving
the goods.
I mean,
letters of
credit is
not something
You're describing
like channel
management there.
That's exactly
what I like.
We are
liking someone
using cryptographic
tools to
reproduce some
weird middle
age tool.
Is it a
weird middle
age tool?
This weird
middle age tool
has been the
horsepower of
market economy in Europe for a while.
Yeah, I mean, so that's
the question, like
is it replicating a middle age
practice or
is that middle age practice just like human
like is that our natural tendency to like
this is the way we agree
socially. You know what's fascinating?
And this is just making it faster and more automated.
What's fascinating with letter of credits
it was the backbone on
market economies
and he was just
relying on some kind of
web of trust
and beyond any
national legal framework.
Yeah,
will Carol ever show up
and be like,
Alice did not have that money
that she pulled from my account.
I'll piss off.
You have a,
you have a system
where people weren't,
you know,
I was able to
do international trades
without being part of the same.
And what,
and what made that possible?
Social incentives,
right?
Like,
everybody had a gun to each other's head
it wasn't a physical
he wasn't relying on trust
he was really relying on
yeah but that's like
but he was working
is there a certain level of trust that humans have historically
we were living like
he was working on the scale of
middle age Europe
there is like
a whole lot more people involved
in today's economy
so you need different ways
to express trust
and cryptography
is part of it
I agree
Antoine
we're three hours in
okay
I mean
I'm really excited
about it
I mean
like just
you know
like
providing
like
Hong Kong style
financial infrastructures
with everyone
pocket
yeah
it's fucking awesome
yeah
and you
you don't have to be
in Hong Kong
to get the same
level of services
no
yeah
thank you for doing
what you do
it's three hours
isn't it crazy that we get to do this or i mean i can't speak for you okay so this my goodbye to
new york this is my goodbye too okay um this might be my last it's been like awesome year uh
like uh going to miss like central park i'm going to miss bashwick and i'm going to like you know
But even Times Square, which is not loved by New Yorkers.
Don't bring up Times Square.
Sometimes Times Square can be the magic place.
In what way?
Seeing the depravity of humanity in one central place?
It's a goodbye, not a farewell.
That's true.
It's a goodbye.
It's not a goodbye.
It's a I'll see you later.
I'll be back.
Dude, I'm happy that you've had this incredible year.
and it feels like again like the content of the discussion tonight is on stuff that you've put out
over the last six to eight months and yeah yeah okay you just had a three-hour conversation
i still have more questions i haven't uh spoken about dlc uh i have a good news we have a clear
scope for getting a 1.1 dlc spec in the next coming months it's going to happen like like
ShortBits guys, Chris, Nadav, DRC guys, Thibaut.
It's fun stuff on top of flying.
Shout out to Ben the Carman, too.
I love the ShortBits team.
Yeah, it's a cool guy.
But, I mean, like, you know, like,
Bitcoin is so young, and that's this huge, huge thing,
like, this new continent.
I mean, we don't know the diameters of it.
We don't know the size of it.
And we should, like, be patient and doing stuff right.
Thank you.
Thank you, thank you.
that is i think the common thread between this podcast and the newsletter that i write is that
i think more people need an exponential amount of more patience with this stuff because we're so
goddamn early like let's do it right or not do it at all patience please you're not going to get
everything out of the box it's going to take time yeah don't worry marty i'm taking more crazy
rights on this thing well thank you for that and this has been fucking thank you for being the
first person to meet me in person in four months to do this podcast i this has been the best most
rewarding conversation i've had in quite some time don't worry about the wine spill no no okay
not very easily great where can we find out more about you where can we help you okay next time
I'm going to bring
Chateau Saint-Emilion
2005
Left Bank
It's going to be good
It's going to be good
Alright
Alright
We're going to record next week
Okay
Goodbye New York
That's all we got
This week freaks
Peace and love
Tiki
