UDSKRIFT 🔗
WEBVTT
NOTE
Transcription provided by Podhome.fm
Created: 6/27/2024 2:19:27 PM
Duration: 4930.719
Channels: 1
1
00:00:02.560 --> 00:00:17.005
Alright. Good deal. We should be live. Man. If you wanna Yeah. Kick off the opener. I I will, sir. I'm just fired up from our cold plunge, but, let me do the opener. Welcome Oh, do you wanna talk about the cold plunge first? We're gonna go right into a tangent. Let's go.
2
00:00:19.140 --> 00:00:22.279
Yeah. We should ask Bob. Bob, do you like cold plunges?
3
00:00:23.619 --> 00:00:25.960
What does that mean? Like, jumping in cold water?
4
00:00:26.455 --> 00:00:30.875
Pretty much. But, like, depending on what your definition of what cold water is,
5
00:00:31.335 --> 00:00:32.155
or degrees.
6
00:00:33.780 --> 00:00:41.160
But yeah. No. You'd No. My scrotum shrivels up and folds into my body. I said, what the fuck are you doing? Don't ever do that again.
7
00:00:42.305 --> 00:00:44.004
You and me both? Exactly.
8
00:00:44.385 --> 00:00:46.245
And then I just want an axe pain.
9
00:00:47.184 --> 00:00:56.030
I like it the other way around. I like to, you know, get out of a hot tub and go roll in the snow and then get back in the hot tub. That's what I like. Yeah. That actually does,
10
00:00:56.649 --> 00:01:01.985
work. If you can go, like, sauna state or sorry, sauna, cold Exactly. Saunas, cold plunge.
11
00:01:02.685 --> 00:01:03.185
Yeah.
12
00:01:03.565 --> 00:01:05.985
Eco Eco's back in Nashville, and,
13
00:01:06.935 --> 00:01:22.215
we we got in our buddies, cold plunge before this show. So we're gonna be fired up, ready to go. So we're gonna bring our a game to I'll tell you a funny story on this topic. So Yeah. You know, I'm back in theoretical physics and I have a lot of friends who work, for various experiments, especially the ice cube experiment down at the South Pole.
14
00:01:22.515 --> 00:01:25.620
And if you winter over at the South Pole, they have a tradition
15
00:01:26.080 --> 00:01:42.680
where I I I'm not sure when it when it is during the year but I think it's like the coldest day of the year or the, you know, January 1st something like that. They have a tradition where you have to run out naked and tag the pole and then run back. How far is it going on?
16
00:01:43.620 --> 00:01:53.625
Oh, I don't know. A 100 meters or so. It's not that far. But, so they get into a sauna and they get their skin really, really hot. Right? And they run out, tag the pole, then run back in when it's, like, a 100 degrees below 0.
17
00:01:54.325 --> 00:01:57.625
Holy god, dude. Dude, Iko, imagine tripping.
18
00:02:00.320 --> 00:02:04.580
Yeah. Yeah. Oh, you're gonna I mean, they wear they wear shoes, but they're they do naked.
19
00:02:05.674 --> 00:02:06.174
Holy
20
00:02:07.115 --> 00:02:10.495
shit. Yeah. What's the ice cube experiment at the South Pole?
21
00:02:11.675 --> 00:02:15.300
Ice cube experiment is a it's about a cubic kilometer of ice.
22
00:02:15.680 --> 00:02:19.540
So the the surface of
Load full transcript
Antarctica is covered about 3 kilometers thick of ice.
23
00:02:19.920 --> 00:02:28.645
And, you know, a kilometer or so down, it's really tightly packed and very, very clear, very transparent. And so what they do is they use a hot water grill to place, photo detectors,
24
00:02:29.265 --> 00:02:32.420
in the ice. And so they've got these strings that form a cube
25
00:02:32.880 --> 00:02:33.700
in the ice.
26
00:02:34.080 --> 00:02:38.735
And what they're looking for, they're looking for high energy particles in space to hit the ice,
27
00:02:39.115 --> 00:02:41.375
knock oxygen or hydrogen atom,
28
00:02:41.915 --> 00:02:47.360
and then deposit a bunch of energy, which makes a bunch of light. They pick up that light and they see tracks of neutrinos
29
00:02:47.819 --> 00:02:49.360
coming from outer space.
30
00:02:50.220 --> 00:02:50.959
Oh, interesting.
31
00:02:51.260 --> 00:02:52.785
The neutrino telescope, really.
32
00:02:54.225 --> 00:02:54.725
Wow.
33
00:02:55.585 --> 00:03:00.940
But they're Are you into the South Pole? I have not. But there are lots of other stuff down the South Pole too. There's a
34
00:03:01.500 --> 00:03:07.985
radio telescopes looking from the surface. There's, you know, biology experiences. There's a whole research program itself.
35
00:03:09.105 --> 00:03:13.605
Awesome. What's the craziest experiment you know of that's going on right now?
36
00:03:18.209 --> 00:03:18.950
I don't
37
00:03:20.530 --> 00:03:26.935
can't really think of 1. I mean, ice cube is is pretty crazy. It's been going on for a long time. None of them are really crazy. Scientists are actually pretty
38
00:03:28.755 --> 00:03:33.500
conservative. I don't know. I don't really think anything terribly crazy. You know, go look where they'll also look before and and that's
39
00:03:34.060 --> 00:03:37.600
that's always interesting. What's what's crazy is experiments that,
40
00:03:38.860 --> 00:03:41.145
it's what's crazy is experiments we're not doing.
41
00:03:41.705 --> 00:03:44.845
Yeah. Tell us about that. What what experiments were we not doing?
42
00:03:45.785 --> 00:03:47.965
In particular, reproduction studies.
43
00:03:48.640 --> 00:03:54.820
Right? So throughout science, we, we tend to study something. We get an answer, and then it has to be a novel answer.
44
00:03:55.280 --> 00:03:59.005
And then we publish it, and then nobody goes back and checks whether we got the right answer.
45
00:03:59.465 --> 00:04:04.525
And this is less it's less of a problem in physics, but it's more of a problem in other fields like biology.
46
00:04:05.370 --> 00:04:12.590
Where, you know, somebody says, oh, this drug works. Well, what you don't know is that they trialed 20 drugs and publish the one that works with 95%
47
00:04:12.970 --> 00:04:13.470
interval.
48
00:04:13.775 --> 00:04:19.395
Well, you've got the 95% because of the other 20 drugs you rejected. And they don't even tell you that they did that. Right?
49
00:04:20.790 --> 00:04:28.010
So, you know, reproduction studies is something that we really need to do across across science, but because of the desire for novelty journals,
50
00:04:28.790 --> 00:04:29.370
you know,
51
00:04:29.935 --> 00:04:33.795
novel is reproductive studies are are not sexy. Right? They're boring,
52
00:04:34.415 --> 00:04:43.960
but they're very, very important. And it's crazy that we we by and large don't do them. Them. And that strongly biases the sign of results we get and a lot of scientific results, we get are wrong because of it.
53
00:04:47.105 --> 00:05:01.389
Very well said. So now I'm gonna go into welcome to pod two fifty six, a weekly Bitcoin podcast focused on Bitcoin mining, energy, and proof of work, hosted by me, rod at bitkite on Twitter, and you can also find me on Noster.
54
00:05:01.850 --> 00:05:03.814
My other co host of pod 2 56,
55
00:05:04.194 --> 00:05:07.094
just the one and only and greatest of all time,
56
00:05:07.395 --> 00:05:08.294
Econo Alchemist.
57
00:05:09.395 --> 00:05:10.670
Eko, my friend, how you
58
00:05:11.390 --> 00:05:16.050
doing? I'm doing good. Still trying to warm up my core from that cold plunge,
59
00:05:16.510 --> 00:05:26.405
but good otherwise. Man, I'm I'm Bob, I don't I don't think we've ever met, by the way, and I'm just excited to pick your brain on a number of different topics now, especially with this, like, little opener. Okay.
60
00:05:26.945 --> 00:05:29.285
Well, I just Yeah. Sorry. That was a complete tangent.
61
00:05:29.665 --> 00:05:30.370
I know. But
62
00:05:31.889 --> 00:05:34.710
but we're into tangents on this show, believe it or not.
63
00:05:36.449 --> 00:05:37.990
All tangents. No scripts.
64
00:05:38.610 --> 00:05:39.510
Full send.
65
00:05:40.375 --> 00:05:41.195
But maybe, Bob,
66
00:05:41.495 --> 00:05:46.395
just to kick it off for the audience, maybe you could give a brief, intro on yourself,
67
00:05:47.655 --> 00:05:49.115
and then we can get started.
68
00:05:50.350 --> 00:05:51.090
Sure. So,
69
00:05:52.030 --> 00:05:53.170
my name is Bob McElrath.
70
00:05:53.630 --> 00:05:54.270
You probably
71
00:05:54.830 --> 00:05:56.930
if you've if you've heard of Brightpearl,
72
00:05:57.230 --> 00:05:59.845
I do run the the Brightpearl Twitter account. I've I've,
73
00:06:00.324 --> 00:06:05.465
written about I've written the architecture documents for it and I'm working on it. We'll talk about that in a bit.
74
00:06:05.845 --> 00:06:08.745
My background is actually in theoretical physics. So I got my PhD,
75
00:06:09.370 --> 00:06:11.150
wrote a thesis on the Higgs boson,
76
00:06:11.850 --> 00:06:12.990
did a couple of postdocs.
77
00:06:13.850 --> 00:06:17.765
I worked at CERN for a while at the Large Hadron Collider in Switzerland.
78
00:06:19.345 --> 00:06:25.660
And, you know, after a few years, kind of took a left turn, didn't get a faculty job. We can talk about what's wrong with science more if you like, but
79
00:06:26.300 --> 00:06:31.440
didn't get a faculty job and took
a left turn, and started working on Bitcoin. I discovered Bitcoin,
80
00:06:31.820 --> 00:06:37.405
when I was at CERN actually, the that's when the Bitcoin white paper came out around 2009, 2010, and I noticed it, like, immediately.
81
00:06:38.845 --> 00:06:42.224
It might have been this post on Slashdot where I first noticed it,
82
00:06:43.300 --> 00:06:50.520
but I didn't really do anything with it. You know, my priorities were elsewhere. And I've always been interested in cryptography as well as finance, and so I I said, wow, that's really interesting.
83
00:06:51.605 --> 00:06:56.025
And so in the intervening years, you know, I I moved up to New York, worked for,
84
00:06:56.885 --> 00:07:02.130
Solid X. They were the guys proposed the Bitcoin ETF competition with Winklevoss Brothers back in 2015 timeframe
85
00:07:02.590 --> 00:07:03.810
that got turned down,
86
00:07:04.509 --> 00:07:05.810
went and worked for Fidelity,
87
00:07:06.350 --> 00:07:10.205
helped them build Philly Digital Assets, which is their Bitcoin copy service,
88
00:07:11.625 --> 00:07:12.025
and,
89
00:07:12.505 --> 00:07:13.645
did that for a couple years.
90
00:07:13.945 --> 00:07:16.260
Since then, I have gone consulting.
91
00:07:16.800 --> 00:07:20.580
So these days, I consult with a number of, Bitcoin sector companies.
92
00:07:21.120 --> 00:07:23.860
Some of them are public, and you may have heard of. One is
93
00:07:25.345 --> 00:07:34.005
Custodia, which is a cable and mongs bank up in Wyoming. 1 is a company called Satoshi Energy. They broke the power contracts for miners mostly in Texas, but they're expanding into other regions.
94
00:07:35.090 --> 00:07:38.870
And another is, Commerce Block. They're the guys behind the Mercury Wallet.
95
00:07:39.250 --> 00:07:39.650
They,
96
00:07:40.050 --> 00:07:42.070
these are state chain atomic swaps.
97
00:07:43.255 --> 00:07:47.435
And then there's Brightpool and a few other projects too. So I consult on a number of key topics.
98
00:07:48.215 --> 00:07:49.275
Just kind of freelance
99
00:07:49.735 --> 00:07:50.475
for now.
100
00:07:51.730 --> 00:07:58.050
Man. Awesome. Dude, I think I I think a few years ago, you and I were talking, and I applied for
101
00:07:58.985 --> 00:08:02.845
I sent you a resume because I was interested in working for a satoshi energy.
102
00:08:03.385 --> 00:08:06.125
Oh, did you? Do do you recall that? No.
103
00:08:06.590 --> 00:08:09.330
Yeah. It was as if it was years ago.
104
00:08:09.950 --> 00:08:10.450
Okay.
105
00:08:10.830 --> 00:08:14.930
I I don't know your I only know Econo Alchemist. I don't know your your actual name.
106
00:08:15.574 --> 00:08:19.995
Yeah. I had I had taken every I had taken everything off of the, resume.
107
00:08:21.414 --> 00:08:21.914
Okay.
108
00:08:22.350 --> 00:08:25.070
If you're scared. Good guys. They're doing doing awesome.
109
00:08:25.390 --> 00:08:29.010
I gotta say, they're probably my most successful consulting client.
110
00:08:30.005 -->
00:08:32.425
Awesome. Yeah. They're good they're good dudes.
111
00:08:33.845 --> 00:08:48.910
Can I like, so it seems like each sector within Bitcoin, you're you have your hands on? Now, why in the heck did you want to start or work on braid pool? And maybe you can explain, you know, my question from Twitter was, what's a braid pool?
112
00:08:50.125 --> 00:08:50.925
Sure. Well, that's,
113
00:08:51.965 --> 00:08:56.465
so this is an old, old idea. So the first time I talked about this was in 2015,
114
00:08:56.845 --> 00:08:58.990
the Scaling Bitcoin Conference in Hong Kong.
115
00:08:59.550 --> 00:09:02.850
And, you know, at the time, this is before Segwit. It was before,
116
00:09:03.230 --> 00:09:05.330
Bitcoin Cash worked off. It was before
117
00:09:06.029 --> 00:09:09.295
the the real block size wars was kinda spiked in 20 16, 2017.
118
00:09:09.915 --> 00:09:13.375
And, you know, a lot of people were thinking about, well, how do we make Bitcoin go faster?
119
00:09:13.755 --> 00:09:18.300
And one of the things in the back of my mind has always been that, you know, a direct to a cyclic graph
120
00:09:18.940 --> 00:09:24.480
has a lot of advantages. So there's talks online. If you're bored, you can go look up that talk from Hong Kong scaling Bitcoin.
121
00:09:25.635 --> 00:09:29.175
And the motivation is to get the block time to be faster. Right?
122
00:09:29.795 --> 00:09:31.175
So these 10 minute blocks
123
00:09:31.795 --> 00:09:32.295
have
124
00:09:32.790 --> 00:09:33.610
some disadvantages,
125
00:09:33.990 --> 00:09:38.010
you know, obviously nobody wants to wait 10 minutes. Can we make it faster in principle?
126
00:09:38.710 --> 00:09:42.375
But also there there's a reason for that 10 minute block time. If you if you make it,
127
00:09:43.154 --> 00:09:43.654
faster
128
00:09:44.675 --> 00:09:48.135
in a naive way, what you end up doing is creating a lot of orphans.
129
00:09:48.440 --> 00:09:52.220
We can talk about p 2 pools, kind of a predecessor to upgrade pool as well.
130
00:09:52.920 --> 00:09:58.265
So the the talk I gave them was really about well, can we make a blockchain with a direct basic graph in first place?
131
00:09:58.825 --> 00:10:00.925
And how would you do it? Proof of work blockchain.
132
00:10:01.625 --> 00:10:05.165
So it's kind of the first presentation on that topic. Since then, there have been a number of blockchains,
133
00:10:05.705 --> 00:10:09.940
that have actually done it. The most successful is right now is probably Casper.
134
00:10:10.960 --> 00:10:15.460
And I went back and forth with, the off one of the main authors of
135
00:10:15.795 --> 00:10:16.295
Kasper,
136
00:10:17.395 --> 00:10:17.975
Jonathan Sumpolinski
137
00:10:18.915 --> 00:10:19.415
about
138
00:10:19.795 --> 00:10:22.135
it while he was writing the DAG night paper.
139
00:10:22.675 --> 00:10:28.910
Some of the same authors that wrote those DAG paper which is used in Ethereum. But then they moved on from that to create a proper graph.
140
00:10:29.450 --> 00:10:31.950
And the grade that I propose is probably
141
00:10:32.570 --> 00:10:36.805
formally equivalent to what he has done, Although I came about it from a slightly different perspective.
142
00:10:38.144 --> 00:10:43.925
But yeah. So braid the word braid is just something I came up with that, you know, if you look at a picture of a direct basic graph,
143
00:10:44.780 --> 00:10:57.865
it's kind of a blob with a bunch of arrows and stuff. I said, well, can I come up with a word that is not a chain? Right? We know what a chain is. That's gotta be something that's more complex than a chain. So I came up with the word braid. Mhmm. So that's where that's where that started.
144
00:10:58.324 --> 00:11:04.620
And, you know, in the intervening years, this is not really been something I've worked on. You know, from time to time, I'll write a little bit about it or blog about it.
145
00:11:05.880 --> 00:11:09.900
But things changed about 2 years ago with the advent of the Frost algorithm.
146
00:11:10.835 --> 00:11:17.255
Now Frost gives us the ability I mean, the big problem with running a decentralized mining pool is that somebody has to hold the funds.
147
00:11:17.870 --> 00:11:20.370
Where do the funds get held until they get distributed to miners?
148
00:11:21.230 --> 00:11:26.530
And so you need kind of a decentralized mechanism to do that. What Frost does is allows you to have it basically a giant multisig.
149
00:11:27.455 --> 00:11:31.155
And this this fundamentally needs the, the Taproot Schnorr signature,
150
00:11:31.935 --> 00:11:32.435
mechanism.
151
00:11:33.135 --> 00:11:35.715
And so we can go into that in more more detail, but
152
00:11:36.240 --> 00:11:38.579
that's what's kind of the gating thing. And,
153
00:11:39.199 --> 00:11:41.459
to to build a direct a cyclic graph,
154
00:11:41.920 --> 00:11:44.019
b, custody through a giant multisig.
155
00:11:44.715 --> 00:11:46.735
And then there are a few other pieces of this too, like,
156
00:11:47.435 --> 00:11:49.055
unspent hasher payout mechanism.
157
00:11:49.595 --> 00:11:52.735
And I can I can kinda go down down the list if you like?
158
00:11:53.130 --> 00:11:54.830
But, you know, in the last year,
159
00:11:55.850 --> 00:11:58.270
we've we've got 2 developers working on it now.
160
00:11:58.730 --> 00:12:00.430
My collaborator, Kulprit Singh,
161
00:12:00.810 --> 00:12:04.445
applied for a grant and won 2 grants, one from the Human Rights Foundation
162
00:12:04.825 --> 00:12:05.885
and one from,
163
00:12:07.145 --> 00:12:07.645
Satoshi
164
00:12:09.945 --> 00:12:11.165
oh, what's the name of it?
165
00:12:11.930 --> 00:12:19.950
Open. Sorry. That's yeah. Open. That's So we won 2 grand for that. We also have a summer Bitcoin student who's got some froth experiments working with us now as well.
166
00:12:20.345 --> 00:12:23.885
So things are moving along. I just talked to him yesterday. We get a catch up weekly.
167
00:12:24.745 -->
00:12:28.000
I'll probably end up writing the braid code itself in about a month or so.
168
00:12:28.480 --> 00:12:34.420
And in a few months, hopefully, we'll have a beta test version of this ready, so people can actually run it. Hell, yeah.
169
00:12:35.575 --> 00:12:36.075
Awesome.
170
00:12:36.455 --> 00:12:38.555
Who are all the signers in the multisig?
171
00:12:40.375 --> 00:12:44.795
So the the plan is to take the last several people who won blocks,
172
00:12:45.209 --> 00:12:46.829
and they are the signers. Right?
173
00:12:47.209 --> 00:12:49.069
Ideally, you wanna have, like, all miners,
174
00:12:49.769 --> 00:12:50.269
who
175
00:12:51.129 --> 00:12:58.655
remind the block, sign it or maybe even more. But there are scaling limitations as to how many people can actually effectively sign a frost ticket.
176
00:12:59.035 --> 00:13:06.390
Because the frost protocol itself, I believe it's a 3 round protocol, where you've got a you've got to agree upon a nonce degree upon what you're signing.
177
00:13:06.850 --> 00:13:17.505
Each party contributes essentially a signature, which comes from a Schmeer share. And then somebody has to aggregate all the signatures. So it's it's a several round protocol that involves quite a bit of network communication.
178
00:13:18.045 --> 00:13:21.024
It scales probably, like, or n cubed in terms of network communication.
179
00:13:21.510 --> 00:13:25.529
So as n grows large, which is the number of signers, at some point, this peters out.
180
00:13:26.070 --> 00:13:31.764
So we don't know right now exactly what n is going to be. We would like to be as large as practically possible,
181
00:13:32.704 --> 00:13:34.324
given that we need to sign,
182
00:13:35.024 --> 00:13:35.764
the payout
183
00:13:36.144 --> 00:13:44.759
within roughly 10 minutes. Right? So we're gonna we're gonna let that be dynamic. We're gonna evaluate that, you know, once we have code running to do it and say, well, how large can we let this be?
184
00:13:47.245 --> 00:13:52.625
And is that I'm looking at the Braid Pool Twitter account. Is that graphic in the background?
185
00:13:53.165 --> 00:14:02.770
The of the profile, is that that chart you were talking about? That graph? Uh-huh. That is that comes from a simulation I did a couple years ago, which, let me pull up that account.
186
00:14:04.835 --> 00:14:09.975
Yeah. So so the if you go to our GitHub, you can find a link to the simulation I did of
187
00:14:11.390 --> 00:14:16.130
a braid and came up with basically how to do the difficulty adjustment and things like that. That
188
00:14:16.510 --> 00:14:17.490
picture is
189
00:14:17.790 --> 00:14:18.850
from that simulation.
190
00:14:19.255 --> 00:14:25.195
And that's that's why. Okay. Some other free pictures on there too. I used a graph library to draw that.
191
00:14:25.975 --> 00:14:30.820
And then what is it? I I know you you touched on this, but I just wanna
192
00:14:31.839 --> 00:14:34.740
unpack it a little bit more so I so
I completely understand.
193
00:14:35.235 --> 00:14:38.855
What does it mean when the the blocks are a 1000 times faster?
194
00:14:40.115 --> 00:14:45.580
So the block time so I I like to differentiate between a Bitcoin block and a block within the
195
00:14:47.320 --> 00:14:48.620
the share chain, right? So
196
00:14:49.000 --> 00:14:52.460
there are several terms here, we could call grateful a share chain.
197
00:14:53.024 --> 00:14:59.764
We could call it a merge mind blockchain. Okay. Okay. It's a big graph. It's not a blockchain. It's a DAG.
198
00:15:00.225 --> 00:15:03.350
And it's merge mind with Bitcoin. Right? Okay. Okay.
199
00:15:04.130 --> 00:15:31.635
So I like to call the the blocks within the the share chain slash DAG beads just to differentiate it. So beads are the share chain, blocks or Bitcoin blocks, just so we don't confuse the 2. But they're conceptually the same animal. Right? In fact, any bead is a valid bit point block if it had hit the difficulty target. That's the only thing wrong with it. Is it's difficult target is too low. And so we by lowering the difficulty target, we can produce blocks that are roughly a 1000 times faster.
200
00:15:32.015 --> 00:15:42.920
And this will end up being dynamic, exactly how fast it is. We're gonna measure the network latency of how fast those blocks get produced or those beads get produced, and use that to determine, you know, how fast we can actually run.
201
00:15:44.205 --> 00:15:45.185
It's it's worth
202
00:15:45.645 --> 00:15:50.225
taking a look at p 2 pool. So p 2 pool was an old, let's say, circa 20
203
00:15:50.529 --> 00:15:51.029
13,
204
00:15:51.810 --> 00:16:04.605
mining pool that lowered the block time to 30 seconds. So Bitcoin is 600 seconds, 10 minutes, and they lowered it to 30 seconds. So it's roughly 20 times faster, which means, you know, 20 times more minor or 20 times smaller minor can effectively
205
00:16:04.940 --> 00:16:05.839
tribute to the network.
206
00:16:06.779 --> 00:16:17.315
20 is not that big of a factor. We we wanna get a factor of, like, a1000000. So right? But the 20 is what they could do. And what ends up happening when you lower that walk time and you have a blockchain is that you create orphans.
207
00:16:17.855 --> 00:16:24.620
So 2 people on opposite sides of the world accidentally mine a block at approximately the same time or a bead in the shared chain. Right?
208
00:16:25.000 --> 00:16:29.019
And this is not an attack. It is no. Through no fault of anybody's.
209
00:16:29.480 --> 00:16:41.930
It's just network latency calls. That's right. And then they have to communicate this new beat to the other, parties in the network, and now you have a race condition. Whoever can propagate that new block to everybody else in the share chain faster,
210
00:16:42.949 --> 00:16:50.405
wins the race condition. And when end up hap when what ended up happening with, p 2 pool is there was a lot of latency games being played.
211
00:16:51.105 --> 00:16:51.605
The
212
00:16:52.145 --> 00:16:54.885
P2P network on Bitcoin and
213
00:16:55.640 --> 00:16:57.260
p2pool was not very efficient.
214
00:16:57.640 --> 00:17:02.060
It takes, you know, order 6 to 6 to 10 seconds to get your your block out to everybody.
215
00:17:02.735 --> 00:17:03.235
Right?
216
00:17:03.535 --> 00:17:04.015
And,
217
00:17:04.575 --> 00:17:10.275
you know, what that meant is that people would optimize the connections they had to other peers to reduce their latency.
218
00:17:10.680 --> 00:17:22.835
And this is a centralizing effect because the way to get the lowest latency is to put everybody geographically in the same place. So we want to get rid of that. We don't want to create this late game. And this late game is fundamentally a consequence of using a blockchain.
219
00:17:23.135 --> 00:17:26.034
This is why Bitcoin's block time is 600 seconds.
220
00:17:26.414 --> 00:17:34.640
With, the measurements I did back at the time, back in a while ago, I've given, like, 3 talks on this. If you're if you're bored and go look these up. But one of the measurements I did,
221
00:17:35.420 --> 00:17:36.540
I measured that the,
222
00:17:37.554 --> 00:17:41.495
the mean time to propagate a block through the Bitcoin network with roughly 6 seconds.
223
00:17:41.875 --> 00:17:54.610
And you can get this number basically directly from the orphan rate. Just look at the, or look at the block times and how often does the block come faster than 6 seconds. And if you've seen the discussion on Twitter about empty blocks recently,
224
00:17:55.165 --> 00:18:00.545
these are all blocks that happen in quick succession after one another. Right? Right. This this leads into it. Right?
225
00:18:01.085 --> 00:18:18.855
So you're you're less likely to have an orphan because there's less data to propagate if you make an empty block. Right? But if you try it if you wanna go to the next level, right, this is already a problem in Bitcoin. 10 minute block times, This is already a problem. Right? But if you wanna start decreasing that block time down to 30 seconds or even lower, we wanna get below 1 sec.
226
00:18:20.309 --> 00:18:26.330
Then then this becomes a much more serious problem. You have to project with a completely different solution. That's what the direct is that provides.
227
00:18:28.230 --> 00:18:29.850
And so do miners
228
00:18:30.695 --> 00:18:33.914
mining to Braid Pool, if they're, like, finding these
229
00:18:34.375 --> 00:18:39.674
these blocks faster, are they getting rewards for it? Is there, like, another token involved? Or
230
00:18:40.470 --> 00:18:43.450
That's right. So we want to I mean, within any
231
00:18:43.830 --> 00:18:46.970
pool, centralized or otherwise, there is a notion of a share.
232
00:18:47.575 --> 00:18:53.115
Right? So your your pool allocate shares to you, and you get paid based on how many shares you contribute. Right?
233
00:18:53.815 --> 00:18:56.480
So we do actually want to make that a
transferable coin.
234
00:18:56.960 --> 00:19:01.059
At the end of the day, any pool needs to do accounting on these shares. You need to mount,
235
00:19:01.360 --> 00:19:06.465
sorry, account for and measure these shares for every miner. And because this is a distributed system,
236
00:19:07.105 --> 00:19:15.125
this database needs to be distributed. So everybody has to know the shares of everybody else to be able to validate if the shares have been distributed correctly. Right?
237
00:19:17.380 --> 00:19:27.505
So, yeah, that might as well be a coin. Right? Right. Right. And that's what I that's what I propose to do here is actually make it a coin. I wanna call it the Terahash coin
238
00:19:27.885 --> 00:19:28.385
THC.
239
00:19:30.365 --> 00:19:33.270
Nice. It doesn't have to be that. It's just to share. Right?
240
00:19:33.830 --> 00:19:46.605
And, you know, shares on centralized pools are not fungible with each other. You know, if I go to one pool and get a share there, I can't sell it to somebody on another pool or trade it against a share or another pool, but they're fundamentally kind of the same object
241
00:19:47.065 --> 00:19:51.164
up to the the fees that that they are charging on the different pools.
242
00:19:53.360 --> 00:19:53.860
Awesome.
243
00:19:54.640 --> 00:19:55.460
And so
244
00:19:56.400 --> 00:19:58.340
just for listeners, how does
245
00:19:59.050 --> 00:19:59.325
let's
246
00:19:59.885 --> 00:20:03.885
how does Bradpool decentralized Bitcoin mining? Because that's kinda how the,
247
00:20:05.565 --> 00:20:12.370
the topic of inviting Bradpool onto the show came up just for listeners who missed the interactions on Twitter.
248
00:20:13.070 --> 00:20:15.330
We had Boris on our last show,
249
00:20:15.710 --> 00:20:17.330
and he had been monitoring
250
00:20:17.675 --> 00:20:18.655
stratum jobs
251
00:20:19.435 --> 00:20:21.215
and looking at pool centralization.
252
00:20:21.835 --> 00:20:22.815
1 of our listeners
253
00:20:23.515 --> 00:20:29.200
mentioned that they were disappointed we didn't talk about Braid Poole on the show and so we decided to change
254
00:20:29.660 --> 00:20:38.945
that. And, and we tagged Braidpool on Twitter, and we got in touch with Bob, and and now we're on the show. So there's all kind of the whole backdrop here is kinda decentralizing
255
00:20:39.325 --> 00:20:44.289
Bitcoin mining. So can you speak to to how Braid Pool helps decentralize
256
00:20:45.230 --> 00:20:46.210
Bitcoin mining?
257
00:20:46.830 --> 00:20:47.710
Absolutely. So the,
258
00:20:48.669 --> 00:20:53.845
the question of centralization really comes down to the pools. Right? Because the pools are centralized entities
259
00:20:54.225 --> 00:20:58.725
and among other things they produce the block template. They select the transactions that get into the block.
260
00:20:59.345 --> 00:21:00.250
And because of that
261
00:21:00.810 --> 00:21:06.270
they can not only censor transactions, but they can also, you know, if they
get large enough performance with a few percent attack.
262
00:21:06.810 --> 00:21:08.350
And so we have this kind of
263
00:21:08.810 --> 00:21:09.870
nasty dichotomy
264
00:21:11.605 --> 00:21:13.145
within pools where
265
00:21:13.605 --> 00:21:17.304
I mean, the fundamental purpose of a pool is to decrease variance. Right?
266
00:21:17.605 --> 00:21:20.050
And very if you're a minor, variance is,
267
00:21:20.430 --> 00:21:24.690
I mean, let's say I have 1% for the network hash rate. Right? Which is pretty big minor.
268
00:21:25.390 --> 00:21:30.034
So 1% of cash rate means on average, I'm gonna win 1.4 blocks per day,
269
00:21:30.895 --> 00:21:35.315
or, you know, on average, let's say, 40 to 45 blocks per month. Right?
270
00:21:35.720 --> 00:21:38.140
Now the variance on your revenue,
271
00:21:38.520 --> 00:21:42.460
this is a Poisson process. Right? So the variance on your revenue is the square root of that
272
00:21:43.774 --> 00:21:48.195
over the total number of blocks. And so I calculated a while back that if you want to have,
273
00:21:49.215 --> 00:21:51.394
let's say, a 1% annual variance
274
00:21:51.695 --> 00:21:52.674
on your revenue,
275
00:21:53.180 --> 00:21:55.520
you need to have 20% of the network cash rate.
276
00:21:55.980 --> 00:22:12.110
Wow. That's a pretty, pretty big number and 1% annual variance, which is to say, I need to be able to pay my bills, right? So I need to know that I'm gonna make this much money this year. I need that be within 1%. I think it's a pretty reasonable statement for a business. Right? And that corresponds to around a 3 and a half. I remember correctly, 3 and a half monthly,
277
00:22:13.130 --> 00:22:21.265
variance. Right? So your your profit goes up and down by 3 and a half percent per month. Right? And this is statistics. Right? So sometimes it goes up twice, up and down by twice that.
278
00:22:23.185 --> 00:22:27.205
So the whole purpose of a pool is to decrease fat variance, right?
279
00:22:28.280 --> 00:22:36.045
And so you you have this dichotomy where I want pool to be big so that the variance goes down, but I don't want it to be so big that it performs 51% attack.
280
00:22:37.085 --> 00:22:42.865
So this is why I I hypothesize it. That's why all of the pools kind of land in this sweet spot somewhere between roughly 20%
281
00:22:43.245 --> 00:22:43.745
50%.
282
00:22:44.970 --> 00:22:47.710
As you want to be big but you don't want them to be too big.
283
00:22:48.250 --> 00:22:52.910
Right? And you know these days there are other things going on like the FPPS mechanism where
284
00:22:54.165 --> 00:22:59.145
they they reduce they remove the risk in other ways in particular by just paying you no matter what,
285
00:22:59.525 --> 00:23:01.145
which is a completely different mechanism
286
00:23:02.020 --> 00:23:06.500
whereby they have to have funds. They have to have a pool of funds. And if you've been following the,
287
00:23:07.780 --> 00:23:08.280
discussion,
288
00:23:08.660 --> 00:23:10.360
there's a number of tweets by
289
00:23:11.135 --> 00:23:11.635
0xv10c
290
00:23:12.735 --> 00:23:14.434
on Twitter. He's our analysis.
291
00:23:14.895 --> 00:23:16.035
Yeah. Yeah. Absolutely.
292
00:23:16.575 --> 00:23:22.360
I've talked to him a few times about this, and he's been analyzing the block templates and pointed out that most of the pools
293
00:23:22.660 --> 00:23:25.755
have the same block template, like all the transactions are the same,
294
00:23:26.315 --> 00:23:32.735
and in the same order. And what's what appears to be going on there is bit main is essentially subsidizing other pools.
295
00:23:33.730 --> 00:23:35.270
So those smaller pools,
296
00:23:35.730 --> 00:23:45.005
even with, you know, only 10% of the hash rate, the pool itself can't handle the variance. Right? I mean, it's it's a large capital cost, and he's got estimates of the capital cost to do this.
297
00:23:45.705 --> 00:23:50.860
It's a large capital cost to run that run that pool, and it's just a it's a pure risk. Right?
298
00:23:51.320 --> 00:24:04.940
The miners don't wanna take that risk. Right? They've got other risks. They've got, you know, power production risk. They've got the, you know, equipment failure risks. They've got a bunch of other risks. They don't wanna take on this financial risk of how many blocks am I gonna win? Because there's no there's no good answer.
299
00:24:05.419 --> 00:24:09.840
Right? I can't this isn't a it's purely statistical process. It's pure lottery.
300
00:24:10.220 --> 00:24:13.039
So I can't do anything to optimize that. Right? Right.
301
00:24:14.135 --> 00:24:15.115
So they want to outsource
302
00:24:15.895 --> 00:24:18.795
that. Now I propose to do something completely different within grateful.
303
00:24:20.295 --> 00:24:21.995
And we mentioned before the
304
00:24:22.375 --> 00:24:23.755
the the shares being tradable.
305
00:24:24.570 --> 00:24:32.485
In order to to have somebody take this risk for you, all you really have to do is send your share to a counterparty. Your counterparty sends Bitcoin.
306
00:24:32.945 --> 00:24:41.690
Right? That is a forward contract. So I'm getting I'm getting Bitcoin now, and the grateful protocol will pay whoever is holding share Bitcoin in the future.
307
00:24:41.990 --> 00:24:43.610
This is a called a forward contract.
308
00:24:44.390 --> 00:24:47.130
Futures are basically standardized forward contracts,
309
00:24:47.684 --> 00:24:51.065
where they all have kind of the same structure and makes them tradable amongst each other.
310
00:24:52.085 --> 00:24:53.945
This is a hash rate future.
311
00:24:54.780 --> 00:24:58.080
And, you know, what miners could be doing is they could be essentially
312
00:24:58.780 --> 00:25:03.135
paying someone to take this risk. And that risk taker is, of course, gonna charge a fee. There's gonna
313
00:25:06.975 --> 00:25:11.075
be a spread between the, the share price and and the Bitcoin price. And some of that's
gonna do with fee estimation. Some of that's gonna do with
314
00:25:12.050 --> 00:25:17.350
the the rate of rate of blocks are coming. Some of that's gonna do after the cash rate futures, but fundamentally,
315
00:25:17.730 --> 00:25:19.270
they want to outsource this risk.
316
00:25:19.585 --> 00:25:21.685
This is what futures markets are.
317
00:25:23.105 --> 00:25:26.645
You know, long time ago we figured out corn farmers and oil oil
318
00:25:27.505 --> 00:25:37.245
drillers figured out that they could get other people to take this risk for them. And so they hire professional firms like Citadel and Susquehanna. And what what those companies do is
319
00:25:37.545 --> 00:25:41.005
they build fancy models of the weather. They wanna know the precipitation
320
00:25:41.305 --> 00:25:41.805
for,
321
00:25:42.185 --> 00:25:59.784
for corn. They wanna know how cold the winter is gonna be in there or how much heating oil is gonna be used by the oil industry. They do things like they fly drones over the the oil storage containers near ports and look at the level of the oil in the in the container because the the lid on those things basically goes up and down with oil.
322
00:26:00.640 --> 00:26:04.100
And they try to find other ways to figure out and model these things,
323
00:26:04.560 --> 00:26:09.060
and then they come up with a professional prediction. And they say, we've we've done the risk analysis, and we think
324
00:26:09.855 --> 00:26:14.355
it's gonna be this, and we're gonna make a bet on it. And therefore, they sell futures, on the futures markets.
325
00:26:14.975 --> 00:26:21.480
Corn farmers buy there, buy them, and then the corn farmers and oil drillers can lock in their profit and not be subject to this risk.
326
00:26:21.780 --> 00:26:27.625
And so what I propose to do is do the same damn thing for Bitcoin. Right? We have an a a different kind of
327
00:26:28.725 --> 00:26:40.920
variance going on here, a different kind of risk, and that is hash rate as well as b risk. But none nonetheless, these are just risks. They're professional risk takers that do this. The only thing we need to do to enable this is allow shares to change hands.
328
00:26:41.380 --> 00:26:42.440
And if it's a coin
329
00:26:42.945 --> 00:26:46.164
and operates just like Bitcoin, it's easy peasy. Right?
330
00:26:47.025 --> 00:26:47.525
Right.
331
00:26:52.630 --> 00:26:53.130
Just
332
00:26:53.670 --> 00:26:54.490
go ahead, Heiko.
333
00:26:56.550 --> 00:27:00.625
No. I was just I was just gonna go back to the the decentralizing
334
00:27:00.925 --> 00:27:01.485
aspect, like,
335
00:27:03.485 --> 00:27:04.625
so it's Sorry.
336
00:27:05.245 --> 00:27:09.425
I didn't I didn't I got off on tangent. I didn't answer your question. Let me ask you a question about how is it decentralized?
337
00:27:09.950 --> 00:27:11.330
There, do you wanna enter that quick?
338
00:27:11.870 --> 00:27:12.770
No. Go ahead.
339
00:27:13.550 --> 00:27:16.210
How does it decentralized?
Okay. It decentralizes.
340
00:27:17.150 --> 00:27:20.205
So I I just described one way it decentralized because the,
341
00:27:20.505 --> 00:27:24.845
the pool so centralized pools are already taking on this risk management function.
342
00:27:25.625 --> 00:27:28.205
And if the analysis of b 10 c is correct,
343
00:27:28.700 --> 00:27:34.400
this risk management function is something they don't want to do, and they're essentially all outsourcing this risk management function to Bitmain.
344
00:27:35.434 --> 00:27:44.735
There's one thing that may knows that nobody else knows. And that's how many Bitcoin mining devices they produce in this in some timeframe. Right. And that's one of the things that needs to go into a proper risk management.
345
00:27:46.190 --> 00:27:47.009
But this is
346
00:27:47.309 --> 00:27:48.769
kind of a bad deal. So,
347
00:27:49.149 --> 00:27:49.809
if we
348
00:27:50.190 --> 00:27:53.169
decentralize that by having there be lots of market makers
349
00:27:53.475 --> 00:28:02.540
who can all buy and sell shares, I mean, you and I could do it. Right? If you have the right market, if this was a coin listed on exchanges, I could go buy share coins, and and sell Bitcoin for it. Right?
350
00:28:04.520 --> 00:28:05.820
The other way it decentralizes
351
00:28:06.760 --> 00:28:07.740
mining is,
352
00:28:08.600 --> 00:28:09.260
the pools
353
00:28:09.560 --> 00:28:10.060
also
354
00:28:10.765 --> 00:28:12.625
create the block template in select transactions.
355
00:28:12.925 --> 00:28:21.100
What we will do with Great Pool is actually have every single miner run their own Bitcoin node and their own Great Pool node and construct their own blocks. Right?
356
00:28:21.559 --> 00:28:32.115
The only requirement here is that, any of your shares you create must have could have been a Bitcoin block if it is difficult to target. Right? And so that's something we have to verify about. So
357
00:28:35.055 --> 00:28:38.490
by having more people producing blocks, more people selecting transactions,
358
00:28:39.750 --> 00:28:44.945
it makes it much more difficult for, let's say, a government to come in and say, okay, you you can't
359
00:28:45.485 --> 00:28:48.225
pass this transaction or you can't pass that transaction. Right?
360
00:28:48.925 --> 00:28:50.385
Right. Yeah. Because everybody
361
00:28:51.165 --> 00:28:51.600
is
362
00:28:52.000 --> 00:28:55.940
distributed, and they're selecting their own transactions from their own nodes.
363
00:28:56.640 --> 00:28:57.140
Yeah.
364
00:28:57.520 --> 00:28:58.705
So we wanna get
365
00:28:59.424 --> 00:29:03.205
pools out of the business of trucking blocks. Right? That's one way of decentralizing.
366
00:29:03.585 --> 00:29:15.080
We also wanna get pools out of the risk management function, which and decentralized that as well. This is something that people don't talk about very much. But the the analysis of b 10 c is really highlighting how important that risk management function is.
367
00:29:15.405 --> 00:29:17.585
So by decentralizing both of those things,
368
00:29:18.205 --> 00:29:31.169
we we hope to allow centralized pools to continue to operate and continue to buy those functions that they want on top of grateful, because there's not going to be a fee for running on top of grateful. So they're gonna be able to provide bread better services at lower costs,
369
00:29:31.924 --> 00:29:37.465
and continue to do what they're doing if they choose to. But miners will also be able to run braid pool themselves.
370
00:29:38.485 --> 00:29:40.985
And so, like, in theory, the
371
00:29:41.350 --> 00:29:44.490
the pool braid pool wouldn't even have to be handling
372
00:29:45.269 --> 00:29:46.889
the Bitcoin payouts
373
00:29:47.350 --> 00:29:55.895
for the miners. Because I could if I'm mining with Braid pool, I can take my shares and sell them to somebody for Bitcoin now, even before
374
00:29:56.755 --> 00:30:04.190
a block is found at a valid difficulty that gets it on the Bitcoin main chain. Right? That's right. And then once
375
00:30:04.570 --> 00:30:07.789
once braid once a braid pool miner does find a block
376
00:30:08.335 --> 00:30:10.275
that meets that difficulty requirement,
377
00:30:10.895 --> 00:30:14.275
then that's when that braid pool multi sig
378
00:30:14.735 --> 00:30:15.955
kicks in. Right?
379
00:30:16.440 --> 00:30:28.625
That's right. So it is necessary that the, the shares get turned into Bitcoin at some point. Right? The share shares are not a shit point. Right? There's not gonna be a presale of them. The only way to get shares is to mine. Right? So you're gonna have to mine,
380
00:30:29.085 --> 00:30:36.210
what would be bad valid Bitcoin block. And the only way that shares get turned into Bitcoins is if we successfully actually mine actual Bitcoins. Mhmm. Right?
381
00:30:36.909 --> 00:30:43.009
And so if if I were on the other side of that transaction and I bought Braid pool shares from somebody mining,
382
00:30:43.695 --> 00:30:46.835
then when when that multi sig gets activated,
383
00:30:47.375 --> 00:30:49.235
then I get my Bitcoin back.
384
00:30:49.695 --> 00:30:55.080
Right? That's right. Okay. Yeah. So what I propose to do is essentially have a 2 week time window
385
00:30:55.540 --> 00:30:56.360
where we
386
00:30:56.820 --> 00:31:02.465
aggregate those shares. And the 2 week time window is 2016 blocks, it corresponds to the difficulty adjustment.
387
00:31:02.925 --> 00:31:06.065
And the reason for this is that within that 2016 blocks,
388
00:31:06.605 --> 00:31:25.830
the difficulty is the same. So if you want to create a hash rate derivative instrument, what you're doing is you're comparing the difficulty within 1 2016 block epoch Mhmm. And the next 26 block epoch. I mean, they call them finance derivatives for a reason. They are they are functionally mathematically at the river. You know, it's a it's a discreet difference between 2 different time intervals.
389
00:31:26.690 --> 00:31:29.110
The the hash rate in one time or not, you know, the hash rate in another.
390
00:31:30.690 --> 00:31:31.190
So,
391
00:31:31.717 --> 00:31:31.945
by
392
00:31:33.465 --> 00:31:34.524
lost my train of thought.
393
00:31:36.024 --> 00:31:39.804
Well, while while you're trying to find it, actually, Rob on this thread,
394
00:31:40.390 --> 00:31:42.490
hit us up in the the the chat.
395
00:31:43.669 --> 00:31:51.875
Yes. Thank you, Rob. He says, you 2 are looking more handsome than ever. Rod is 10 years younger, and Encano is twice as anonymous.
396
00:31:53.055 --> 00:31:56.950
So thank you, Rob, for that. And congrats on, publishing
397
00:31:57.429 --> 00:32:00.090
that awesome book, man. I can't wait to get my hands on it.
398
00:32:00.549 --> 00:32:01.049
Question.
399
00:32:01.590 --> 00:32:14.780
How does this differ from the Luxor product? Is this a different product or a new competitor in this in that space? So Luxor has a derivatives product. I don't know, Bob, if you're familiar with that that product. I'm familiar with it. I'm not that familiar with it.
400
00:32:15.480 --> 00:32:17.580
Look, there are many different ways to do
401
00:32:17.960 --> 00:32:19.180
derivatives. Right?
402
00:32:20.125 --> 00:32:26.385
And Luxor is not the 1st party to have tried this. There there have been a number of companies who've tried to make Hashtag derivatives.
403
00:32:27.565 --> 00:32:28.545
Do it real quick.
404
00:32:30.510 --> 00:32:34.530
And, you know, fundamentally, what you want is is a large liquid market
405
00:32:35.230 --> 00:32:35.730
of,
406
00:32:36.110 --> 00:32:39.065
the, you know, the futures instrument you want to do. Now
407
00:32:39.765 --> 00:32:42.105
the the most liquid we could make this market
408
00:32:42.725 --> 00:32:49.350
is to have all of the shares. If everybody was mining on Brightpool, and all of the shares were actual Bitcoin, and I could trade all of those futures.
409
00:32:49.730 --> 00:32:51.590
That would be the largest we can make it,
410
00:32:52.265 --> 00:32:53.005
Sort of.
411
00:32:53.545 --> 00:32:55.245
You can actually make it large.
412
00:32:55.705 --> 00:32:58.365
And this actually happens in the gold market,
413
00:32:58.825 --> 00:33:00.970
where the the number of outstanding,
414
00:33:01.590 --> 00:33:06.010
derivative instruments on gold is larger than the spot gold market. Mhmm.
415
00:33:06.550 --> 00:33:10.645
I think it's a terrible fucking idea. Mhmm. Because it puts you on a tail wags the dog situation.
416
00:33:11.665 --> 00:33:14.645
I don't think people should be trading instruments which are
417
00:33:15.105 --> 00:33:19.360
not tied to the underlying. I think I think this is just fundamentally a bad idea.
418
00:33:20.860 --> 00:33:23.360
It's it's, you know, you might call a rehab application.
419
00:33:25.335 --> 00:33:31.275
Trading paper Bitcoin because there aren't enough Bitcoin or shares out there to correspond to the amount of futures. Right?
420
00:33:31.950
--> 00:33:33.730
But there's a lot more capital out there
421
00:33:34.110 --> 00:33:37.650
to fool with the market. So I I don't want that to happen.
422
00:33:38.270 --> 00:33:41.965
We want, you know, everything to be correlated to the other ones. So every,
423
00:33:42.525 --> 00:33:51.080
user's instrument needs to have corresponding Bitcoin associated with it. And I think that's kind of part and parcel of of one of the thesis of this entire market that's different from traditional markets.
424
00:33:51.940 --> 00:33:53.399
And I believe Luxor's
425
00:33:54.820 --> 00:33:57.480
product because Luxor is a relatively small pool.
426
00:33:58.135 --> 00:33:59.835
I believe their product is indexed,
427
00:34:00.215 --> 00:34:01.595
which means that they,
428
00:34:02.375 --> 00:34:07.035
you know, they they measure the the hash rate. And so the question is, like, how do you measure the hash rate?
429
00:34:07.760 --> 00:34:15.305
And then, you know, from that, they make an they make an index and then you can bet on it. Right? There are a lot of products out there which operate this manner. In fact,
430
00:34:15.605 --> 00:34:23.704
the the Bitcoin futures product on the Chicago MercTeal Exchange is of such a such a character. Right? No Bitcoin actually changes hand on that product.
431
00:34:24.140 --> 00:34:25.760
It's it's indexed. Right?
432
00:34:26.060 --> 00:34:26.800
And so
433
00:34:27.180 --> 00:34:30.800
because of that, you can it's it's kind of like paper Bitcoin, basically.
434
00:34:32.035 --> 00:34:35.735
So the Luxor product, I believe, is indexed in that manner. Now,
435
00:34:36.435 --> 00:34:47.335
people could be using it. Nonetheless, it's a hedging instrument. Right? It is a useful hedging instrument. So if you're a miner, you wanna protect yourself from variations from how much you might or the hash price going up or down,
436
00:34:47.815 --> 00:34:52.395
you could be doing that. My experience with miners has been that fewer are actually doing this.
437
00:34:53.015 --> 00:34:55.515
I think as this market kind of professionalizes,
438
00:34:56.110 --> 00:34:59.090
more and more people are gonna do this. Mhmm. I mean, no professional
439
00:34:59.710 --> 00:35:02.210
corn farmer or, you know, oil driller
440
00:35:02.670 --> 00:35:18.150
is not trading futures. They're all trading futures. Right? Because that it's risk management. It's hedging. It's just a smart thing to do. Everybody's doing it. Yep. So the follow-up question here is, like, how do you manage counterparty risk, I. E. A miner sells forward their hash rate but does not deliver?
441
00:35:20.915 --> 00:35:23.095
That is a problem we are not gonna solve.
442
00:35:23.795 --> 00:35:27.415
So there are several Easter bunnies already in this project.
443
00:35:28.580 --> 00:35:30.520
What you're really describing there is
444
00:35:31.300 --> 00:35:33.400
a decentralized exchange. Right?
445
00:35:34.260 --> 00:35:39.015
And fundamentally, for cryptographic perspective, this comes down to a protocol called the 2 party fair exchange,
446
00:35:39.795 --> 00:35:41.335
which means I'm gonna give you,
447
00:35:42.275 --> 00:36:00.165
my shares and you're gonna give me Bitcoin. Now there's a paper computer science paper out there proving that this problem does not have a solution without a third party. That doesn't matter whether we're talking about PDF files, shoes, or dollars and cars, Doesn't matter what you're trading. There's fundamentally no solution to this problem where 2 parties exchange some,
448
00:36:01.345 --> 00:36:04.965
atomic. Right? And so that's really we're talking about. There's an atomic swap.
449
00:36:05.430 --> 00:36:10.890
Now we can do atomic swaps on on Bitcoin. And there are many protocols to do that.
450
00:36:11.990 --> 00:36:15.714
The tier Nolan originally put out another one, but I want in the beginning.
451
00:36:17.055 --> 00:36:20.035
What's her name? Sharon Goldberg has a refined to that,
452
00:36:20.335 --> 00:36:21.234
that she published
453
00:36:22.414 --> 00:36:25.819
and and give a talk about it at MIT BIC and Expo, I believe, 3 or 4 years ago.
454
00:36:26.359 --> 00:36:29.980
So this is one answer to your question. You can do an atomic swap. Right?
455
00:36:30.484 --> 00:36:33.224
Those atomic swaps, the way they work is they have a set of timeouts,
456
00:36:34.724 --> 00:36:35.224
whereby,
457
00:36:36.565 --> 00:36:41.380
the if I so you have 2 blockchains, essentially. Right? So we could do a Bitcoin Litecoin
458
00:36:41.760 --> 00:36:45.060
swap today. This has been done. You can you can Google it. People have done this. Right?
459
00:36:46.315 --> 00:36:56.700
Somebody has to go first. They send the transaction to the chain. Right? And then somebody has to go second, and then there's a time out where if the other party doesn't go, I can get my points back. And so it's a little bit of a complicated protocol.
460
00:36:58.600 --> 00:37:01.580
Within chains like Ethereum, where you're trading ICOs
461
00:37:02.885 --> 00:37:04.345
or an ICO for ether,
462
00:37:04.725 --> 00:37:12.140
it's the blockchain itself that makes it atomic because they're they're kind of actually the same asset because they're both on the same. Right?
463
00:37:13.160 --> 00:37:14.380
So that provides atomicity.
464
00:37:15.079 --> 00:37:20.700
So so your question is, how do I handle counterparty risk? What you're really saying is how do I achieve atomicity
465
00:37:21.265 --> 00:37:22.724
on a decentralized exchange?
466
00:37:23.105 --> 00:37:36.890
Well, one answer to that is to use atomic swaps, decentralized exchange. And there are some lightning decentralized exchanges that are beginning to come up now. There's also just simply center centralized exchanges. Right? So they they essentially handle this counterparty risk for you.
467
00:37:38.390 --> 00:37:58.185
But this is, you know, this is an Easter bunny we are not gonna solve. This has been solved by other people,
and it's gonna be solved by other people. It making a decent dollar exchange is something I've worked on before. I'm gonna grab a hole if you want, but, it's just too much for this project right now. We're gonna let it be solved. The share wouldn't be valid unless the miner had
468
00:37:58.725 --> 00:37:59.705
already contributed
469
00:38:00.485 --> 00:38:14.505
the work to generate that share. Right? Right. The issue is not whether the share is valid. I mean, I'm not gonna be able to send you an invalid share. It's a blockchain like just like Bitcoin. Right? So I can't send you an invalid Bitcoin either. Right? That's just the concept doesn't even make sense. Right?
470
00:38:14.885 --> 00:38:18.265
Give me a fake address, and then I'll immediately know it's a fake address. So,
471
00:38:19.285 --> 00:38:34.695
the the question is, is counterparty risk. In other words, I'm gonna send you shares, you're gonna send me Bitcoin. And generally, this is gonna be a private agreement. So I'm gonna go to you. You you are gonna be a professional risk taker, and you and I are gonna be hammering out a contract. We're gonna sign with wet ink in a legal jurisdiction.
472
00:38:35.050 --> 00:38:37.070
And so if you don't pay me, I can sue
473
00:38:37.370 --> 00:38:46.745
you. That's another solution to this this problem is that we have to make a a way to do this where I'm gonna send you the shares, and then you're obligated to send me the the Bitcoin app.
474
00:38:47.285 --> 00:38:52.540
Right? And you have to keep up your end of the bargain. Right? Or you're gonna go to court. And this allows,
475
00:38:53.400 --> 00:38:56.700
people who are mining to have a counterparty in the appropriate jurisdiction
476
00:38:57.000 --> 00:38:58.859
such that a legal option is
477
00:38:59.320 --> 00:39:02.355
available to them. Because if you think you're gonna sue Bitmain,
478
00:39:02.735 --> 00:39:03.475
you're not.
479
00:39:04.095 --> 00:39:05.475
If you don't like what they're doing,
480
00:39:05.855 --> 00:39:09.955
you're you're chill out of luck. You're not gonna be able to have much progress in court on that.
481
00:39:12.559 --> 00:39:15.539
I guess I'm still just a little bit confused because, like,
482
00:39:16.240 --> 00:39:21.505
I just don't see where the the counterparty risk is. Right? Like, if the shares are tokenized
483
00:39:22.765 --> 00:39:24.545
and that's traded for Bitcoin,
484
00:39:25.325 --> 00:39:25.825
then,
485
00:39:26.365 --> 00:39:29.099
like, when the when Bradepull finds
486
00:39:29.400 --> 00:39:30.059
a block,
487
00:39:30.519 --> 00:39:31.660
that share is gonna
488
00:39:32.760 --> 00:39:34.655
is gonna earn me that Bitcoin back.
489
00:39:35.135 --> 00:39:40.435
That's correct. So if you just mine and you hold your shares and you wait the 2 weeks and then that gets turned into Bitcoin,
490
00:39:40.815 --> 00:39:45.340
there is no counterparty. You're correct. Yep. It's on the future side. It's only
491
00:39:45.720 --> 00:39:47.340
it's only if you want to
492
00:39:48.360 --> 00:39:54.225
have payouts faster than once every 2 weeks, which by all indications is actually very desirable by basically all miners.
493
00:39:55.005 --> 00:39:59.780
And you want this risk management function, which by all indications is very desirable by basically all miners,
494
00:40:00.500 --> 00:40:07.240
then then you have counterparty risk. And counterparty risk is defined as I send you my stuff, but you don't send me your stuff or vice versa.
495
00:40:07.700 --> 00:40:10.664
Mhmm. It's one on one with the atomicity of a of a 2 party exchange.
496
00:40:11.444 --> 00:40:12.424
Shares of Bitcoin.
497
00:40:14.885 --> 00:40:18.984
Yeah. Okay. Iko, to be cognizant of Bob's time and and,
498
00:40:19.510 --> 00:40:20.410
like, a 315,
499
00:40:21.030 --> 00:40:27.450
stop, should we get do you think and there's some really good questions I just perused as well. Do you think we should just get into some of these questions as well?
500
00:40:28.714 --> 00:40:29.115
Yeah.
501
00:40:29.515 --> 00:40:31.295
You wanna skip the state of the network?
502
00:40:32.234 --> 00:40:33.214
What do you think?
503
00:40:33.835 --> 00:40:43.380
Let's just blaze through this real quick. Okay. Go for it. Alright. We're and and, Bob, feel free to jump in anytime if you got a comment on any of these points. Yep.
504
00:40:43.920 --> 00:40:44.420
Okay.
505
00:40:45.234 --> 00:40:47.575
We are at block height 849603.
506
00:40:51.394 --> 00:40:56.140
And according to our friends at new hedge dot i0, Bitcoin difficulty is 83.6
507
00:40:56.839 --> 00:41:01.580
trillion set to decrease roughly 5% at the conclusion of epoch 421.
508
00:41:02.085 --> 00:41:06.585
Let's go. It should be which should be on Independence Day or the day after.
509
00:41:07.605 --> 00:41:09.385
Over at Kaboomrax Marketplace,
510
00:41:09.685 --> 00:41:14.060
miners around 18 jewels per terahash are selling for roughly
511
00:41:14.440 --> 00:41:14.940
$20.58
512
00:41:15.960 --> 00:41:16.780
per terahash.
513
00:41:17.895 --> 00:41:19.275
And moving over to mempool.space,
514
00:41:20.375 --> 00:41:23.435
Hash rate has been taking a nosedive down to 577
515
00:41:24.295 --> 00:41:24.795
exahash
516
00:41:25.335 --> 00:41:27.355
on the 14 day moving average.
517
00:41:27.810 --> 00:41:29.590
That's down from the all time high of 639
518
00:41:30.690 --> 00:41:31.190
exahash
519
00:41:31.970 --> 00:41:33.350
set on April 27,
520
00:41:33.730 --> 00:41:34.230
2024.
521
00:41:35.615 --> 00:41:37.635
And then taking a look at insights.brains.com,
522
00:41:39.215 --> 00:41:40.595
hash value is currently
523
00:41:41.135 --> 00:41:41.635
80,000
524
00:41:41.935 --> 00:41:44.859
sats per petahash per day and hash price
525
00:41:45.799 --> 00:41:46.460
is $49
526
00:41:46.839 --> 00:41:48.299
per petahash per day.
527
00:41:49.480 --> 00:41:52.140
And then the halving is due in 1,389
528
00:41:53.319 --> 00:41:55.565
days according to
coin wars.
529
00:41:56.425 --> 00:42:00.125
And, Bob, this segment of the show is where we have our guest
530
00:42:00.744 --> 00:42:01.965
read out the
531
00:42:02.740 --> 00:42:05.720
names of the Hashers who've been pointing us hash rate,
532
00:42:06.500 --> 00:42:09.400
over the last couple of weeks. So I'm gonna copy this list
533
00:42:10.005 --> 00:42:12.345
and then I'm gonna put it in the chat on Riverside,
534
00:42:13.125 --> 00:42:14.905
which you should be able to access.
535
00:42:16.405 --> 00:42:20.450
And so if any of our listeners are interested in supporting the show,
536
00:42:21.230 --> 00:42:23.630
you can point us hash rate, go to,
537
00:42:24.110 --> 00:42:25.010
pod 256.org,
538
00:42:27.035 --> 00:42:32.095
and click on the support page, and then you'll see all the instructions there on how
539
00:42:32.475 --> 00:42:34.015
to support the show
540
00:42:34.315 --> 00:42:35.535
with your hash rate.
541
00:42:36.230 --> 00:42:36.730
Also,
542
00:42:37.110 --> 00:42:41.450
Bob, before you read out the miners for the last week or 2,
543
00:42:41.910 --> 00:42:48.154
I wanna give a big shout out to Rob Warren who's writing the Bitcoin Miner's Almanac. Huge.
544
00:42:48.855 --> 00:42:50.875
Co publishing it with Bitcoin Magazine.
545
00:42:51.414 --> 00:42:53.914
I do believe it's available on the
546
00:42:54.220 --> 00:42:56.240
Bitcoin magazine website right now.
547
00:42:56.780 --> 00:42:59.040
And he has graciously
548
00:42:59.340 --> 00:43:00.320
offered to,
549
00:43:01.100 --> 00:43:02.240
contribute 10%
550
00:43:03.475 --> 00:43:07.255
of his profits from that book, or is it overall sales?
551
00:43:07.795 --> 00:43:09.175
Oh, that's a good question.
552
00:43:09.635 --> 00:43:16.490
Profits are sales. And, by the way, it's available on Amazon too. So you can just click click and just buy it.
553
00:43:17.750 --> 00:43:20.010
Okay. Yep. Yep. I see that in the note.
554
00:43:20.974 --> 00:43:24.195
So, yeah, thank you, Rob, for doing that. That's amazing. And,
555
00:43:24.815 --> 00:43:26.755
that support is going to,
556
00:43:27.535 --> 00:43:28.595
help the 256
557
00:43:28.974 --> 00:43:29.474
Foundation.
558
00:43:31.200 --> 00:43:34.660
So thank you. And more to come on that later. Hundo percento.
559
00:43:35.920 --> 00:43:42.565
So you up for this, Bob? Each of our guests, read out the the names. It's in the chat right now if you wanna go for it.
560
00:43:43.825 --> 00:43:47.980
Alright. I see why you want me to do this. You want me to stumble over all the crazy names
561
00:43:52.600 --> 00:44:07.200
and and I assume I assume you mean shout out to our Bitcoin miners here. Yeah. Yeah. There's a typo. Hey. Alright. Shout out to our Bitcoin miners. Oh. The draw Sorry. Lintcoin lintcoin is the mining pool. Yeah. But he's got a competing mining pool, so he wants to just call it mining, Bitcoin miners.
562
00:44:07.740 --> 00:44:12.640
Okay. Oh, well, I invite you guys to run on top of a free pool when we're ready. Alright. We're not ready yet. But,
563
00:44:13.375 --> 00:44:16.815
yeah. You just no worries you can't keep doing what you're doing and run on top of There you go.
564
00:44:18.495 --> 00:44:20.915
LimCoin. K. Shout out for our LimCoin miners.
565
00:44:21.410 --> 00:44:23.349
Dot the DROT, bytes and Bitcoin
566
00:44:23.730 --> 00:44:26.309
mainly brains in the plains of pain.
567
00:44:26.930 --> 00:44:27.670
After 1.
568
00:44:28.450 --> 00:44:31.835
Bitax wanna be just Ant 17 pro.
569
00:44:33.255 --> 00:44:33.755
Bizzabler,
570
00:44:34.535 --> 00:44:38.130
don't mind me just stacking web testing as
571
00:44:38.430 --> 00:44:39.329
Google Miner.
572
00:44:40.990 --> 00:44:41.970
A stealth miner.
573
00:44:43.230 --> 00:44:45.329
So good. Miners are not for profit
574
00:44:45.715 --> 00:44:50.135
and Bitcoin Bay Barn miner. Nice. And also shout out for public twin miners, Boris.
575
00:44:50.755 --> 00:44:51.255
Awesome.
576
00:44:51.635 --> 00:44:53.975
Thank you, Rob. Good job. Good job.
577
00:44:54.309 --> 00:44:58.730
Hell, yeah. Well done. Alright. Let's get into some questions from the audience.
578
00:44:59.589 --> 00:45:04.455
Alright. So we got into Go ahead. My what is a braid pool. So well done there.
579
00:45:05.315 --> 00:45:06.835
I'll start with the first one, Iko.
580
00:45:07.235 --> 00:45:08.055
From Constantine,
581
00:45:08.675 --> 00:45:16.030
can you ask them what are the main things that are that differentiate braid pool from p t p to p pool?
582
00:45:16.490 --> 00:45:22.075
Also, any idea what the hardware and bandwidth requirements will be for running a Braid pool node?
583
00:45:22.454 --> 00:45:25.194
How does this fare against block withholding attacks?
584
00:45:25.575 --> 00:45:27.070
So 3 part question. Great.
585
00:45:28.030 --> 00:45:31.570
Let me answer the first one, then remind me what the second one is. Sure. The first one was,
586
00:45:33.870 --> 00:45:34.370
Rami?
587
00:45:34.964 --> 00:45:39.944
The first one is, can you ask them what are the main things that differentiate break pool from p to p pool?
588
00:45:40.964 --> 00:45:43.145
So the first one I already talked about, and that's
589
00:45:43.850 --> 00:45:46.510
time, right? So p two pool had a 30 second block time.
590
00:45:47.210 --> 00:45:48.510
And it used a blockchain,
591
00:45:48.810 --> 00:45:51.230
which resulted in, you know, this this game between
592
00:45:51.610 --> 00:46:00.200
miners optimizing latency, and I've heard informally from a number of miners that they were able to double their profits by playing this latency game, optimize it with peers they connect
593
00:46:00.680 --> 00:46:04.859
to. So we solve that problem by using a direct basic graph to the blockchain.
594
00:46:05.960 --> 00:46:11.405
Now this should allow us to get to individual share times, speed times below a second.
595
00:46:12.345 --> 00:46:13.485
The Casper protocol,
596
00:46:14.025 --> 00:46:15.725
or the or the Dagnite protocol,
597
00:46:16.665 --> 00:46:17.165
published,
598
00:46:18.000 --> 00:46:21.060
they have benchmarks saying they can get down to a 150 milliseconds.
599
00:46:22.400 --> 00:46:23.540
I think that's optimistic.
600
00:46:23.920 --> 00:46:26.020
But, you know, somewhere between, I think,
601
00:46:26.865 --> 00:46:29.605
150 milliseconds and 6 seconds, I think is a reasonable target.
602
00:46:30.385 --> 00:46:32.965
So, you know, on order of a 1000 times faster.
603
00:46:33.745 --> 00:46:38.829
That's the first major difference. The second major difference is is in how the payout works. Right? So,
604
00:46:39.529 --> 00:46:42.445
p 2 pool paid every miner in every block,
605
00:46:43.885 --> 00:46:46.465
And this resulted in very large Coinbase transactions.
606
00:46:47.245 --> 00:46:52.800
Because, you know, instead of withdrawing your your funds once per day or once per week or whenever it is,
607
00:46:53.340 --> 00:46:55.120
you get paid in every block of harvest.
608
00:46:55.740 --> 00:46:59.505
This consumes a lot of block space, which competes against fee paying transactions.
609
00:47:00.065 --> 00:47:06.244
And and as time goes on and we're we get away from the, block subsidy and toward a fees of fee subsidized market,
610
00:47:06.545 --> 00:47:09.970
this is a bigger and bigger problem. It was already a problem back in p two pool days.
611
00:47:10.510 --> 00:47:13.090
The ocean protocol, which is a reboot of the Elegis
612
00:47:13.390 --> 00:47:17.010
pool, has the same problem. Their estimates are that on average,
613
00:47:17.555 --> 00:47:19.734
every miner will get paid roughly 8 times,
614
00:47:20.595 --> 00:47:32.660
wherein a centralized pool they would get paid from. So they're they're using roughly 8 times more blocks based to pay miners than a centralized pool, would. That's one of the reasons we are gonna aggregate over a 2 week time window,
615
00:47:33.440 --> 00:47:39.365
is because we want to aggregate, and we don't wanna pay people on in every single block. We wanna pay people infrequently
616
00:47:39.825 --> 00:47:41.925
to allow there to be block space for,
617
00:47:42.465 --> 00:47:48.640
for transactions because those transactions pay fees, and that's one of the ways buyers rep. So those are, I think, the 2 major differences.
618
00:47:49.420 --> 00:47:51.680
3rd major differences is just a complete reboot.
619
00:47:52.060 --> 00:47:53.839
The p two pool code base was
620
00:47:54.220 --> 00:47:54.720
widely
621
00:47:55.020 --> 00:47:56.000
known to be
622
00:47:56.365 --> 00:47:57.105
terrible, written
623
00:47:57.485 --> 00:48:00.465
in Python, very poorly documented, very difficult to,
624
00:48:02.125 --> 00:48:02.625
to
625
00:48:03.085 --> 00:48:03.585
modify.
626
00:48:04.470 --> 00:48:07.130
And so we're starting from scratch using Rust.
627
00:48:07.990 --> 00:48:08.490
Nice.
628
00:48:10.869 --> 00:48:12.755
And then the second part of that
629
00:48:13.154 --> 00:48:14.454
question was, also,
630
00:48:14.755 --> 00:48:20.454
any idea what the hardware and bandwidth requirements will be for running a braid pool node?
631
00:48:21.730 --> 00:48:25.430
The bandwidth requirements and hardware requirements is basically the same as running a Bitcoin node.
632
00:48:27.090 --> 00:48:34.825
So, you know, for whatever reason, most miners are not doing this today, but it's not huge expense. I mean, technically, you can do it on a Raspberry Pi. Our
633
00:48:36.244 --> 00:48:38.184
requirements will be a bit higher than that.
634
00:48:39.204 --> 00:48:41.710
But we're we're looking at, you know, on
635
00:48:42.170 --> 00:48:42.410
order,
636
00:48:43.690 --> 00:48:45.310
the same as Bitcoin bandwidth.
637
00:48:45.849 --> 00:48:49.470
So the the largest part of Bitcoin bandwidth is actually the peer to peer network.
638
00:48:49.835 --> 00:48:57.055
And so our peer to peer network is gonna be basically the same because you're really looking at the set of transactions, and our set of transactions is gonna be the same Bitcoins
639
00:48:57.720 --> 00:48:58.220
Plus,
640
00:48:58.520 --> 00:48:59.500
you know, one
641
00:49:00.039 --> 00:49:01.260
block header per
642
00:49:03.720 --> 00:49:08.095
per second, let's say, if we get down to a second, but that's not a very that's like a kilobyte or something.
643
00:49:09.115 --> 00:49:12.175
The larger contribution is going to be from the frost protocol.
644
00:49:12.795 --> 00:49:15.980
So if you want to do this, you can anticipate in the cosigning of
645
00:49:16.280 --> 00:49:18.140
custody part and actually paying people.
646
00:49:19.000 --> 00:49:23.775
That's a multi round protocol that is going to require a bit of bandwidth, but it's still gonna be on order,
647
00:49:24.714 --> 00:49:26.734
the amount that Bitcoin has. Right? So
648
00:49:27.515 --> 00:49:32.960
this shouldn't be onerous to anybody who ever run a node of any kind. Another
649
00:49:33.500 --> 00:49:36.160
thing to note is that grateful is not going to have history.
650
00:49:37.020 --> 00:49:42.835
So once a 2 week window is done, and we've collected a bunch of shares, counter those shares, paid it in Bitcoin,
651
00:49:43.135 --> 00:49:44.515
we can then dump that history.
652
00:49:44.895 --> 00:49:53.610
So it's not it doesn't keep history forever like Bitcoin does. It only keeps for that 2 week window, possibly 2 2 week windows, depending on some features we've we've discussed.
653
00:49:54.630 --> 00:50:01.795
But it's not gonna have as much disk space requirement. It only needs all the, you know, at most months worth of blocks of data, DAG data.
654
00:50:06.190 --> 00:50:11.250
And then how does this fare against block withholding attacks was the final part of that question.
655
00:50:12.510 --> 00:50:13.010
Oh,
656
00:50:19.645 --> 00:50:22.340
have to jog my memory about this. I'm caught up in a little while.
657
00:50:25.380 --> 00:50:27.000
So the block withholding attack.
658
00:50:29.545 --> 00:50:34.045
So
there's there's 2 things here. 1 is a share withholding attack, the other is a block with full factory.
659
00:50:35.785 --> 00:50:37.180
So share withholding attacks
660
00:50:37.579 --> 00:50:41.440
basically don't make any sense because of the direct basically graph structure.
661
00:50:42.619 --> 00:50:44.559
You know, share withholding attacks.
662
00:50:53.015 --> 00:50:58.510
We might wanna pass on this one. This is a deep topic. There's like, there's actually 2 questions implied by this.
663
00:50:59.310 --> 00:50:59.970
One is
664
00:51:00.670 --> 00:51:03.170
block withholding, one is share withholding, and one is
665
00:51:04.215 --> 00:51:08.715
the selfish mining attack. And then there's are you attacking the pool? Or are you attacking?
666
00:51:10.750 --> 00:51:12.049
It's a complicated question.
667
00:51:12.829 --> 00:51:25.655
That's fine. We can And maybe, like, a a written, like, a respond like, you know, writing this up because I do think some people would be interested in knowing that. It's an it's an important question. I do wanna answer it. I'm just not gonna do it off the cuff. Totally. Completely fair.
668
00:51:25.955 --> 00:51:28.215
Do you wanna go to the Boris question, Iko?
669
00:51:29.040 --> 00:51:32.180
Yep. This one comes from our last guest on pod 256,
670
00:51:32.560 --> 00:51:33.060
Boris.
671
00:51:33.599 --> 00:51:34.099
Could
672
00:51:34.480 --> 00:51:36.260
covenant enabling opcodes,
673
00:51:36.640 --> 00:51:37.115
like,
674
00:51:37.755 --> 00:51:38.494
for example,
675
00:51:38.795 --> 00:51:39.295
op_checktemplify
676
00:51:41.515 --> 00:51:43.055
check excuse me.
677
00:51:43.595 --> 00:51:44.095
Opchecktemplate
678
00:51:44.955 --> 00:51:45.455
verify,
679
00:51:46.140 --> 00:51:46.880
for example,
680
00:51:47.180 --> 00:51:49.599
potentially affect braid pools design.
681
00:51:51.500 --> 00:51:52.000
Yeah.
682
00:51:52.779 --> 00:51:53.935
Okay. Go ahead. Go ahead.
683
00:51:54.441 --> 00:51:55.875
The sorry. He's got 33
684
00:51:56.255 --> 00:52:03.475
questions in one. Do you want me to just wait till you answer? Yeah. I'll answer. Let me just answer them in succession because I'm not gonna remember all three questions.
685
00:52:05.040 --> 00:52:05.540
So,
686
00:52:05.920 --> 00:52:10.900
yes, for those that don't know, I've actually written 2 academic papers about covenants on Bitcoin.
687
00:52:11.705 --> 00:52:15.725
While I was at Fidelity, I collaborated with Brian Bishop, some of you may know, as Kanzure.
688
00:52:17.545 --> 00:52:18.685
And another
689
00:52:19.099 --> 00:52:22.319
Fidelity employee to write a couple of papers about this. And this is pre CTV
690
00:52:23.579 --> 00:52:25.119
and pre Segwit. Right?
691
00:52:25.660 --> 00:52:26.400
And so
692
00:52:26.780 --> 00:52:28.560
I'm a fan of covenants. I've
693
00:52:28.985 --> 00:52:32.845
not gotten involved in a lot of the politics. I did attend Jeremy Rubin's,
694
00:52:33.865 --> 00:52:40.670
first CTV meeting in San Francisco, and that was a lot of fun. And since then, everything just kinda went south.
695
00:52:41.369 --> 00:52:45.470
Yeah. I think Germany hates me. But nonetheless, covenants, I think, are a good idea.
696
00:52:46.305 --> 00:52:52.805
And, you know, exactly how we get the covenants or how we do the covenants is a tedious conversation that a lot of people are are engaging in.
697
00:52:53.265 --> 00:52:55.845
Actually, you guys spurred me to think about this because,
698
00:52:56.250 --> 00:52:58.670
so one of you posted from this last podcast
699
00:52:59.210 --> 00:53:01.310
that if we only had, I think, like, 300,000,000
700
00:53:02.090 --> 00:53:10.195
of of those future bit home miners, we could secure Bravepool against 51% attacks. Somebody put something like that. Yeah. The Bitax miners. Yeah.
701
00:53:10.815 --> 00:53:12.835
Yeah. So that's not quite true.
702
00:53:13.789 --> 00:53:20.135
So if you there there are 2 kinds of 51% tax here. Right? So if everybody was mining on top of Great Pool, which is safe,
703
00:53:20.855 --> 00:53:24.935
what it does is it transfer 51% attack to the Great Pool itself. Right?
704
00:53:25.255 --> 00:53:29.880
So it still has that that attack vector. And if that attack vector ever happened, the whole thing goes down.
705
00:53:30.759 --> 00:53:31.559
But then you,
706
00:53:31.960 --> 00:53:41.085
you know, you distributed the got a larger set of the spinning parts, whereas 51% attack when you have these centralized pools, much more risky. Great pool, it's gonna be much less likely to
707
00:53:42.265 --> 00:53:48.260
happen. The the other is, let's say break pool is small. Let's say it's early days and it only has 1% of the hash rate,
708
00:53:48.980 --> 00:53:51.080
and you wanted a 51% attack it,
709
00:53:51.940 --> 00:53:53.480
you would only have to add,
710
00:53:53.940 --> 00:53:57.905
you know, another 1% of hash rate, which there are parties out there that do,
711
00:53:58.525 --> 00:54:02.385
to attack grateful itself and steal the accumulated funds on freight.
712
00:54:03.245 --> 00:54:05.105
Right. That's a bigger problem
713
00:54:06.980 --> 00:54:08.599
That can be solved by covenants.
714
00:54:09.299 --> 00:54:18.645
Because what we're really doing here is we are we're taking the Coinbase, when we win a Bitcoin block, we take that Coinbase and we use the l two protocol, e l t o o,
715
00:54:19.905 --> 00:54:21.025
to roll that up,
716
00:54:21.425 --> 00:54:29.200
among different blocks. Right? So the l two protocol is the same. If you've heard of any pre vial or no no input Mhmm. In the context of, like, the lightning network,
717
00:54:29.820 --> 00:54:30.720
that's the way,
718
00:54:31.580 --> 00:54:34.400
the lightning network basically invalidates previous state.
719
00:54:35.164 --> 00:54:46.130
What we're doing is basically an on chain version of l two. So we invalidate the last payout because we have new information of a new block. Right? We invalidate the last
payout we created. Right? Now we do that with every block that we've been.
720
00:54:47.470 --> 00:54:50.210
And we have to sign that with a a giant multisync.
721
00:54:50.590 --> 00:54:51.090
Right?
722
00:54:52.134 --> 00:54:56.234
If you're able to be most parties signing that in the multistig,
723
00:54:57.095 --> 00:55:01.970
you have full control of that. Right? And that is 51% attack against the pool itself. Mhmm.
724
00:55:02.910 --> 00:55:04.930
Now that can be solved with a covenant
725
00:55:05.525 --> 00:55:09.224
because payout from the pool, if I can commit to that payout
726
00:55:09.525 --> 00:55:17.080
and I can say, the the payout has to have this structure and must pay these miners, and I commit to that at the time I mined the Bitcoin block, I've solved that problem.
727
00:55:18.420 --> 00:55:20.680
So we are planning on building something that uses,
728
00:55:21.380 --> 00:55:24.045
frost dead of a covenant because we don't have covenants.
729
00:55:24.585 --> 00:55:25.625
However, if,
730
00:55:25.945 --> 00:55:31.010
the community agrees upon some covenant mechanism, we will most likely use it for exactly this reason.
731
00:55:31.790 --> 00:55:32.290
Gotcha.
732
00:55:32.910 --> 00:55:38.530
And he goes on to ask, could something like this enable more efficient or secure implementations
733
00:55:48.045 --> 00:55:51.299
leverage such opcodes to enhance its decentralization
734
00:55:51.599 --> 00:55:52.420
and scalability?
735
00:55:56.125 --> 00:56:02.704
Just by being more secure and making sure everybody gets paid. I think that's the answer to that. Yeah. Just making sure you can't get 51%
736
00:56:03.085 --> 00:56:03.984
attack with
737
00:56:05.070 --> 00:56:10.770
with Yeah. I mean, it doesn't have a direct impact on scalability or decentralized innovation itself. It does have an impact on
738
00:56:11.070 --> 00:56:12.050
whether it works.
739
00:56:12.830 --> 00:56:13.730
Yeah. Right?
740
00:56:15.165 --> 00:56:30.010
You know, that we I was bouncing around with culprit yesterday, some other ideas we could, we might be able to use in the absence of covenants. You know, what I really want is a feature where we detect that this is going on. And we just shut that we have other methods to detect failure modes.
741
00:56:30.705 --> 00:56:38.769
And if that happens, basically, everybody reverse solo mining, and we take the last known good payout and pay everybody with that. Mhmm. That's a lot difficult to do in the 51%
742
00:56:39.309 --> 00:56:50.285
tax scenario, and covenants may be the right answer there. But if we can figure out a way to do it, that's ultimately what we want. We want to pay out the last known good, and then everybody becomes a solo miner after that, because everybody can see this happen.
743
00:56:50.665 --> 00:56:56.839
If the 51% attack happens, and the funds go to some funny place, everybody in that works gonna say, ah, this thing is broken.
744
00:56:57.619 --> 00:56:59.880
I'm I'm just I'm just with fools. Right? Right.
745
00:57:01.875 --> 00:57:13.640
And, you know, it's not we don't have the problem of hard fork. So we can just spin up spin down the whole network, say, you know, we we we're gonna hard fork, but we've decided there's a fatal bug. Spin it down and spin up another one once that bug is fixed.
746
00:57:17.300 --> 00:57:17.800
Alright.
747
00:57:20.025 --> 00:57:20.525
Okay.
748
00:57:20.825 --> 00:57:21.885
Boris is back,
749
00:57:23.224 --> 00:57:25.390
with another question. He's a big brain.
750
00:57:25.950 --> 00:57:30.210
Today's dominant mining pools, like Ample, f 2 pool, via BTC, and Foundry,
751
00:57:31.150 --> 00:57:35.170
benefit from out of band transactions and centralized transaction selection,
752
00:57:35.535 --> 00:57:37.875
which dire directly impacts their revenue.
753
00:57:38.415 --> 00:57:44.435
These pools seem to have little incentive to adopt or support a decentralized model like Stratum v 2 or Braidpool,
754
00:57:44.780 --> 00:57:47.200
which could potentially reduce their profits and control.
755
00:57:47.660 --> 00:57:52.800
How does Braidpool create incentives for major pools to transition to a decentralized model?
756
00:57:54.885 --> 00:57:55.625
Great question.
757
00:57:56.565 --> 00:57:58.425
So I occasionally run a,
758
00:57:59.125 --> 00:58:00.265
spaces on Twitter,
759
00:58:00.645 --> 00:58:06.030
which I call Friday night fights. If you want to go look through my history and look for Friday night fight.
760
00:58:07.050 --> 00:58:11.775
A few weeks ago, maybe a month ago, we had the guy from Marapool who wrote the soccer do this
761
00:58:12.815 --> 00:58:17.075
on, and he had a lot to say about this. And it was a very interesting conversation.
762
00:58:17.934 --> 00:58:28.070
I'm not a fan of doing this, but I think I I held my tongue with him and let him let him tell us what he was doing. So that's a very if you wanna get some insight as to how they're doing it and why they're doing it, go go listen to that.
763
00:58:28.555 --> 00:58:30.575
But long story short there are
764
00:58:31.035 --> 00:58:34.975
2 notions of consensus, right? 1 is the consensus that goes into a Bitcoin block
765
00:58:35.275 --> 00:58:46.480
and the allowed set of rules that that can be in a Bitcoin block. Right? The other notion of consensus is in the peer to peer light. Mhmm. So I'm because hard forks suck and could create altcoins.
766
00:58:47.724 --> 00:58:49.105
We didn't wanna make,
767
00:58:49.484 --> 00:58:53.424
hard forks. And so a number of problems that were found in Bitcoin,
768
00:58:53.724 --> 00:58:58.569
were solved by essentially making it illegal to relay those transactions on the peer to peer network.
769
00:58:58.950 --> 00:59:00.970
They can still be mined in Bitcoin blocks.
770
00:59:01.270 --> 00:59:04.089
And if you go listen to that, space on Twitter,
771
00:59:04.455 --> 00:59:06.635
the Mara fellow, forgive me, I forget his name,
772
00:59:07.815 --> 00:59:11.770
goes into some of the things he had to do. There's, you know, quadratic caching attack,
773
00:59:13.210 --> 00:59:30.750
like, too many pub keys and too many, signature checks, things like this. So there's a there's a whole list of these. So it's like a dozen of these kind of attacks on Bitcoin. They're solved by the p two p layer, but can be in a Bitcoin block. And so if a malicious minor wanted to publish a block, they would basically make all Bitcoin nodes go into La la land. That is possible.
774
00:59:31.310 --> 00:59:33.410
And it would require a hard fork to fix it fully.
775
00:59:33.710 --> 00:59:34.210
So,
776
00:59:35.630 --> 00:59:45.234
you know, in between that right? So the set of transactions we definitely don't want no matter what. So break pulls is gonna do the same thing that we're gonna say we we can't allow you to mine, acquired a caching
777
00:59:45.694 --> 00:59:54.140
bug problem like this. We we can't find those. And the mar Marapool guy, I think, did probably did did a good job of kind of enumerating those and saying, okay, we're not those kind of transactions.
778
00:59:55.295 --> 00:59:58.035
But there's still a wide window between,
779
00:59:58.815 --> 01:00:02.230
what is what is allowed in the peer to peer in art and what's allowed to pick up a clock.
780
01:00:02.710 --> 01:00:03.210
Ultimately,
781
01:00:04.390 --> 01:00:13.045
the answer is gonna lie somewhere in the middle. You know, as time goes on, we're gonna have to look at those transactions and say, well, is there a good reason to omit this transaction? Now
782
01:00:13.425 --> 01:00:14.885
my bias is to,
783
01:00:15.265 --> 01:00:18.005
let this be as broad as possible and let people,
784
01:00:18.625 --> 01:00:20.460
mine out of band transactions.
785
01:00:22.440 --> 01:00:22.940
Because
786
01:00:24.040 --> 01:00:25.260
there's a more serious
787
01:00:25.560 --> 01:00:34.404
problem of transaction censorship here. Now on the one hand, it might be an outbound transaction. On the other hand, it might be a transaction that some government says, we don't want this party
788
01:00:35.180 --> 01:00:51.670
receiving funds, you know, and in some countries, this might be a political opponent. It's like, we don't want you to make donations to our political opponent Or the guy today who paid half $1,000,000 to Julian Assange for his plane ticket to fly. You know, government might say, we don't want you to pay that. We we wanna make sure that nobody sends once they see
789
01:00:52.150 --> 01:00:58.685
doing this on his Bitcoin address, the US government could have said, okay. Miners don't mind anything goes to this address because we don't want that to happen.
790
01:01:00.205 --> 01:01:00.705
So
791
01:01:01.325 --> 01:01:04.065
my my bias is to let this be very broad because,
792
01:01:05.085 --> 01:01:11.160
as soon as you start putting in filters and clamping down on this and saying, okay, we don't like these contracts. We don't like those kind of transactions.
793
01:01:12.819 --> 01:01:16.440
Your lawyers are gonna tell you to check every single one of those boxes you can possibly
794
01:01:17.055 --> 01:01:17.955
Don't mind,
795
01:01:18.895 --> 01:01:20.035
you know, don't mind,
796
01:01:21.455 --> 01:01:23.315
Oh, I see your type transactions.
797
01:01:24.050 --> 01:01:33.615
Don't mind, what are they called? What's the ruins? You know, ruins are essentially illegal securities issuance and minor where we'll tell the minor, I don't want you to be involved in that. I don't want you to be implicated.
798
01:01:34.555 --> 01:01:50.080
From a legal perspective, this gets you in trouble. Don't mind ruins. Okay? Don't mind graffiti just because because it's spam. Okay? Well, I I I don't think people should mind graffiti, but at the same time, I don't think great bullshit stop them from doing it. So as far as accepting out of band trans out of band fees for transactions,
799
01:01:51.215 --> 01:01:52.755
miners will still be able to do it.
800
01:01:54.175 --> 01:01:57.955
And in fact, we're gonna end up having essentially an alternative mempool.
801
01:01:58.655 --> 01:01:59.395
Because within
802
01:02:00.180 --> 01:02:03.400
break pool, in order to get transactions into blocks,
803
01:02:03.700 --> 01:02:08.795
we have to first mine them into a beam. Right? And then the block, I I have a post
804
01:02:09.255 --> 01:02:16.075
on building Bitcoin and on our GitHub about deterministic block selection. Right? We could do deterministic transaction selection.
805
01:02:16.520 --> 01:02:21.660
And this has a very serious advantage in that everybody knows what the block block is before it's published,
806
01:02:22.120 --> 01:02:23.900
which means you don't have to transmit it,
807
01:02:24.755 --> 01:02:27.735
which decreases our bandwidth, decreases our our latency substantially.
808
01:02:28.275 --> 01:02:37.220
I think it's a really interesting idea. The idea being that if you send me a transaction, I will mine it into a feed, And then once it's in a feed, it's guaranteed to end up on a Bitcoin block eventually.
809
01:02:37.520 --> 01:02:38.180
Mhmm. Right?
810
01:02:39.280 --> 01:02:43.295
Now I can take it out of hand feed for doing that. I don't really see anything wrong with doing that.
811
01:02:45.855 --> 01:02:47.795
And so you're are you saying
812
01:02:48.335 --> 01:02:55.290
a person wouldn't necessarily have to broadcast it over the Bitcoin peer to peer network to get it included in a block that way?
813
01:02:57.270 --> 01:03:05.704
It needs to be before it's in a Bitcoin block, it needs to be in the grade pool them pool essentially. Right? So it needs to be mined in grade pool beam.
814
01:03:06.165 --> 01:03:06.665
Yeah.
815
01:03:07.365 --> 01:03:12.980
So it has to be known. So it's not gonna be what's not gonna be possible is withholding transactions,
816
01:03:13.520 --> 01:03:15.220
until a block of mine. Right?
817
01:03:15.520 --> 01:03:19.145
So that big blob of
graffiti transactions that that Mara published,
818
01:03:20.005 --> 01:03:24.025
if you did that on Brightpearl, everybody has to know that's coming. Everybody has to know that. Okay.
819
01:03:25.570 --> 01:03:34.630
So it's not gonna be possible to withhold them until the last second. And this is a good thing because it also means that you can't create blocks that take a long time to validate.
820
01:03:35.335 --> 01:03:41.914
Again, you can precompute the block. You know, if I know everything that goes into it and I have any kind of deterministic algorithm which selects the transactions,
821
01:03:43.220 --> 01:03:51.559
I know what's gonna be in that block. I've already seen it. Right? So I I don't I'm not hit with, a huge validation time when I see the block because I've already pre validated all of that.
822
01:03:55.185 --> 01:03:55.685
Awesome.
823
01:03:57.345 --> 01:03:58.725
This one comes from
824
01:03:59.185 --> 01:04:00.805
longtime listener, Cortic.
825
01:04:01.265 --> 01:04:02.005
He asks,
826
01:04:02.760 --> 01:04:05.980
did Satoshi design Bitcoin to be solo mined?
827
01:04:07.080 --> 01:04:08.380
Ask that. Yep.
828
01:04:09.000 --> 01:04:10.060
Ask that. Yes.
829
01:04:10.575 --> 01:04:13.234
Yeah. Yes. I don't think Satoshi saw
830
01:04:13.695 --> 01:04:14.195
fools.
831
01:04:14.895 --> 01:04:16.595
He didn't have an inkling that fools
832
01:04:17.270 --> 01:04:18.090
would would have.
833
01:04:18.710 --> 01:04:23.770
And it's a it's a bit of an oversight on his part, you know. If we were to go back and rewrite Bitcoin
834
01:04:24.310 --> 01:04:25.850
today knowing what we know,
835
01:04:27.215 --> 01:04:29.635
I would create something closer to a freight pool.
836
01:04:29.935 --> 01:04:30.595
Mhmm. Right?
837
01:04:31.615 --> 01:04:34.320
You you have faster blocks. You have direct acyclic graph,
838
01:04:34.880 --> 01:04:41.335
and you kill this. You can look at other protocols that have faster block time. So look at the go look at the before Ethereum shut down
839
01:04:41.974 --> 01:04:45.515
and, became a complete shitcoin when it went through a stake.
840
01:04:46.295 --> 01:04:47.915
You can look at their mining pool distribution,
841
01:04:48.455 --> 01:04:51.220
and it was much more distributed than than Bitcoin money.
842
01:04:51.680 --> 01:04:54.100
And I believe that is because of the,
843
01:04:54.480 --> 01:05:02.175
the variance issue. Right? I I calculated so they had a 15 second clock time, and I believe I calculated that, if you had it as
844
01:05:02.715 --> 01:05:07.530
a 1% pool this is in one of the talks I gave a while back. If you had a 1% pool,
845
01:05:07.830 --> 01:05:16.635
1% of the hash rate, you'd have effectively a 1% annual variance on your revenue. Whereas in Bitcoin, that needs to be a 20 percent. Oh, wow. So just by having faster block times,
846
01:05:17.175 --> 01:05:19.275
essentially solves this variance problem.
847
01:05:19.975 --> 01:05:24.059
Now it doesn't fully solve
it. Right? Because, you know, estimates are there a few million mining devices
848
01:05:24.440 --> 01:05:28.460
on the port. So if I have just 1 s 17 or s 19 or whatever,
849
01:05:29.319 --> 01:05:30.460
I am too small
850
01:05:30.760 --> 01:05:31.495
to mine,
851
01:05:31.975 --> 01:05:46.660
even a braid pool bead on any kind of reasonable time skip. So within our proposal, you can go read it. I also have proposal sub pools, which is a braid pool made under a braid pool. So I I otherwise, it's completely identical, which should allow you to get another factor of a 1,000,
852
01:05:47.599 --> 01:05:48.339
in the
853
01:05:49.715 --> 01:05:52.215
faster block rate or more block, but real product,
854
01:05:52.835 --> 01:05:56.535
to let you get and we can make subsub pools as well, which lets us get down to the individual.
855
01:05:58.690 --> 01:06:08.694
Although, I know there are a lot of home miners who list this have these bid access and things like this. I've talked to the guys at Futurebit about this with respect to Grainpool, and frankly, I don't have a great solution.
856
01:06:09.315 --> 01:06:12.375
I don't think Great Pool is the solution for you because
857
01:06:12.914 --> 01:06:14.694
your payouts are so darn small.
858
01:06:15.590 --> 01:06:17.930
If you're if you're just earning pennies per day,
859
01:06:18.470 --> 01:06:20.410
it just doesn't make sense. Not on Bitcoin.
860
01:06:21.510 --> 01:06:24.730
You I I think the best solution for you guys actually have a centralized
861
01:06:25.335 --> 01:06:33.275
party who's gonna send you a penny a day over lightning, something like that. And because the amounts are so small, it's gonna have to end up being centralized, unfortunately.
862
01:06:34.000 --> 01:06:38.579
That said, your centralized party who is essentially providing the service to future bit miners,
863
01:06:38.880 --> 01:06:40.660
could be running on top of break pool.
864
01:06:40.965 --> 01:06:42.185
And therefore, you could achieve
865
01:06:42.645 --> 01:06:44.985
variance reduction at the level of a large miner,
866
01:06:45.285 --> 01:06:48.550
and get data for Lightning because this this centralized pool
867
01:06:49.590 --> 01:06:54.170
invests in Lightning or eCash or whatever kind of new payment that comes up or Arc,
868
01:06:54.550 --> 01:06:56.010
and pays you however you want.
869
01:06:59.494 --> 01:07:02.474
Yeah. I mean, that makes sense because
870
01:07:03.974 --> 01:07:08.234
your mining rewards are just gonna be so low if you if you've only got, like, 2 Terahash.
871
01:07:10.840 --> 01:07:13.740
I mean, yeah. What what are you gonna do? Get paid once per year? Right.
872
01:07:15.000 --> 01:07:22.145
You know, in practice, this is not gonna be we can't get down to that level of resolution. Right? I mean, I'm And you just think about, like Unless you're solo minded,
873
01:07:23.650 --> 01:07:25.430
and you Well, you hit a block.
874
01:07:26.130 --> 01:07:31.490
Well, if you're if you're treating the whole thing like a lottery, which I think a lot of these bid x minors are Yeah. And,
875
01:07:32.585 --> 01:07:34.444
It's a lottery with slightly better odds.
876
01:07:35.305 --> 01:07:40.210
Smaller payouts, but more frequent payouts. Right? So you're, you're still playing a lottery, if that's what you think of it.
877
01:07:40.770 --> 01:07:41.270
You
878
01:07:41.730 --> 01:07:44.230
know, instead of playing the, you know, $100,000,000
879
01:07:44.690 --> 01:07:45.990
lotto, now you're playing the $10,000
880
01:07:46.290 --> 01:07:48.070
lotto. Right? Right.
881
01:07:51.125 --> 01:07:58.025
Do you think do you think someone with the bid act should still mine with braid if they're just coming at it from, like, a lottery perspective?
882
01:07:59.900 --> 01:08:02.480
Well, that's up to you. If you're treating it like a,
883
01:08:03.660 --> 01:08:04.319
a lottery,
884
01:08:04.779 --> 01:08:08.655
you know, are you gonna play the 100,000,000 jackpotter, or you do play the 10 $10,000
885
01:08:08.955 --> 01:08:10.115
scratch offs? You know, that's
886
01:08:10.555 --> 01:08:11.855
both are valid markets.
887
01:08:12.715 --> 01:08:19.800
I'm I'm not a gambler myself. I know way too much statistics, and I have a degree in physics and math, so I don't gamble. That's,
888
01:08:21.079 --> 01:08:22.780
I don't know if you can see my camera
889
01:08:23.159 --> 01:08:30.415
behind me, Bob, but that's a bit ax back there. It's kinda small on the screen. But Right. That where's that bit ax pointed, Rod?
890
01:08:31.435 --> 01:08:34.890
That's a good question. Where is that bit ax pointed? I think it's
891
01:08:36.310 --> 01:08:40.330
Did you set it up or did No. Scott set it up. I think p two b pool.
892
01:08:40.870 --> 01:08:41.610
Oh, okay.
893
01:08:41.910 --> 01:08:42.410
Yeah.
894
01:08:43.215 --> 01:08:47.555
Or public pool, you mean? Yeah. Public pool. Sorry. Sorry. Public pool. Yeah. Yeah. Public pool.
895
01:08:48.735 --> 01:08:51.055
So fun fact, back in the day, I used to have one of those,
896
01:08:51.935 --> 01:08:52.435
21
897
01:08:53.370 --> 01:08:57.550
co miners. Oh, really? What was company? Apologies company?
898
01:08:59.210 --> 01:09:04.395
They got they got bought by somebody, but Coinbit. Right? They would they were the first one to make a mining
899
01:09:04.695 --> 01:09:05.915
Raspberry Pi device.
900
01:09:06.615 --> 01:09:10.490
What were they called? It's 21 something. I think it's just 21, the name of the
901
01:09:11.450 --> 01:09:14.350
company. I don't remember. That was before my time.
902
01:09:15.850 --> 01:09:18.190
This is back, like, 2015 or so.
903
01:09:19.405 --> 01:09:20.465
Yeah, 21 inc.
904
01:09:21.245 --> 01:09:24.864
Yeah. Finally revealed its secretive product, a Bitcoin mining chip,
905
01:09:25.245 --> 01:09:26.145
May in 20.
906
01:09:27.620 --> 01:09:30.440
So I had one of their devices. It might very, very slowly.
907
01:09:32.420 --> 01:09:37.375
And, yeah, I mean, I'm happy
to see a reboot of this this market. It's it's great fun.
908
01:09:37.755 --> 01:09:39.454
I think what's more important to me is,
909
01:09:40.554 --> 01:09:43.350
that you run a Bitcoin note as well. But you're on blocks.
910
01:09:43.890 --> 01:09:52.614
But that's a lot to ask. If you're just playing the lottery and you just wanna do a scratch off and spend 5 minutes and then, you know, go on your go about your business, Asking you to install a Bitcoin note is
911
01:09:52.915 --> 01:09:53.975
a a lot to ask,
912
01:09:54.675 --> 01:09:57.094
especially if you are unlikely to win a block
913
01:09:57.554 --> 01:09:58.520
ever. Right?
914
01:09:59.480 --> 01:09:59.980
Right.
915
01:10:01.160 --> 01:10:08.895
But, you know, if you're doing this because you like the hardware, you like software, you want you wanna actually involve the ecosystem, run a Bitcoin note. You should be doing that anyway.
916
01:10:10.875 --> 01:10:11.375
Yeah.
917
01:10:13.930 --> 01:10:20.670
We got our last question. By the way, this ripped like that hour plus ripped like this, Bob. Thank you so much, man.
918
01:10:21.449 --> 01:10:28.655
I know it's Like, I hope it was enjoyable for you. But let me, like, get get this last, question from are you at Noster, by the way?
919
01:10:30.120 --> 01:10:30.860
I am.
920
01:10:31.880 --> 01:10:37.260
Dig through my Twitter post, you will find a Noster link there somewhere. I'm just curious. What do you think about Noster?
921
01:10:41.655 --> 01:10:44.795
I have not been following it closely, to be completely honest.
922
01:10:45.980 --> 01:10:47.920
I think it's probably a very naive protocol.
923
01:10:48.860 --> 01:10:56.175
Ultimately, it's just a way to send messages, and there are a 1,000 people in a 1,000 of ways to decide if they got a message message if you tell them they all think they're clever.
924
01:10:57.355 --> 01:10:57.594
I I
925
01:10:58.955 --> 01:11:06.010
yeah. Which message do you get sent? Now I gotta make filters. Now I gotta aggregate those filters. Now I gotta get it. It's not a scalable problem. I
926
01:11:07.350 --> 01:11:12.969
this may be a very naive for those who know a lot more about NASA, it may be a very naive approach. But who remembers
927
01:11:13.815 --> 01:11:14.554
new tele?
928
01:11:15.735 --> 01:11:17.114
Back in the days of now.
929
01:11:17.974 --> 01:11:22.480
Oh, shit. Yeah. Yeah. There was a protocol called the new tele. Yep. And Nutella did
930
01:11:23.280 --> 01:11:38.780
and and both of these got displaced by Bitcoin, right, back in the day. And what Nutella did is it basically had an everyone to everyone publication model, somewhat of Bitcoin. Like, I have this file to share. I'm gonna send that message to everybody. Now this scales for shit. Right? It's an n squared,
931
01:11:39.579 --> 01:11:42.159
scaling. Right? So the more stuff there is to share,
932
01:11:42.460 --> 01:11:43.039
the more
933
01:11:43.579 --> 01:11:53.094
it goes and goes like n squared, the more
messages get sent. Because of this, there were these search engines where you go look for files and people would make aggregators with high bandwidth,
934
01:11:53.955 --> 01:11:54.455
colocated
935
01:11:55.290 --> 01:11:59.390
hosts that would aggregate all these new tele files. Right? But ultimately,
936
01:11:59.850 --> 01:12:04.750
at the end of the day, the the broadcast everything that everyone model doesn't scale. Right?
937
01:12:05.195 --> 01:12:22.870
It doesn't scale for Bitcoin and doesn't scale for any other form of messages either, like Twitter or Nasr. But I think I think Nasr is probably gonna you know, if it it sees any kind of success, it's gonna fall down for some reason. Because you can't send every single message, every single, you know, every brain fart everybody has, everybody in the world. It doesn't scale.
938
01:12:24.764 --> 01:12:27.745
And, you know, I'm sure there are people working on mitigating that, but I I
939
01:12:28.605 --> 01:12:30.465
yeah. I I don't it's not that interesting
940
01:12:31.510 --> 01:12:33.290
for that reason. Fair enough.
941
01:12:34.470 --> 01:12:36.170
Alright. Last question from Byzantine
942
01:12:36.550 --> 01:12:38.250
on Noster or from Noster.
943
01:12:39.285 --> 01:12:42.905
Please ask about latency with oh, and we've kinda touched on this, but I'm gonna,
944
01:12:44.165 --> 01:12:49.369
repeat it anyways. And I know we're gonna expand, maybe another write up as well for this question.
945
01:12:49.750 --> 01:12:56.889
Please expand on about latency with template building by the user versus template building by the pool, and how that could lead to uncompetitiveness
946
01:12:58.265 --> 01:13:05.405
with building on prior blocks as compared to a centralized pool that can even take it to an extreme with a block withholding attack.
947
01:13:07.700 --> 01:13:08.600
Okay. So,
948
01:13:09.620 --> 01:13:11.000
from a latency perspective,
949
01:13:11.780 --> 01:13:13.675
Greatpool will be more competitive here,
950
01:13:14.554 --> 01:13:15.054
Because
951
01:13:15.355 --> 01:13:22.580
what's going on is that if you if you're using a centralized pool and they're building your block template, right, so they receive a new block,
952
01:13:23.060 --> 01:13:28.040
and they say, alright, I need everybody to stop by where it's working on right now. Start working on something else. Right?
953
01:13:28.580 --> 01:13:33.284
And there's a window of time there where miners may still be working on the old work,
954
01:13:34.385 --> 01:13:51.845
and haven't come to get a new piece of work, or I haven't finished validating the block. So this is where the empty block phenomena comes from. There's a lot of good posts about the empty block phenomena. I don't wanna repeat that discussion right now, but go go read them. It's not a problem for network. But it is caused because I have an additional source of latency
955
01:13:52.465 --> 01:13:54.165
between my minor and the pool.
956
01:13:54.865 --> 01:13:55.320
Right?
957
01:13:55.719 --> 01:14:05.179
And that latency one of the reasons the pool send empty blocks is because when they receive a new block, they have to blast out a new work unit to
958
01:14:05.665 --> 01:14:07.845
tens of thousands or hundreds of thousands of devices,
959
01:14:08.385 --> 01:14:25.085
maybe millions of devices. A lot of miners have each of their individual, you know, s 19 minuteing devices pointed directly at the pool, making it their own independent TCP connection to the pool. So if I have a farm with 10,000 devices in it and 10,000 TCP connections of the stratum protocol to the pool,
960
01:14:26.105 --> 01:14:31.245
that's a huge hit in terms of bandwidth and latency where I have to when I receive a block, I could instantaneously
961
01:14:32.050 --> 01:14:46.475
send out this work unit. So not only that mine with 10,000 devices, but this other mine of 10,000 devices, other mine up to, you know, the largest pools, you know, let's say 20, 30%. You're talking a 1000000 devices. So I've got to send a 1000000 individual
962
01:14:46.935 --> 01:14:49.640
stratum packets to a 1000000 individual devices.
963
01:14:50.500 --> 01:14:56.280
This is the source of the, you know, the this empty block cannot because that takes at a minimum a couple seconds,
964
01:14:56.625 --> 01:15:04.645
And the difference between the work unit that contains the block template and then doesn't contain a block template is a factor of 2 or so. But that factor of 2 is enough
965
01:15:04.970 --> 01:15:07.950
to where, they don't wanna do it. They'd rather send out,
966
01:15:08.810 --> 01:15:10.030
an empty work unit
967
01:15:10.570 --> 01:15:14.670
than, than a full one. Now this is solved by using a proxy.
968
01:15:15.275 --> 01:15:24.094
So if I hide all of my minors behind a proxy, and that proxy looks like just one minor, then that prop distributes that that load to all the minors.
969
01:15:24.880 --> 01:15:26.980
Now I I only have to
970
01:15:27.440 --> 01:15:28.580
do that redistribution
971
01:15:30.160 --> 01:15:38.985
once on my site. Right? And we're talking about a microsecond communications latency between my proxy and my buying devices as opposed to, let's say, a 100 millisecond
972
01:15:39.420 --> 01:15:42.960
latency between my buying devices and the upstream pool. Right?
973
01:15:43.580 --> 01:15:51.215
Break pool operate in a similar manner. You'll have your own on-site Bitcoin node and break pool node, and that's the guy that's responsible for sending work units to your miners.
974
01:15:51.675 --> 01:15:52.175
Right?
975
01:15:52.955 --> 01:15:53.875
Your your
976
01:15:54.315 --> 01:16:01.830
the other people on the break pool network are not gonna know what kind or how many kind of mining devices you have. Your individual mining devices, individual,
977
01:16:02.210 --> 01:16:05.590
Bitmain, what's minor devices are not gonna be connecting to other
978
01:16:05.905 --> 01:16:13.445
breakable nodes or other
mining devices. They're all going to be hidden behind the breakable node. Right? And so, in a way this acts as a proxy.
979
01:16:14.610 --> 01:16:20.230
So this means that Brightpearl have the advantage here. We will be able to construct a full block template.
980
01:16:21.365 --> 01:16:22.265
This can be done fairly fast.
981
01:16:22.645 --> 01:16:23.765
It's the latency between the,
982
01:16:24.645 --> 01:16:25.925
the mining device and the,
983
01:16:27.125 --> 01:16:33.679
the pool. And the fact the pool have to do this for millions of devices all at the same time that causes that problem. Right?
984
01:16:34.860 --> 01:16:40.475
If the you know, if I receive a block and my own local device does this, it can do it in milliseconds.
985
01:16:41.255 --> 01:16:46.780
So much so we will have a significant advance there. We will be able to mine full blocks immediately after
986
01:16:47.719 --> 01:16:50.860
receiving a block and not mine a few blocks because we don't have this.
987
01:16:51.535 --> 01:16:52.915
Hope that answered your question.
988
01:16:53.375 --> 01:16:54.835
I think there are other parts of this.
989
01:16:56.495 --> 01:16:57.875
I think you did well.
990
01:16:58.895 --> 01:17:07.630
Yeah. No. That was great. I learned a lot about Braidpool. Is there anything about Braidpool that we didn't talk about that you that you wanna
991
01:17:08.285 --> 01:17:10.864
that you wanna take this opportunity to speak to?
992
01:17:13.885 --> 01:17:32.594
No. I think I think that's it. I I often get the question, like, how much hash rate do I need to be useful for this? The that the answer to that is that none. There is no lower limit. BrightView will operate with just one miner running CPU mining. Won't win any blocks, but it'll operate. It'll build the DAG, and it'll do all the things we need to do.
993
01:17:34.335 --> 01:17:35.715
I often get the question,
994
01:17:36.250 --> 01:17:44.025
can I contribute some hash rate? The answer is not yet. We will have a test net up and running in a few months. And when you see that, you know, we would love to have people contribute.
995
01:17:45.545 --> 01:17:53.140
I often get a question like, what do we need now? Now we need developers. If any of these ideas have interested you, and or you know, Rust or want to learn Rust,
996
01:17:53.780 --> 01:17:55.320
there are detailed specifications
997
01:17:55.700 --> 01:17:59.000
on our GitHub. Please read them, comment on them,
998
01:17:59.780 --> 01:18:03.805
ask questions. You can send them to me or the great bull account on Twitter. Happy to discuss them.
999
01:18:04.185 --> 01:18:09.500
And, yeah, we're happy to receive contributions. It's an open source project just like Bitcoin. It's not a company.
1000
01:18:10.200 --> 01:18:20.365
We're not doing any kind of fundraising or any ICO. The the developers we have are either volunteers or paid through grants, and we tend to keep it that way. We want this to we want the development of grateful
1001
01:18:20.825 --> 01:18:21.805
to to be democratic
1002
01:18:22.505 --> 01:18:23.725
distributed as well.
1003
01:18:25.760 --> 01:18:33.894
Awesome. Rock and roll, man. Well, Bob, thank you so much for joining us. I think, there's gonna be a lot to unpack here. And,
1004
01:18:34.335 --> 01:18:34.974
I'll make the
1005
01:18:35.775 --> 01:18:37.474
we invite you to Nashville, Tennessee,
1006
01:18:38.255 --> 01:18:39.554
to Bitcoin Park,
1007
01:18:40.014 --> 01:18:42.280
whenever you want. Come visit us.
1008
01:18:42.840 --> 01:18:48.380
And I mean, actually, the weather is terrible in January. And not terrible, but, like, it's not good.
1009
01:18:49.159 --> 01:18:58.494
But we host a a a energy and mining summit here, and, we'd love to have you come and and and and speak to Bradepool on a number of other topics as well.
1010
01:18:59.659 --> 01:19:02.320
Yeah. I think, I have heard of that.
1011
01:19:03.980 --> 01:19:07.280
That's July. I I will say that my collaborator, Kalfreet,
1012
01:19:07.739 --> 01:19:08.695
just won a ticket
1013
01:19:09.094 --> 01:19:12.074
to, Bitcoin, 2024 in Nashville, July 25th.
1014
01:19:12.375 --> 01:19:13.034
Oh, good.
1015
01:19:13.335 --> 01:19:16.875
Oh, nice. So he's got a yeah. He's he's got a grant from the
1016
01:19:17.210 --> 01:19:17.710
HRF
1017
01:19:18.890 --> 01:19:28.935
Human Rights Foundation. Yeah. And they also sponsored free tickets for developers. Yep. He won one of those. He's he's gonna be attending and he will be on the open source stage talk about Anybody's gonna be in Nashville with that,
1018
01:19:29.235 --> 01:19:30.135
go talk to Koprete.
1019
01:19:30.995 --> 01:19:32.535
Great. How do you spell his name?
1020
01:19:34.515 --> 01:19:36.615
K u l p r e e t.
1021
01:19:37.220 --> 01:19:41.000
His last name is Singh, s I n g h. Perfect. Kolpreet Singh.
1022
01:19:41.860 --> 01:19:45.940
Awesome, man. Well, thanks again for get a free pass, so I'm not gonna be there. But
1023
01:19:46.875 --> 01:19:51.375
Well, if we I mean, we're we're not yeah. We can we'll sort something out.
1024
01:19:52.715 --> 01:19:56.074
But, Bitcoin Park, we we host these meetups pretty much,
1025
01:19:57.020 --> 01:20:00.240
2, 3 now we got, I think, 4 meetups that we host regularly,
1026
01:20:00.700 --> 01:20:03.360
focused on Bitcoin and Bitcoin adjacent technologies.
1027
01:20:05.725 --> 01:20:10.385
So, if you're ever in town or wanna come by, we get you got a place to to work from and hang.
1028
01:20:11.005 --> 01:20:15.810
Yeah. Absolutely. We'll talk. I'd love to do that. I'll be, I'll be around this summer, so, it's it's a possibility.
1029
01:20:16.510 --> 01:20:17.010
Awesome.
1030
01:20:17.389 --> 01:20:20.355
I I would love to go to Nashville or really spend time.
1031
01:20:22.275 --> 01:20:25.095
Thanks, Paul. You could probably go to bit devs as well. Right?
1032
01:20:25.475 --> 01:20:26.695
So we do. Yes.
1033
01:20:27.690 --> 01:20:30.250
Go ahead. I've done in my life. I used to co host,
1034
01:20:30.730 --> 01:20:32.429
BitDevs with the guys in New York.
1035
01:20:32.969 --> 01:20:34.670
Oh, Jay and those guys?
1036
01:20:35.305 --> 01:20:35.945
Yeah, Jay.
1037
01:20:36.585 --> 01:20:39.245
I used to co host what I call white paper Wednesdays
1038
01:20:39.865 --> 01:20:44.480
in New York, like, 2015, 2016. So we would, you know, have a close reading of a cryptography
1039
01:20:44.860 --> 01:20:45.920
paper and then test
1040
01:20:46.300 --> 01:20:46.620
it.
1041
01:20:47.260 --> 01:20:48.000
That's besides
1042
01:20:48.620 --> 01:20:50.960
project to the what j it does.
1043
01:20:51.445 --> 01:20:58.264
So Steve Myers, who's a contributor to the BDK project, Matthew Ramsden, who's a contributor to BDK as well now, and LDK,
1044
01:20:59.190 --> 01:21:06.645
They both host the bit dev or we call it NASH bit devs here, which is the 2nd Tuesday of every month. And then we have a more of a
1045
01:21:07.205 --> 01:21:07.705
social,
1046
01:21:08.965 --> 01:21:10.825
meetup, but it's still topic based.
1047
01:21:12.005 --> 01:21:19.850
Yeah. Open house on that the day after on the 2nd Wednesday of every month. And then we have a Rust Bitcoin meet or Rust meetup
1048
01:21:20.390 --> 01:21:23.130
the 3rd or 4th Thursday of every month.
1049
01:21:23.590 --> 01:21:27.275
And then Yeah. We may host a monthly mining focused,
1050
01:21:27.735 --> 01:21:28.555
mining energy,
1051
01:21:28.935 --> 01:21:37.110
meetup, as well. Yeah. The bit dev is really my jam. You know, I've been I hosted 1 in New York. I've been from Miami, Austin, and 2 other places.
1052
01:21:37.489 --> 01:21:40.790
I really love the Socratic structure that that Jay follows and Yep.
1053
01:21:41.889 --> 01:21:42.885
Yeah. It's a great meetup.
1054
01:21:44.144 --> 01:21:46.485
Awesome. We'll see you soon. Thanks again, Bob.
1055
01:21:47.025 --> 01:21:51.125
Yeah. Thanks, Bob. It was great to meet you virtually, finally, and
1056
01:21:52.670 --> 01:21:55.570
hope to see you again and see you around Nashville sometime.
1057
01:21:56.030 --> 01:21:56.770
Yeah. Absolutely.
1058
01:21:57.230 --> 01:21:57.730
Cheers.