1
00:00:00,820 --> 00:00:02,180
All right. Good morning.

2
00:00:03,240 --> 00:00:04,240
Good morning.

3
00:00:04,440 --> 00:00:07,360
Let's let everybody know what time it is because, you know, that's important here.

4
00:00:07,600 --> 00:00:10,440
But good morning, man. Have you said your good mornings?

5
00:00:10,820 --> 00:00:15,380
I just did. I just did. You got it on camera. You got it recorded.

6
00:00:16,000 --> 00:00:17,240
That's right. We do have it on camera.

7
00:00:18,460 --> 00:00:21,620
This is the Magic Internet Math Podcast, Episode 4.

8
00:00:21,620 --> 00:00:28,140
and I think this will probably be the second part two of what we called

9
00:00:28,140 --> 00:00:30,580
the elliptic curve cryptography study guide.

10
00:00:31,100 --> 00:00:31,200
Yeah.

11
00:00:31,980 --> 00:00:36,160
We started in last week talking about some clock math,

12
00:00:36,740 --> 00:00:39,520
which formerly known as modular arithmetic.

13
00:00:41,300 --> 00:00:42,360
Very powerful.

14
00:00:42,800 --> 00:00:45,900
Probably one of the things I'm the most excited about that has ever existed in

15
00:00:45,900 --> 00:00:50,740
the world is this ability to do modular arithmetic just for the hell of it.

16
00:00:51,620 --> 00:00:52,660
Just because we can.

17
00:00:53,860 --> 00:00:54,240
Yeah.

18
00:00:54,460 --> 00:00:57,160
And then like, what has that given us?

19
00:00:57,320 --> 00:01:01,480
You know, not to think, boy, this thing out too much, but I just, it's such a primitive,

20
00:01:01,680 --> 00:01:04,060
it's such a powerful primitive and it's going to fit.

21
00:01:04,200 --> 00:01:08,520
It's going to feature very heavily now and what we're going to talk about today.

22
00:01:09,000 --> 00:01:10,200
Yeah, I'd say so.

23
00:01:10,200 --> 00:01:15,940
I think what we did last time is we kind of at a very high level connected the core concepts

24
00:01:15,940 --> 00:01:19,260
of these math pieces that actually relate to Bitcoin.

25
00:01:19,260 --> 00:01:33,880
And we kind of at a very high level, like a survey level, just quick pass through, talked about all of these mathematical interdependencies that make the system of Bitcoin security, which is the public private key pair.

26
00:01:34,580 --> 00:01:38,400
Right. And so we're going to slow it down a little bit today.

27
00:01:38,840 --> 00:01:43,560
We're going to go a little bit more into some of the interesting mathematical properties that yield that.

28
00:01:43,560 --> 00:01:51,280
and if I would recommend starting it last episode even if you don't grok 100% of every single beat

29
00:01:51,280 --> 00:01:55,840
you'll see kind of the big picture vision of what we're trying to connect and ground these concepts

30
00:01:55,840 --> 00:02:01,660
for which is the securing of bitcoin getting a public agree being able to have a private key

31
00:02:01,660 --> 00:02:08,260
being able to reveal information that you have a private key but no one else knows that private key

32
00:02:08,260 --> 00:02:12,540
and the mathematical properties that we use with this a little bit of curve we're going to slow it

33
00:02:12,540 --> 00:02:16,640
down a little bit more today and talk about a lot of those like smaller building blocks.

34
00:02:17,780 --> 00:02:22,400
Yeah. And I like, I mean, high level is a great way to put it. And it's just that if you don't,

35
00:02:22,420 --> 00:02:28,900
if you don't like, you don't see the depth of it, what's the meme with the iceberg where all

36
00:02:28,900 --> 00:02:33,200
you see is the tip of the iceberg. So like at the tip of the iceberg, you see Bitcoin working,

37
00:02:33,480 --> 00:02:39,000
but like, I feel like in some ways we're the bearer of bad news by pointing out,

38
00:02:39,000 --> 00:02:45,660
we're starting to talk about the bottom of the iceberg and just and say hey trust us for now

39
00:02:45,660 --> 00:02:53,360
that it's connected stick with us right and um i think it's important to see it even though we you

40
00:02:53,360 --> 00:02:58,640
know don't kill the messenger we are that's we're we're trying to create a rich conversation here

41
00:02:58,640 --> 00:03:03,620
for an understanding of something we all really care about very deeply yeah i would say last

42
00:03:03,620 --> 00:03:07,700
episode we sketched out the shape of the entire iceberg and now we're going to start coloring

43
00:03:07,700 --> 00:03:10,980
and all of the little details at the bottom and work our way up.

44
00:03:12,240 --> 00:03:12,640
Yeah.

45
00:03:12,980 --> 00:03:13,580
Yeah, it's good.

46
00:03:13,740 --> 00:03:17,020
So I can't overemphasize.

47
00:03:17,480 --> 00:03:20,940
Oh, the thing I forgot to say was go look at the study guide in the show notes.

48
00:03:20,940 --> 00:03:24,220
That was like the one mental prompt I gave myself before I just said what I said.

49
00:03:24,480 --> 00:03:25,160
I forgot.

50
00:03:25,820 --> 00:03:34,100
Go look at the study guide because what we're doing now is I think we have a little bit of a three-way attack on this.

51
00:03:34,200 --> 00:03:37,520
We have this podcast where we awkwardly explain these things.

52
00:03:37,520 --> 00:03:40,760
But mainly I think what we're doing in the podcast is we're showing you what's important.

53
00:03:41,400 --> 00:03:53,000
And then when you want to go and really grok it, we have a study guide and I have a YouTube series now that is available in the show notes.

54
00:03:54,020 --> 00:04:02,140
So like I think if you want to – I mean obviously I don't think anybody expects to master the math of anything by listening to a podcast, right?

55
00:04:02,140 --> 00:04:10,140
And I think my experience of doing this the first time with Gary, shout out, is it's hard.

56
00:04:10,280 --> 00:04:10,960
It's like frustrating.

57
00:04:11,100 --> 00:04:15,800
A lot of people said, man, it's so hard to sit through this podcast.

58
00:04:16,020 --> 00:04:24,200
So like what I want you guys, I think it's less difficult to know there are supporting, other supporting tools now.

59
00:04:25,200 --> 00:04:32,000
Yeah, I would say every person learns differently and kind of what's effective for them to be able to unlock concepts.

60
00:04:32,140 --> 00:04:36,520
me personally what I would do is I would read the study guide then listen to the podcast

61
00:04:36,520 --> 00:04:40,360
because when you read the study guide and you're able to throw your hands up and say

62
00:04:40,360 --> 00:04:44,360
this is too complicated for me I don't get this when we go

63
00:04:44,360 --> 00:04:48,200
re-explain it on the show that may be able to provide you different mental models to be able to

64
00:04:48,200 --> 00:04:52,160
kind of get across the chasm and then additionally drop us a

65
00:04:52,160 --> 00:04:55,680
comment on fountain if there's a part that you want us to go deeper into

66
00:04:55,680 --> 00:05:00,300
absolutely like if you're listening along you're flipping through the study

67
00:05:00,300 --> 00:05:03,160
guide you're listening to the podcast and there's things that you just still don't quite get

68
00:05:03,160 --> 00:05:08,000
like just drop a line to us and it could be like a little bit of an asynchronous uh study group

69
00:05:08,000 --> 00:05:14,420
that we all go through on this journey together oh yeah i should also mention before we jump in

70
00:05:14,420 --> 00:05:19,880
too quickly is that um i mean this is going off a lot of people but like there are

71
00:05:19,880 --> 00:05:27,160
there is a membership available at the magic internet math academy and um right now what

72
00:05:27,160 --> 00:05:31,120
you see is everything that is there is freely available. So that's just the tip of the iceberg.

73
00:05:31,380 --> 00:05:36,200
So I haven't yet identified what's below it, but there will definitely be like subscriber only

74
00:05:36,200 --> 00:05:43,040
content. And there's a few people, it's like $2 a month. Um, if you want to do that, um, for a

75
00:05:43,040 --> 00:05:48,040
very limited time right now, I'm accepting lifetime memberships, um, in Bitcoin only.

76
00:05:49,180 --> 00:05:54,880
And so we have four members so far, shout out to those guys. And, um, so let's get to it.

77
00:05:54,880 --> 00:05:55,680
Make sense?

78
00:05:57,480 --> 00:05:58,720
That sounds good to me.

79
00:05:59,000 --> 00:05:59,540
All right.

80
00:06:00,020 --> 00:06:04,700
So I think what we want to do is start with Chapter 2 of the study guide.

81
00:06:05,280 --> 00:06:05,480
Okay?

82
00:06:05,900 --> 00:06:12,040
And so anybody who already looked at study guide is about to pay off by knowing what's in Chapter 2.

83
00:06:13,800 --> 00:06:19,340
And we did – you know, we hit this last week, but did – I mean, this repetition is everything.

84
00:06:19,340 --> 00:06:24,560
And so we're going to repeat – what Chapter 2 is called is the inverse problem.

85
00:06:24,880 --> 00:06:43,460
And, you know, inverse is, it's like of real importance to know that your private key, which is a point on the elliptic curve, right, gets multiplied by some generator that is another point on the elliptic curve that the public sees.

86
00:06:44,320 --> 00:06:52,440
It's of utmost importance that you know you can invert that public key back into your private key.

87
00:06:53,640 --> 00:06:54,200
Right?

88
00:06:54,880 --> 00:07:01,320
Like that is of, imagine if for some reason you were in a number system where that was

89
00:07:01,320 --> 00:07:05,600
not possible and it can only happen by dividing by zero, which anybody who's ever tried to

90
00:07:05,600 --> 00:07:11,840
code anything knows how easy that can happen at a given point in time if they're not severely

91
00:07:11,840 --> 00:07:14,400
restricted by the number system they're working with.

92
00:07:15,540 --> 00:07:20,060
So what we kind of talked about with modular arithmetic a little bit and then gotten to

93
00:07:20,060 --> 00:07:28,420
groups right we went we went very we took a very large leap across stones and went to groups because

94
00:07:28,420 --> 00:07:34,000
what groups and fields do is ensure and what they really do is ensure the existence of an inverse

95
00:07:34,000 --> 00:07:40,380
that's one of the things they do and when we're dealing with things like hash functions where

96
00:07:40,380 --> 00:07:49,320
you know you just have to knowing the math allows you to know the inverse exists without really

97
00:07:49,320 --> 00:07:54,540
being able to do the math with a pen and paper or even with a computer. Right. So like we're kind

98
00:07:54,540 --> 00:08:00,520
of in this realm of like, you have to, you have to, there's certain things now you do have to

99
00:08:00,520 --> 00:08:06,980
trust and you have to trust an inverse exists with a hash function, even though you can't really

100
00:08:06,980 --> 00:08:11,440
do it. Like, you know, you know, if you're into real numbers and you have a number five,

101
00:08:11,740 --> 00:08:16,040
you know, one fifth is the inverse of that. You can handle that and your brain can handle that.

102
00:08:16,040 --> 00:08:20,740
If you're in a certain number system

103
00:08:20,740 --> 00:08:23,040
That's, you know

104
00:08:23,040 --> 00:08:25,320
Most number systems and most numbers

105
00:08:25,320 --> 00:08:27,300
Your computer can handle, right?

106
00:08:27,360 --> 00:08:28,340
But the whole point of this

107
00:08:28,340 --> 00:08:30,580
The whole point is your computer can't handle it

108
00:08:30,580 --> 00:08:31,580
And no computer can

109
00:08:31,580 --> 00:08:33,060
No group of computers can

110
00:08:33,060 --> 00:08:36,400
In fact, as long as you're on this earth

111
00:08:36,400 --> 00:08:39,100
And subject to the constraints of energy

112
00:08:39,100 --> 00:08:42,840
And the current state of, you know

113
00:08:42,840 --> 00:08:44,160
Algorithms and all that

114
00:08:44,160 --> 00:08:50,460
there's nothing you can do to actually sit and prove that your inverse exists. You have to trust

115
00:08:50,460 --> 00:08:55,480
the math on this one, but that's why we're here. That's what I'm motivating at the moment is,

116
00:08:55,480 --> 00:09:02,420
how do you know you have an inverse? And this is, again, as just one high-level concept we

117
00:09:02,420 --> 00:09:09,400
talked about on the last podcast, is that the reason why you basically have to remove

118
00:09:09,400 --> 00:09:14,180
a brute force like always checking and you have to go to an abstract theoretical proof

119
00:09:14,180 --> 00:09:20,120
is that the number of points on this curve outnumbers the atoms that exist in the universe

120
00:09:20,120 --> 00:09:27,720
and since it requires energy computation and time none of this stuff is free even with moore's law

121
00:09:27,720 --> 00:09:34,140
and like doubling every 18 months the ability for us to compute things this is so many orders of

122
00:09:34,140 --> 00:09:40,220
magnitude outside of the scope of what could be kind of infinite like being able to definitively

123
00:09:40,220 --> 00:09:44,560
every single point on the curve proving it has an inverse through brute force is impossible you're

124
00:09:44,560 --> 00:09:49,620
you're looking at the heat death of the universe even with quantum times over which i mean i feel

125
00:09:49,620 --> 00:09:56,160
like we'll mention the word but like even it's true but so like the thing that's a good point

126
00:09:56,160 --> 00:09:59,880
with quantum is that quantum is not going to be able to definitively show every single point on a

127
00:09:59,880 --> 00:10:05,740
curve, it can find an individual point of a public key and find that one inverse to the

128
00:10:05,740 --> 00:10:06,300
private key.

129
00:10:06,660 --> 00:10:11,020
But it's not going to be able, theoretically, but it's not going to be able to brute force

130
00:10:11,020 --> 00:10:12,940
and show the universe of all possible keys.

131
00:10:13,620 --> 00:10:13,740
Yeah.

132
00:10:13,820 --> 00:10:18,560
So what I kind of want to, before we get into it, it's like when you go to the Bitcoin store

133
00:10:18,560 --> 00:10:21,640
and say, I am ready to buy Bitcoin, right?

134
00:10:23,300 --> 00:10:28,480
Theoretically, as a customer, you already, I don't know how many people own Bitcoin,

135
00:10:28,480 --> 00:10:39,080
But every single one of them should have gone to the counter and asked to see the manager and say, I need you to – before I buy this Bitcoin, can you just show me that I have – that an inverse exists to my private key?

136
00:10:40,760 --> 00:10:44,240
Theoretically, that is the thing you should be doing at the store.

137
00:10:44,940 --> 00:10:45,040
Yeah.

138
00:10:45,780 --> 00:10:46,120
OK.

139
00:10:46,420 --> 00:10:48,640
And that's called verify.

140
00:10:49,280 --> 00:10:49,500
OK.

141
00:10:49,560 --> 00:10:51,240
That's the thing that we call verify.

142
00:10:51,380 --> 00:10:56,980
When we say don't trust verify, I think in my opinion, it goes that – it should go that deep.

143
00:10:57,120 --> 00:10:58,300
Like how do you –

144
00:10:58,300 --> 00:11:03,660
Well, it has to because otherwise, how do you know if you generate a Bitcoin address that there's actually a corresponding private key?

145
00:11:04,240 --> 00:11:04,880
That's right.

146
00:11:04,880 --> 00:11:05,960
Until you check it yourself manually.

147
00:11:06,200 --> 00:11:06,600
That's right.

148
00:11:06,680 --> 00:11:07,140
You can't.

149
00:11:07,140 --> 00:11:13,680
So this evergreen idea of an inverse is the way this happens.

150
00:11:13,680 --> 00:11:32,100
Right. It's the way a person motivated to actually maybe who has that a good natural barrier for not wanting to trust his life savings to a bunch of zeros and ones that may or that may not pan out or be spendable.

151
00:11:32,360 --> 00:11:40,080
Right. This is a big this concept of inverse is now that is one of the things that can get you over a very big hump.

152
00:11:40,080 --> 00:11:43,500
I'm really saying you should be asking this question.

153
00:11:43,660 --> 00:11:45,120
People should be asking this question.

154
00:11:45,220 --> 00:11:48,760
People should not tolerate owning Bitcoin and not asking this question.

155
00:11:48,920 --> 00:11:53,220
So what I would love to do is we should explain this inverse property.

156
00:11:53,820 --> 00:11:58,980
And then I'm going to tie it into LibSecP and how the library actually works.

157
00:11:59,560 --> 00:12:01,600
Because it's a little interesting thing we'll get to.

158
00:12:01,640 --> 00:12:03,300
But I want to lay out the core math first.

159
00:12:03,920 --> 00:12:04,360
So, okay.

160
00:12:04,500 --> 00:12:09,800
So real quick, before we talk about an inverse, we're going to talk about something called the identity.

161
00:12:10,080 --> 00:12:36,420
So this is very abstract. However, there's a reason method for it. So like, you know, an identity under addition, I think people can handle is the number zero, like that's the identity, meaning like zero plus anything is that number. Right? So like, when you talk about an identity, you want to know that you it's the thing. This sounds so like pedantic, but it's really, really important.

162
00:12:36,420 --> 00:12:43,840
it's like what can i how do i operate on a number and not change it at all and the answer is you use

163
00:12:43,840 --> 00:12:50,860
the identity you you operate on the identity and that's really important and the identity changes

164
00:12:50,860 --> 00:12:56,280
based on what the problem set is so and the operation and the operation so i think the other

165
00:12:56,280 --> 00:13:02,680
one i think most people would be able to think through is with instead of addition multiplication

166
00:13:02,680 --> 00:13:05,980
And I want everyone to take a half second and think before we say the answer.

167
00:13:06,360 --> 00:13:10,780
What do you do in multiplication to get the same number after you multiply it?

168
00:13:11,300 --> 00:13:11,960
That's right.

169
00:13:12,140 --> 00:13:13,940
The number one, right?

170
00:13:14,040 --> 00:13:15,840
Two times one is one, right?

171
00:13:15,880 --> 00:13:20,860
So you can see that the identity is not a constant across all methods and all perspectives.

172
00:13:21,400 --> 00:13:26,720
But the identity as a concept, though, existing is really important for the stuff we're going to be talking about.

173
00:13:27,440 --> 00:13:27,880
Yes.

174
00:13:27,880 --> 00:13:31,280
And this is why we talk about groups, rings, and fields.

175
00:13:31,800 --> 00:13:37,080
Because a group gives you an identity for an operation.

176
00:13:37,220 --> 00:13:41,460
It doesn't tell you what the operation is, so it doesn't tell you what the identity is.

177
00:13:42,080 --> 00:13:49,940
However, a group is just a primitive to understand this concept that you have, again, closure, identity.

178
00:13:50,760 --> 00:13:53,220
And if you have identity, you have an inverse.

179
00:13:53,220 --> 00:13:59,060
because the inverse is the element that gets you back to the identity.

180
00:13:59,280 --> 00:14:02,620
So when we talked about addition, in the integers, let's just say,

181
00:14:02,720 --> 00:14:06,340
if you have the number 5 and the identity is 0,

182
00:14:06,520 --> 00:14:09,960
because we said 0 is the identity for addition,

183
00:14:11,340 --> 00:14:15,700
then the number that gets you back to 0 is negative 5,

184
00:14:16,180 --> 00:14:18,160
which happens not to exist.

185
00:14:18,300 --> 00:14:20,020
Well, no, sorry, it does exist in the integers.

186
00:14:20,440 --> 00:14:21,020
It does.

187
00:14:21,020 --> 00:14:32,640
Yes. So under addition, you're good there, right? So five plus negative five is zero. So therefore, negative five is your inverse, your additive inverse, your inverse under the operation of addition.

188
00:14:32,640 --> 00:14:41,500
And to take it to multiplication, if I have the number two, what can be combined with two to always get back to the inverse?

189
00:14:42,140 --> 00:14:46,460
Well, what is the inverse in that case that gets you back to the identity of one?

190
00:14:46,980 --> 00:14:48,780
It's one half, right?

191
00:14:48,820 --> 00:14:49,660
One over two.

192
00:14:49,940 --> 00:14:52,620
So two times one over two equals one, which is the identity.

193
00:14:53,120 --> 00:15:02,100
So that's another example about how you can get the identity and you can compute it depending on the field, like what you're doing as the operation and changes.

194
00:15:02,100 --> 00:15:07,040
But there is an inverse that exists for all the real numbers, and it's one over that.

195
00:15:07,680 --> 00:15:12,240
And we're so confident in our – the human race is so confident about this.

196
00:15:12,320 --> 00:15:16,060
We've given both of those things names because they're so general.

197
00:15:16,640 --> 00:15:22,360
We call the additive inverse like an opposite or a negative, a negation.

198
00:15:22,820 --> 00:15:26,220
And we call the multiplicative inverse a reciprocal.

199
00:15:26,620 --> 00:15:30,620
And I'm saying this because I'm pretty sure everybody knows what these words are, right?

200
00:15:30,620 --> 00:15:35,940
But now I want those words to be associated.

201
00:15:36,160 --> 00:15:39,060
It's easier to associate this concept now.

202
00:15:39,640 --> 00:15:39,820
Yes.

203
00:15:39,940 --> 00:15:45,360
The reciprocal is the multiplicative inverse, and the negative is the additive inverse.

204
00:15:45,520 --> 00:15:48,000
And why do we focus on addition and multiplication here?

205
00:15:48,560 --> 00:15:50,640
And why do we talk about rings and fields?

206
00:15:50,760 --> 00:15:56,500
It's because in a ring and a field now, you have both operations, addition and multiplication.

207
00:15:56,500 --> 00:16:04,560
and so um in a field a field is like a perfect version of a ring where you have an inverse for

208
00:16:04,560 --> 00:16:10,340
both right you have an additive inverse so i don't want to get to a field here but like i just want

209
00:16:10,340 --> 00:16:17,360
the reason we talk about fields is a field is like um a statue and the ring is more like the block

210
00:16:17,360 --> 00:16:23,900
of clay that we know can become a statue yeah right and this and the reason why we're doing

211
00:16:23,900 --> 00:16:30,900
this is because remember what we talked about on the last episode is that we're not dealing with

212
00:16:30,900 --> 00:16:38,540
just the number line and all the real numbers there's a very particular set in order of the

213
00:16:38,540 --> 00:16:44,040
points that we deal with in the bitcoin elliptic curve which was y cubed equals x squared plus seven

214
00:16:44,040 --> 00:16:49,960
that's where this all works and we're not looking at everything we're looking at things within that

215
00:16:49,960 --> 00:16:54,160
subset and the relationship of how that all works, which we briefly touched upon last

216
00:16:54,160 --> 00:16:55,960
episode, creates a field.

217
00:16:56,420 --> 00:17:00,640
And that's where the modulo arithmetic and everything starts coming into play, is that

218
00:17:00,640 --> 00:17:03,560
we're not just doing negative infinity to positive infinity.

219
00:17:03,820 --> 00:17:06,220
There's a very particular set of numbers that we're working on.

220
00:17:07,020 --> 00:17:07,380
That's right.

221
00:17:07,380 --> 00:17:15,580
I mean, imagine being Satoshi, right, and worrying about, worrying in 100 years that

222
00:17:15,580 --> 00:17:23,620
Someone's going to try to spend, you know, do a spend and they're going to run into some divide by zero or infinity thing.

223
00:17:23,780 --> 00:17:27,220
I mean, it's like it had to be eliminated.

224
00:17:28,440 --> 00:17:30,700
Right. It had to be eliminated on day zero.

225
00:17:31,320 --> 00:17:37,520
So we have we use a number system, not the integers or the reals.

226
00:17:37,580 --> 00:17:40,920
We use a number system called a finite field modulo prime.

227
00:17:40,920 --> 00:17:47,640
And I know that's confusing a little bit, but if you go back to last episode, we talked a good amount about it.

228
00:17:47,720 --> 00:17:56,300
And it's really just a compact system that operates under the operations of addition and multiplication.

229
00:17:57,840 --> 00:18:10,040
And if we go back to the modulo arithmetic, it just so happens that modulo arithmetic follows the same rules as regular arithmetic almost across the board.

230
00:18:10,040 --> 00:18:18,260
And so it's a very nice, convenient way of now being able to do math, this type of math, in a way that ensures this structure.

231
00:18:18,820 --> 00:18:23,920
The structure, again, meaning closure, identity inverse under addition and multiplication.

232
00:18:24,320 --> 00:18:28,640
This is just – and the reason – and here's the thing I can't reiterate enough.

233
00:18:29,100 --> 00:18:31,440
Why do we even talk about this structure?

234
00:18:31,700 --> 00:18:34,560
It's like – I know everyone is like, why the hell are you talking about this structure?

235
00:18:34,620 --> 00:18:36,820
It's so alienating and I'm already confused.

236
00:18:36,820 --> 00:18:43,840
And the answer to this is that you can't do this math on a pen and paper or with a computer or with all the computers in the world.

237
00:18:43,920 --> 00:18:53,340
So you have to be able to trust that the math is doable no matter what and no matter what the situation is.

238
00:18:53,340 --> 00:19:03,640
Yeah, and I'd even add we're just laying out the axiomatic baseline principles of where you get to the point to be able to understand the system works as it is designed.

239
00:19:03,740 --> 00:19:04,900
And it's less axiomatic.

240
00:19:04,900 --> 00:19:09,420
Like each one of these has a mathematical proof and a reasoning behind it.

241
00:19:09,500 --> 00:19:14,020
It is not – it is because we say so, which is what an axiom is, right?

242
00:19:14,040 --> 00:19:16,240
It's like just a definitive like base truth.

243
00:19:16,900 --> 00:19:25,000
But we're trying to lay out all of these theoretical concepts so that you're able to know, not trust how this all actually works.

244
00:19:25,000 --> 00:19:25,340
That's right.

245
00:19:25,340 --> 00:19:31,260
It's all about knowing without even – without the ability to actually do it.

246
00:19:31,340 --> 00:19:34,760
Normally the way I know how arithmetic works is I sit and do it.

247
00:19:34,900 --> 00:19:49,620
Right. I know three plus three equals six. I can sit there. I can count my fingers. I can, you know, I can know that. The things we're talking about are in a world where you just can't know by the same type of ways that we know things.

248
00:19:49,620 --> 00:19:55,040
and it's not even like we can even trust our computers to do it either.

249
00:19:55,040 --> 00:20:00,400
You have to know that the structure, you just have to understand the structure

250
00:20:00,400 --> 00:20:05,540
and say, you know what, the structure preserves these important things.

251
00:20:05,660 --> 00:20:08,740
It discards everything else, right?

252
00:20:08,840 --> 00:20:14,960
I don't need to know anything other than that these operations of multiplication

253
00:20:14,960 --> 00:20:18,300
and addition are preserved and that these properties of the group are preserved.

254
00:20:18,300 --> 00:20:26,060
That's all I need to know to be able to essentially have knowledge of this kind of unverifiable thing.

255
00:20:26,900 --> 00:20:27,000
Right.

256
00:20:27,500 --> 00:20:34,840
So with all of that context laid out, let's talk about these multiplicative inverses and how they work with Bitcoin.

257
00:20:35,980 --> 00:20:36,540
Yeah.

258
00:20:36,540 --> 00:20:44,800
Before we talk about Bitcoin, let's just really in a finite field.

259
00:20:44,800 --> 00:20:50,620
you know like i'll talk about a finite field maybe modulo seven and one like modulo six

260
00:20:50,620 --> 00:20:54,580
right like so like that's a good place to start just keep it super simple

261
00:20:54,580 --> 00:21:01,080
base abstraction of the concept in uh a domain space which is very easy to understand

262
00:21:01,080 --> 00:21:06,940
that's right so like and once again i should have all of this written out and prepared out

263
00:21:06,940 --> 00:21:12,140
prepared out so i'm not doing this in my head however let's just look at a finite field modulo

264
00:21:12,140 --> 00:21:16,320
7, which we said would consist of the numbers 0 through 6.

265
00:21:18,160 --> 00:21:24,720
And the reason why is if you got to the number 7, 7 divided by 7 is 1.

266
00:21:25,040 --> 00:21:29,420
Actually, it doesn't include 0 either, so my bad on that.

267
00:21:30,380 --> 00:21:30,680
There you go.

268
00:21:30,680 --> 00:21:33,460
But 1, you know, 1, 2, it's basically what it does.

269
00:21:33,680 --> 00:21:34,240
Remainder, sorry.

270
00:21:34,380 --> 00:21:35,160
The remainder is 0.

271
00:21:35,220 --> 00:21:37,660
If you do 7, the remainder is 0, so modulo is 0.

272
00:21:38,060 --> 00:21:38,360
That's right.

273
00:21:38,360 --> 00:21:44,440
Now, I do have a video on this that's buried in my YouTube site that I did last year.

274
00:21:44,540 --> 00:21:50,820
But basically, what you have, the finite field consists of all of the numbers that are relatively prime to your modulus.

275
00:21:51,340 --> 00:21:57,720
So any number relatively prime to 7, which if that number is prime, it's all of the numbers before 7.

276
00:21:57,900 --> 00:22:03,180
So 1, 2, 3, 4, 5, and 6 are what you call relatively prime because they don't share a common factor.

277
00:22:03,180 --> 00:22:18,740
Whereas if the modulus was 6, then you don't have that finite field because 2 is – you have 2, 4 and 4, which are not relatively prime.

278
00:22:19,640 --> 00:22:25,460
So these numbers don't have inverses in the modulus 6 because I would say 2 times 3 is 0.

279
00:22:26,220 --> 00:22:28,460
So that's unacceptable in a finite field.

280
00:22:28,660 --> 00:22:29,960
So now you have no inverse.

281
00:22:30,480 --> 00:22:33,600
What you're looking for is two numbers that multiply to one.

282
00:22:33,740 --> 00:22:34,620
They're called associates.

283
00:22:35,240 --> 00:22:38,760
But that's what you're really looking for is that you have a number in your number system.

284
00:22:39,440 --> 00:22:44,380
And you have two numbers in your number system that can multiply to one.

285
00:22:44,380 --> 00:22:52,760
And just to drive that home, why you don't want to be able to get to zero is that if you get to zero and multiple points get to zero, you don't know what your original input is anymore.

286
00:22:53,360 --> 00:22:54,140
You can't get there.

287
00:22:54,420 --> 00:22:54,740
That's right.

288
00:22:54,740 --> 00:23:09,656
You cannot guarantee now that the random number you created can be traced back Right You have a collision in another way You have two different you could have multiple numbers that result to the same point on the curve

289
00:23:09,756 --> 00:23:10,716
which doesn't work.

290
00:23:12,556 --> 00:23:14,516
Oh, you know what I'm being reminded?

291
00:23:14,656 --> 00:23:17,716
So I'm creating a basic algebra series,

292
00:23:18,136 --> 00:23:19,216
like high school algebra series.

293
00:23:19,376 --> 00:23:20,376
And one of the,

294
00:23:21,476 --> 00:23:22,916
I think when we get into inverses,

295
00:23:23,296 --> 00:23:26,976
there's this story in mythology

296
00:23:26,976 --> 00:23:30,956
about somebody who had to go through a cave

297
00:23:30,956 --> 00:23:33,176
and fight all these monsters.

298
00:23:34,036 --> 00:23:38,796
And the gods gave different weapons to different people.

299
00:23:39,296 --> 00:23:40,896
And the person who traversed the cave

300
00:23:40,896 --> 00:23:42,696
is the one the gods gave a thread.

301
00:23:43,676 --> 00:23:45,576
Because everyone who went in this cave

302
00:23:45,576 --> 00:23:46,576
couldn't find their way out,

303
00:23:46,716 --> 00:23:49,016
except the person whose weapon was a thread

304
00:23:49,016 --> 00:23:51,816
was able to find his way back out of the cave

305
00:23:51,816 --> 00:23:56,436
after being able to defeat all the monsters in the cave.

306
00:23:56,436 --> 00:23:58,356
And that's like really what this is.

307
00:23:58,716 --> 00:24:09,696
This is you holding a thread in a dark cave and accomplishing whatever the quest is and finding your way back out of the cave.

308
00:24:09,896 --> 00:24:14,836
And you want to – but you have to – the thread is the thing that tells you you can find your way out.

309
00:24:15,456 --> 00:24:18,036
You're not going to be lost at sea, right?

310
00:24:18,896 --> 00:24:19,376
Totally.

311
00:24:19,636 --> 00:24:24,416
And I think in the interest of building that thread, let's keep it to the simplest example with Modulo 7.

312
00:24:24,416 --> 00:24:25,996
let's say okay

313
00:24:25,996 --> 00:24:28,036
1 modulo 7

314
00:24:28,036 --> 00:24:29,316
is 1

315
00:24:29,316 --> 00:24:30,576
that's my identity

316
00:24:30,576 --> 00:24:33,276
2 modulo 7

317
00:24:33,276 --> 00:24:34,736
is 2

318
00:24:34,736 --> 00:24:37,216
and you can go all the way up to 6

319
00:24:37,216 --> 00:24:39,896
is

320
00:24:39,896 --> 00:24:40,936
you know

321
00:24:40,936 --> 00:24:43,456
6 right

322
00:24:43,456 --> 00:24:45,796
and like if you jump ahead and say

323
00:24:45,796 --> 00:24:47,316
okay what's 10 modulo 7

324
00:24:47,316 --> 00:24:49,996
well if you divide 10 by 7

325
00:24:49,996 --> 00:24:51,156
your remainder is 3

326
00:24:51,156 --> 00:24:53,496
so your remainder is now 3

327
00:24:53,496 --> 00:25:01,556
so let's talk you want to hit the you want let's identify the pair the associates that you know

328
00:25:01,556 --> 00:25:08,816
when you pair them up are inverses of each other in the in the finite field modulo seven so if we

329
00:25:08,816 --> 00:25:17,216
have two right the inverse is the thing that we multiply to two that gives us one which is four

330
00:25:17,216 --> 00:25:21,296
because 2 times 4 is 8, modulo 7 is 1.

331
00:25:22,156 --> 00:25:25,136
So 2 and 4 are called associates

332
00:25:25,136 --> 00:25:29,196
and they're basically 2 is the inverse of 4, 4 is the inverse of 2.

333
00:25:29,776 --> 00:25:32,776
Just like in the reals, 5 is the inverse of 1 fifth,

334
00:25:33,136 --> 00:25:34,616
1 fifth is the inverse of 5.

335
00:25:36,056 --> 00:25:41,716
But in this number system, the finite field modulo 7,

336
00:25:42,196 --> 00:25:44,876
2 is the inverse of 4, 4 is the inverse of 2.

337
00:25:44,876 --> 00:25:48,116
If we hit the number 3

338
00:25:48,116 --> 00:25:49,516
Right

339
00:25:49,516 --> 00:25:53,016
And I think the inverse of 3 is 5

340
00:25:53,016 --> 00:25:55,496
Because 3 times 5 is 15

341
00:25:55,496 --> 00:25:57,396
Which when divided by 7

342
00:25:57,396 --> 00:25:59,856
Has a remainder of 1

343
00:25:59,856 --> 00:26:02,396
So 2 and 4 are associates

344
00:26:02,396 --> 00:26:03,636
Inverses of each other

345
00:26:03,636 --> 00:26:04,936
3 and 5 are associates

346
00:26:04,936 --> 00:26:07,036
So what have we left?

347
00:26:07,356 --> 00:26:08,316
4 and

348
00:26:08,316 --> 00:26:10,076
6

349
00:26:10,076 --> 00:26:10,576
Sorry

350
00:26:10,576 --> 00:26:12,436
We have

351
00:26:12,436 --> 00:26:20,916
we have two and we said two and four three and five yes so we're three five and so six is kind of

352
00:26:20,916 --> 00:26:26,256
six is special you know why because you start going through well that's the only number left

353
00:26:26,256 --> 00:26:35,416
what the heck right well six before i do before i do the big reveal six modulo seven is six but

354
00:26:35,416 --> 00:26:42,036
it's also negative one as as it happens and this is a very interesting property because the number

355
00:26:42,036 --> 00:26:51,496
less than 1, it's its own inverse. Because negative 1 times negative 1 is 1. 6 times 6 is 36,

356
00:26:52,056 --> 00:27:01,576
which, you know, modulo 7, 7 times 5 is 35. So 36 minus 35, remainder 1. So 6 is its own inverse,

357
00:27:01,576 --> 00:27:07,676
and the prime, whatever the last number, like the largest number in your finite field,

358
00:27:07,676 --> 00:27:15,096
is always negative one and it's always its own inverse kind of cool yeah right it's like the

359
00:27:15,096 --> 00:27:19,596
and then that's the last that's the last one so we identified so it's it closes the field

360
00:27:19,596 --> 00:27:25,176
everyone has a buddy that's right everyone has a buddy and one obviously has a buddy we forgot

361
00:27:25,176 --> 00:27:31,856
we forgot we never want to forget one that's true it's very easy to do so everybody has a buddy

362
00:27:31,856 --> 00:27:35,016
and your buddy is your thread out of the cave

363
00:27:35,016 --> 00:27:35,756
right

364
00:27:35,756 --> 00:27:38,496
and it's like the way

365
00:27:38,496 --> 00:27:40,676
so that when you go to the bitcoin store you don't have to

366
00:27:40,676 --> 00:27:42,856
tell people hey can you make sure you prove

367
00:27:42,856 --> 00:27:44,956
to me that my guy has

368
00:27:44,956 --> 00:27:46,076
an inverse so that

369
00:27:46,076 --> 00:27:48,216
my point is back on the curve

370
00:27:48,216 --> 00:27:50,776
you have to trust that

371
00:27:50,776 --> 00:27:53,016
no matter what operations you do

372
00:27:53,016 --> 00:27:54,896
you will always be identifiable

373
00:27:54,896 --> 00:27:55,576
on that curve

374
00:27:55,576 --> 00:27:57,336
it's cool

375
00:27:57,336 --> 00:28:00,556
these inverses

376
00:28:00,556 --> 00:28:06,236
Like you're saying, when you're going to the Bitcoin store, it's basically when you're verifying a signature, you're doing this.

377
00:28:06,736 --> 00:28:07,536
This is what you're doing.

378
00:28:09,056 --> 00:28:12,116
Yes, you're verifying that the point exists.

379
00:28:12,116 --> 00:28:16,456
And when you're going to the Bitcoin store saying, hey, I have one Bitcoin, I want to spend it somewhere.

380
00:28:16,656 --> 00:28:22,296
The whole network is doing this math of finding the inverse to prove that you own the private key.

381
00:28:23,276 --> 00:28:23,616
That's right.

382
00:28:25,356 --> 00:28:26,156
Pretty sick.

383
00:28:26,716 --> 00:28:28,656
Now, are they really doing the inverse, though?

384
00:28:30,556 --> 00:28:32,056
That's the question, right?

385
00:28:32,096 --> 00:28:34,256
Because it's like they're not right.

386
00:28:34,516 --> 00:28:35,836
They're not really doing the inverse.

387
00:28:38,676 --> 00:28:39,196
Correct.

388
00:28:39,376 --> 00:28:41,296
Does that take us to the next point?

389
00:28:41,616 --> 00:28:43,936
Maybe we'll just put a pin in that one, right?

390
00:28:44,996 --> 00:28:48,876
Because a couple of primitives I think are really like,

391
00:28:48,876 --> 00:28:52,316
so I think that I do want to talk about the Euclidean algorithm.

392
00:28:52,456 --> 00:28:53,616
That's what I was trying to tee up next.

393
00:28:53,836 --> 00:28:54,576
Yeah, let's go there.

394
00:28:54,576 --> 00:28:56,276
So like none of this

395
00:28:56,276 --> 00:28:58,056
Euclidean algorithm is

396
00:28:58,056 --> 00:29:00,576
A fancy name for something

397
00:29:00,576 --> 00:29:02,736
We all started doing when we were

398
00:29:02,736 --> 00:29:05,036
Seven years old which is long division

399
00:29:05,036 --> 00:29:08,636
Right or I'd say when we did

400
00:29:08,636 --> 00:29:10,076
Long division when we were seven

401
00:29:10,076 --> 00:29:11,656
We were kind of

402
00:29:11,656 --> 00:29:14,496
We were doing the Euclidean algorithm without

403
00:29:14,496 --> 00:29:15,596
Without the name

404
00:29:15,596 --> 00:29:17,196
Would you say?

405
00:29:18,476 --> 00:29:20,616
Yeah you bring it to a level

406
00:29:20,616 --> 00:29:22,496
When you get to the point of long division

407
00:29:22,496 --> 00:29:23,596
Like third fourth grade

408
00:29:23,596 --> 00:29:26,176
you've done your addition

409
00:29:26,176 --> 00:29:27,596
you've done multiplication

410
00:29:27,596 --> 00:29:29,216
you started doing some multiplication

411
00:29:29,216 --> 00:29:32,056
and now what you're doing with long division is you're combining addition

412
00:29:32,056 --> 00:29:33,116
and multiplication

413
00:29:33,116 --> 00:29:35,436
to kind of undo the whole thing

414
00:29:35,436 --> 00:29:37,556
yes and we did this in a field

415
00:29:37,556 --> 00:29:39,136
we didn't know it was a field

416
00:29:39,136 --> 00:29:41,856
we didn't know that all this stuff was nice

417
00:29:41,856 --> 00:29:43,776
but we did it in a field called real numbers

418
00:29:43,776 --> 00:29:45,596
right

419
00:29:45,596 --> 00:29:46,536
and

420
00:29:46,536 --> 00:29:49,576
with well using

421
00:29:49,576 --> 00:29:50,276
integers

422
00:29:50,276 --> 00:29:52,176
really just using

423
00:29:52,176 --> 00:29:57,956
we using integers as coefficients maybe we could say we did it in a ring a ring of integers but

424
00:29:57,956 --> 00:30:01,776
we didn't know about the structure we didn't know why this would all work

425
00:30:01,776 --> 00:30:10,236
frankly not to get to a field again but we don't we don't realize that a number is actually a

426
00:30:10,236 --> 00:30:16,256
linear combination it's a polynomial a number is a polynomial which in polynomials form rings and

427
00:30:16,256 --> 00:30:31,136
And this is actually why a lot of this works as well, meaning like the number of 5,262 is 2 plus 6 times 10 plus – I already forgot the number, but you get it.

428
00:30:32,036 --> 00:30:33,956
It's a linear combination of powers of 10.

429
00:30:34,916 --> 00:30:40,296
And we have powers of 2 in our binary numbers that are just – these are polynomials.

430
00:30:40,496 --> 00:30:41,156
They are a ring.

431
00:30:41,156 --> 00:30:47,916
we do the Euclidean algorithm on a on a we're pulling apart that polynomial with the base

432
00:30:47,916 --> 00:30:52,896
would it be fair to say Euclidean algorithm like uh it's basically

433
00:30:52,896 --> 00:30:57,276
maybe another term from like fourth fifth grade math like greatest common denominator

434
00:30:57,276 --> 00:31:04,096
it's a way of finding that it's a way of finding that and usually when we were in third fourth

435
00:31:04,096 --> 00:31:10,716
grade it was heartbreaking to have to find a remainder we're like oh no no I hate why isn't

436
00:31:10,716 --> 00:31:17,836
it nice and easy even and it all goes in nicely yeah right but it's basically finding whether or

437
00:31:17,836 --> 00:31:25,516
finding a greatest and in in our parlance we call it greatest common divisor so when i mentioned

438
00:31:25,516 --> 00:31:31,916
relatively prime before basically when two numbers are relatively prime it means there's no more

439
00:31:31,916 --> 00:31:35,536
there's no more division you can do with any of them you're sort of at the bottom of the barrel

440
00:31:35,536 --> 00:31:40,656
of how much you can reduce your system but when there are greatest common divisors this can

441
00:31:40,656 --> 00:31:55,376
This comes up a lot like something simple like in the Pythagorean theorem, right, of trying to sort of solve a lot of that stuff that, you know, you have a 3, 4, 5 triangle, 3 squared plus 4 squared equals 5 squared.

442
00:31:56,056 --> 00:31:57,656
But like that scales.

443
00:31:57,916 --> 00:32:01,896
Like, you know, that can all scale with size.

444
00:32:02,016 --> 00:32:05,316
So 3, 4, 5 and a 6, 8, 10 are kind of the same thing.

445
00:32:05,316 --> 00:32:14,116
And so we only want to really, in our systems when we do this, we only want to operate in the system where there are no common divisors, right?

446
00:32:14,176 --> 00:32:16,256
That's just sort of like a, it's not an axiom.

447
00:32:16,356 --> 00:32:26,256
It's more of just like it makes it faster and easier to just always be, to not be that redundant, right?

448
00:32:26,416 --> 00:32:31,616
To say, well, it's kind of similar to modular arithmetic.

449
00:32:31,616 --> 00:32:41,436
It's just we're operating in the lowest kind of lowest atomic element of being able to divide these numbers.

450
00:32:41,436 --> 00:32:50,096
So what the Euclidean algorithm does is it uses this recursive – that's what the algorithm kind of means.

451
00:32:50,176 --> 00:33:02,016
It uses this recursive division of finding remainders to ultimately get sort of to the end and find out if there's a greatest common divisor between two numbers.

452
00:33:02,696 --> 00:33:04,376
Well, find out what it is.

453
00:33:05,036 --> 00:33:09,856
And if it's one, that means those two numbers are relatively prime.

454
00:33:09,856 --> 00:33:12,616
So that's all to say

455
00:33:12,616 --> 00:33:13,916
Backtrack a little bit

456
00:33:13,916 --> 00:33:16,476
I get a couple numbers like 6 and 7

457
00:33:16,476 --> 00:33:18,116
I know they're relatively prime

458
00:33:18,116 --> 00:33:20,216
I know that if I divide 7 into 6

459
00:33:20,216 --> 00:33:21,336
I get a remainder of 1

460
00:33:21,336 --> 00:33:22,436
Boom

461
00:33:22,436 --> 00:33:24,316
That's how I

462
00:33:24,316 --> 00:33:25,896
Their greatest common divisor is

463
00:33:25,896 --> 00:33:27,336
I know they have no common divisors

464
00:33:27,336 --> 00:33:31,016
But if I'm dealing with numbers that are hundreds of digits long

465
00:33:31,016 --> 00:33:34,056
It would be really nice

466
00:33:34,056 --> 00:33:36,196
If there was a way to find out

467
00:33:36,196 --> 00:33:36,876
If there were greatest

468
00:33:36,876 --> 00:33:40,376
if there was common divisibility,

469
00:33:41,396 --> 00:33:43,356
numbers of common divisibility among them.

470
00:33:43,536 --> 00:33:45,156
I'm happy you started with six and seven

471
00:33:45,156 --> 00:33:48,076
for the 12-year-olds that are in the audience.

472
00:33:48,816 --> 00:33:49,716
You did it.

473
00:33:50,156 --> 00:33:51,676
Oh, they should stop the podcast right now.

474
00:33:51,696 --> 00:33:52,596
Yeah, it's all over.

475
00:33:52,596 --> 00:33:55,276
No, but this is a really important point though, right?

476
00:33:55,376 --> 00:33:58,416
Is that being able to quickly be able to derive

477
00:33:58,416 --> 00:33:59,776
and understand these properties

478
00:33:59,776 --> 00:34:02,976
is just very important for doing this at scale.

479
00:34:02,976 --> 00:34:10,676
and so while the greatest so the euclidean algorithm is a powerful way that this is

480
00:34:10,676 --> 00:34:14,716
this is a rich thing in and of itself because um

481
00:34:14,716 --> 00:34:21,316
a it's a powerful way of finding common divisors which is actually really important

482
00:34:21,316 --> 00:34:27,556
with that with a common in order to know that your field is real is fine you have like a finite

483
00:34:27,556 --> 00:34:32,756
field, you have to know that any two numbers are relatively prime. That gives you the property of

484
00:34:32,756 --> 00:34:37,176
the, that's part of what gives you the property of the inverse. So like the, you already know

485
00:34:37,176 --> 00:34:41,076
there's a fly in the ointment. If there's a greatest common divisor of any two elements in

486
00:34:41,076 --> 00:34:45,776
your finite field that are not one. So that's like an important thing to be, that's one way to verify,

487
00:34:46,416 --> 00:34:52,296
it's one way to verify this, right? It's also that you can, um,

488
00:34:52,296 --> 00:35:02,356
there's this um i was telling you before we started like when i was learning all this a couple

489
00:35:02,356 --> 00:35:08,296
like a year ago or two and i was like really looking to try to teach it and grok it you know

490
00:35:08,296 --> 00:35:13,396
one of the things i like i like in a textbook is if there's like a code implementation that really

491
00:35:13,396 --> 00:35:17,536
shows me and this is like part of how we got here to begin with because like bitcoin's code

492
00:35:17,536 --> 00:35:24,776
implementation is beautiful it's like so informative libsec p not so much right and um

493
00:35:24,776 --> 00:35:30,896
it's like what the hell right so if you ever ask like i asked chat gpt that was like the best ai

494
00:35:30,896 --> 00:35:38,996
at the time i said you know make me a function for the euclidean algorithm um i encourage you

495
00:35:38,996 --> 00:35:43,156
guys to do that because and it's what's so interesting about it is it'll give you literally

496
00:35:43,156 --> 00:35:51,756
one of the shortest, it'll give you a one line formula. This is what I got one line that is like

497
00:35:51,756 --> 00:36:00,496
actually not maybe 30 characters long. And I didn't find that very helpful. Right. I was like,

498
00:36:00,556 --> 00:36:06,416
what, what, what is going on? And then it's like, I wonder if you need to go to school for computer

499
00:36:06,416 --> 00:36:13,296
science to understand this right but the more that's ironic that the more i repeated the more

500
00:36:13,296 --> 00:36:19,236
you repeat going through this and the more i did pen and pencil exercises on the euclidean algorithm

501
00:36:19,236 --> 00:36:24,216
just like any two numbers you just do your pen and pencil exercises and i don't know how many it

502
00:36:24,216 --> 00:36:33,016
takes but at some point it clicks that it's this recursiveness is uh it's that it's because it's

503
00:36:33,016 --> 00:36:37,856
recursive is very clever that you could do it all in one line and just say, just, you know,

504
00:36:38,256 --> 00:36:46,276
go until essentially go until, you know, until you can't go anymore. But, um, and then output

505
00:36:46,276 --> 00:36:55,816
either one or whatever the final number is. Right. And if like, it's a lot of what we do here

506
00:36:55,816 --> 00:37:01,536
is about going in, it's inside out. The way you learn is inside out, not outside in,

507
00:37:01,536 --> 00:37:06,516
You go to the bottom of the iceberg and you start climbing your way out.

508
00:37:07,196 --> 00:37:19,476
And so I would encourage people to do exercises on the Euclidean algorithm and inside out with real numbers.

509
00:37:19,476 --> 00:37:26,276
Because this is, again, it's the way, it's the beginning of understanding why, A, trusting.

510
00:37:26,416 --> 00:37:27,416
I mean, trust is a bad word.

511
00:37:27,416 --> 00:37:33,656
It's the best word I have right now for saying, how do you know it actually works on numbers you can't do this on?

512
00:37:33,936 --> 00:37:36,156
You can't do it by hand or on a computer.

513
00:37:37,676 --> 00:37:45,816
So I don't know if you had any more on that one.

514
00:37:52,796 --> 00:37:54,256
Rob is deeply thinking.

515
00:37:54,256 --> 00:38:04,356
this is deeply thinking and a microphone on mute when i'm talking uh so looking through this like

516
00:38:04,356 --> 00:38:08,876
i think the pen and paper exercise is good if people want to kind of follow along and i think

517
00:38:08,876 --> 00:38:15,756
the study guide is like a great way to like tee up the context around it um do we want to tie it

518
00:38:15,756 --> 00:38:23,876
back to finding the inverse with the extended euclidean algorithm yes yeah we should do that

519
00:38:23,876 --> 00:38:27,676
I call it

520
00:38:27,676 --> 00:38:29,416
There's a lot of things you can call

521
00:38:29,416 --> 00:38:31,396
There's a thing called Bayes-Out's identity

522
00:38:31,396 --> 00:38:33,436
Which

523
00:38:33,436 --> 00:38:34,976
So basically when you do the

524
00:38:34,976 --> 00:38:36,316
It's like when you do a long division

525
00:38:36,316 --> 00:38:38,896
You can then put that process in reverse

526
00:38:38,896 --> 00:38:40,056
To find

527
00:38:40,056 --> 00:38:41,676
The actual

528
00:38:41,676 --> 00:38:45,156
You can come back to the two numbers

529
00:38:45,156 --> 00:38:47,436
You were trying to

530
00:38:47,436 --> 00:38:49,216
Reduce to begin with

531
00:38:49,216 --> 00:38:50,796
Right

532
00:38:50,796 --> 00:38:52,936
How would you approach this

533
00:38:52,936 --> 00:39:00,876
explaining this in words well this is just the idea that um you since the nature of multiplication

534
00:39:00,876 --> 00:39:05,936
like we're talking greatest common divisor like divisor denominator whatever like you're taking

535
00:39:05,936 --> 00:39:10,876
a system you it can go both ways so you can start with the numbers that you're looking to find the

536
00:39:10,876 --> 00:39:15,796
greatest common divisor or you can start with what that number is and work backwards to find the

537
00:39:15,796 --> 00:39:21,996
original numbers again you're basically taking both sides uh you can go a to b or b to a and

538
00:39:21,996 --> 00:39:23,576
Those are the same idea.

539
00:39:23,836 --> 00:39:37,556
But I guess the powerful thing you have with Bayes-Out's identity is that what you have – if you do have two numbers that resolve sort of – that are relatively prime, that the algorithm tells you are relatively prime, right?

540
00:39:37,556 --> 00:39:42,996
Then what you now have is a linear combination of those two original numbers that resolve to the identity.

541
00:39:42,996 --> 00:39:48,756
and so that you can sort of see the, you know,

542
00:39:49,496 --> 00:39:54,696
it gives you now powerful algebraic ability to eliminate,

543
00:39:55,296 --> 00:39:58,836
you know, to eliminate like a lot of factors

544
00:39:58,836 --> 00:40:02,116
when you're now doing math with those numbers,

545
00:40:02,116 --> 00:40:04,096
which is really what you're doing to begin with.

546
00:40:05,536 --> 00:40:06,956
I know that probably didn't connect,

547
00:40:06,956 --> 00:40:11,456
but it's just like what Bayes-Out's identity says

548
00:40:11,456 --> 00:40:16,836
is that two numbers that are relatively prime,

549
00:40:17,016 --> 00:40:19,896
you can have any linear combination of those two numbers

550
00:40:19,896 --> 00:40:23,916
and it'll equal one modulo that prime.

551
00:40:24,256 --> 00:40:25,796
So in the modulo arithmetic world,

552
00:40:26,216 --> 00:40:30,896
that's, you know, so anytime you have numbers,

553
00:40:31,216 --> 00:40:32,496
anytime you have anything,

554
00:40:32,796 --> 00:40:35,336
when you operate it and it resolves to one,

555
00:40:35,536 --> 00:40:36,276
i.e. your identity,

556
00:40:36,476 --> 00:40:37,656
you're going to be able to use that

557
00:40:37,656 --> 00:40:40,476
to essentially make the math easier down the line.

558
00:40:41,456 --> 00:40:49,076
um i don't know if that really covers i don't know if that really covers it i'm i'm pulling

559
00:40:49,076 --> 00:40:53,536
up right now to do a but that leads to format's little theorem which i think is like one of the

560
00:40:53,536 --> 00:41:01,036
most important things anybody yeah yeah and i think like no in the bigger picture we're talking

561
00:41:01,036 --> 00:41:07,916
about this large finite field for all the bitcoin stuff but like let's just talk about it at the

562
00:41:07,916 --> 00:41:16,316
simplest level if you were to take very small numbers right so let's let's start with um

563
00:41:16,316 --> 00:41:20,176
i have here i just please don't choose six and seven please don't choose six and seven

564
00:41:20,176 --> 00:41:27,396
let's do uh the inverse of three modulo 17 so what you're trying to do is you're trying to say

565
00:41:27,396 --> 00:41:35,336
three times what equals one mod 17 right so you have this number 17 and what you do is you could

566
00:41:35,336 --> 00:41:42,896
take well that's three times five plus two it's because three times five is 15 plus two is 17

567
00:41:42,896 --> 00:41:48,636
right yeah 17 is divided by three uh 17 divided by three is five with the remainder of two

568
00:41:48,636 --> 00:41:54,916
and so you have three now equals two times one plus one and then you hit a remainder of one

569
00:41:54,916 --> 00:42:00,576
you stop you found the answer now phase two is to build it back up you're kind of walking backwards

570
00:42:00,576 --> 00:42:07,656
wait hold on hold on hold on yeah hold on um your remainder of two basically means that it's not

571
00:42:07,656 --> 00:42:11,536
your inverse though you what will you really keep on going you have to keep on going until

572
00:42:11,536 --> 00:42:16,416
the recursive nature yes that's right so you start with 17 right and you're trying to say

573
00:42:16,416 --> 00:42:22,776
again the question is is so you do a euclidean algorithm between you do you try use the euclidean

574
00:42:22,776 --> 00:42:28,616
algorithm to try to find the greatest common divisor of three and 17 and this is like the tool

575
00:42:28,616 --> 00:42:34,256
this is very hard to talk through right but this is the tool of help helping you find the inverse

576
00:42:34,256 --> 00:42:41,416
of three with respect to 17 in that finite field bingo and so just to walk through it again the

577
00:42:41,416 --> 00:42:49,536
question is if you're taking the inverse of well so you're saying in the problem is what number

578
00:42:49,536 --> 00:42:57,016
do i multiply by three in modulo 17 do i get one and so you say okay well i have this 17 number

579
00:42:57,016 --> 00:43:01,916
equals. And what you do immediately is you start factoring out, you get three times five.

580
00:43:02,416 --> 00:43:07,076
Well, I get, well, no, because I get a remainder of two. I get a remainder of negative two actually

581
00:43:07,076 --> 00:43:11,916
with three times five, which is five. Well, it's the first step. So I get a remainder of 15,

582
00:43:11,916 --> 00:43:17,456
I get a remainder of 15, right? Negative two is negative two is 15 in this system. Right. So I

583
00:43:17,456 --> 00:43:21,336
get, yes, there you go. Right. So you have to keep on going. Right. So that's the first step.

584
00:43:21,396 --> 00:43:25,616
So if you're doing this with pen and paper, you have to keep on going. Right. And, um,

585
00:43:25,616 --> 00:43:32,376
You can then go one more lap and say, well, 3 divided by 2 is 1 with a remainder of 1.

586
00:43:32,676 --> 00:43:34,476
And you hit a remainder of 1, so then you stop.

587
00:43:35,776 --> 00:43:37,156
So what does that tell you, though?

588
00:43:38,836 --> 00:43:40,216
Let's just zoom out for a second.

589
00:43:40,376 --> 00:43:43,156
In the modulo 17, I just know the answer is 6.

590
00:43:43,336 --> 00:43:47,416
I know 3 times 6 is 18, which gives me a remainder of 1.

591
00:43:47,576 --> 00:43:53,116
So the real question is how does the – I don't know if this can be talked through or if it's possible without a pen and paper.

592
00:43:53,116 --> 00:43:59,056
But like how does the Euclidean algorithm in general get you to that inverse?

593
00:44:01,036 --> 00:44:22,056
And it's – I think what it comes down to is when you're doing it, you realize that one of the things you're – the base thing you're multiplying by is essentially going to be – you can zero it out because it has – you can zero it out because it has – it's a multiple of your modulus.

594
00:44:23,116 --> 00:44:23,376
Right.

595
00:44:23,656 --> 00:44:23,896
Right.

596
00:44:24,216 --> 00:44:32,956
It's like, and then what's left, when you finally get to a number that's lower than 17, that's going to be your inverse.

597
00:44:32,956 --> 00:44:37,496
And maybe I do need to code up an example here.

598
00:44:37,496 --> 00:44:40,696
Three times six equals 17 plus one.

599
00:44:41,196 --> 00:44:42,236
There's your remainder one.

600
00:44:42,596 --> 00:44:43,036
That's right.

601
00:44:43,116 --> 00:44:44,496
So I know the answer is six.

602
00:44:44,876 --> 00:44:49,216
It's very hard to take people through the steps of this thing to see that.

603
00:44:49,216 --> 00:44:53,356
we're gonna have to upgrade the production value and get a nice little interactive whiteboard going

604
00:44:53,356 --> 00:44:58,516
here yeah i'm on i'm like i'm i'm on it i'm thinking about it that's why like the youtube

605
00:44:58,516 --> 00:45:06,876
series is was designed to support this so you can see examples and you know when i it's like when we

606
00:45:06,876 --> 00:45:12,216
sort of step in shit like this that's when i discover what what's needed yeah the way i would

607
00:45:12,216 --> 00:45:16,996
view it is like if you're viewing like this this field in this system is like a machine what you're

608
00:45:16,996 --> 00:45:22,236
doing is you're labeling each part and disassembling it and reassembling it like ikea furniture like

609
00:45:22,236 --> 00:45:26,476
like that you know that's what like it's ikea furniture a field is like ikea furniture every

610
00:45:26,476 --> 00:45:29,956
single piece has a piece that you click in and there's instructions on how they all interact

611
00:45:29,956 --> 00:45:34,936
with each other and what we're doing in these operations is we're provably showing that you

612
00:45:34,936 --> 00:45:43,876
can take it apart put it back together and kind of complete the system yes and i think i think i'm

613
00:45:43,876 --> 00:45:45,376
Debating whether to do this right now

614
00:45:45,376 --> 00:45:46,156
But I'm going to do it

615
00:45:46,156 --> 00:45:46,916
I want to read

616
00:45:46,916 --> 00:45:47,876
I want to read the

617
00:45:47,876 --> 00:45:49,476
What I call the Steiner's lens

618
00:45:49,476 --> 00:45:51,616
Blurb from the

619
00:45:51,616 --> 00:45:52,516
You know

620
00:45:52,516 --> 00:45:53,416
From the manual

621
00:45:53,416 --> 00:45:54,456
From the study guide

622
00:45:54,456 --> 00:45:55,836
Because I just think it explains

623
00:45:55,836 --> 00:45:57,576
It finally does put words

624
00:45:57,576 --> 00:45:58,416
And explains like

625
00:45:58,416 --> 00:45:59,756
What I think is important here

626
00:45:59,756 --> 00:46:01,356
So I'm going to do it

627
00:46:01,356 --> 00:46:01,816
Okay

628
00:46:01,816 --> 00:46:14,192
So basically Steiner Distinguishes between A finished thought Which is like a proposition We contemplate from the outside and a thinking activity which is a process we follow through transformations

629
00:46:14,652 --> 00:46:16,192
So the thinking activity is like the algorithm.

630
00:46:17,392 --> 00:46:19,892
So an algorithm is closer to the latter.

631
00:46:20,392 --> 00:46:23,712
It is a living thinking, not a static truth.

632
00:46:24,372 --> 00:46:29,612
When you follow the Euclidean algorithm, you're not contemplating a fixed fact.

633
00:46:30,272 --> 00:46:34,432
You're participating in a thinking process that unfolds in time.

634
00:46:35,192 --> 00:46:38,492
Each step transforms the problem into a simpler version of itself.

635
00:46:39,192 --> 00:46:51,832
So in the example here, the greatest common divisor of 252 and 105 can be reduced to the greatest common divisor of 105 and 42.

636
00:46:51,832 --> 00:46:54,792
I'll just pause for a second to say

637
00:46:54,792 --> 00:46:55,852
because you can

638
00:46:55,852 --> 00:47:00,772
you can get through that

639
00:47:00,772 --> 00:47:04,132
that should be a step that people can do self-evidently

640
00:47:04,132 --> 00:47:06,712
but by doing the division

641
00:47:06,712 --> 00:47:10,452
105 goes into 252 twice with a remainder of 42

642
00:47:10,452 --> 00:47:11,712
so they have this

643
00:47:11,712 --> 00:47:15,912
you have the same greatest common divisor between 252 and 105

644
00:47:15,912 --> 00:47:17,672
as 105 and 42

645
00:47:17,672 --> 00:47:21,712
and then you do that step again and you get a GCD of 42

646
00:47:21,712 --> 00:47:30,132
and 21, which maybe some people recognize as 21 because 21 times 2 is 42. So basically, again,

647
00:47:30,172 --> 00:47:34,832
you understand the algorithm not by looking at it from the outside, but by doing it,

648
00:47:35,312 --> 00:47:39,232
entering into the process and following it through each transformation until it reaches

649
00:47:39,232 --> 00:47:45,792
its conclusion. That's what I wanted to read from that. And what I want to kind of like also

650
00:47:45,792 --> 00:47:52,092
mention is that I just, I've always thought about this thing with Rudolf Steiner. My kids

651
00:47:52,092 --> 00:47:58,132
are in Waldorf schools. And one of the things I noticed very early on with my kids in that school,

652
00:47:58,132 --> 00:48:06,532
as it applies to this, is every kid in Waldorf school, an adult, if you ever go there,

653
00:48:06,852 --> 00:48:15,252
is knitting. Knitting is a big part of the education. And part of it, what they talk about

654
00:48:15,252 --> 00:48:16,972
is emphasizing working with your hands.

655
00:48:17,372 --> 00:48:21,192
But what I saw was, particularly with crochet,

656
00:48:21,992 --> 00:48:26,672
is that you trust a pattern and then you do it.

657
00:48:26,992 --> 00:48:31,152
And you don't know until you're done that it was going to work.

658
00:48:31,152 --> 00:48:36,552
But these people who look like hippies that sit around knitting all the time,

659
00:48:36,632 --> 00:48:39,932
they actually have high conviction in this algorithm.

660
00:48:40,752 --> 00:48:40,812
Right.

661
00:48:41,192 --> 00:48:44,652
And I remember seeing that for myself and telling people,

662
00:48:44,652 --> 00:48:53,552
you realize you guys are teaching math here without realizing it because this is like you're teaching people to trust an algorithm that's going to lead to this.

663
00:48:54,012 --> 00:48:56,312
And, you know, there's a reason why it always works.

664
00:48:58,412 --> 00:49:05,652
And, you know, if you if your pattern didn't didn't come out the way it was supposed to do, you messed a step up in that process.

665
00:49:06,532 --> 00:49:08,152
But you learn by doing it.

666
00:49:08,192 --> 00:49:11,052
You learn by putting yourself through it.

667
00:49:11,052 --> 00:49:16,492
Just because we have computers and AI doesn't mean you can shortcut that process of learning.

668
00:49:17,612 --> 00:49:21,752
And so I would think of it like knitting a sweater.

669
00:49:24,192 --> 00:49:27,952
All you know is the next step and the next step and the next step and the next step.

670
00:49:28,212 --> 00:49:30,052
You're just repeating the same thing.

671
00:49:31,192 --> 00:49:37,432
But you do understand the structure of the thing and why it's going to – you do sort of understand why it does turn out.

672
00:49:37,432 --> 00:49:47,212
Because why would you spend your time playing around with needles and threads like that if you didn't know it was going to turn out cool in the way you thought it was?

673
00:49:48,652 --> 00:49:53,312
And so it's like it's internally like you it's it's like internally to you as a human being.

674
00:49:53,812 --> 00:50:02,172
You get to gain the experience of, you know, this algorithm, which traces back to YouTube.

675
00:50:02,172 --> 00:50:06,112
Like no one's improved on this in 2000 plus years.

676
00:50:06,652 --> 00:50:07,132
Right.

677
00:50:07,432 --> 00:50:15,452
it's pretty remarkable and at the base of it again it's just really trying at the base of it

678
00:50:15,452 --> 00:50:20,012
we're trying to find out if two numbers have a share a common divisor yeah but it gets you but

679
00:50:20,012 --> 00:50:25,772
it also helps it's so powerful that it also you know this traces back to the inverse problem and

680
00:50:25,772 --> 00:50:29,992
i often think too that like sometimes like the reason why something like this like is thousands

681
00:50:29,992 --> 00:50:33,472
of years ago and we haven't really been able to iteratively prove on it is because it's just

682
00:50:33,472 --> 00:50:39,112
it's so simple and back then you did not have the aid of technology to try and like accelerate and

683
00:50:39,112 --> 00:50:44,052
complicate things and get more abstract you had to just sit there and think about it that was

684
00:50:44,052 --> 00:50:50,312
really your yep that was really what you had and it's a beautiful property um it's how i got to

685
00:50:50,312 --> 00:50:55,492
grow up too like in life i feel like kids without the internet got to grow up really sitting and

686
00:50:55,492 --> 00:51:02,012
thinking about the things they're doing like that and all the more reason why i think it's good to

687
00:51:02,012 --> 00:51:11,672
emphasize um spending this kind of time if you know again you it's this is all how the substitute

688
00:51:11,672 --> 00:51:18,092
for being able to go to the bitcoin store and ask to prove to you that your key exists yeah and should

689
00:51:18,092 --> 00:51:23,692
yeah should we take this now too because we keep there's a reason why we mentioned this a little

690
00:51:23,692 --> 00:51:33,512
bit earlier we're doing modulo 7 modulo 17 like we're very bold you were very bold and going for

691
00:51:33,512 --> 00:51:40,152
17 yeah well like the idea though the idea of why we're picking these numbers and we mentioned it

692
00:51:40,152 --> 00:51:46,152
briefly earlier is that these are the what's unique about these numbers are they are prime numbers

693
00:51:46,152 --> 00:51:50,832
right do we want to take this maybe a little bit to fermat's little theorem

694
00:51:50,832 --> 00:51:59,292
yes we're gonna go to fermat's little theorem which um everyone knows about fermat's last

695
00:51:59,292 --> 00:52:06,172
theorem but frankly fermat's last theorem isn't that useful to us fermat's little theorem oh my

696
00:52:06,172 --> 00:52:14,932
god one of the most powerful incredible um little factoids that this is what we we're now

697
00:52:14,932 --> 00:52:19,832
possibly we're taking the pin out of are you really calculating the inverse it's like what

698
00:52:19,832 --> 00:52:24,192
are you actually doing? Like that's, we're kind of uncorking that now to revisit that point from

699
00:52:24,192 --> 00:52:29,672
earlier. So you remember when we said, boy, anything that resolves to the identity is very

700
00:52:29,672 --> 00:52:35,172
powerful because we can then eliminate a lot of the math once we, cause you know, you multiply by

701
00:52:35,172 --> 00:52:43,692
one over and over again, guess what? Nothing changes, right? So, um, it's nice to just multiply

702
00:52:43,692 --> 00:52:51,452
things by one i wish i could do it all the time but um you know take a number like um so but let's

703
00:52:51,452 --> 00:52:58,932
take this field modulo seven right and let's just take an element of our field that we know is a

704
00:52:58,932 --> 00:53:04,672
generator i think let's just do you want to just prove that two do we know if two is a generator

705
00:53:04,672 --> 00:53:09,412
should we just go through that let's just go through the exercise go through the here so we

706
00:53:09,412 --> 00:53:19,312
get two and two times two is four right two times and then so we get two four and six well i'm this

707
00:53:19,312 --> 00:53:24,672
is on the additive side on the multiplicative side we have two four eight which is one right

708
00:53:24,672 --> 00:53:31,072
so two is not a generator because it only gives you two four and one it stops there so let's we

709
00:53:31,072 --> 00:53:35,712
got and you have a closed loop and it's not all of the points so that's not correct and for the

710
00:53:35,712 --> 00:53:39,972
benefit of the audience once i get to once you get to one you're just starting the cycle again

711
00:53:39,972 --> 00:53:45,672
so two one times two again is two two times two again is four four times two again is you're kind

712
00:53:45,672 --> 00:53:51,232
of on rails you really can't get outside that that cycle yes so okay two is not a generator

713
00:53:51,232 --> 00:53:57,912
and there's a this is this is in a number theory concept called the primitive root primitive root

714
00:53:57,912 --> 00:54:03,592
it's not that easy it's not easy to find so that's why we define the generator in bitcoin by the way

715
00:54:03,592 --> 00:54:06,512
when you go to the GitHub, you see the big capital G

716
00:54:06,512 --> 00:54:07,432
is defined already.

717
00:54:08,312 --> 00:54:10,852
It's the smallest number that can be the generator.

718
00:54:11,392 --> 00:54:12,672
Let's now try 3.

719
00:54:13,392 --> 00:54:14,552
I have a good feeling about it.

720
00:54:15,172 --> 00:54:15,512
Me too.

721
00:54:15,812 --> 00:54:18,192
3 times 3 is 9, which is 2.

722
00:54:18,352 --> 00:54:21,232
3 goes to 2, which goes to 6.

723
00:54:21,532 --> 00:54:22,312
2 times 3 is 6.

724
00:54:22,312 --> 00:54:23,712
We get 3 to 2 to 6.

725
00:54:24,732 --> 00:54:26,832
Then we go to 18,

726
00:54:27,032 --> 00:54:27,452
which is

727
00:54:27,452 --> 00:54:29,972
in modulo 7,

728
00:54:30,152 --> 00:54:30,752
which is 4.

729
00:54:30,992 --> 00:54:32,452
3 to 2 to 6 is 4.

730
00:54:32,452 --> 00:54:40,192
four times oh no yeah so then we go to five yeah four goes to 12 right did we do this right

731
00:54:40,192 --> 00:54:45,752
are you sure we did this right three to six three times we're doing generator three yes

732
00:54:45,752 --> 00:54:53,012
three to six yeah so we go three six four to five wait sorry so three times three is nine

733
00:54:53,012 --> 00:54:59,752
three goes to seven is two three to two times three is six modulo seven is just six yes so i

734
00:54:59,752 --> 00:55:02,252
I just want to keep saying it.

735
00:55:02,292 --> 00:55:07,812
We go 3 to 2 to 6, right?

736
00:55:08,032 --> 00:55:15,412
And you should be in your mind's eye, have the numbers 1, 2, 3, 4, 5, and 6 and crossing them off as we identify this.

737
00:55:15,432 --> 00:55:16,232
So we started with 3.

738
00:55:16,732 --> 00:55:19,252
We went to 2 and then to 6.

739
00:55:19,312 --> 00:55:20,152
So those are crossed off.

740
00:55:20,152 --> 00:55:22,172
And then 6 times 3 is 18.

741
00:55:22,672 --> 00:55:23,792
Which is 4.

742
00:55:24,432 --> 00:55:26,392
Modulo 7 is 4.

743
00:55:26,692 --> 00:55:28,792
Yeah, so it's 3 to 2 to 6 to 4.

744
00:55:28,792 --> 00:55:30,872
4 times 3 is 12

745
00:55:30,872 --> 00:55:33,052
that's modulo 6 is 5

746
00:55:33,052 --> 00:55:35,752
so 3 to 2 to 6 to 4 to 5

747
00:55:35,752 --> 00:55:38,212
and then 5 times 3 is 15

748
00:55:38,212 --> 00:55:39,152
modulo 7

749
00:55:39,152 --> 00:55:40,172
is 1

750
00:55:40,172 --> 00:55:42,192
so boom

751
00:55:42,192 --> 00:55:44,092
so 3 is the generator

752
00:55:44,092 --> 00:55:46,712
3 definitely gives us all 6 elements

753
00:55:46,712 --> 00:55:48,592
you can create all 6 elements

754
00:55:48,592 --> 00:55:51,412
and remember this is the same thing we talk about

755
00:55:51,412 --> 00:55:52,612
when we say that

756
00:55:52,612 --> 00:55:53,812
the

757
00:55:53,812 --> 00:55:55,652
your

758
00:55:55,652 --> 00:56:00,952
points in the elliptic curve can all be generated by the big generator point, which means when you

759
00:56:00,952 --> 00:56:06,452
have a private key, any other number in the field multiplies to a point. That's all we just did there

760
00:56:06,452 --> 00:56:12,532
with prime being seven, right? Okay. So back to the... So if you have a...

761
00:56:14,252 --> 00:56:17,352
I don't know if it was necessary for us to just do that, but...

762
00:56:17,352 --> 00:56:18,072
It's a good little refresh.

763
00:56:18,072 --> 00:56:18,512
It was fun.

764
00:56:18,752 --> 00:56:23,632
Because we talked about generators last episode. It's a good way just to kind of like nudge the

765
00:56:23,632 --> 00:56:29,632
concept real quick and we can go on to fermat so okay so in fermat we basically say any number

766
00:56:29,632 --> 00:56:39,052
any number in that field to the power of p minus one is one and so that's really that's really

767
00:56:39,052 --> 00:56:43,592
interesting you can go through the math on that but like we can just basically say okay we can

768
00:56:43,592 --> 00:56:50,532
actually say two to the sixth power is one when we we really did show it because we went to remember

769
00:56:50,532 --> 00:56:59,432
we went 2, 4, 8. We just do it twice. 2, 4, 8, 2, 4, 8. That's 1, right? 2, 4, 1, 2, 4, 1. So 2 to the 6th

770
00:56:59,432 --> 00:57:07,592
power is 1. We showed the 3 being a generator. Clearly, 3 to the 6th power is 1, right? And then

771
00:57:07,592 --> 00:57:14,912
it gets kind of easy because if 2 to the 6th is 1, then 4 to the 6th is 1 also. Why? Well, because

772
00:57:14,912 --> 00:57:21,652
four is two squared and so bingo you know factor it you can just do the math and you're multiplying

773
00:57:21,652 --> 00:57:28,292
one by itself now a bunch this is an important point is that when you find that point you can

774
00:57:28,292 --> 00:57:33,592
take that base number and multiply it again but you're just if you factor it out you're just doing

775
00:57:33,592 --> 00:57:38,672
one times one times one however many times you're putting it together and this gets to the power

776
00:57:38,672 --> 00:57:40,512
Because if 2 to the 6th is 1

777
00:57:40,512 --> 00:57:42,892
Then 2 to the 600th is 1

778
00:57:42,892 --> 00:57:45,332
2 to the 6 billionth is 1

779
00:57:45,332 --> 00:57:47,252
Because, okay, let's just go back

780
00:57:47,252 --> 00:57:49,272
2 to the 600 is 2 to the 6

781
00:57:49,272 --> 00:57:50,912
To the power of 100

782
00:57:50,912 --> 00:57:52,052
2 to the 6 is 1

783
00:57:52,052 --> 00:57:54,372
1 to the power of 100 is 1

784
00:57:54,372 --> 00:57:57,072
1 to the power of a billion is 1

785
00:57:57,072 --> 00:57:58,852
You want to hear something kind of funny?

786
00:57:58,972 --> 00:58:00,312
I'm going to expose

787
00:58:00,312 --> 00:58:02,992
Part of my trick of how I taught my children

788
00:58:02,992 --> 00:58:04,132
A lot of this math

789
00:58:04,132 --> 00:58:07,472
Especially when it comes to algebra

790
00:58:07,472 --> 00:58:16,552
I get so frustrated with them not understanding these certain generalities that I basically showed them that I could substitute.

791
00:58:17,032 --> 00:58:17,872
I don't need the number two.

792
00:58:17,952 --> 00:58:20,372
I could use a toilet seat as a variable.

793
00:58:21,512 --> 00:58:25,512
And I should draw a toilet seat and put it to, say, the sixth power.

794
00:58:25,632 --> 00:58:26,152
It's going to be one.

795
00:58:26,252 --> 00:58:28,432
Any number, you know, if it's in my finite field.

796
00:58:28,772 --> 00:58:35,712
And so, like, I call it toilet seat math where, like, it just doesn't matter anymore.

797
00:58:35,892 --> 00:58:37,152
Two to the sixth is one.

798
00:58:37,152 --> 00:58:42,292
And one to any power, one to the toilet seat, doesn't matter what it is, is going to be one.

799
00:58:42,872 --> 00:58:44,812
So here's the thing.

800
00:58:44,932 --> 00:58:47,812
So two to the 600 now we said is one.

801
00:58:47,912 --> 00:58:49,732
Two to the six billion is one.

802
00:58:49,892 --> 00:58:52,612
Two to the six gajillion is going to be one.

803
00:58:53,092 --> 00:58:59,552
Which really, you're starting to get to the point where, okay, remember what we were saying?

804
00:58:59,692 --> 00:59:01,572
Like, I can't even do this on a computer.

805
00:59:01,812 --> 00:59:02,792
I can't even do this math.

806
00:59:02,792 --> 00:59:09,972
But I know because of Fermat's little theorem that I can actually eliminate a large portion of this calculation.

807
00:59:10,452 --> 00:59:13,972
I could reduce it to 1 and discard it.

808
00:59:14,572 --> 00:59:14,652
Right.

809
00:59:15,332 --> 00:59:22,052
So you want to know what would be – if I asked you 2 to the 1,000th power, right?

810
00:59:22,752 --> 00:59:27,452
You would basically look at the 1,000 – you would say, well, what part of this can be reduced to 1?

811
00:59:27,452 --> 00:59:38,772
right so i know that like i know 960 is gonna be one so i got 40 left right so 36 out of that 40

812
00:59:38,772 --> 00:59:46,112
is gonna be one so i know that 996 i know two to the 996 is one which so if i wanted two to the

813
00:59:46,112 --> 00:59:51,772
1000th it's one times two to the fourth i know this is horrible to talk well this is well well

814
00:59:51,772 --> 00:59:56,152
what you're doing here which is just important is that you're taking your bit you're doing factoring

815
00:59:56,152 --> 01:00:00,612
which we haven't talked a lot on this podcast but anyone with you know i would say in elementary

816
01:00:00,612 --> 01:00:04,352
school math understands the concept of being able to break a number into smaller numbers

817
01:00:04,352 --> 01:00:12,312
um and like the number 100 you could also make 10 times 10 and what you're doing here in this

818
01:00:12,312 --> 01:00:18,212
exercise is you're breaking out each you're doing factoring but you're you're explicitly factoring

819
01:00:18,212 --> 01:00:24,992
out what can i factor out that goes to one because it's kind of just noise you're basically trying to

820
01:00:24,992 --> 01:00:29,132
you're removing everything that doesn't factor to one and then sitting in

821
01:00:29,132 --> 01:00:29,612
what's left.

822
01:00:30,292 --> 01:00:31,812
Which is in its own way,

823
01:00:31,852 --> 01:00:33,312
kind of what we've been doing with the modular arithmetic.

824
01:00:33,792 --> 01:00:33,832
Like,

825
01:00:34,232 --> 01:00:37,992
like what is a hundred module of seven?

826
01:00:38,092 --> 01:00:38,372
It's like,

827
01:00:38,412 --> 01:00:38,872
okay,

828
01:00:39,332 --> 01:00:40,292
well,

829
01:00:40,312 --> 01:00:45,452
I know 10 times seven is 70,

830
01:00:45,732 --> 01:00:45,852
right?

831
01:00:45,912 --> 01:00:48,932
And so you just start pulling these things out until you get what's left.

832
01:00:48,972 --> 01:00:49,332
And then you,

833
01:00:49,652 --> 01:00:51,492
instead of doing math on the entire number,

834
01:00:51,952 --> 01:00:54,632
you basically take out the garbage for what you can.

835
01:00:54,632 --> 01:00:57,552
that you know just goes to the identity property immediately

836
01:00:57,552 --> 01:00:59,752
and then stick with what's left to do the remaining math.

837
01:01:00,992 --> 01:01:05,332
So Fermat's little theorem powerfully exploits modular arithmetic

838
01:01:05,332 --> 01:01:09,092
to make a lot of this actually really easy.

839
01:01:09,272 --> 01:01:11,672
So it makes finding inverses formulaic.

840
01:01:11,772 --> 01:01:12,752
As long as it's prime.

841
01:01:13,012 --> 01:01:13,592
As long as the field is prime.

842
01:01:13,592 --> 01:01:14,952
As long as the field is prime.

843
01:01:15,572 --> 01:01:17,632
Which should light you up as like,

844
01:01:17,632 --> 01:01:24,292
oh, this is part of why my modulus in Bitcoin's elliptic curve

845
01:01:24,292 --> 01:01:26,132
is also a prime number.

846
01:01:26,532 --> 01:01:27,232
Correct? Yep.

847
01:01:29,632 --> 01:01:29,872
So

848
01:01:29,872 --> 01:01:30,932
that, you know,

849
01:01:31,572 --> 01:01:34,232
we're building, I feel like

850
01:01:34,232 --> 01:01:35,892
we're building a tower, right?

851
01:01:36,772 --> 01:01:38,172
So, you know, maybe the little

852
01:01:38,172 --> 01:01:40,252
parts of these bricks that we lay are a little painful,

853
01:01:40,492 --> 01:01:42,252
but we're building a tower to how do

854
01:01:42,252 --> 01:01:44,172
we know

855
01:01:44,172 --> 01:01:46,032
based on what we can see and visibly

856
01:01:46,032 --> 01:01:47,772
verify, right?

857
01:01:49,272 --> 01:01:50,192
How do we know Bitcoin

858
01:01:50,192 --> 01:01:51,772
works, right?

859
01:01:52,712 --> 01:01:54,012
We're building a big tower.

860
01:01:54,012 --> 01:01:58,672
For Matt's Little Theorem, I have to say, man, it's one of the big mind-blowing things.

861
01:01:58,772 --> 01:02:05,692
And I remember in Jimmy Song's Programming Bitcoin book, like seeing it being used but not like really explained.

862
01:02:05,892 --> 01:02:09,612
And I was like, oh, my God, how do they do this?

863
01:02:10,132 --> 01:02:15,532
You know, and it's like, okay, no, I got to – you go into some number theory textbooks and you just see it.

864
01:02:15,592 --> 01:02:16,432
It's like, oh, my God.

865
01:02:16,532 --> 01:02:19,192
This is one of the real beautiful, beautiful things.

866
01:02:19,512 --> 01:02:19,912
Yeah.

867
01:02:20,152 --> 01:02:23,672
I got some documents that – there's like many different ways to prove it.

868
01:02:23,672 --> 01:02:30,412
This is one of those things that people have walked into over the years because Fermat didn't like proving his stuff.

869
01:02:30,912 --> 01:02:33,032
But this one was easy.

870
01:02:33,312 --> 01:02:37,592
Maybe for the sake of the conversation today, we can explain what the exact equation is.

871
01:02:37,972 --> 01:02:42,132
And as a take-home exercise or maybe on a future episode, we can go into an actual proof of it.

872
01:02:42,232 --> 01:02:46,052
But if you have a field that is prime, let's call it P.

873
01:02:46,812 --> 01:02:47,392
Finite field.

874
01:02:48,112 --> 01:02:48,852
A finite field.

875
01:02:48,852 --> 01:02:51,792
If you have a finite field that's prime, let's just call that P for prime.

876
01:02:51,792 --> 01:03:04,592
the inverse of a number is that number to the p minus two modulo p yes and so let's take our

877
01:03:04,592 --> 01:03:11,072
example earlier um of a finite field of seven and you want to find the inverse of three well

878
01:03:11,072 --> 01:03:17,852
uh what you can wait can i just stop you for a second because i feel like i and i i'm just

879
01:03:17,852 --> 01:03:23,152
speaking from my own experience sure like where did p minus two just i thought you just said it

880
01:03:23,152 --> 01:03:28,692
was p minus one and you did this whole exercise to show it was that p minus one had this property

881
01:03:28,692 --> 01:03:34,332
why are we talking about p minus two so because without the benefit without the benefit of showing

882
01:03:34,332 --> 01:03:39,772
it on paper right yeah so the actual i i skipped a step of the actual theorem and i kind of

883
01:03:39,772 --> 01:03:49,112
rearrange things so to go one level higher um a so if a field is prime p a to the p minus one

884
01:03:49,112 --> 01:03:57,112
power equals one modulo p we just did that whole math we two to the six thousand we said two to the

885
01:03:57,112 --> 01:04:04,472
six is one three to the six is one any number inside that field modulo seven any number to the

886
01:04:04,472 --> 01:04:11,492
power of six is one. That's the first thing. That's the first step, right? Because now what

887
01:04:11,492 --> 01:04:16,712
we're trying to do is, okay, what are the two? Now, if I take a number in that field,

888
01:04:17,532 --> 01:04:21,692
right? Yes, I can raise it to the power of P minus one, but that's not what really we're

889
01:04:21,692 --> 01:04:25,312
trying to do now to find an inverse. We're going to use that property. We're going to leverage that

890
01:04:25,312 --> 01:04:31,592
property to find the inverse, right? We're going to say, what number do I multiply it by

891
01:04:31,592 --> 01:04:33,572
to get one.

892
01:04:34,112 --> 01:04:34,232
Right.

893
01:04:35,012 --> 01:04:37,312
And so to take it to the next level

894
01:04:37,312 --> 01:04:38,512
of the abstraction of the equation,

895
01:04:38,872 --> 01:04:41,912
if you're trying to look for the inverse of A

896
01:04:41,912 --> 01:04:43,332
in a prime field of P,

897
01:04:43,772 --> 01:04:48,392
the inverse of A equals A to the P minus two modulo P.

898
01:04:48,612 --> 01:04:50,592
And that's just basically rearranging the equation,

899
01:04:51,012 --> 01:04:53,032
which would be much easier to do

900
01:04:53,032 --> 01:04:54,432
with pen and paper and a visual,

901
01:04:54,592 --> 01:04:55,892
but just take my word for it.

902
01:04:55,952 --> 01:04:57,132
You can do it trivially yourself.

903
01:04:57,232 --> 01:04:58,432
You could rearrange the equation

904
01:04:58,432 --> 01:04:59,452
because what you're doing

905
01:04:59,452 --> 01:05:00,892
is you're basically trying to isolate

906
01:05:00,892 --> 01:05:06,992
the inverse of a uh so for the field seven which is a seven is a prime number

907
01:05:06,992 --> 01:05:12,232
and to plug this into the equation if you want to find the inverse of three

908
01:05:12,232 --> 01:05:19,672
so your three is a so now you have three to the p minus two which is seven minus two which is five

909
01:05:19,672 --> 01:05:27,672
so three to the fifth power is 243 equals three nine twenty seven eighty one two forty three

910
01:05:27,672 --> 01:05:37,312
bingo right and so 243 will mod 7 we're 243 equals 5 mod 7 yes and then so you do is yeah

911
01:05:37,312 --> 01:05:43,712
yeah and that so remember we we discussed this a half hour ago where we just said well three times

912
01:05:43,712 --> 01:05:49,152
five is 15 which means that those are those two are inverse those are associates right

913
01:05:49,152 --> 01:05:56,352
so like how do you use for my little theorem to get to that that's what basically rob just did

914
01:05:56,352 --> 01:06:06,612
right it took three to the power of five um what we have the benefit of like we've both been through

915
01:06:06,612 --> 01:06:11,892
a bunch of code and a bunch of textbooks that take this property for granted and i don't know

916
01:06:11,892 --> 01:06:18,812
about you rob but i have to be like how the heck do you just tell me that this number to the p minus

917
01:06:18,812 --> 01:06:26,752
two is my inverse. I see it implemented in Bitcoin books. And so it's because of this theorem,

918
01:06:27,072 --> 01:06:32,972
this property, right? And so he just demonstrated with the number three, let's maybe do an easier

919
01:06:32,972 --> 01:06:38,392
example. Remember we also said two and four are inverses of each other. So if I took two to the

920
01:06:38,392 --> 01:06:46,232
fifth power is 32, that's a lot easier, I think, to see that 32 mod seven is four.

921
01:06:46,232 --> 01:06:56,972
right 28 to 32 is four right 28 is four from it has a remainder right of four so that's just an

922
01:06:56,972 --> 01:07:02,272
easier way to um easier way to visualize it in our mind's eye which is what we're trying to do

923
01:07:02,272 --> 01:07:05,272
difficultly on this podcast of course yeah yeah

924
01:07:05,272 --> 01:07:12,552
um yes and i mean like it's funny because you could even go to a smaller prime field you could

925
01:07:12,552 --> 01:07:16,672
pick the prime field of three if you wanted to you can make these numbers smaller but with the

926
01:07:16,672 --> 01:07:21,792
core equation you can click and move these things oh and i gotta just say if it bothers you guys

927
01:07:21,792 --> 01:07:27,372
like i just if it bothers you right now that we just did this and it's not hasn't clicked that's

928
01:07:27,372 --> 01:07:31,832
fine i'm like i'm good with that because i'm hoping that just motivates you to just get a pen

929
01:07:31,832 --> 01:07:37,152
and paper and do some of these go to the study guy go through the examples and check it like it

930
01:07:37,152 --> 01:07:42,632
should bother you that's what that's it's like it should bother you as much as any point this is

931
01:07:42,632 --> 01:07:46,892
tripping you up you should be agitated and go figure it out a little bit right it's just the

932
01:07:46,892 --> 01:07:51,452
same way it should bother you that you don't know you don't maybe know if your private key is if

933
01:07:51,452 --> 01:07:57,092
your private key is invertible like it you don't really know until you actually learn this math it

934
01:07:57,092 --> 01:08:01,852
should that should bother you too yeah right and it should bother you a little bit that we're

935
01:08:01,852 --> 01:08:06,492
talking through this. But like, yeah, if you go through this exercise, two to the fifth,

936
01:08:06,712 --> 01:08:10,612
and why we say again, two to the fifth, I'm so sensitive to this because I've been through this

937
01:08:10,612 --> 01:08:19,172
so many times. Five is p minus two, right? It's a two. So you got, again, remember p to the n minus

938
01:08:19,172 --> 01:08:23,632
one, any number to the n minus one was one, right? So we're pulling that apart. And we're saying,

939
01:08:23,632 --> 01:08:31,132
well, we take that number times what? Well, that number times p minus two, remember how you add

940
01:08:31,132 --> 01:08:37,052
exponents when you multiply the same number by itself. So p minus 2 plus 1 is your p minus 1

941
01:08:37,052 --> 01:08:41,592
from Fermat's Little Theorem. So Fermat's Little Theorem doesn't give you the inverse.

942
01:08:41,972 --> 01:08:47,992
It gives you the property that allows you to sort of exploit that property to find that inverse.

943
01:08:48,332 --> 01:08:55,672
It's an extension. It's like an application. But any number in a finite field, modulo p,

944
01:08:56,192 --> 01:09:01,032
you can multiply by that number to the p minus 2, and boom, you get your inverse. And that's going

945
01:09:01,032 --> 01:09:05,952
to come in handy when you're multiplying by numbers that are bigger than atoms on this earth.

946
01:09:05,952 --> 01:09:22,288
Right Which I think to talk about that as a gateway and to directly touch a little bit a little bit of just how this works in Bitcoin is that we been using very small finite fields 7 17 3 whatever

947
01:09:22,948 --> 01:09:28,748
The universe of what we're talking about, though, in Bitcoin is 256 bits, right?

948
01:09:29,348 --> 01:09:32,948
256 zeros and ones and like the size of that universe.

949
01:09:32,948 --> 01:09:39,528
that would be really computationally a huge pain in the ass to do all the time

950
01:09:39,528 --> 01:09:45,448
but you could already see how unwieldy it gets if my prime is 17 right and i want to just say

951
01:09:45,448 --> 01:09:53,388
two to the 15th but i can tell you two to the 15th is going to multiply by two and give me the

952
01:09:53,388 --> 01:09:57,448
number of one in that field that much i know i know two to the 15th is my inverse of two

953
01:09:57,448 --> 01:10:00,748
I know that backwards and forwards

954
01:10:00,748 --> 01:10:02,708
because of Fermat's Little Theorem

955
01:10:02,708 --> 01:10:03,728
even though I

956
01:10:03,728 --> 01:10:05,908
do I know what 2 to the 15th is?

957
01:10:06,248 --> 01:10:06,568
no

958
01:10:06,568 --> 01:10:07,068
I think

959
01:10:07,068 --> 01:10:08,288
what is 2 to the 10th?

960
01:10:08,368 --> 01:10:08,888
1024?

961
01:10:09,148 --> 01:10:10,088
I can start doing it

962
01:10:10,088 --> 01:10:10,748
1024

963
01:10:10,748 --> 01:10:14,168
2048 is to the 11th

964
01:10:14,168 --> 01:10:16,248
4096 is to the

965
01:10:16,248 --> 01:10:16,708
like that's

966
01:10:16,708 --> 01:10:18,848
you already kind of see in your brain

967
01:10:18,848 --> 01:10:19,968
it's getting unwieldy

968
01:10:19,968 --> 01:10:22,348
and that's only the number 17

969
01:10:22,348 --> 01:10:23,388
okay right

970
01:10:23,388 --> 01:10:25,828
now you start dealing with computation

971
01:10:25,828 --> 01:10:26,828
that a computer can do

972
01:10:26,828 --> 01:10:31,408
It's going to get unwieldy at 2 to the 128th power.

973
01:10:32,048 --> 01:10:32,428
Right.

974
01:10:32,608 --> 01:10:34,208
It's going to start to get unwieldy.

975
01:10:35,108 --> 01:10:35,248
Yeah.

976
01:10:35,328 --> 01:10:35,528
Right?

977
01:10:36,068 --> 01:10:36,488
Exactly.

978
01:10:37,108 --> 01:10:41,528
And so there's ways that you can further kind of chunk this up, so to speak.

979
01:10:41,828 --> 01:10:43,608
So it's something that computers can do.

980
01:10:43,968 --> 01:10:48,688
And this is also really important from a security standpoint.

981
01:10:48,688 --> 01:10:59,128
The reason why Satoshi started with 500 lines of the LibSecP, well, of the LibSecP part of the code base, and it turned, well, the SecP operations.

982
01:11:00,588 --> 01:11:06,628
Avid podcast, Magic Internet Math superfan, Richard Hart.

983
01:11:07,208 --> 01:11:08,468
Yes, yes he is.

984
01:11:08,468 --> 01:11:15,268
Last two weeks ago, did a very correct technicality call out of what I said.

985
01:11:15,268 --> 01:11:21,508
I was being very short and fast with my explanation of the SecP 256k1 curve.

986
01:11:21,888 --> 01:11:25,528
That is not the LibSecP library Bitcoin uses.

987
01:11:25,768 --> 01:11:27,888
The LibSecP library is kind of think of it.

988
01:11:28,008 --> 01:11:34,008
If SecP 256k1 is like this theoretical like field that we use all of our public private

989
01:11:34,008 --> 01:11:39,408
key math and Bitcoin around, LibSecP is the execution and implementation of how you work

990
01:11:39,408 --> 01:11:39,748
with that.

991
01:11:40,008 --> 01:11:42,508
And that actually didn't come to exist originally in Bitcoin.

992
01:11:42,508 --> 01:11:48,888
um satoshi was pulling in i think from like an open ssl library originally and that has problems

993
01:11:48,888 --> 01:11:55,768
and concerns because the level of care you would put for securing web traffic is different than if

994
01:11:55,768 --> 01:12:04,688
that library was securing money there's a different threat model involved and so the problem is is

995
01:12:04,688 --> 01:12:15,968
that you need to compute this like a to the p minus 2 mod p but p instead of being 7 is 2 to the

996
01:12:15,968 --> 01:12:25,968
256 not 256 2 to the 256 so 2 times 2 times 2 times 2 and you get this number that's bigger than

997
01:12:25,968 --> 01:12:31,388
is it 2 to the 256 minus 2 to the 32 minus 977 yes so i did a little bit of a shortcut there

998
01:12:31,388 --> 01:12:33,668
It's 2 to the 256 minus 2 to the 32.

999
01:12:34,028 --> 01:12:38,528
Just saving us from having to explain another correction next week.

1000
01:12:38,708 --> 01:12:43,268
We talked about this last episode.

1001
01:12:43,428 --> 01:12:49,008
It's 2 to the 256 minus 2 to the 232 minus 2 to the 9 minus 2 to the 8 minus 2 to the 7 minus 2 to the 6 minus 2 to the 4 minus 1.

1002
01:12:49,008 --> 01:12:50,148
I think that's 977.

1003
01:12:50,888 --> 01:12:53,168
That last piece is 977, I think.

1004
01:12:53,548 --> 01:12:54,888
So there's 77 digits.

1005
01:12:55,208 --> 01:13:00,808
The number has 115-79208-92008, and it goes on for 77 digits.

1006
01:13:00,808 --> 01:13:06,408
But the distinction, though, is because a general hash function only uses 2 to the 256, right?

1007
01:13:07,188 --> 01:13:09,308
Yeah, and that's exactly right.

1008
01:13:09,428 --> 01:13:14,448
So when you're doing these operations, they're kind of constrained and bound within that.

1009
01:13:15,708 --> 01:13:21,828
By the way, I got another correction I should just mention while we're doing the errata section of the podcast.

1010
01:13:22,308 --> 01:13:22,528
Yes.

1011
01:13:22,768 --> 01:13:27,148
Because I posted the video series to Stacker News and somebody gave it –

1012
01:13:27,148 --> 01:13:30,788
Dude, shout out to fucking people who give these corrections, by the way.

1013
01:13:30,928 --> 01:13:31,528
Shout out Richard.

1014
01:13:31,528 --> 01:13:32,328
I wish I had your username.

1015
01:13:32,588 --> 01:13:33,428
Shout out Richard Hart.

1016
01:13:34,228 --> 01:13:42,468
But also, this is like, dude, this is like Hart talking about, Rob and I are not, we're

1017
01:13:42,468 --> 01:13:46,848
trying to create a conversation and we'll miss some things and maybe, so I think the

1018
01:13:46,848 --> 01:13:51,388
correction I got on Stacker News was the, and it wasn't on the podcast, it was on the

1019
01:13:51,388 --> 01:13:55,988
video, but the video is based on everything the podcast is based on, was that the K and

1020
01:13:55,988 --> 01:14:03,788
the k meant cobblitz curve in sec p which it was a very fine distinction and i'll be honest i don't

1021
01:14:03,788 --> 01:14:11,128
fully understand the distinction but there is a distinction here with the k in 256 k1

1022
01:14:11,128 --> 01:14:16,968
not exactly meaning that it's a cobblitz not necessarily exactly meaning it's a cobblitz

1023
01:14:16,968 --> 01:14:21,448
curve this is something i was i don't even know if the correction is true but i was corrected but

1024
01:14:21,448 --> 01:14:28,788
But the correction was triangulated by another Claude call somewhere down the line.

1025
01:14:28,948 --> 01:14:30,808
And I was like, oh, that guy's probably right.

1026
01:14:31,388 --> 01:14:31,528
Yeah.

1027
01:14:32,268 --> 01:14:32,708
Yeah.

1028
01:14:32,968 --> 01:14:35,128
No, don't trust Verify, including us guys.

1029
01:14:36,548 --> 01:14:36,768
Yeah.

1030
01:14:37,228 --> 01:14:42,348
So for the moment, before I make a bunch more of additional errors, we'll conclude the errata section.

1031
01:14:42,468 --> 01:14:44,708
But we'll do another one in about 90 seconds.

1032
01:14:46,288 --> 01:14:49,628
So you have this really big number, which I just fully listed out before.

1033
01:14:49,628 --> 01:14:53,028
2 to the 56 minus 2 to the 32 minus 2 to the 9, whatever, right?

1034
01:14:53,088 --> 01:14:53,768
We need a good word.

1035
01:14:53,828 --> 01:14:56,108
We need to need a good word for this.

1036
01:14:56,188 --> 01:14:57,208
It's the Bitcoin number.

1037
01:14:58,048 --> 01:14:59,428
It's the Bitcoin Prime.

1038
01:14:59,908 --> 01:15:00,768
We call it the Bitcoin Prime.

1039
01:15:00,948 --> 01:15:01,748
It's the Bitcoin Prime.

1040
01:15:01,988 --> 01:15:07,928
That's a great name for a slop account that does news, the Bitcoin Prime.

1041
01:15:08,388 --> 01:15:09,128
The Bitcoin Prime.

1042
01:15:09,208 --> 01:15:09,628
I like it.

1043
01:15:09,748 --> 01:15:10,208
I like that.

1044
01:15:10,568 --> 01:15:10,708
Yeah.

1045
01:15:11,868 --> 01:15:17,868
So your finite modular prime field is this massive number.

1046
01:15:17,868 --> 01:15:22,748
one that you're not going to be we're not going to try and manually calculate one of these out but

1047
01:15:22,748 --> 01:15:29,888
what you can do it's really interesting um is that it's a binary number right so if you have zero

1048
01:15:29,888 --> 01:15:37,988
and one and then you just each each additional digit in binary is a new power of two so zero

1049
01:15:37,988 --> 01:15:45,768
right is just zero one you could have as the number one but then you add the next number so

1050
01:15:45,768 --> 01:15:51,488
So now you have one zero in binary is the number two.

1051
01:15:52,508 --> 01:15:55,088
The number one one in binary is the number three.

1052
01:15:55,088 --> 01:16:01,128
Yeah, let me also just mention here, if you've gotten this far,

1053
01:16:01,748 --> 01:16:06,928
that on my website, on magicinternetmath.com, there is a game.

1054
01:16:07,448 --> 01:16:10,268
There's two games, actually, that I think are really cool and useful,

1055
01:16:10,608 --> 01:16:11,208
and you should go.

1056
01:16:11,668 --> 01:16:12,928
There are four skill building.

1057
01:16:13,088 --> 01:16:14,968
One is called Modular.

1058
01:16:14,968 --> 01:16:21,508
it's a racing game doing modular arithmetic and um it progressively gets harder with like we just

1059
01:16:21,508 --> 01:16:26,468
did like the first level is like mod five and then he goes to like mod 17 and then maybe mod bigger

1060
01:16:26,468 --> 01:16:31,488
numbers but like um so it's like you can play against computer play against your friends and

1061
01:16:31,488 --> 01:16:37,648
get points and build skill doing modular arithmetic and another one is base i'm doing it's conversion

1062
01:16:37,648 --> 01:16:44,108
of binary decimal and hex and i think at the design the thinking there is just get this would

1063
01:16:44,108 --> 01:16:49,088
be a lot more fluid and easier conversation if we didn't have to like explain binary arithmetic

1064
01:16:49,088 --> 01:16:57,568
all the time so like it'd be good to know that like just off the top of your head 10 10 101 0

1065
01:16:57,568 --> 01:17:04,748
is the number uh is number 10 right it's just like 101 1 is number 11 decimal and like i think

1066
01:17:04,748 --> 01:17:10,268
it's just helpful if you do enough of these and i i made the game for myself like i remember

1067
01:17:10,268 --> 01:17:15,308
of coding this in Florida and on the flight home, all I did was play this game over and over again,

1068
01:17:15,788 --> 01:17:21,648
doing these binary conversions. And it's very helpful to see a four number binary and know

1069
01:17:21,648 --> 01:17:28,788
exactly what number between zero and 16 or zero and 15 it is. Yeah. And so this is to tie that,

1070
01:17:28,788 --> 01:17:34,268
I think being fluid in all of these different units that you do operations in is pretty important.

1071
01:17:34,268 --> 01:17:42,488
And the way I would tee this up to make this like a problem, because I started going down binary, which is a different representation of numbers.

1072
01:17:42,608 --> 01:17:47,108
But like what's actually really interesting here, let's say if you wanted to do 3 to the power of 8.

1073
01:17:47,568 --> 01:17:50,548
3 times 3 times 3 times 3 times 3 times 3 times 3.

1074
01:17:50,668 --> 01:17:51,368
You do it 8 times.

1075
01:17:51,428 --> 01:17:55,968
And I'm keeping it as a small number to explain when you get to really, really, really, really big numbers.

1076
01:17:56,488 --> 01:17:57,328
64.01?

1077
01:17:57,868 --> 01:17:59,448
Right, like how big it can go.

1078
01:17:59,468 --> 01:18:00,008
That's my guess.

1079
01:18:00,208 --> 01:18:00,788
That's just my guess.

1080
01:18:00,788 --> 01:18:01,248
64.01.

1081
01:18:01,248 --> 01:18:02,608
65.61.

1082
01:18:02,808 --> 01:18:03,268
6,561.

1083
01:18:03,268 --> 01:18:07,728
561. But what you can do though is a shortcut instead of doing three times three times seven

1084
01:18:07,728 --> 01:18:12,308
times three, just start grouping them together and squaring them. Three times three is nine. Cool.

1085
01:18:12,748 --> 01:18:17,948
And then you have nine times nine is 81. I tried doing 81 squared. You just did three to the four.

1086
01:18:18,688 --> 01:18:25,108
Yeah, I tried doing 81 squared in my head and I failed. Yeah, so 81 squared is 6,561. So instead

1087
01:18:25,108 --> 01:18:30,448
of you can do three squarings instead of seven multiplications. And it's like three versus seven,

1088
01:18:30,448 --> 01:18:33,028
That's not that big of a deal, but we're still dealing with small numbers.

1089
01:18:33,128 --> 01:18:41,588
When you start getting to the number of just actual, like if you did it at these large, like the Bitcoin prime number, how unruly it gets quickly.

1090
01:18:41,708 --> 01:18:42,868
Well, here's the power of that, right?

1091
01:18:42,868 --> 01:18:52,928
If I said you're doing mod 10, right, and you said what's 3 to the 8th power mod 10, then I already know 81 is 3 to the 4th, and that's 1.

1092
01:18:53,128 --> 01:18:55,908
So again, that's like my – it's not Fermat's little theorem.

1093
01:18:55,908 --> 01:19:02,048
This goes into – it turns out that Euler generalized Fermat's theorem if your modulo is not a prime.

1094
01:19:03,668 --> 01:19:04,868
And it's brilliant.

1095
01:19:05,228 --> 01:19:09,148
And I have videos buried in my – it's got four views.

1096
01:19:10,748 --> 01:19:24,168
But it's a really cool video of me actually sitting there and doing all that math and showing you how Euler generalized with the Toshin function, generalized Fermat's little theorem for – if your modulo is not prime.

1097
01:19:24,168 --> 01:19:30,208
then your finite you're sort of like what your analogy to the finite field is now it's it's a

1098
01:19:30,208 --> 01:19:34,788
group of units that you know has inverses well this is where the grouping gets really interesting

1099
01:19:34,788 --> 01:19:40,168
right so we're getting to this like bitcoin prime number which for the sake of conversation it's not

1100
01:19:40,168 --> 01:19:46,268
two to the 256 but you're doing two to the 256 minus two to the 232 which is infinitesimally

1101
01:19:46,268 --> 01:19:52,608
smaller comparatively it's effectively in the scope of being similar to two to the 256 because

1102
01:19:52,608 --> 01:19:56,688
the things you're subtracting away are just infinitesimally small compared to the scale of it

1103
01:19:56,688 --> 01:20:03,788
um what's interesting about this is that it very nicely starts collapsing on itself if you are

1104
01:20:03,788 --> 01:20:09,488
doing the squaring trick that i explained where instead of square multiply yeah well yeah exactly

1105
01:20:09,488 --> 01:20:16,148
instead of doing two to the 256 multiplication operations you can square and multiply 512 times

1106
01:20:16,148 --> 01:20:20,848
and that's something that a computer can do 512 mathematical operations trivially fast

1107
01:20:20,848 --> 01:20:27,208
yeah by the way i'm really struggling right now because i want to i feel like i want to rename the

1108
01:20:27,208 --> 01:20:31,968
podcast the bitcoin prime that's just a whole nother whole nother issue that i'm dealing with

1109
01:20:31,968 --> 01:20:37,808
in the back of my head right now so okay anyway um i struggled with this algorithm square multiplier

1110
01:20:37,808 --> 01:20:43,188
a little bit except the only way i kind of like reconcile it for myself is when i think of um

1111
01:20:43,188 --> 01:20:49,808
by the way this is all this is all euclidean algorithm everything we were saying before

1112
01:20:49,808 --> 01:20:55,948
It's just a way of unpackaging and repackaging the process of the long division.

1113
01:20:56,668 --> 01:21:03,028
What makes sense to me – like I always struggle with bit shifting except when I think of it in decimal and multiplying.

1114
01:21:03,588 --> 01:21:07,188
I always know that multiplying by 10 adds a zero, right?

1115
01:21:07,768 --> 01:21:08,008
Right.

1116
01:21:08,048 --> 01:21:10,808
Well, in binary, multiplying by 2 adds a zero.

1117
01:21:11,028 --> 01:21:17,108
This is like – that's the only way I reconcile that in my head is like that multiplying by the base is what adds a zero.

1118
01:21:17,108 --> 01:21:17,588
Right.

1119
01:21:17,588 --> 01:21:27,648
Right. Well, this is where I started with binary. The reason why is because this basically the square and multiply trick is leveraging binary representation.

1120
01:21:28,648 --> 01:21:45,868
And this is something we also, I think, briefly touched upon last episode is that the reason why the LibSecP library exists and we're not using Satoshi's original code is that when the math is actually the money, you have to take a different security posture than if I'm securing my website with an open SSL library.

1121
01:21:46,788 --> 01:21:50,948
One of the ways you can attack a system is called a timing analysis attack.

1122
01:21:51,468 --> 01:22:07,128
And so if you are able to, if you're sitting on a computer and you're able to see the CPU usage and you're able to see exactly how it's spiking and how it's computing all of these numbers, you can start inferring what the actual number is.

1123
01:22:07,168 --> 01:22:09,688
And if you know the number, you know the private key, right?

1124
01:22:09,688 --> 01:22:15,148
and so the way the libsec p library handles this the reason why i was going with binary is because

1125
01:22:15,148 --> 01:22:19,828
like you said every time you multiply by 10 you add a zero at the end every time you multiply by

1126
01:22:19,828 --> 01:22:24,628
two you add a zero at the end if you're doing binary representation you can take this number

1127
01:22:24,628 --> 01:22:35,388
as 256 zeros and ones and you can just work on each of those um the way libsec p 256 k1 gets

1128
01:22:35,388 --> 01:22:40,068
around this is that no matter what the number is it oh it basically does a bunch of extra garbage

1129
01:22:40,068 --> 01:22:45,048
math so that it looks like it's taking the same amount of time no matter what the number is yeah

1130
01:22:45,048 --> 01:22:51,268
let me ask you let me try something here this this notion of a timing attack is the equivalent

1131
01:22:51,268 --> 01:22:57,608
in cryptography of like knowing that the word the is a very common three-letter word

1132
01:22:57,608 --> 01:23:03,008
and being able to say well my i don't have to brute force everything here because i can actually

1133
01:23:03,008 --> 01:23:08,988
i know that e is the most popular letter and i know that i can try to substitute that and get a

1134
01:23:08,988 --> 01:23:13,848
good clue as to how i can eliminate a lot of them a lot of the brute force math just by knowing those

1135
01:23:13,848 --> 01:23:21,348
facts so a timing attack is sort of a similar way of yeah reducing the computation it takes to to

1136
01:23:21,348 --> 01:23:26,948
if because you're giving those clues i'll do a rare throw out to pop culture here and if anyone's

1137
01:23:26,948 --> 01:23:35,088
familiar with the movie uh like the enigma like enigma with the basically alan turing and the

1138
01:23:35,088 --> 01:23:40,288
basically the war effort to decrypt all of the nazi communication in the movie they have like

1139
01:23:40,288 --> 01:23:46,128
the aha movement where they realize every single cable that the axis powers are sending starts with

1140
01:23:46,128 --> 01:23:52,768
heil hitler and because it says that they reverse engineer and say wait a second we know for a fact

1141
01:23:52,768 --> 01:23:57,308
they're always starting with this and they use that as a way to start deconstructing and

1142
01:23:57,308 --> 01:24:02,188
understanding the rest of the message that's being said and because of that they're able to

1143
01:24:02,188 --> 01:24:07,708
basically break down the entire thing that's a version of like in a way a timing attack yes so

1144
01:24:07,708 --> 01:24:15,788
that's that's really it so it's the ability to essentially you know completely reduce a lot of

1145
01:24:15,788 --> 01:24:21,068
the computation that would otherwise be brute force because you've introduced a pattern yeah

1146
01:24:21,068 --> 01:24:25,648
and the right i'm realizing i'm waiting for the southern power of the law center to put me on

1147
01:24:25,648 --> 01:24:29,888
their hate list because i just said that on a podcast like no you know what you've done i

1148
01:24:29,888 --> 01:24:35,048
this is not to get too inside this podcast is getting deep monetized now no losing my career

1149
01:24:35,048 --> 01:24:40,868
no not at all it's the other way around i've done this before because you know i'm a jewish guy and

1150
01:24:40,868 --> 01:24:47,048
i talk about this stuff sometimes this podcast is over well we i have my some of my podcast

1151
01:24:47,048 --> 01:24:54,028
partners have a theory that's like i've triggered the massad um machine to to and so because we've

1152
01:24:54,028 --> 01:24:58,108
seen some spikes and downloads in certain episodes where we ended up talking about that and we're

1153
01:24:58,108 --> 01:25:03,168
like what the hell why is this happening so um you might have you might have sparked i might i might

1154
01:25:03,168 --> 01:25:07,808
have got a spike in downloads you might have hit the aggregator on this one yeah for the cia massad

1155
01:25:07,808 --> 01:25:12,128
everyone listening send some boosts especially right now right i mean although it'd be hard to

1156
01:25:12,128 --> 01:25:18,588
it's it'd be hard to be noticeable now in um but we this is like two days after the iran attack and

1157
01:25:18,588 --> 01:25:23,628
everybody hates um jewish people in the world because of it i think they did before the two

1158
01:25:23,628 --> 01:25:29,648
days ago but also now they didn't yeah but now it's like well the noticing is definitely up there

1159
01:25:29,648 --> 01:25:34,268
right now and uh so they might be they probably extended the podcast i think you might have helped

1160
01:25:34,268 --> 01:25:38,888
the download count there you go perfect great but anyway that's the example of a timing attack right

1161
01:25:38,888 --> 01:25:42,488
you have you have fingerprinting that you're able to always determine a single look at and be like

1162
01:25:42,488 --> 01:25:45,688
oh if you're always starting with this or your point like e is the most common letter right

1163
01:25:45,688 --> 01:25:50,328
and with the way the lipstick library the lipstick p56k1 library ultimately handles this

1164
01:25:50,328 --> 01:25:56,128
is it adds a bunch of noise and so that every the computation for every number on the elliptic curve

1165
01:25:56,128 --> 01:26:02,728
looks like the same amount of computation no matter what and that was not part of the original

1166
01:26:02,728 --> 01:26:07,248
library because they were using the open ssl library to secure websites and stuff it wasn't

1167
01:26:07,248 --> 01:26:12,168
securing the money but this is the stuff that everyone leverages and uses when they're actually

1168
01:26:12,168 --> 01:26:20,248
using bitcoin most hardware wallets import this library as how they do their signature operations

1169
01:26:20,248 --> 01:26:24,448
this is another example of why you don't want to roll your own cryptography most of the time

1170
01:26:24,448 --> 01:26:28,328
because the moment you're like oh i found a shortcut it does it even faster and then you

1171
01:26:28,328 --> 01:26:32,408
realize like you're not doing constant time computation and anyone who's sitting on your

1172
01:26:32,408 --> 01:26:36,808
machine can infer what your number is is like not a great spot to be in yeah so it's worth

1173
01:26:36,808 --> 01:26:41,248
first probably worth glazing because we want to get these guys in the podcast it's worth glazing

1174
01:26:41,248 --> 01:26:48,508
glazing tim ruffing and uh jonas nick a little bit and the like you know it's a double-edged

1175
01:26:48,508 --> 01:26:54,268
sword we talk about here because you know one of the reasons we've all gotten away with not being

1176
01:26:54,268 --> 01:26:58,768
karens at the bitcoin store is because these guys did all the work these guys are the managers and

1177
01:26:58,768 --> 01:27:04,648
they're doing good they did the good work already to make sure that we didn't have to ask these

1178
01:27:04,648 --> 01:27:09,488
questions, even though what Rob and I are doing now is saying, well, let's back up a

1179
01:27:09,488 --> 01:27:09,988
second, man.

1180
01:27:10,888 --> 01:27:15,248
These guys have done good work, but are we always going to live in that world where those

1181
01:27:15,248 --> 01:27:16,308
people are doing good work?

1182
01:27:16,308 --> 01:27:23,508
I mean, we are adversarial by nature, and we should be, and we should have the ability

1183
01:27:23,508 --> 01:27:30,188
to know when to glaze these guys and say good work because we can see what they've done

1184
01:27:30,188 --> 01:27:34,088
and understand it versus saying thank God for being benevolent dictators.

1185
01:27:34,648 --> 01:27:56,548
Exactly. Exactly. Right. So like, I want to point out, I want to make sure that that's clear and that we, you know, again, having the agency to say good, good call guys. Like, that's the kind of thing you only get at the end of the suffering through the end of this podcast. This is a nice job, Tim Ruffing.

1186
01:27:56,548 --> 01:28:04,368
yeah right yeah especially like we're i think we're getting to a point where

1187
01:28:04,368 --> 01:28:10,828
i think we've just about gone through all of chapter two we did a little bit of a sprinkle

1188
01:28:10,828 --> 01:28:15,168
uh candy at the end for those that wanted to understand how it works with lipsec p the

1189
01:28:15,168 --> 01:28:23,908
library itself in bitcoin um there's every single step of this library you could do a whole hour

1190
01:28:23,908 --> 01:28:28,028
and a half long podcast talking about the nuances and how they put the thought into it and it's a

1191
01:28:28,028 --> 01:28:34,288
culmination of a decade of work um we covered a lot of chapter three two here but we what we've

1192
01:28:34,288 --> 01:28:38,968
stopped where we've stopped short where we'll probably pick up next time if we don't have if

1193
01:28:38,968 --> 01:28:45,188
we don't have our guest already where we stop short is the discrete log problem right would

1194
01:28:45,188 --> 01:28:53,068
the discrete log problem be a good spot to do solo so we're not bringing someone to do that

1195
01:28:53,068 --> 01:28:54,428
and then we can tee it up.

1196
01:28:55,328 --> 01:28:57,008
I'm going to be at Op Next

1197
01:28:57,008 --> 01:28:59,808
since now March 1st.

1198
01:29:00,188 --> 01:29:03,108
And Jonas Nick will also be presenting there.

1199
01:29:03,988 --> 01:29:06,468
We should try and just do a live rip.

1200
01:29:06,888 --> 01:29:08,868
That's a good idea.

1201
01:29:09,568 --> 01:29:11,568
Let's see if we can finagle that.

1202
01:29:11,948 --> 01:29:13,368
Op Next is April.

1203
01:29:14,328 --> 01:29:15,328
I'm looking at it right here.

1204
01:29:15,588 --> 01:29:16,548
15th or something like that.

1205
01:29:16,648 --> 01:29:17,368
It's in the middle of April.

1206
01:29:17,868 --> 01:29:18,488
16th, okay.

1207
01:29:18,568 --> 01:29:19,208
April 16th.

1208
01:29:19,208 --> 01:29:20,388
Thursday, April 16th.

1209
01:29:20,388 --> 01:29:23,128
I'll be in town in New York City

1210
01:29:23,128 --> 01:29:24,208
if you're going to be there

1211
01:29:24,208 --> 01:29:25,148
absolutely

1212
01:29:25,148 --> 01:29:27,948
and that would actually give us

1213
01:29:27,948 --> 01:29:30,308
one more, I'm looking at the date

1214
01:29:30,308 --> 01:29:33,028
that would actually give us two more podcasts before we do a live show with him

1215
01:29:33,028 --> 01:29:34,688
so if we could actually figure out what we do

1216
01:29:34,688 --> 01:29:36,708
if we get his scheduled permit

1217
01:29:36,708 --> 01:29:38,848
and work for it, he said he was interested in coming on

1218
01:29:38,848 --> 01:29:40,908
but I didn't realize that

1219
01:29:40,908 --> 01:29:42,348
if we're all going to be in the same room

1220
01:29:42,348 --> 01:29:44,928
it'd be really cool to just rip for 90 minutes

1221
01:29:44,928 --> 01:29:46,968
and maybe you and I can do a pilot

1222
01:29:46,968 --> 01:29:49,128
live rip when we're in Nashville

1223
01:29:49,128 --> 01:29:49,968
when I'm in Nashville

1224
01:29:49,968 --> 01:29:52,328
because we don't know.

1225
01:29:52,508 --> 01:29:54,448
I do five podcasts.

1226
01:29:54,608 --> 01:29:56,028
I don't do a lot of live rips.

1227
01:29:56,128 --> 01:29:59,488
I don't even know if I have the technical ability right now

1228
01:29:59,488 --> 01:30:00,608
so we can prepare for that.

1229
01:30:01,088 --> 01:30:02,908
Yes, I would like that a lot.

1230
01:30:03,568 --> 01:30:04,368
That'd be great.

1231
01:30:05,488 --> 01:30:08,408
And I should be getting just back to the National

1232
01:30:08,408 --> 01:30:10,228
for Grassroots Bitcoin just as that's happening.

1233
01:30:10,728 --> 01:30:11,788
God, what a month.

1234
01:30:12,088 --> 01:30:14,548
April's sick because we'll be in Nashville,

1235
01:30:14,948 --> 01:30:16,628
we'll have Opnex, and then we'll be in Vegas.

1236
01:30:17,148 --> 01:30:18,408
Yeah, it's going to be a busy...

1237
01:30:18,408 --> 01:30:25,948
maybe we'll do three live rips yeah and bitcoin plus plus is happening before vegas um i maybe

1238
01:30:25,948 --> 01:30:31,188
and then there's a fish show we're gonna start there's a fish show there might be psychedelics

1239
01:30:31,188 --> 01:30:36,028
and math and combining everything together yeah this might be this might get out of control really

1240
01:30:36,028 --> 01:30:42,648
quick but um yeah dude this was cool this is great i like this banter a little bit at the end

1241
01:30:42,648 --> 01:30:46,868
because we just need to kind of like land, just land the ship a little bit.

1242
01:30:46,868 --> 01:30:52,088
We just went through, I think a lot of people just went through something kind of difficult

1243
01:30:52,088 --> 01:30:54,748
and possibly injurious.

1244
01:30:55,788 --> 01:30:56,148
Absolutely.

1245
01:30:56,608 --> 01:30:59,728
And the reality is we are just, it's baby steps.

1246
01:31:00,148 --> 01:31:04,408
We have a large driveway to shovel and it's baby steps.

1247
01:31:04,868 --> 01:31:09,448
And we just want good form and understand where we're going.

1248
01:31:09,448 --> 01:31:32,368
Whether you like the analogy of knitting a sweater or you like the analogy of navigating the iceberg, this is about developing an ethic of spending a little bit of time every day on this and eventually building something substantial, substantial bedrock of your foundation.

1249
01:31:33,268 --> 01:31:33,668
Agreed.

1250
01:31:33,668 --> 01:31:38,328
Yeah, just listen to the podcast, go through the study guide.

1251
01:31:38,328 --> 01:31:49,208
I think the once every other week cadence for these episodes is a good way to like find an hour in every two weeks just to flip through this stuff and then listen to the podcast.

1252
01:31:49,368 --> 01:31:50,608
Like it's a good way to,

1253
01:31:51,208 --> 01:31:51,408
you know,

1254
01:31:51,428 --> 01:31:54,448
over the course of a year and if you find a podcast later,

1255
01:31:54,468 --> 01:31:56,568
just start doing that rough cadence.

1256
01:31:56,728 --> 01:31:58,608
So you get a chance to retain information,

1257
01:31:58,768 --> 01:31:59,648
think about it.

1258
01:32:00,968 --> 01:32:01,368
Yeah.

1259
01:32:01,468 --> 01:32:06,408
Trying to provide a good way for people to get as like a ladder to get brought up into this.

1260
01:32:06,828 --> 01:32:07,388
That's right.

1261
01:32:07,388 --> 01:32:12,948
So just keep grinding, keep climbing, and we will see you in two weeks.

1262
01:32:13,188 --> 01:32:13,668
Two weeks.

1263
01:32:13,768 --> 01:32:13,928
Peace.
