1
00:00:00,000 --> 00:00:10,000
Welcome to Game of Notes, a weekly podcast on the cosmos from independent validator teams.

2
00:00:10,000 --> 00:00:17,840
Hello everybody, welcome to Game of Notes, the podcast by independent validators of the

3
00:00:17,840 --> 00:00:19,200
cosmos.

4
00:00:19,200 --> 00:00:24,480
So today we have Sunny coming to join us but he's running a little bit late.

5
00:00:24,480 --> 00:00:31,600
So introductions of our regular participants that are here today.

6
00:00:31,600 --> 00:00:37,240
So we've got Yussepa and Shilty and myself Null.

7
00:00:37,240 --> 00:00:42,320
And Sunny is joining us, he's just running a little bit late so we thought that we would

8
00:00:42,320 --> 00:00:44,800
start the show.

9
00:00:44,800 --> 00:00:53,640
And we would just do a few follow up questions, talk a bit of shit and discuss random questions

10
00:00:53,640 --> 00:00:57,200
from the audience if you guys have any.

11
00:00:57,200 --> 00:01:02,360
So sorry about the delay but let's get down to it.

12
00:01:02,360 --> 00:01:10,240
So do either of you guys have any questions that have been asked this week that you think

13
00:01:10,240 --> 00:01:11,840
we should be looking into?

14
00:01:11,840 --> 00:01:17,880
Maybe the validator comments, Yussepa.

15
00:01:17,880 --> 00:01:22,480
Maybe do we want to touch on the two groups that have sort of formed in the last week

16
00:01:22,480 --> 00:01:29,120
or so and then maybe discuss a little bit about some benefits and pitfalls of going down

17
00:01:29,120 --> 00:01:30,120
this route?

18
00:01:30,120 --> 00:01:31,520
Yeah, we can.

19
00:01:31,520 --> 00:01:35,880
So Shilty and I were both actually just in a call with the Validator Commons group which

20
00:01:35,880 --> 00:01:39,080
is, I'm not sure what the origins are of that.

21
00:01:39,080 --> 00:01:42,320
Actually I just met one of the principals from that this morning.

22
00:01:42,320 --> 00:01:45,040
It's actually in the town where I live which is pretty fascinating.

23
00:01:45,040 --> 00:01:50,320
It's always interesting to run into people like in the crypto space in real life when

24
00:01:50,320 --> 00:01:52,680
it's not like a giant show and things like that.

25
00:01:52,680 --> 00:01:56,880
I tell you, there's some weird thing about Pennsylvania and crypto.

26
00:01:56,880 --> 00:01:57,880
There could be, I don't know.

27
00:01:57,880 --> 00:02:00,640
I've read it with so many people that are from Pennsylvania and do crypto.

28
00:02:00,640 --> 00:02:01,640
We should share Andrew's books.

29
00:02:01,640 --> 00:02:03,520
I like to meet more folks.

30
00:02:03,520 --> 00:02:08,840
So anyway, I think the Commons group, there's some really large and prestigious validators

31
00:02:08,840 --> 00:02:15,600
and like Corus one is in there and Stakefish and there's others in there as well.

32
00:02:15,600 --> 00:02:20,040
And that group is, I don't want to speak for them because you can go look at, I think

33
00:02:20,040 --> 00:02:21,040
it's Validator.

34
00:02:21,040 --> 00:02:25,320
Do you know what this is?

35
00:02:25,320 --> 00:02:29,000
Let me find the, I'll find the link as we talk about it.

36
00:02:29,000 --> 00:02:34,120
But they try to work on solving some different problems and trying to be able to provide

37
00:02:34,120 --> 00:02:37,840
some research and other types of data sources to the cosmos.

38
00:02:37,840 --> 00:02:40,040
I think it's a good way of saying it.

39
00:02:40,040 --> 00:02:44,520
And they also, I think the background of that group is outside of even crypto where

40
00:02:44,520 --> 00:02:48,820
starting to talk about just governance in virtual worlds and then now the cryptocurrency

41
00:02:48,820 --> 00:02:52,680
piece has really kind of driven that a lot since we've had, I'm not just in the cosmos

42
00:02:52,680 --> 00:02:59,200
across the whole space around different types of governance and kind of ownership components

43
00:02:59,200 --> 00:03:00,840
and challenges, right?

44
00:03:00,840 --> 00:03:03,960
And how do you start building up a governance structure that makes sense?

45
00:03:03,960 --> 00:03:12,280
So that group, I think originally might have started a little bit more around the balance

46
00:03:12,280 --> 00:03:18,920
of Validator groups and maybe project foundations and just kind of project leadership areas.

47
00:03:18,920 --> 00:03:23,400
And then that's one team that's been discussing, I think for a while.

48
00:03:23,400 --> 00:03:29,880
And then recently, we had another group that's formed really more grassroots.

49
00:03:29,880 --> 00:03:35,520
And then a whisper node really drove this and also, help me out guys, who else drove

50
00:03:35,520 --> 00:03:36,520
that initially?

51
00:03:36,520 --> 00:03:39,160
Thiborgh was also a big proponent of it.

52
00:03:39,160 --> 00:03:40,160
Thiborgh as well.

53
00:03:40,160 --> 00:03:43,600
And so that started a group called Cosmos Validators, which has a discord.

54
00:03:43,600 --> 00:03:46,400
And actually, there's a decent amount of Cosmos Validators in that discord.

55
00:03:46,400 --> 00:03:47,400
Not right?

56
00:03:47,400 --> 00:03:50,160
There's a bunch of people in there.

57
00:03:50,160 --> 00:03:54,960
And that I think is also talking similar types of areas, just maybe a little bit different

58
00:03:54,960 --> 00:03:55,960
focus.

59
00:03:55,960 --> 00:03:58,640
That focus, I think, has been, we talked about a little this last week, but that focus has

60
00:03:58,640 --> 00:04:04,520
been a little bit more around almost like Validator self-policing or finding ways to

61
00:04:04,520 --> 00:04:09,960
be able to better share Validator information out the delegates and others, which is, again,

62
00:04:09,960 --> 00:04:11,640
I think everybody wants the same goal.

63
00:04:11,640 --> 00:04:17,000
It's just different ways of talking about that in different areas of the problem.

64
00:04:17,000 --> 00:04:20,760
And now these groups have been starting to discuss more and there's opportunities for

65
00:04:20,760 --> 00:04:26,080
maybe finding better ways to communicate and build some structure around it.

66
00:04:26,080 --> 00:04:35,680
And I think I don't think anybody's trying to necessarily change the structure of governance

67
00:04:35,680 --> 00:04:36,680
completely.

68
00:04:36,680 --> 00:04:41,760
I think both groups, and I don't know if I'm fair enough on this conclusion yet, but I

69
00:04:41,760 --> 00:04:45,800
would say that the Cosmos Validator group is kind of focusing more around providing

70
00:04:45,800 --> 00:04:51,000
delegates better information and allowing validators to be able to provide other information

71
00:04:51,000 --> 00:04:55,680
than just voting power on how they might choose to delegate with someone, which I think is

72
00:04:55,680 --> 00:05:00,480
totally valuable because there's so many great projects that validators do that you would

73
00:05:00,480 --> 00:05:03,600
never, unless you're in this business like 100% of the time, you would never know what

74
00:05:03,600 --> 00:05:04,600
that is, right?

75
00:05:04,600 --> 00:05:08,360
And how do you see some of those just by accident, right?

76
00:05:08,360 --> 00:05:12,240
And then on the comment side, I think they're trying to find ways to be able to work with

77
00:05:12,240 --> 00:05:16,480
foundational groups to better say, what does a healthy validator set look like and what

78
00:05:16,480 --> 00:05:19,760
are some of the proponents of that and how do you work it from that angle?

79
00:05:19,760 --> 00:05:22,880
So I don't know.

80
00:05:22,880 --> 00:05:25,880
The reason I'm kind of hesitating and being more specific is because I don't think any

81
00:05:25,880 --> 00:05:26,880
of this has been figured out, right?

82
00:05:26,880 --> 00:05:29,640
We're just kind of in the early part of the process.

83
00:05:29,640 --> 00:05:30,640
Yeah.

84
00:05:30,640 --> 00:05:33,920
So I mean, I don't know too much about the Validated Commons yet.

85
00:05:33,920 --> 00:05:36,160
I haven't looked into that.

86
00:05:36,160 --> 00:05:40,920
I was talking to Jake yesterday morning and he actually asked me what I thought about

87
00:05:40,920 --> 00:05:49,840
it, but I misunderstood and thought he was talking about the Cosmos Validators League

88
00:05:49,840 --> 00:05:53,920
and then so started to ramble shit about that for 20 minutes.

89
00:05:53,920 --> 00:06:00,400
So I think what the Cosmos Validators League, if that's what it's called, or maybe it's

90
00:06:00,400 --> 00:06:02,120
just called Cosmos Validators now.

91
00:06:02,120 --> 00:06:04,480
I think it changes this Cosmos Validators now.

92
00:06:04,480 --> 00:06:05,480
Yeah.

93
00:06:05,480 --> 00:06:10,840
So I think what they're trying to do that has some merit.

94
00:06:10,840 --> 00:06:18,160
I think that the way validators are presented to the public needs to be improved specifically

95
00:06:18,160 --> 00:06:24,400
like when you go to any of the major staking platforms, they're just ranked by power, right?

96
00:06:24,400 --> 00:06:32,040
And inherently because of conditioning of other things, when users come and they see

97
00:06:32,040 --> 00:06:39,160
a list and they're uneducated about validating or how proof of stake works, they think bigger

98
00:06:39,160 --> 00:06:43,880
is better and I want to be on the big boat because it's got less chance of sinking and

99
00:06:43,880 --> 00:06:47,280
my funds are more safe.

100
00:06:47,280 --> 00:06:51,600
Whereas that's wholly not the case.

101
00:06:51,600 --> 00:06:55,280
Most validators sound throughout most of the Cosmos.

102
00:06:55,280 --> 00:07:00,160
There's a small percentage that get jailed occasionally, right?

103
00:07:00,160 --> 00:07:05,640
So as far as getting your funds slashed, it's a reasonably low risk across the board.

104
00:07:05,640 --> 00:07:12,000
And like you say, there are so many validators that do so much for the networks they validate

105
00:07:12,000 --> 00:07:14,480
on and that's not all of them.

106
00:07:14,480 --> 00:07:15,680
Some don't do anything.

107
00:07:15,680 --> 00:07:20,600
They just turn on their validator and sign blocks and that's fine as well because that's

108
00:07:20,600 --> 00:07:21,760
the job.

109
00:07:21,760 --> 00:07:27,960
People who add extra value are going above and beyond, right?

110
00:07:27,960 --> 00:07:35,920
So the big question is how is it presented to the public and how do you get the public

111
00:07:35,920 --> 00:07:43,280
to recognise the value from other people?

112
00:07:43,280 --> 00:07:52,440
That's the hard part because the staking platform is like an intermediary between the user and

113
00:07:52,440 --> 00:07:53,680
the network, right?

114
00:07:53,680 --> 00:08:06,400
So you're introducing like a point where there can be manipulation for profit and any ranking

115
00:08:06,400 --> 00:08:10,800
system is going to be subjective.

116
00:08:10,800 --> 00:08:17,200
So I mean, you've got on-chain metrics which are not that subjective.

117
00:08:17,200 --> 00:08:21,360
You can, you know, they're calculable.

118
00:08:21,360 --> 00:08:26,000
But I mean, even if you use those, even you want to give certain things a certain weighting,

119
00:08:26,000 --> 00:08:31,280
they can even be manipulated to improve the score of, you know, certain validators.

120
00:08:31,280 --> 00:08:41,440
Like say if, for example, you put a high weight to providing ancillary services like RPCs,

121
00:08:41,440 --> 00:08:44,720
LCDs, relaying that type of stuff, right?

122
00:08:44,720 --> 00:08:47,640
Then those validators are going to get a higher score, right?

123
00:08:47,640 --> 00:08:50,080
If you put a lower rate, they're going to get a lower score.

124
00:08:50,080 --> 00:08:56,000
If you put a higher weight on voting, validators that vote will get a higher score against

125
00:08:56,000 --> 00:08:57,000
others.

126
00:08:57,000 --> 00:09:01,160
So everything you pick and choose and do in there is subjective and it's all manipulatable

127
00:09:01,160 --> 00:09:06,520
to make certain validators look good and other validators look bad.

128
00:09:06,520 --> 00:09:14,240
So if they do go down that route and if it does become a popular way of selecting validators,

129
00:09:14,240 --> 00:09:23,400
they really need to be sure that what they're providing is something that is simple and

130
00:09:23,400 --> 00:09:29,520
doesn't, it's not too like exclusionary to people who just want to sign blocks.

131
00:09:29,520 --> 00:09:41,680
And yeah, I just think it's a very important thing to make sure that you get right.

132
00:09:41,680 --> 00:09:45,080
Otherwise, you might as well just have the current system.

133
00:09:45,080 --> 00:09:48,280
I think you make a lot of really good points.

134
00:09:48,280 --> 00:09:53,320
To a certain extent, I kind of see what Crescent did it as the ideal situation.

135
00:09:53,320 --> 00:09:57,440
Not exactly because what they do is if you use their platform to stake, they'll stake

136
00:09:57,440 --> 00:10:00,920
with the top 11 and wants to get anything below that.

137
00:10:00,920 --> 00:10:01,920
So that's not ideal.

138
00:10:01,920 --> 00:10:03,960
That means there's just focusing simplization.

139
00:10:03,960 --> 00:10:09,440
But the idea that if you stake through their platform, it kind of chooses from a variety

140
00:10:09,440 --> 00:10:14,640
of validators and kind of weights them and stuff, such that effort can be put into other

141
00:10:14,640 --> 00:10:18,600
areas rather than just marketing what you do.

142
00:10:18,600 --> 00:10:25,200
I think it's a really compelling way of handling distribution.

143
00:10:25,200 --> 00:10:29,160
And I think that the idea that going with the top 11 is the safest is actually a really

144
00:10:29,160 --> 00:10:34,080
interesting idea because if you think about staking rewards, like let's take Juno, right

145
00:10:34,080 --> 00:10:42,200
now, I think 90 or 100%, if you're slashed, you lose 0.01% of your staking rewards, right?

146
00:10:42,200 --> 00:10:43,800
Or of your stake.

147
00:10:43,800 --> 00:10:47,320
That means you're losing like an hour and a half of your stake.

148
00:10:47,320 --> 00:10:51,880
So the fact that you're choosing someone so high up in order to be safe is you're saving

149
00:10:51,880 --> 00:10:55,320
an hour in order to focus floating power higher.

150
00:10:55,320 --> 00:10:58,720
And so it's this really weird dynamic that is kind of unexpected.

151
00:10:58,720 --> 00:11:02,400
People talk about all these slashing, a downtem slashing, but the penalty for that is so low.

152
00:11:02,400 --> 00:11:04,640
It's almost not even worth talking about.

153
00:11:04,640 --> 00:11:05,640
Right.

154
00:11:05,640 --> 00:11:06,640
That's what I think.

155
00:11:06,640 --> 00:11:08,960
Sorry, just to cut in.

156
00:11:08,960 --> 00:11:10,280
So Sunny's actually joined us here.

157
00:11:10,280 --> 00:11:11,440
I'll bring him up here.

158
00:11:11,440 --> 00:11:12,440
Yeah.

159
00:11:12,440 --> 00:11:17,280
Sunny, we're talking about some other stuff, but we will introduce you and get going on

160
00:11:17,280 --> 00:11:18,280
with the show.

161
00:11:18,280 --> 00:11:20,880
But I think it's still pretty interesting to continue on with here.

162
00:11:20,880 --> 00:11:22,440
So welcome, Sunny.

163
00:11:22,440 --> 00:11:24,120
Hey, Sunny.

164
00:11:24,120 --> 00:11:26,680
I've not thought about that.

165
00:11:26,680 --> 00:11:29,160
You are really, really quiet, man.

166
00:11:29,160 --> 00:11:30,160
Can barely hear you.

167
00:11:30,160 --> 00:11:31,160
Yeah, see if you can bump it up.

168
00:11:31,160 --> 00:11:32,160
Is this better?

169
00:11:32,160 --> 00:11:33,160
Test, test.

170
00:11:33,160 --> 00:11:34,160
Yeah, a little bit higher.

171
00:11:34,160 --> 00:11:37,160
Higher, higher, higher, higher, higher.

172
00:11:37,160 --> 00:11:38,160
Perfect.

173
00:11:38,160 --> 00:11:39,160
Okay, good.

174
00:11:39,160 --> 00:11:40,160
Cool.

175
00:11:40,160 --> 00:11:41,160
Okay, there you go.

176
00:11:41,160 --> 00:11:42,160
Perfect.

177
00:11:42,160 --> 00:11:43,160
Yeah.

178
00:11:43,160 --> 00:11:44,160
Yeah, cool.

179
00:11:44,160 --> 00:11:45,400
Sorry, I'm late.

180
00:11:45,400 --> 00:11:50,120
I took a nap and then lost track of time by accident.

181
00:11:50,120 --> 00:11:51,120
But sorry about that.

182
00:11:51,120 --> 00:11:54,160
You guys are talking about valid or decentralization?

183
00:11:54,160 --> 00:11:55,160
Yeah.

184
00:11:55,160 --> 00:11:58,360
So everybody, this is Sunny.

185
00:11:58,360 --> 00:12:00,920
Sunny's from Osmosis.

186
00:12:00,920 --> 00:12:04,440
We'll get an introduction, a self-introduction from him a little bit later on.

187
00:12:04,440 --> 00:12:09,400
We'll just continue the conversation we were having from Shilty.

188
00:12:09,400 --> 00:12:14,160
And Sunny, the way this format works is we just sit here and talk shit until we get sick

189
00:12:14,160 --> 00:12:15,160
of talking shit.

190
00:12:15,160 --> 00:12:19,880
So if you want to jump in and you've got any good insight or comments about what we're

191
00:12:19,880 --> 00:12:22,960
talking about, then just jump in and have at it.

192
00:12:22,960 --> 00:12:23,960
So, yep.

193
00:12:23,960 --> 00:12:26,240
All right, Shilty, continue.

194
00:12:26,240 --> 00:12:32,000
I mean, I think that was basically what I had to say is that downtime slashing is almost

195
00:12:32,000 --> 00:12:34,880
irrelevant in the greater scope of staking rewards.

196
00:12:34,880 --> 00:12:39,120
So trying to focus your stake higher up in order because it's so much safer.

197
00:12:39,120 --> 00:12:43,400
It's kind of not fallacy, but it's kind of misguided.

198
00:12:43,400 --> 00:12:48,160
One thing I think that would, you know, a proposal that we had very, like a while ago

199
00:12:48,160 --> 00:12:55,240
in Osmos, I don't know if it ever got finished to be implemented, but like the slash should

200
00:12:55,240 --> 00:13:01,760
really be proportional to the size of the validator or the amount of nodes, like power

201
00:13:01,760 --> 00:13:02,760
that's offline.

202
00:13:02,760 --> 00:13:09,360
So if you are like delegated to a 10% validator versus a 1% validator and that 10% validator

203
00:13:09,360 --> 00:13:15,440
goes offline, then really that slash should be like 10x more than if you were delegated

204
00:13:15,440 --> 00:13:17,480
to a 1% validator that went offline.

205
00:13:17,480 --> 00:13:22,760
So I think that kind of will help smooth it out so that way, you know, not just the amount

206
00:13:22,760 --> 00:13:27,360
gets is more, but it's like, you know, kind of like a square kind of thing almost like.

207
00:13:27,360 --> 00:13:28,360
Yeah.

208
00:13:28,360 --> 00:13:29,360
Yeah.

209
00:13:29,360 --> 00:13:30,360
And these are the ideas.

210
00:13:30,360 --> 00:13:33,640
No, I was going to say these are ideas that, like, that's a great idea.

211
00:13:33,640 --> 00:13:36,760
Like there's a lot of these types of things where you can make some either governance change

212
00:13:36,760 --> 00:13:38,840
or other types of things to drive specific behavior.

213
00:13:38,840 --> 00:13:42,280
So what we were talking about today before you joined was there's a kind of a group called

214
00:13:42,280 --> 00:13:45,600
Validator Commons that we've been talking to a little bit and like, I think Jake's been

215
00:13:45,600 --> 00:13:48,480
on there and Chelsea and I were on there today a little bit just kind of understanding with

216
00:13:48,480 --> 00:13:49,480
kind of what the goals are there.

217
00:13:49,480 --> 00:13:52,600
And you have great validators and like, of course, Juan and Steakfish and those types

218
00:13:52,600 --> 00:13:53,600
of things.

219
00:13:53,600 --> 00:13:58,560
And then you have this, we were just talking about the Cosmos Validators Discord group,

220
00:13:58,560 --> 00:14:03,560
which is from Fiborg and Whispernodes really driving and just having kind of more conversations

221
00:14:03,560 --> 00:14:04,560
there.

222
00:14:04,560 --> 00:14:07,320
That's a little bit more grassroots from like validators just talking about other validators

223
00:14:07,320 --> 00:14:08,320
and things like that.

224
00:14:08,320 --> 00:14:14,600
But I think the goal is, and what we were saying before is what a Null's concerns was, like

225
00:14:14,600 --> 00:14:18,880
if you start building ranking on things that are very qualitative, right?

226
00:14:18,880 --> 00:14:22,360
And what you said like Null is like, how do you weight like these different contributions

227
00:14:22,360 --> 00:14:23,360
to the ecosystem?

228
00:14:23,360 --> 00:14:26,160
You just get into another bad ranking system, right?

229
00:14:26,160 --> 00:14:30,960
And then you also have another UX issue, like one of the goals of these teams was to

230
00:14:30,960 --> 00:14:35,320
say, all right, so if we don't do ranking, what we could do is just be able to provide

231
00:14:35,320 --> 00:14:39,720
more data to the delegator to make proper decisions around what value has been applied,

232
00:14:39,720 --> 00:14:40,720
right?

233
00:14:40,720 --> 00:14:44,120
But if I think about that, and if you have a hundred and I forget what is an osmosis, right,

234
00:14:44,120 --> 00:14:51,920
150 or 135 validators, and if I have an Excel spreadsheet of 135, and that's how many rows

235
00:14:51,920 --> 00:14:55,280
are, and if I look at 12 columns across, because everyone's talking about RPC nodes

236
00:14:55,280 --> 00:14:59,120
and what projects they've done, and I did a pull request on a doc site one time, then

237
00:14:59,120 --> 00:15:03,000
you have this information overload where you can't really build UX around that to help

238
00:15:03,000 --> 00:15:05,160
people make decisions anyway, right?

239
00:15:05,160 --> 00:15:10,600
So there's problems on both sides of this, which is there's a lot of, it's difficult

240
00:15:10,600 --> 00:15:14,920
to bring and kind of build a non-ranking system, but there's also so much information

241
00:15:14,920 --> 00:15:19,600
to provide that a delegator who's trying to make a decision might not, you know, you

242
00:15:19,600 --> 00:15:22,840
can't absorb all that might not care to absorb all that anyway.

243
00:15:22,840 --> 00:15:27,840
So things like that were like that slashing concern, it's 10x or, you know, we've been

244
00:15:27,840 --> 00:15:32,760
talking about other ways of saying, is there a top limit on how much percentage or voting

245
00:15:32,760 --> 00:15:34,800
power a validator can get?

246
00:15:34,800 --> 00:15:39,680
And beyond that, you can't bond to them or other types of things to try to say, I want

247
00:15:39,680 --> 00:15:45,640
to try to avoid crazy spikes, which I know like, I know on the liquid staking side,

248
00:15:45,640 --> 00:15:49,640
I don't know if you guys, if that, if when you guys enabled liquid, did it, did it change

249
00:15:49,640 --> 00:15:57,440
dramatically the kind of the curve associated to the validator kind of distribution curve

250
00:15:57,440 --> 00:16:01,600
or did it not make that big of a deal?

251
00:16:01,600 --> 00:16:07,040
I don't think the superfluid really had a big impact as far as I can tell.

252
00:16:07,040 --> 00:16:12,240
I guess one thing that made superfluid a little bit different is like, just because of some

253
00:16:12,240 --> 00:16:15,920
time reasons we made it so you can only superfluid delegate to one validator instead of like

254
00:16:15,920 --> 00:16:17,880
to multiple at once.

255
00:16:17,880 --> 00:16:23,480
Yeah, I said no, if that would, if that, if that looking back would have said, if I

256
00:16:23,480 --> 00:16:26,480
have only one to choose, I'm going to choose somebody in the top 10, right?

257
00:16:26,480 --> 00:16:30,800
I'm not going to, I'm not going to put all these eggs into number 98 on the list because

258
00:16:30,800 --> 00:16:36,640
there's this idea that quote unquote less secure, like that risk or, you know, what's

259
00:16:36,640 --> 00:16:41,000
all these other types of things that come up with that, which is not really true.

260
00:16:41,000 --> 00:16:46,560
Instead of ranking, so one of the things that we actually want to do on Osmosis to like

261
00:16:46,560 --> 00:16:51,480
kind of change a little bit of how the UX of staking works is currently it's very annoying

262
00:16:51,480 --> 00:16:55,600
that like every time you want to like redelegate your awards or something, you have to go

263
00:16:55,600 --> 00:17:01,640
like manually go to every single validator say, okay, I want to delegate, you know, 50

264
00:17:01,640 --> 00:17:04,880
Osmo here, 20 here, 30 here, whatever.

265
00:17:04,880 --> 00:17:08,640
And that's like very annoying process.

266
00:17:08,640 --> 00:17:13,120
What, what instead what we want is actually, we want to like have this thing called validator

267
00:17:13,120 --> 00:17:21,920
set preferences where on chain, you basically say, Hey, I want to do 50% King nodes, 25%

268
00:17:21,920 --> 00:17:24,960
lavender five, 25% rhino or something, right?

269
00:17:24,960 --> 00:17:28,880
And then it'll be like, and then I just click one button every time I want to delegate my

270
00:17:28,880 --> 00:17:33,680
rewards, it's a click delegate and it will automatically do it to that distribution.

271
00:17:33,680 --> 00:17:36,400
And then I think once you have that kind of thing, then you can have these like sort of

272
00:17:36,400 --> 00:17:42,440
like, I don't know, validator like suggestion, like groups, right, where we can be like,

273
00:17:42,440 --> 00:17:46,680
Oh, here's a, here's a bunch of validators that run relays.

274
00:17:46,680 --> 00:17:50,400
You know, here's a proposed, you know, you can say you click that and it'll import that

275
00:17:50,400 --> 00:17:52,120
as your validator set preference.

276
00:17:52,120 --> 00:17:57,600
So you can be like, here's a bunch of, you know, geo, graphically distributed validators

277
00:17:57,600 --> 00:18:02,480
and you click that and it'll import them as your preference kind of thing.

278
00:18:02,480 --> 00:18:09,880
So I was talking with Jake about this, like on chain stuff, right?

279
00:18:09,880 --> 00:18:19,720
So I think like the best thing is to be able to control this would be like protocol level

280
00:18:19,720 --> 00:18:20,920
controls, right?

281
00:18:20,920 --> 00:18:29,120
Because anything that you introduce outside of the network that is then controlled by

282
00:18:29,120 --> 00:18:33,560
someone else, right, and it's a central point of failure that can be manipulated.

283
00:18:33,560 --> 00:18:43,960
So I like, I like that as a, as a way to select your, your validator sunny, but like that

284
00:18:43,960 --> 00:18:49,160
would in my mind be able to be implemented at a network level as well, it'd probably

285
00:18:49,160 --> 00:18:56,600
be difficult and it would involve things like, you know, maybe people have to as a multi

286
00:18:56,600 --> 00:19:04,160
sig or as a group vote on which validators provide what services, etc.

287
00:19:04,160 --> 00:19:09,480
So another thought that I had was, and this, this has been talked about in various ways

288
00:19:09,480 --> 00:19:15,520
before in terms of like limitation of the amount of stake that a single validator can

289
00:19:15,520 --> 00:19:25,280
get because I don't necessarily mind that a validator get more stake, right?

290
00:19:25,280 --> 00:19:27,320
So that's, that's not a problem to me.

291
00:19:27,320 --> 00:19:32,640
Like if you look at OA on evMOS, right?

292
00:19:32,640 --> 00:19:41,160
I was probably a little bit ahead of my understanding when I was like giving them a hard time on

293
00:19:41,160 --> 00:19:49,600
Twitter, but they are one of the biggest, well, not, they're not a company, but they're

294
00:19:49,600 --> 00:19:53,440
one of the biggest entities doing anything on evMOS, right?

295
00:19:53,440 --> 00:19:57,440
And they're probably providing the bulk of value to evMOS and they probably deserve to

296
00:19:57,440 --> 00:20:01,520
have a lot of the stake in evMOS, right, to support their business.

297
00:20:01,520 --> 00:20:05,200
So I don't necessarily have a problem with that.

298
00:20:05,200 --> 00:20:13,040
The problem is, is the, the security in the chain and it's not just, it's voting, but

299
00:20:13,040 --> 00:20:19,240
it's more so, you know, if validators get too much weight and they fall over, then it

300
00:20:19,240 --> 00:20:20,480
can halt the network, right?

301
00:20:20,480 --> 00:20:27,680
So that's the real problem in my sense is the fact that say at the moment there's, on

302
00:20:27,680 --> 00:20:32,280
some networks, it will only take the top two validators to fall over and then the network

303
00:20:32,280 --> 00:20:34,400
stops, right?

304
00:20:34,400 --> 00:20:36,560
On evMOS, it's the top four or five.

305
00:20:36,560 --> 00:20:42,640
So say if coincidentally they were all in the same data center and something happened

306
00:20:42,640 --> 00:20:43,960
to that, right?

307
00:20:43,960 --> 00:20:47,560
Then the network shuts off and that's it.

308
00:20:47,560 --> 00:20:56,760
So an idea we had was that if you could find a way to make sure that the stakes distributed,

309
00:20:56,760 --> 00:21:03,760
but still provide like an allowance for people who market themselves and provide extra value,

310
00:21:03,760 --> 00:21:09,760
like incentivize good behaviors and value building, then that's a good avenue to go

311
00:21:09,760 --> 00:21:10,760
through as well.

312
00:21:10,760 --> 00:21:19,960
So for example, we thought that say if you take the total available stake and divided

313
00:21:19,960 --> 00:21:24,520
it by the amount of validators, right?

314
00:21:24,520 --> 00:21:29,200
It's not fair to say that every validator gets the same amount of stake, but you could

315
00:21:29,200 --> 00:21:37,440
then apply like a multiplier, which could be a parameter on the, on the network that,

316
00:21:37,440 --> 00:21:43,880
you know, the maximum amount that any validator can have more than any other validator.

317
00:21:43,880 --> 00:21:48,280
So you say you've got a multiplier by six and you say they can have six times more

318
00:21:48,280 --> 00:21:50,880
stake than what anyone else can have.

319
00:21:50,880 --> 00:21:55,200
And then that way you still might get more power at the top, you know, there will be

320
00:21:55,200 --> 00:22:01,440
a curve where maybe the top 40 validators have more power than the rest of the network

321
00:22:01,440 --> 00:22:03,360
rather than the top four.

322
00:22:03,360 --> 00:22:07,720
So, but there's so much stuff that comes along with that, like, you know, what happens

323
00:22:07,720 --> 00:22:13,840
when people try to stake over that amount or how do you control that and all that various

324
00:22:13,840 --> 00:22:14,840
stuff.

325
00:22:14,840 --> 00:22:17,640
But that was some ideas we were thinking about.

326
00:22:17,640 --> 00:22:22,360
Does anyone have like any comments on that type of implementation on a way to control

327
00:22:22,360 --> 00:22:27,440
it rather than like an external body doing the control for you?

328
00:22:27,440 --> 00:22:34,080
I'm not kind of like the idea, it kind of falls within the idea of, you know, CEO should

329
00:22:34,080 --> 00:22:40,200
only make, let's say 100 times how much their, their lowest level of employees should make.

330
00:22:40,200 --> 00:22:42,000
You know, you've heard that thrown around all over the place.

331
00:22:42,000 --> 00:22:44,040
That's kind of the idea of what you're saying, right?

332
00:22:44,040 --> 00:22:48,480
Is that everyone starts at this multiplier of one and it's acceptable for the top person

333
00:22:48,480 --> 00:22:50,920
to be at a little bit higher of a multiplier.

334
00:22:50,920 --> 00:22:54,400
Well, well, not necessarily everyone starts with yes.

335
00:22:54,400 --> 00:23:00,360
So basically, if you set a multiplier of six, right, then that is the maximum they can have.

336
00:23:00,360 --> 00:23:05,760
So say, if you divided, I think I did some quick maths and said, like, if you've got

337
00:23:05,760 --> 00:23:12,680
a hundred available tokens and you divided them by 135 and had a multiplier of six, then

338
00:23:12,680 --> 00:23:17,960
like, you know, for the example, the top validator can't have more than three or 4% of the network

339
00:23:17,960 --> 00:23:21,960
weight.

340
00:23:21,960 --> 00:23:27,880
And if, so I thought about some ideas about what might happen if they did, like, you know,

341
00:23:27,880 --> 00:23:32,760
for example, instead of limiting the delegation, you might limit the amount of rewards that

342
00:23:32,760 --> 00:23:36,360
a single validator can, can get.

343
00:23:36,360 --> 00:23:39,880
And any rewards over that might get diverted to the community pool.

344
00:23:39,880 --> 00:23:48,440
And so their delegators will get like a lower amount of relative rewards compared to people

345
00:23:48,440 --> 00:23:53,720
who aren't over the limit, or you could just redistribute it to the excess rewards to the

346
00:23:53,720 --> 00:24:01,080
rest of the set, or you could just directly stop people from being able to delegate above

347
00:24:01,080 --> 00:24:04,080
a certain amount.

348
00:24:04,080 --> 00:24:09,640
And you know, there's other things like what happens if the set expands or contracts, you

349
00:24:09,640 --> 00:24:14,160
know, you then have to impose those same rules against those.

350
00:24:14,160 --> 00:24:18,600
Say if the valid, if the set expands right, then the percent would reduce.

351
00:24:18,600 --> 00:24:26,760
So then you would have to still impose those penalties, even though people didn't, I mean,

352
00:24:26,760 --> 00:24:28,520
directly go on stake above their limit.

353
00:24:28,520 --> 00:24:30,280
That'd be a good thing though, right?

354
00:24:30,280 --> 00:24:33,800
Because then you'd immediately incentivize those that are staking with the high people

355
00:24:33,800 --> 00:24:36,600
to then go out of the new newcomers, right?

356
00:24:36,600 --> 00:24:41,360
So then it would kind of level out that, that voting power and that security almost immediately.

357
00:24:41,360 --> 00:24:42,360
Yeah, exactly.

358
00:24:42,360 --> 00:24:48,440
So people, you know, they'd say immediately realize that they're getting like a lower

359
00:24:48,440 --> 00:24:52,000
percentage of the rewards and then they'd go and distribute their stake down to some

360
00:24:52,000 --> 00:24:53,000
other validators.

361
00:24:53,000 --> 00:24:54,000
Yeah.

362
00:24:54,000 --> 00:24:55,000
Yeah.

363
00:24:55,000 --> 00:25:01,160
So that was just me musing, you know, while I was taking a crap.

364
00:25:01,160 --> 00:25:06,720
But I imagine something along those lines could work.

365
00:25:06,720 --> 00:25:12,000
And to me, that's like a more robust system than relying on other people to make subjective

366
00:25:12,000 --> 00:25:13,640
decisions on people's value.

367
00:25:13,640 --> 00:25:14,640
Yeah.

368
00:25:14,640 --> 00:25:15,640
I'm, go ahead.

369
00:25:15,640 --> 00:25:21,360
No, I was going to say, I do think, aside from secret points, in the chat as well, he

370
00:25:21,360 --> 00:25:23,760
said capping profits is really not a good idea.

371
00:25:23,760 --> 00:25:29,520
And I do agree with that because I think the one challenge with delegators, maybe, you know,

372
00:25:29,520 --> 00:25:33,800
who knows what UI that they're actually looking at that shows in that data.

373
00:25:33,800 --> 00:25:37,720
So we might have something on Minscan that says, hey, you know, or I don't know, on Kepler

374
00:25:37,720 --> 00:25:41,400
that says, hey, when you delegate here, your rewards might be lower because of XYZ.

375
00:25:41,400 --> 00:25:44,520
But there's nothing saying that the Cosmo Station wallet would do that or, you know,

376
00:25:44,520 --> 00:25:46,360
paying or there's so many ways to stake that.

377
00:25:46,360 --> 00:25:50,960
So you can get in a situation where a delegator is just picking a name out of a hat and then

378
00:25:50,960 --> 00:25:53,000
they're getting lower rewards and they don't know why.

379
00:25:53,000 --> 00:25:54,000
Right.

380
00:25:54,000 --> 00:25:57,240
And so because you don't have not every UI is being able to show that.

381
00:25:57,240 --> 00:25:59,000
So that I think that's, that's a bit unfair.

382
00:25:59,000 --> 00:26:03,120
Now blocking the transaction and the transaction fails and you have an error message there

383
00:26:03,120 --> 00:26:05,120
and then that's a little bit more actionable, right?

384
00:26:05,120 --> 00:26:07,080
They can do something about that.

385
00:26:07,080 --> 00:26:08,080
But I agree.

386
00:26:08,080 --> 00:26:13,920
I think, you know, the, I don't know, it's such a tough problem because you also want

387
00:26:13,920 --> 00:26:15,240
to leave it as a free market, right?

388
00:26:15,240 --> 00:26:21,360
You want to be able to, you want to be able to say, hey, this is, you know, there's, who

389
00:26:21,360 --> 00:26:26,360
says it's 4% and could it be 5% of the VP or is it 8% or like, is it, is it mattered

390
00:26:26,360 --> 00:26:27,360
by chain, right?

391
00:26:27,360 --> 00:26:31,880
And there's so many, there's so many decisions related to that that would, that even a decision

392
00:26:31,880 --> 00:26:35,920
on chain A might not make a difference or it might not be the same as on a different

393
00:26:35,920 --> 00:26:38,520
project, right, because of, you know, specific reasons.

394
00:26:38,520 --> 00:26:45,920
Sonny, I have a question for you as, as a, you know, we, I don't think we asked other,

395
00:26:45,920 --> 00:26:51,160
I don't think we've asked other project, I don't know what your title is, but as project

396
00:26:51,160 --> 00:26:56,800
leadership, let's say, or somebody who is heavily invested, right?

397
00:26:56,800 --> 00:27:05,800
But so this, this idea of, of like delegation spread, right, in the, in the curve of, of,

398
00:27:05,800 --> 00:27:11,200
of VP and those types of things, how much of a concern is that to the osmosis ecosystem

399
00:27:11,200 --> 00:27:13,560
as from a project perspective?

400
00:27:13,560 --> 00:27:16,440
Is it something that, why is it a concern?

401
00:27:16,440 --> 00:27:20,640
And like, like specifically, like, like, and, and, and I think the biggest question for

402
00:27:20,640 --> 00:27:23,400
me is, what does a perfect distribution look like?

403
00:27:23,400 --> 00:27:26,360
Like what would you, if you get to say, all right, we get to lay it all out and we think

404
00:27:26,360 --> 00:27:30,320
this is what we, what we think is be the best thing for the project long term.

405
00:27:30,320 --> 00:27:32,720
Do you guys have a, do you have a definition of what that would be?

406
00:27:32,720 --> 00:27:34,960
Like is, what does that look like?

407
00:27:34,960 --> 00:27:36,960
You want me?

408
00:27:36,960 --> 00:27:37,960
Yeah.

409
00:27:37,960 --> 00:27:46,120
I think that like the, you know, I don't think necessarily a perfectly even distribution

410
00:27:46,120 --> 00:27:48,040
is what's like needed, right?

411
00:27:48,040 --> 00:27:51,920
You want the values, certain values to be able to have more because if they're, you

412
00:27:51,920 --> 00:27:55,440
know, contributing more to that network, they should be able to, that should be represented

413
00:27:55,440 --> 00:27:57,640
somehow.

414
00:27:57,640 --> 00:28:03,240
But I think what, you know, the biggest risk factors is just like, you know, I think, like,

415
00:28:03,240 --> 00:28:09,720
like you mentioned, like who gets, like how, how many validators have to go down for the

416
00:28:09,720 --> 00:28:15,600
chain to be able to like be paused or something, especially around upgrade times.

417
00:28:15,600 --> 00:28:18,920
That's when it gets kind of annoying when there's like, when you sometimes have like

418
00:28:18,920 --> 00:28:23,240
very large validators with a lot of voting power, but there's, you know, they're just

419
00:28:23,240 --> 00:28:26,960
consistently the ones that are MIA when you need them and stuff.

420
00:28:26,960 --> 00:28:32,400
And so like that's sort of a problem and like being able to make sure that like we don't

421
00:28:32,400 --> 00:28:39,720
have those like points of failures on just a handful of validators is important.

422
00:28:39,720 --> 00:28:46,720
The yeah.

423
00:28:46,720 --> 00:28:47,720
Yeah.

424
00:28:47,720 --> 00:28:52,440
So I think like, I mean, here's actually another one mechanism you could use.

425
00:28:52,440 --> 00:28:54,640
This is actually something Polkadot came up with early on.

426
00:28:54,640 --> 00:28:56,480
I don't know if they actually did it or not.

427
00:28:56,480 --> 00:29:00,840
I haven't looked at it, but I remember they had this early idea of like, you, everyone

428
00:29:00,840 --> 00:29:06,640
selects the validators that they are okay with delegating to like you, here's a list

429
00:29:06,640 --> 00:29:11,640
of like all, you know, 20 validators that I are on my trust list.

430
00:29:11,640 --> 00:29:19,120
And then it will automatically shuffle stake around to be maximally decentralized with

431
00:29:19,120 --> 00:29:24,160
everyone, it'll take into account everyone's preferences and try to calculate a result

432
00:29:24,160 --> 00:29:28,080
that will be like, okay, here's a way that we can put everyone's only delegating to

433
00:29:28,080 --> 00:29:33,000
validators that they are okay with, but then it's still maximizing like, you know, how

434
00:29:33,000 --> 00:29:34,680
trying to make it as equal as possible.

435
00:29:34,680 --> 00:29:35,680
Wow.

436
00:29:35,680 --> 00:29:36,680
That's interesting.

437
00:29:36,680 --> 00:29:39,760
That's totally speaking my language.

438
00:29:39,760 --> 00:29:42,200
Approval voting is my favorite voting form.

439
00:29:42,200 --> 00:29:45,960
So if you're already reading that, that's the way I want to do it.

440
00:29:45,960 --> 00:29:47,840
So do you guys worry about it from a governance perspective?

441
00:29:47,840 --> 00:29:51,080
I mean, the opposite side of the, the obvious perspective is probably actually the thing

442
00:29:51,080 --> 00:29:55,920
we worry the most about is, but I think for that, we just need to make it so people can

443
00:29:55,920 --> 00:30:02,000
like, you know, you shouldn't be having your validators take over all of people's votes.

444
00:30:02,000 --> 00:30:06,320
Like it's, and even like if they do take over some of it, I think what it should do is like,

445
00:30:06,320 --> 00:30:13,000
you know, maybe like 25% of your vote gets given to the validator can use 25% of your

446
00:30:13,000 --> 00:30:17,080
voting power, but then if you come vote, you use 100%.

447
00:30:17,080 --> 00:30:21,800
So that way there's even still an incentive to, even if you agree with the way that your

448
00:30:21,800 --> 00:30:26,520
validator voted, you, the still then like, you should still go vote yourself as well,

449
00:30:26,520 --> 00:30:29,720
because that way you could use the full 100% of the voting power.

450
00:30:29,720 --> 00:30:34,200
See, now you're speaking my language because that's one of the areas that I've always had

451
00:30:34,200 --> 00:30:39,480
really just, I don't know, it's like the validator power trip, I think in some areas.

452
00:30:39,480 --> 00:30:46,240
But this idea that I get to vote non-voting shares at 100% always seems to be, honestly,

453
00:30:46,240 --> 00:30:48,440
in my eyes, it just never made sense to me.

454
00:30:48,440 --> 00:30:53,080
Like I think voting at a lesser percent, that makes that makes total sense or some sort

455
00:30:53,080 --> 00:30:59,840
of balance there because I think my delegators vote is as important as my viewpoint on it.

456
00:30:59,840 --> 00:31:03,720
And so I'm glad that when we both vote, we're both equal, but if they don't vote and I vote

457
00:31:03,720 --> 00:31:08,000
100% of their shares, that always seemed like a little bit of a, I don't know.

458
00:31:08,000 --> 00:31:09,000
Yeah.

459
00:31:09,000 --> 00:31:13,680
I think somebody who votes has more, should have more weight than my opinion on somebody

460
00:31:13,680 --> 00:31:14,680
who's not voting.

461
00:31:14,680 --> 00:31:26,960
So, you guys mentioned, worried about having this stuff happen at outside the protocol,

462
00:31:26,960 --> 00:31:27,960
I guess.

463
00:31:27,960 --> 00:31:34,600
So I mean, one of the things, for some of this stuff, for example, being able to delegate

464
00:31:34,600 --> 00:31:40,800
your vote to other people other than your validator, right?

465
00:31:40,800 --> 00:31:44,520
This is something we've wanted to do in the governance module forever, but it's just

466
00:31:44,520 --> 00:31:49,480
something that we, on our priority stack, just hasn't been able to get that high up.

467
00:31:49,480 --> 00:31:55,160
And but now with like, actually off the Z, you can actually do a lot of this stuff off

468
00:31:55,160 --> 00:31:56,160
chain.

469
00:31:56,160 --> 00:32:02,600
And I was talking to Tom from EcoStake and like, you know, so he builds restake.app.

470
00:32:02,600 --> 00:32:06,080
And he was, you know, he was just like brainstorming like, oh, what are other cool things you could

471
00:32:06,080 --> 00:32:07,080
do with it?

472
00:32:07,080 --> 00:32:12,000
One of them was like, hey, should he build a thing where like you can, let's say you

473
00:32:12,000 --> 00:32:18,880
want to delegate your voting power, your governance to someone who's not a validator or not your

474
00:32:18,880 --> 00:32:24,120
validator, you should be able to like, can I just give off Z access of my governance thing

475
00:32:24,120 --> 00:32:26,080
and they could build a service that does that.

476
00:32:26,080 --> 00:32:30,200
So do you guys think it's like dangerous to put this kind of stuff in these like, you

477
00:32:30,200 --> 00:32:36,080
know, let someone like restake.app build this as sort of like a centralized service that

478
00:32:36,080 --> 00:32:38,800
you makes use of off Z kind of stuff.

479
00:32:38,800 --> 00:32:47,880
Or do you think that it's like, it is very important to have this like natively on chain.

480
00:32:47,880 --> 00:32:56,320
No, you're like, all Z is still in my opinion on chain and auditable, right?

481
00:32:56,320 --> 00:33:06,120
So if you have, yeah, so if if restake.app included some sort of, you know, governance

482
00:33:06,120 --> 00:33:12,240
or that you could delegate someone to do your governance for you, right?

483
00:33:12,240 --> 00:33:18,240
Or say there's like, you know, this multi-sig that's super wrinkled brain and everyone

484
00:33:18,240 --> 00:33:22,760
wanted to give them their vote because they always make good decisions, right?

485
00:33:22,760 --> 00:33:30,680
There could be another platform that audits that they could have like, you know, something

486
00:33:30,680 --> 00:33:37,200
that's an interface where it picks up the vote and what was done through off Z and verifies

487
00:33:37,200 --> 00:33:43,080
like it's just just listed says they voted this and this is the wallets that were voted

488
00:33:43,080 --> 00:33:45,680
and this is the vote percent or something like that.

489
00:33:45,680 --> 00:33:48,520
So I mean, if it is on chain, it is auditable, right?

490
00:33:48,520 --> 00:33:57,560
So whilst it might be through a centralized web interface, it's still on chain effectively

491
00:33:57,560 --> 00:34:02,920
and you're still making those transactions to give that authorization on chain.

492
00:34:02,920 --> 00:34:10,240
So that, yeah, in my opinion, it's still on chain, not off chain, but yeah, I mean, everything

493
00:34:10,240 --> 00:34:12,120
is accessed.

494
00:34:12,120 --> 00:34:20,160
There's probably 98 to 99% of transactions on chain are accessed through a GUI that's

495
00:34:20,160 --> 00:34:22,160
developed by someone.

496
00:34:22,160 --> 00:34:35,080
It's not like, you know, Tom and Terry, Pharma doesn't come in and buy Osmosis on the CLI

497
00:34:35,080 --> 00:34:38,080
and then do some voting.

498
00:34:38,080 --> 00:34:42,840
So yeah, I guess everything, you know, unless you're a validator or a developer, you're

499
00:34:42,840 --> 00:34:46,040
probably not going to use the CLI to do anything.

500
00:34:46,040 --> 00:34:55,600
So every other avenue into the blockchain is through a third party bill tool of some

501
00:34:55,600 --> 00:34:56,600
description.

502
00:34:56,600 --> 00:35:01,600
I guess any of the use case there would be that you might have governance groups that

503
00:35:01,600 --> 00:35:02,600
form.

504
00:35:02,600 --> 00:35:03,600
It's almost like a DAO at that point, right?

505
00:35:03,600 --> 00:35:07,920
You're almost getting to the point where you're, I'm off seeing my vote to some sort

506
00:35:07,920 --> 00:35:12,960
of group or individual that says, hey, the way this person is going to vote or this group

507
00:35:12,960 --> 00:35:14,440
is going to vote, I want to vote, right?

508
00:35:14,440 --> 00:35:16,720
So we have similar ideals and those types of things.

509
00:35:16,720 --> 00:35:22,160
So which I guess somewhat happens today on the validator side, but maybe not quite, right?

510
00:35:22,160 --> 00:35:24,360
It's kind of the idea that's what's supposed to happen on the validator side.

511
00:35:24,360 --> 00:35:27,640
I think other use cases for Authy, I think are great.

512
00:35:27,640 --> 00:35:35,840
I think that I always feel that anything that encourages voters to get involved is and make

513
00:35:35,840 --> 00:35:40,640
their own decisions and vote is obviously better than trying to either Authy that out

514
00:35:40,640 --> 00:35:45,600
or letting a validator vote their shares.

515
00:35:45,600 --> 00:35:50,520
But if that means that you have more involvement and people are more active around picking

516
00:35:50,520 --> 00:35:55,960
groups or individuals that they're providing that responsibility to, then maybe that's

517
00:35:55,960 --> 00:35:57,960
a good thing.

518
00:35:57,960 --> 00:36:01,640
I mean, yeah.

519
00:36:01,640 --> 00:36:05,680
Ultimately, it is a little bit difficult.

520
00:36:05,680 --> 00:36:14,080
If you concentrate any amount of vote into any one hand, right, then that hand can then

521
00:36:14,080 --> 00:36:19,520
be bribed or have their nails pulled out or anything like that.

522
00:36:19,520 --> 00:36:28,160
So I suppose, for example, and Jacob would completely agree with me on this if he was

523
00:36:28,160 --> 00:36:35,120
here, one of the big problems with having a concentrated governance vote is being able

524
00:36:35,120 --> 00:36:37,120
to rob the community pool.

525
00:36:37,120 --> 00:36:42,080
There is a big incentive to be able to rob the community pool, right?

526
00:36:42,080 --> 00:36:50,480
So if you've got the voting power in the hands of two or three entities, it's not beyond

527
00:36:50,480 --> 00:36:58,880
belief that if that's a high value community pool that someone could just go to their house

528
00:36:58,880 --> 00:37:04,440
and hold their family at gunpoint and pull their fingernails out and make them vote the

529
00:37:04,440 --> 00:37:06,720
way they want to vote, right?

530
00:37:06,720 --> 00:37:09,880
It's not even necessarily that they might be a bad actor.

531
00:37:09,880 --> 00:37:16,720
It's that there is enough vote there to do meaningful damage one way or another.

532
00:37:16,720 --> 00:37:25,160
So it's the same if you delegate that vote to John and John lives in Kansas and he's

533
00:37:25,160 --> 00:37:32,160
like doxxed, then someone can just go around the John's place and make John vote the way

534
00:37:32,160 --> 00:37:34,000
they want John to vote.

535
00:37:34,000 --> 00:37:40,680
So I think any concentration of voting power anywhere is dangerous to me.

536
00:37:40,680 --> 00:37:43,160
No matter where you are.

537
00:37:43,160 --> 00:37:48,480
I think that your point is apt, but I think that you're kind of, I would say you're missing

538
00:37:48,480 --> 00:37:50,160
the force of trees a little bit.

539
00:37:50,160 --> 00:37:53,480
You're talking about like violence getting to people and stuff, and I think that's true,

540
00:37:53,480 --> 00:37:56,520
but I think that just a social aspect of this is really simple.

541
00:37:56,520 --> 00:38:00,680
If you have the vote spread across 100 people, you have to convince 100 entities.

542
00:38:00,680 --> 00:38:03,520
You have to convince 100 entities to vote a certain way, right?

543
00:38:03,520 --> 00:38:07,600
If you have three people, you can just mention them in DMs and say, hey, this is my project.

544
00:38:07,600 --> 00:38:08,760
It's pretty cool.

545
00:38:08,760 --> 00:38:12,080
And just being friendly, that's very convincing to people, right?

546
00:38:12,080 --> 00:38:15,840
So just sending a DM would be enough to sway their vote whenever before they were going

547
00:38:15,840 --> 00:38:17,640
to vote.

548
00:38:17,640 --> 00:38:21,680
So yes, there's the violent aspect, but it's so much simpler than that.

549
00:38:21,680 --> 00:38:24,080
And I think that's kind of the scariest part to me.

550
00:38:24,080 --> 00:38:25,080
Yeah.

551
00:38:25,080 --> 00:38:33,320
So I guess my example was probably a bit of an extreme in that, you know, I guess the

552
00:38:33,320 --> 00:38:39,120
point of that was that it would make the whole of the community pool more vulnerable than

553
00:38:39,120 --> 00:38:40,880
if it was distributed.

554
00:38:40,880 --> 00:38:43,720
But definitely there is the social point of view.

555
00:38:43,720 --> 00:38:48,840
And I get people in my DMs trying to convince me of stuff when there is votes on things.

556
00:38:48,840 --> 00:38:54,000
I just say, look, don't DM me because ultimately I'm going to do my research and vote the way

557
00:38:54,000 --> 00:38:55,120
I want anyway.

558
00:38:55,120 --> 00:38:59,440
So you DM me in me is not an influence.

559
00:38:59,440 --> 00:39:01,960
So just stop.

560
00:39:01,960 --> 00:39:08,120
But I imagine you'd get the same thing, Sonny, like with governance proposal.

561
00:39:08,120 --> 00:39:13,280
I imagine that before people put governance proposals up, you get a lot of people, you

562
00:39:13,280 --> 00:39:16,960
know, trying to talk to you about them and stuff like that.

563
00:39:16,960 --> 00:39:18,040
So.

564
00:39:18,040 --> 00:39:26,040
But yeah, so you surfer, we had plenty to talk about other things this week, right?

565
00:39:26,040 --> 00:39:28,640
I think we've kind of talked about this a fair bit now.

566
00:39:28,640 --> 00:39:36,080
I think we all agree that, you know, there are some issues that need to be sort of like

567
00:39:36,080 --> 00:39:38,720
looked at in a serious way.

568
00:39:38,720 --> 00:39:42,600
But I think the way forward is not really clear to anyone yet.

569
00:39:42,600 --> 00:39:47,480
Probably requires a lot more discourse and discussion throughout various discords and

570
00:39:47,480 --> 00:39:49,080
Twitter and whatever else.

571
00:39:49,080 --> 00:39:55,840
So I mean, I'm hopeful that we find a decent way to move forward with that.

572
00:39:55,840 --> 00:40:03,360
It doesn't penalise people for being active and providing extra value.

573
00:40:03,360 --> 00:40:10,240
But also like at least tries to distribute the weight in the like the stake weight.

574
00:40:10,240 --> 00:40:18,360
So I did actually bring up just there before was a graph from Blockpane's website that

575
00:40:18,360 --> 00:40:23,080
just shows the locations of validators.

576
00:40:23,080 --> 00:40:26,560
So I'm just going to pull it up again because I think this is quite interesting.

577
00:40:26,560 --> 00:40:32,320
I don't know how many people are aware that this exists.

578
00:40:32,320 --> 00:40:36,880
But this is Osmosis.

579
00:40:36,880 --> 00:40:42,040
So I mean, there are so many different things that can happen with the Internet, right?

580
00:40:42,040 --> 00:40:44,440
So this is Hetzner.

581
00:40:44,440 --> 00:40:51,480
Hetzner holds a lot of the validators for Osmosis.

582
00:40:51,480 --> 00:40:59,120
So if something catastrophic happened to the Hetzner system, I'm almost certain that Osmosis

583
00:40:59,120 --> 00:41:02,880
would cease to function until they sorted that out.

584
00:41:02,880 --> 00:41:10,760
And if you look at any of these locations over here like Germany and the US, you know,

585
00:41:10,760 --> 00:41:18,680
if there was something catastrophic that happened to the Internet at either of those locations,

586
00:41:18,680 --> 00:41:23,480
then I'm almost certain that it would stop working.

587
00:41:23,480 --> 00:41:25,560
To be fair, this is not validators.

588
00:41:25,560 --> 00:41:27,160
This is all nodes, right?

589
00:41:27,160 --> 00:41:30,720
So like this is all nodes that are participating.

590
00:41:30,720 --> 00:41:32,960
So it's not a validator specific thing.

591
00:41:32,960 --> 00:41:33,960
I think it's all nodes.

592
00:41:33,960 --> 00:41:37,440
So but still, I mean, I'm guessing it'd probably be in a similar ratio.

593
00:41:37,440 --> 00:41:41,120
And we'll put a link to the show notes for people can check that out.

594
00:41:41,120 --> 00:41:43,800
Yeah, that is a good point.

595
00:41:43,800 --> 00:41:49,080
So you said let's talk about more pointed Osmosis things.

596
00:41:49,080 --> 00:41:50,080
All right.

597
00:41:50,080 --> 00:41:51,680
Do you want to lead us through that?

598
00:41:51,680 --> 00:41:54,240
Yeah, Sunny, do you want to introduce yourself?

599
00:41:54,240 --> 00:41:55,240
Yeah, sure.

600
00:41:55,240 --> 00:41:57,720
Now that was 46 minutes in.

601
00:41:57,720 --> 00:41:58,720
Sure.

602
00:41:58,720 --> 00:41:59,720
Yeah.

603
00:41:59,720 --> 00:42:02,400
Hey guys, my name is Sunny.

604
00:42:02,400 --> 00:42:06,600
I'm one of the co-founders of Osmosis.

605
00:42:06,600 --> 00:42:12,240
I've been working in Cosmos for about five years now.

606
00:42:12,240 --> 00:42:20,240
I started in summer of 2017 as an intern at the company previously known as AIB and then

607
00:42:20,240 --> 00:42:24,480
Tendermint and then Ignite and then now something else.

608
00:42:24,480 --> 00:42:26,880
I don't know what it is anymore.

609
00:42:26,880 --> 00:42:34,840
But yeah, so I've been working on Cosmos SDK and IBC and Tendermint for a long time.

610
00:42:34,840 --> 00:42:39,200
Kind of built out a lot of the tooling, these core tools.

611
00:42:39,200 --> 00:42:43,640
And once all of them were ready, we were like, well, let's try to build an actual application

612
00:42:43,640 --> 00:42:44,640
with them.

613
00:42:44,640 --> 00:42:50,280
And that's kind of started working on Osmosis as sort of the first obvious thing to build.

614
00:42:50,280 --> 00:42:51,280
Yeah.

615
00:42:51,280 --> 00:42:56,280
I think one of the things that we were slightly talking about before was like this role of

616
00:42:56,280 --> 00:42:58,920
governance and taking action, those types of things.

617
00:42:58,920 --> 00:43:04,840
And this podcast, we've talked a lot about Juno Prop 16 and actually making a meetable

618
00:43:04,840 --> 00:43:07,400
change to something that occurred.

619
00:43:07,400 --> 00:43:11,880
And then what I was going to say, what Null just said around, look, these groups and these

620
00:43:11,880 --> 00:43:15,160
validator conversations and this governance conversation will continue.

621
00:43:15,160 --> 00:43:18,840
And I hope it continues quickly because this is the time to do it when there's not like

622
00:43:18,840 --> 00:43:21,440
an emergency in front of you, right?

623
00:43:21,440 --> 00:43:27,600
Where you don't really have a bill of rights or a group or some things, like some specific

624
00:43:27,600 --> 00:43:34,680
rules that I think there's agreed upon, there's validators or chain operators, et cetera.

625
00:43:34,680 --> 00:43:37,280
So you guys, we just had a halt.

626
00:43:37,280 --> 00:43:38,840
We saw each other in consensus.

627
00:43:38,840 --> 00:43:42,360
And like that night before, we saw the war room pictures and like all the things that

628
00:43:42,360 --> 00:43:43,600
were going on.

629
00:43:43,600 --> 00:43:47,680
And I think you guys were also, if I remember correctly, there's four counts.

630
00:43:47,680 --> 00:43:50,400
I think we talked about this before, four counts that were kind of larger numbers and

631
00:43:50,400 --> 00:43:52,480
two of them came forward and there's another two.

632
00:43:52,480 --> 00:43:57,200
And was there some talk about making a change, state change or anything else associated that?

633
00:43:57,200 --> 00:44:00,240
Or that, did every guys, do you guys even talk about that and saying, what do we want

634
00:44:00,240 --> 00:44:04,880
to do about this or not really in that sense?

635
00:44:04,880 --> 00:44:05,880
Not really.

636
00:44:05,880 --> 00:44:12,600
I mean, I think for us, we kind of highly valued the immutability of the chain.

637
00:44:12,600 --> 00:44:24,160
I mean, I guess we were, there was some talk, I guess, about potentially like freezing accounts

638
00:44:24,160 --> 00:44:31,080
that not like seizing assets from the accounts, but just making it so those accounts couldn't

639
00:44:31,080 --> 00:44:37,880
transfer and then like letting governance figure out what it wants to do or at least giving

640
00:44:37,880 --> 00:44:39,880
them.

641
00:44:39,880 --> 00:44:46,600
But it's just got very messy for us because like it was unclear to us like, by what authority

642
00:44:46,600 --> 00:44:50,640
do we as the dev team get to decide to freeze these accounts?

643
00:44:50,640 --> 00:44:57,480
And a couple options that we were floating around was potentially just restarting the

644
00:44:57,480 --> 00:45:03,600
chain with only governance enabled and all other functionality is disabled.

645
00:45:03,600 --> 00:45:07,240
And then governance can figure out what it wants to do from there.

646
00:45:07,240 --> 00:45:12,480
Other options were we put out multiple copies of the code, one that has account frozen, one

647
00:45:12,480 --> 00:45:16,320
that doesn't, and then we just let validers decide which version of the code they want

648
00:45:16,320 --> 00:45:21,040
to run and we don't make any recommendations.

649
00:45:21,040 --> 00:45:22,040
In the end, yeah.

650
00:45:22,040 --> 00:45:28,000
What are you talking about with four accounts, four big accounts, what happened there?

651
00:45:28,000 --> 00:45:30,320
So yes, maybe I need some background.

652
00:45:30,320 --> 00:45:31,320
Yeah, sorry.

653
00:45:31,320 --> 00:45:32,320
Yeah.

654
00:45:32,320 --> 00:45:39,280
So, you know, there was a bug on the V9 upgrade of Osmosis that basically allowed LP, every

655
00:45:39,280 --> 00:45:43,520
time you join a pool, it gave you more LP shares than you were supposed to have.

656
00:45:43,520 --> 00:45:46,720
Oh, we're talking an overtaking.

657
00:45:46,720 --> 00:45:47,720
Yeah.

658
00:45:47,720 --> 00:45:54,480
And a handful of accounts, more than four, those are actually like six or seven that

659
00:45:54,480 --> 00:46:00,200
exploited the bug where they would add, withdraw, add again, withdraw and basically cycle that

660
00:46:00,200 --> 00:46:03,280
and get a lot of assets out.

661
00:46:03,280 --> 00:46:09,000
A lot of the funds had actually been fully returned.

662
00:46:09,000 --> 00:46:14,400
But yeah, so I don't know, I guess, yeah, I mean, we like floated the idea, but I think

663
00:46:14,400 --> 00:46:20,160
what we were realizing was it's like, you know, at the amount that was lost, which was

664
00:46:20,160 --> 00:46:27,720
like, you know, about $5.5 million, I think we valued the immutability of the chain higher

665
00:46:27,720 --> 00:46:34,160
and we were like, we would rather actually the foundation cover that full cost than like

666
00:46:34,160 --> 00:46:38,440
go make irregular state changes to the chain.

667
00:46:38,440 --> 00:46:42,240
That's also, but that's also kind of a, there's some timing that worked out in that favor

668
00:46:42,240 --> 00:46:48,320
as well, right, because this is last week and where we are from in this winter that

669
00:46:48,320 --> 00:46:51,840
we're living in, it's equipped to win or it was so bad that even Nell had to put a

670
00:46:51,840 --> 00:46:54,080
coat on for this, for this call.

671
00:46:54,080 --> 00:46:56,160
That's how cold it is here.

672
00:46:56,160 --> 00:47:01,840
So but if we were not in that situation, right, and we were 10x where we are, would that decision

673
00:47:01,840 --> 00:47:05,200
change?

674
00:47:05,200 --> 00:47:12,200
I think it's a big, yeah, I mean, if it was 10x where we are, I don't think the, the

675
00:47:12,200 --> 00:47:18,000
foundation would not be able to, there's an amount that the foundation has a treasury

676
00:47:18,000 --> 00:47:20,080
of that it can cover.

677
00:47:20,080 --> 00:47:24,640
The other thing though as well is it's also, I think it's more important as a percentage

678
00:47:24,640 --> 00:47:27,240
of the network of the liquidity, right?

679
00:47:27,240 --> 00:47:31,920
Like, you know, the hack was, you know, it's high, but realistically it was actually less

680
00:47:31,920 --> 00:47:36,080
than like 2.5% of the TVL of osmosis.

681
00:47:36,080 --> 00:47:42,160
And so is doing in a regular, I don't think it, at any point, I don't think it's a good

682
00:47:42,160 --> 00:47:43,160
idea to do that.

683
00:47:43,160 --> 00:47:46,600
But I think it was like an existential, like, threat to osmosis.

684
00:47:46,600 --> 00:47:47,600
Right.

685
00:47:47,600 --> 00:47:53,240
If it was like, you know, if we're talking it was like 50%, 75% of osmosis is TVL.

686
00:47:53,240 --> 00:47:58,040
Then yeah, I think, you know, at that point, there's like an existential threat to osmosis

687
00:47:58,040 --> 00:48:03,080
that maybe then does justify more drastic action.

688
00:48:03,080 --> 00:48:04,080
Yeah.

689
00:48:04,080 --> 00:48:09,480
Well, and I think that in that, like there's some, so there's some, there's some decisioning

690
00:48:09,480 --> 00:48:10,480
there, right?

691
00:48:10,480 --> 00:48:11,880
And so now, like that helps you look back.

692
00:48:11,880 --> 00:48:15,120
I think as we talk to these governance type of things, like, like, what would be that

693
00:48:15,120 --> 00:48:16,120
percentage?

694
00:48:16,120 --> 00:48:19,800
Like, where does it become, where does it become a threat where we would, you know, kind of

695
00:48:19,800 --> 00:48:25,040
stuff that it's, it's always interesting to have like a viewpoint and some kind of guidelines

696
00:48:25,040 --> 00:48:26,040
around this.

697
00:48:26,040 --> 00:48:29,280
But there's at some point, I think all those guidelines sometimes go out the window, right?

698
00:48:29,280 --> 00:48:31,680
Because there's just so much of a threat that needs to happen.

699
00:48:31,680 --> 00:48:36,680
So I know, I know you went through a bit, a bit of a root cause at OsmoCon.

700
00:48:36,680 --> 00:48:40,040
There's a YouTube video of that up and you kind of talked a little bit around that.

701
00:48:40,040 --> 00:48:44,600
So you guys published like a, like an in-depth root cause analysis of what actually failed.

702
00:48:44,600 --> 00:48:49,920
And I think the follow up to that is like, what can validators do?

703
00:48:49,920 --> 00:48:55,080
You know, like, like how we talked about, I think also back on the Juno issue with Prop

704
00:48:55,080 --> 00:48:59,960
20 when there was a mistake on the burn address or not the burn address, but the transfer

705
00:48:59,960 --> 00:49:04,120
address in the contract and like how do, how does, how do we build like better processes

706
00:49:04,120 --> 00:49:06,920
for making sure that those types of things don't happen?

707
00:49:06,920 --> 00:49:09,120
Right.

708
00:49:09,120 --> 00:49:14,880
So we'll do a proper like, we're still working on like a full bug report that kind of explains

709
00:49:14,880 --> 00:49:17,160
like, Hey, here's exactly what went wrong.

710
00:49:17,160 --> 00:49:18,840
I mean, it was kind of simple.

711
00:49:18,840 --> 00:49:25,360
It was what was happening was when you, when you do an ad liquidity, basically it does,

712
00:49:25,360 --> 00:49:30,040
it does what it does is it takes, you know, you have two assets, but they're not exactly

713
00:49:30,040 --> 00:49:33,240
at the same ratio as the spot price of the pool.

714
00:49:33,240 --> 00:49:35,920
So what it would do is it would do two steps.

715
00:49:35,920 --> 00:49:42,520
It would first take 50%, you know, it would match the even amount based off of the smaller

716
00:49:42,520 --> 00:49:48,200
asset and then it would take the excess and then do a trade against the pool to like get

717
00:49:48,200 --> 00:49:50,720
it to a 50-50 and then add the rest in.

718
00:49:50,720 --> 00:49:55,840
And just in that calculation, we double counted the larger side basically.

719
00:49:55,840 --> 00:50:01,400
And so that's what caused it to have slightly more, that's what caused it to give out 50%

720
00:50:01,400 --> 00:50:02,400
more LP shares.

721
00:50:02,400 --> 00:50:08,200
This was, you know, I mean, I, I mean, there's the bug itself, but I think what's more important

722
00:50:08,200 --> 00:50:11,560
is like how, why the bug got in.

723
00:50:11,560 --> 00:50:17,000
I think that there's like a lot of, you know, I think part of it was like, I mean, I'll

724
00:50:17,000 --> 00:50:21,400
admit that I think our team was rushing quite a bit in the last like one month ever since

725
00:50:21,400 --> 00:50:22,720
like the terror collapse.

726
00:50:22,720 --> 00:50:28,920
Basically there's been this like, on like new slew of like developers coming on to

727
00:50:28,920 --> 00:50:35,360
Osmosis and we were kind of, you know, the, we kind of rushed this v9 upgrade because

728
00:50:35,360 --> 00:50:39,440
we wanted to get the token factory module in so that way these developers could start

729
00:50:39,440 --> 00:50:42,080
doing stuff with it.

730
00:50:42,080 --> 00:50:45,920
And I think we, so we didn't go through like the normal testing processes we normally do

731
00:50:45,920 --> 00:50:51,440
or like we, you know, we never, we didn't connect the front end to the test map in the

732
00:50:51,440 --> 00:50:52,440
way, right?

733
00:50:52,440 --> 00:50:54,480
How we, how we normally would.

734
00:50:54,480 --> 00:50:55,480
Right.

735
00:50:55,480 --> 00:51:00,880
And so yeah, there's all these sort of things that like, you know, we kind of get into properly

736
00:51:00,880 --> 00:51:05,120
and then in general, I think the biggest thing that that's important going forward though

737
00:51:05,120 --> 00:51:13,080
is like making sure these, we have more better documentation and like understandability of

738
00:51:13,080 --> 00:51:14,080
the code.

739
00:51:14,080 --> 00:51:22,120
Like I think right now, you know, there's the Linus Torval code about like giving enough

740
00:51:22,120 --> 00:51:26,800
eyes all bugs are shallow and like right now it's hard to get more eyes on the code just

741
00:51:26,800 --> 00:51:31,560
because it is sort of not as well documented as we would like.

742
00:51:31,560 --> 00:51:36,960
There, and so we try one thing we did with the validators on the v10 upgrade was we kind

743
00:51:36,960 --> 00:51:41,400
of like offer, we did a zoom call where we walked through like, Hey, here's all the changes,

744
00:51:41,400 --> 00:51:44,960
here's the bug, here's all the changes that we're making as part of this upgrade.

745
00:51:44,960 --> 00:51:48,160
And that's like really helpful because like it just gives more people are able to ask

746
00:51:48,160 --> 00:51:55,760
questions, the one of the validators who used to be an auditor, he was like providing some

747
00:51:55,760 --> 00:52:00,000
feedback of like, Hey, I think you can improve your like the way you do like the tests here

748
00:52:00,000 --> 00:52:01,000
and stuff.

749
00:52:01,000 --> 00:52:04,400
So that was really helpful.

750
00:52:04,400 --> 00:52:07,960
And this in general, like I think having better code comments and stuff is like, so when other

751
00:52:07,960 --> 00:52:13,320
people are doing code reviews, when we're emerging PRs, I think that's like, you know,

752
00:52:13,320 --> 00:52:17,280
without these like comments and stuff that's hard to do proper code reviews.

753
00:52:17,280 --> 00:52:21,120
So basically, we're doing a couple of sprints right now where we're not like working on

754
00:52:21,120 --> 00:52:26,720
new features or anything, we're just like spending the next couple sprints just on improving

755
00:52:26,720 --> 00:52:31,720
our docs and comments and test coverage and stuff.

756
00:52:31,720 --> 00:52:39,640
So sunny, just on like testing and and code commenting, right?

757
00:52:39,640 --> 00:52:46,960
And I mean, unless you're like a bit of a gun on go, it's basically unreadable to anyone.

758
00:52:46,960 --> 00:52:56,960
So like, I, I started to learn coding like back when I was before uni, right?

759
00:52:56,960 --> 00:53:03,280
And when they were teaching me, like, they used to teach that, you know, without comments,

760
00:53:03,280 --> 00:53:10,480
you know, things are very hard to come back and look at later on ends, and you know, structuring

761
00:53:10,480 --> 00:53:11,960
code and all that type of stuff.

762
00:53:11,960 --> 00:53:19,680
Do you think that nowadays, that's not really that prevalent that people are looking at

763
00:53:19,680 --> 00:53:23,960
their code from the point of view of other people being able to read it later and being

764
00:53:23,960 --> 00:53:29,960
able to work on it later and commenting and and providing like context for other modules

765
00:53:29,960 --> 00:53:33,440
and stuff that interacts with and that type of stuff?

766
00:53:33,440 --> 00:53:35,680
I mean, it's not like we're not doing it.

767
00:53:35,680 --> 00:53:38,920
I think we could definitely be doing a better job at it.

768
00:53:38,920 --> 00:53:39,920
Yeah.

769
00:53:39,920 --> 00:53:46,000
And some of the modules that we've written, you know, I think it'll be very difficult

770
00:53:46,000 --> 00:53:49,920
for someone else to come pick it up and like start.

771
00:53:49,920 --> 00:53:50,920
It's very difficult.

772
00:53:50,920 --> 00:53:55,520
And part of it is, I think the Cosmos SDK has a lot of room for improvement on just

773
00:53:55,520 --> 00:54:01,680
like, this is so much boilerplate code in the Cosmos SDK that makes it very hard to

774
00:54:01,680 --> 00:54:05,640
like review things and like follow along with what's going on.

775
00:54:05,640 --> 00:54:11,400
Like removing a lot of that boilerplate, I think is like a big sort of design goal for

776
00:54:11,400 --> 00:54:13,880
that for the Cosmos SDK.

777
00:54:13,880 --> 00:54:21,000
So could you maybe just walk us through a little bit about the design process that is

778
00:54:21,000 --> 00:54:24,960
Osmosis because you guys are obviously all in the same, well, mostly probably all in

779
00:54:24,960 --> 00:54:28,760
the same area and and work out of a location, right?

780
00:54:28,760 --> 00:54:35,200
Do you know where we're like fully geo distributed across everywhere?

781
00:54:35,200 --> 00:54:42,280
So do you guys do like, do you develop like pseudo code and flows and stuff before you

782
00:54:42,280 --> 00:54:43,680
actually start coding?

783
00:54:43,680 --> 00:54:50,960
Like is there a process about how you look at what you want to do and then, you know,

784
00:54:50,960 --> 00:54:55,640
modularize it and do various bits and pieces and organize it before you start coding?

785
00:54:55,640 --> 00:54:58,320
I mean, you guys just straight into it and then debug.

786
00:54:58,320 --> 00:55:04,120
Well, usually try to write a spec, like be like, okay, here's the general messages that

787
00:55:04,120 --> 00:55:11,120
we want the but it's definitely not as low level as a, you know, definitely nowhere close

788
00:55:11,120 --> 00:55:15,200
to like pseudo code and like here's what what we'll be doing.

789
00:55:15,200 --> 00:55:19,760
It's more of like sort of interface design first and then going and implementing stuff.

790
00:55:19,760 --> 00:55:26,480
So, you know, these are things that we're going to be trying to improve on and like

791
00:55:26,480 --> 00:55:31,520
oftentimes like, yeah, I think there was, I think we've just been putting a lot of emphasis

792
00:55:31,520 --> 00:55:36,280
on like velocity and just like speed of getting things shipped.

793
00:55:36,280 --> 00:55:40,520
And I think that we need to like it a little bit slower on that and like make sure we're

794
00:55:40,520 --> 00:55:47,440
spending that like ideally we want all these like workflow and everything but like we just

795
00:55:47,440 --> 00:55:53,360
didn't have them because of that, you know, we were trying to get stuff out faster basically.

796
00:55:53,360 --> 00:55:59,760
So correct me if I'm wrong, but the upgrade that had this issue, there was quite a big

797
00:55:59,760 --> 00:56:03,520
ray factor that went on in that module.

798
00:56:03,520 --> 00:56:04,520
Yeah.

799
00:56:04,520 --> 00:56:05,520
Yeah.

800
00:56:05,520 --> 00:56:10,640
So that was sort of a generalization of the AMM module where currently earlier version

801
00:56:10,640 --> 00:56:15,400
of the AMM module, like it was only for like the current balancer style AMMs, but then

802
00:56:15,400 --> 00:56:22,200
we basically made an interface for AMM so that way we can add other pool types like

803
00:56:22,200 --> 00:56:24,040
the stable swap and things like that.

804
00:56:24,040 --> 00:56:25,480
So that's sort of why.

805
00:56:25,480 --> 00:56:31,040
Yeah, so then we actually removed the stable swap code from the upgrade because we realized

806
00:56:31,040 --> 00:56:34,720
that we didn't have enough time to like test it properly.

807
00:56:34,720 --> 00:56:41,000
But we didn't, we kept the actual refactor itself of the AMM when that wasn't really

808
00:56:41,000 --> 00:56:45,400
the main part of the thing was like that wasn't really the main focus of this upgrade.

809
00:56:45,400 --> 00:56:49,600
We had spent like, which is why we, you know, the main thing was the token factory and stuff

810
00:56:49,600 --> 00:56:51,400
and that's what we had spent a lot of time testing.

811
00:56:51,400 --> 00:56:56,360
And then even within the refactor, like we made big changes to how single-sided liquidity

812
00:56:56,360 --> 00:56:57,360
adding works.

813
00:56:57,360 --> 00:57:02,360
And so we had a lot of tests written for that, but not for like the very simple things which

814
00:57:02,360 --> 00:57:06,880
we thought like, hey, you know, we did actually change the functionality here.

815
00:57:06,880 --> 00:57:07,880
Right.

816
00:57:07,880 --> 00:57:08,880
Yeah.

817
00:57:08,880 --> 00:57:09,880
Okay.

818
00:57:09,880 --> 00:57:20,960
So going forward, like especially on big refactors and added like functionality, do you guys plan

819
00:57:20,960 --> 00:57:26,240
to like have a gateway process where, you know, you have to meet certain criteria before

820
00:57:26,240 --> 00:57:29,200
you're going to push things to the main net?

821
00:57:29,200 --> 00:57:35,120
Like, you know, for example, going to your test net, getting, you know, a certain amount

822
00:57:35,120 --> 00:57:41,160
of volume of testing on certain functionality before you even think about pushing it to

823
00:57:41,160 --> 00:57:45,880
a main net rather than reducing the YOLO approach a little bit.

824
00:57:45,880 --> 00:57:46,880
Yeah.

825
00:57:46,880 --> 00:57:50,640
We're definitely going to have like more, you know, have the test net running for longer.

826
00:57:50,640 --> 00:57:55,080
Like I think this time the test net was running for like a day or two before we did the upgrade.

827
00:57:55,080 --> 00:57:56,760
And like I said, we didn't connect the front end to it.

828
00:57:56,760 --> 00:58:02,880
So it's kind of hard to, it was hard for me to really test against it.

829
00:58:02,880 --> 00:58:10,480
On top of that, yeah, you know, just working like thinking about like new like test, testing

830
00:58:10,480 --> 00:58:12,640
models to make sure things are tested.

831
00:58:12,640 --> 00:58:16,560
You know, one of our advisors was telling us about this, like thing called mutation

832
00:58:16,560 --> 00:58:23,640
testing where what it does is it like modifies your code and checks to make sure that tests

833
00:58:23,640 --> 00:58:25,640
should break if it modifies your code.

834
00:58:25,640 --> 00:58:30,400
And so that's like a way of testing to make sure your test frame, your test, your, your

835
00:58:30,400 --> 00:58:33,080
test actually had enough coverage.

836
00:58:33,080 --> 00:58:34,080
Yeah.

837
00:58:34,080 --> 00:58:35,080
Yeah.

838
00:58:35,080 --> 00:58:41,600
Because it would be quite difficult to build like a test suite to automatically test like

839
00:58:41,600 --> 00:58:48,000
all the, all the different scenarios in, in like these networks and it'd be really hard

840
00:58:48,000 --> 00:58:51,800
and it would break every time you like made an upgrade.

841
00:58:51,800 --> 00:58:57,200
One thing that we kind of, a tool that's like in our toolkit that we kind of have, you know,

842
00:58:57,200 --> 00:59:03,200
haven't used because basically I think the SDK needs to like go, we need to go like

843
00:59:03,200 --> 00:59:06,200
improve it again, which is the simulator.

844
00:59:06,200 --> 00:59:11,200
So the simulator basically allows you to like, you know, it'll automatically spam different

845
00:59:11,200 --> 00:59:14,680
transactions and you can set invariants that will check that like, Hey, these are invariants

846
00:59:14,680 --> 00:59:15,960
that should be broken.

847
00:59:15,960 --> 00:59:20,640
We, you know, early, you know, early on we were using it pretty heavily, but then it

848
00:59:20,640 --> 00:59:25,420
just became sort of like unwieldy and unmaintainable that we kind of like stopped using it.

849
00:59:25,420 --> 00:59:30,680
And so I think we need to go spend time on like, like fixing the problems that we had

850
00:59:30,680 --> 00:59:35,240
with the simulator so we can make it so we can start using it again.

851
00:59:35,240 --> 00:59:37,440
A simulator is some.

852
00:59:37,440 --> 00:59:39,840
Oh, we'll ask them.

853
00:59:39,840 --> 00:59:45,240
I think that you would need to build.

854
00:59:45,240 --> 00:59:46,360
You wouldn't be able to leave it.

855
00:59:46,360 --> 00:59:51,760
You couldn't say you couldn't do a month of development and then go back and, you know,

856
00:59:51,760 --> 00:59:56,360
if you really want your simulator to be robust, you would need to pretty much do it in parallel

857
00:59:56,360 --> 00:59:58,760
with your code development, in my opinion.

858
00:59:58,760 --> 00:59:59,760
Yeah.

859
00:59:59,760 --> 01:00:04,680
Like, I mean, based on what we would do is make it so anytime PRs are merged, it has

860
01:00:04,680 --> 01:00:09,080
to come with like, you know, the proper simulator changes as well.

861
01:00:09,080 --> 01:00:10,080
Right.

862
01:00:10,080 --> 01:00:11,080
Yeah.

863
01:00:11,080 --> 01:00:12,080
Yeah, for sure.

864
01:00:12,080 --> 01:00:13,840
So keep in mind, all this I'm talking, I'm not a coder.

865
01:00:13,840 --> 01:00:18,240
I'm just, I'm only talking about what I know about.

866
01:00:18,240 --> 01:00:26,320
So I'm going to sit back and see if Shilty or Yusuba have any more to say on that particular

867
01:00:26,320 --> 01:00:27,320
subject.

868
01:00:27,320 --> 01:00:28,440
I'm definitely a little curious.

869
01:00:28,440 --> 01:00:33,280
I know, Sunny, you and the Osmosis team have gone a little bit flack for not having a test

870
01:00:33,280 --> 01:00:34,280
coverage.

871
01:00:34,280 --> 01:00:38,320
I'm curious what test coverage looks like in the blockchain space right now.

872
01:00:38,320 --> 01:00:43,520
And if there's like, if there's any sort of like QA process that's normalized, if there's,

873
01:00:43,520 --> 01:00:48,600
you know, like, I don't think I've ever seen a blockchain test engineer, right?

874
01:00:48,600 --> 01:00:54,720
Is that just considered kind of uncommon at this point at this time in the, in the blockchain

875
01:00:54,720 --> 01:00:57,240
ecosystem?

876
01:00:57,240 --> 01:01:01,160
I'm not really sure like how other chains do it, but I mean, yeah, like, you know, like

877
01:01:01,160 --> 01:01:06,440
I said, we're going to be adding like, you know, we're hiring someone to just do QA,

878
01:01:06,440 --> 01:01:11,520
like in the sense that like, hey, you know, just playing around like with the test net

879
01:01:11,520 --> 01:01:15,920
basically and like using the UI and like just trying to find bugs, not just on the chain

880
01:01:15,920 --> 01:01:21,400
side, but also like on the front end side and make sure those bugs are like found before

881
01:01:21,400 --> 01:01:26,160
they go to prod basically, like, you know, we did that big giant like front end refactor

882
01:01:26,160 --> 01:01:28,520
and like, you know, it went pretty smoothly.

883
01:01:28,520 --> 01:01:31,880
But like, you know, even once we pushed the prod, there was like all these like, you know,

884
01:01:31,880 --> 01:01:34,160
got a lot of bug reports and stuff that we were able to fix.

885
01:01:34,160 --> 01:01:39,040
But like having that stuff like be found before then is important.

886
01:01:39,040 --> 01:01:47,040
Yeah, I'm not sure what like what the standards are on other chains, to be honest.

887
01:01:47,040 --> 01:01:50,560
I mean, part of it is that like, you know, we we've been trying to move faster than like

888
01:01:50,560 --> 01:01:56,240
other chains where, you know, things like Ethereum have these like really long development

889
01:01:56,240 --> 01:02:04,440
life cycles where they like upgrade once, you know, a year at best and and I know they

890
01:02:04,440 --> 01:02:09,960
spent a lot of time testing everything they have like months and months of test nets before

891
01:02:09,960 --> 01:02:10,960
anything goes live.

892
01:02:10,960 --> 01:02:17,720
So, you know, I think, yeah, we're probably gonna want to like slow down.

893
01:02:17,720 --> 01:02:21,800
You know, I think we've done an almost we've been trying to aim for like one almost like

894
01:02:21,800 --> 01:02:24,000
one upgrade every one and a half months.

895
01:02:24,000 --> 01:02:29,520
And so we have to figure out how to like either slow that down or be like figure out how to

896
01:02:29,520 --> 01:02:36,200
like, yeah, like just kind of like planning for like what goes into upgrades better.

897
01:02:36,200 --> 01:02:39,520
And now that the functionality is growing, we'll talk, we can switch gears and talk a

898
01:02:39,520 --> 01:02:40,760
little bit about the future as well.

899
01:02:40,760 --> 01:02:42,720
But then functionality is going to keep growing.

900
01:02:42,720 --> 01:02:47,920
So this idea of a growing regression test, test suite should absolutely needs to be there.

901
01:02:47,920 --> 01:02:48,920
Right.

902
01:02:48,920 --> 01:02:52,120
I mean, you know, you're gonna have these, these modules are not independent, right?

903
01:02:52,120 --> 01:02:55,440
Now there's a lot more integration between modules and you're gonna have lending and

904
01:02:55,440 --> 01:02:57,720
all these other types of things that we're talking about and they're gonna have integration

905
01:02:57,720 --> 01:03:03,400
across the board where even the simple like you said in this one, this was like a, you

906
01:03:03,400 --> 01:03:08,880
were testing new parts of that, of that, of that bonding, but not the very simple use cases,

907
01:03:08,880 --> 01:03:09,880
right?

908
01:03:09,880 --> 01:03:11,520
That's just a, that's just a, that's a regression test, right?

909
01:03:11,520 --> 01:03:12,520
That's all that is.

910
01:03:12,520 --> 01:03:17,080
And so now, I know that then then you that that's starting to be building into into those

911
01:03:17,080 --> 01:03:18,320
release plans and everything else.

912
01:03:18,320 --> 01:03:20,160
It's like turning into a big company, right?

913
01:03:20,160 --> 01:03:21,160
So yeah.

914
01:03:21,160 --> 01:03:23,080
All these growing paint type things.

915
01:03:23,080 --> 01:03:25,320
But we were, we talked about this a few weeks ago too.

916
01:03:25,320 --> 01:03:31,000
And when, I think when the, when Juno Prop 20 or 21 came around and we, I think of the

917
01:03:31,000 --> 01:03:34,760
conversation with here is it, is it better to, to move fast and break things or is it

918
01:03:34,760 --> 01:03:38,360
better to write and be able to fix things as they come?

919
01:03:38,360 --> 01:03:42,760
Or is it better to, you know, have really long breaks in there where you're, you know,

920
01:03:42,760 --> 01:03:44,080
doing months and months of testing?

921
01:03:44,080 --> 01:03:48,320
And I think, I think every, every chain will find the balance between those two, right?

922
01:03:48,320 --> 01:03:50,760
Like just depending on what you guys are doing and what's going on.

923
01:03:50,760 --> 01:03:51,760
Yeah.

924
01:03:51,760 --> 01:03:53,760
So switching gears, go ahead.

925
01:03:53,760 --> 01:03:54,760
I'll say, please.

926
01:03:54,760 --> 01:03:58,840
I was just saying, I think, well, I kind of kind of kind of relate to the, while you're

927
01:03:58,840 --> 01:04:03,840
like the future stuff, but it's like, I think one thing, a nice thing with like the bear

928
01:04:03,840 --> 01:04:08,800
market is like, you know, we can spend, we can move a little bit slower and like, I feel

929
01:04:08,800 --> 01:04:12,800
and then they kind of relate to like future development as well in the sense that like,

930
01:04:12,800 --> 01:04:18,160
there's also, there's all these like features that like we've wanted to build, but we know

931
01:04:18,160 --> 01:04:23,040
these are like long timeframe things they take, they, they're going to take on the order

932
01:04:23,040 --> 01:04:27,840
of like three to six months, but we had to, we kept prioritizing the one or two months

933
01:04:27,840 --> 01:04:31,640
like faster wins instead of those like longer term things.

934
01:04:31,640 --> 01:04:36,000
And but now we can go spend time on these like more long-term things.

935
01:04:36,000 --> 01:04:38,640
Let's talk about this long-term things.

936
01:04:38,640 --> 01:04:44,400
So you want to talk about like what's coming up next and, and some of the, some of the

937
01:04:44,400 --> 01:04:45,640
plans and thoughts related to that.

938
01:04:45,640 --> 01:04:47,680
I know these guys had some questions related to that too.

939
01:04:47,680 --> 01:04:49,720
Yeah, sure.

940
01:04:49,720 --> 01:04:56,680
So we have, you know, a couple of things coming up, you know, one, for example, is the threshold

941
01:04:56,680 --> 01:04:57,680
encryption, right?

942
01:04:57,680 --> 01:05:01,920
That's like a long-term thing that like, that was actually the original reason why Osmosis

943
01:05:01,920 --> 01:05:06,880
was started was we wanted to build like privacy in the mempool so that way there's no front

944
01:05:06,880 --> 01:05:09,000
running that could happen.

945
01:05:09,000 --> 01:05:13,280
And so we designed this whole threshold encryption solution.

946
01:05:13,280 --> 01:05:18,760
And then we've start build out pieces of it, but like it's just something we know is a

947
01:05:18,760 --> 01:05:20,640
six month long project.

948
01:05:20,640 --> 01:05:24,120
So we haven't been able to dedicate fully towards like, you know, making sure that's

949
01:05:24,120 --> 01:05:26,160
like what we're shipping.

950
01:05:26,160 --> 01:05:27,360
So that's one.

951
01:05:27,360 --> 01:05:35,520
But then there's also like order books, definitely, you know, I think that passive AMMs are good

952
01:05:35,520 --> 01:05:42,240
for the tail end and bootstrapping of new markets, which is what a lot of the Cosmos

953
01:05:42,240 --> 01:05:48,480
ecosystem has been right now, but that as we bring in assets like ETH and WBTC and all

954
01:05:48,480 --> 01:05:53,680
these like larger assets, you know, we need more cuts that are use of the liquidity than

955
01:05:53,680 --> 01:05:56,800
like AMMs can provide and traditionally AMMs can provide.

956
01:05:56,800 --> 01:06:00,720
So definitely going down like building an order book style system.

957
01:06:00,720 --> 01:06:06,320
So look, and it's going to end up looking more like Unisop v3 more than like what your

958
01:06:06,320 --> 01:06:11,920
people, that's like Unisop v3 is the right way to build on chain order books basically.

959
01:06:11,920 --> 01:06:15,960
So that's kind of we're going to be building that out.

960
01:06:15,960 --> 01:06:20,200
So describe, take a second to describe that that's you're basically creating a swap situation

961
01:06:20,200 --> 01:06:23,720
between it's almost like a limit order, if I understand it correctly, right?

962
01:06:23,720 --> 01:06:28,200
You're setting like a boundary to say I'm okay to swap as long as that it's within this

963
01:06:28,200 --> 01:06:29,200
area, right?

964
01:06:29,200 --> 01:06:30,960
So I'm not, is that, is that right?

965
01:06:30,960 --> 01:06:33,640
Is that layman's version of that?

966
01:06:33,640 --> 01:06:34,640
Yeah.

967
01:06:34,640 --> 01:06:40,440
So what it is is, so how Unisop v3 works is when you put a you know, normal AMM you put

968
01:06:40,440 --> 01:06:46,400
your liquidity, you're basically putting your liquidity on this like full range.

969
01:06:46,400 --> 01:06:52,440
You can imagine like on, yeah, you're basically putting it full range where like you're saying

970
01:06:52,440 --> 01:06:57,800
that, hey, your market making, no matter what the price goes to, you want to maintain some

971
01:06:57,800 --> 01:07:03,000
ratio 50-50 ratio at all prices.

972
01:07:03,000 --> 01:07:08,080
What the concentrated liquidity would say is, hey, you know, it's like, let's say this

973
01:07:08,080 --> 01:07:11,400
is a pool for a stablecoin, stablecoin pair, right?

974
01:07:11,400 --> 01:07:16,360
You know, we have our stable swap that should be coming much sooner, but like another way

975
01:07:16,360 --> 01:07:18,960
you could do it is you can just say, hey, I'm going to put all my liquidity in this

976
01:07:18,960 --> 01:07:24,960
tight band of between like 95 cents and a dollar five cents.

977
01:07:24,960 --> 01:07:29,960
And that way, what will happen is if the, you're basically using all your liquidity

978
01:07:29,960 --> 01:07:35,160
there that decreases the slippage in that bound, but if the price goes outside of that

979
01:07:35,160 --> 01:07:38,960
band, you end up holding all of one of the assets.

980
01:07:38,960 --> 01:07:42,080
So the less work.

981
01:07:42,080 --> 01:07:46,920
And so this is actually, and what will usually happen is, you know, market makers will like,

982
01:07:46,920 --> 01:07:51,040
you know, keep readjusting which bands they're providing liquidity over.

983
01:07:51,040 --> 01:07:54,720
But if you want to be more passive, you can do that as well.

984
01:07:54,720 --> 01:07:59,120
You can say, hey, I want to be a liquidity provider over a wider band or even full range

985
01:07:59,120 --> 01:08:01,680
if you want.

986
01:08:01,680 --> 01:08:05,480
One thing you could do though is you can, these things are kind, if you notice it's

987
01:08:05,480 --> 01:08:12,680
kind of like a limit order where if, let's say the price is at $1, you have a band from

988
01:08:12,680 --> 01:08:17,000
like $1, five cents or $1.10.

989
01:08:17,000 --> 01:08:22,040
And then if the price goes up to $1.20, you end up holding all of the token at that $1.10

990
01:08:22,040 --> 01:08:23,040
price.

991
01:08:23,040 --> 01:08:28,160
But the price goes back through the other direction, you end up undoing that trade because, you

992
01:08:28,160 --> 01:08:32,680
know, you're LP, you're making the market on both sides.

993
01:08:32,680 --> 01:08:38,320
What you could do is if you wanted to, you could have it act more like a limit order

994
01:08:38,320 --> 01:08:44,080
where you say, okay, once it passes through the tick one time, remove liquidity from that.

995
01:08:44,080 --> 01:08:48,920
If you wanted to, you can have it automatically removed from that pool and that it acts like

996
01:08:48,920 --> 01:08:50,160
a limit order basically.

997
01:08:50,160 --> 01:08:55,160
And so it's nice because it basically is a way of building these like kind of limit

998
01:08:55,160 --> 01:08:58,720
orders on top of an AMM.

999
01:08:58,720 --> 01:09:05,940
Now the reason this is better than like a traditional order book is like, it's unclear

1000
01:09:05,940 --> 01:09:10,040
whether traditional order books can actually scale on blockchains, right?

1001
01:09:10,040 --> 01:09:18,720
Like even your centralized exchanges, though they're like clusters of GPUs at times of

1002
01:09:18,720 --> 01:09:21,600
peak throughput and they struggle to keep up, right?

1003
01:09:21,600 --> 01:09:28,040
And like on Solana, serum works at normal times, but unclear if it works at peak times.

1004
01:09:28,040 --> 01:09:31,880
You know, I mean, DYDX, you know, we saw that they just announced that they're coming to

1005
01:09:31,880 --> 01:09:32,880
class.

1006
01:09:32,880 --> 01:09:35,600
So, I mean, what they're doing though is to solve this, is they're actually not running

1007
01:09:35,600 --> 01:09:37,520
the order book on chain.

1008
01:09:37,520 --> 01:09:40,440
They're going to be running order books in the mem pools.

1009
01:09:40,440 --> 01:09:45,920
Every validator sort of has their own mem pool order book and then only settled trades

1010
01:09:45,920 --> 01:09:46,920
go on chain.

1011
01:09:46,920 --> 01:09:50,520
I think that actually probably will help solve a lot of the scalability problems.

1012
01:09:50,520 --> 01:09:55,920
I think that comes with a huge host of MEV problems.

1013
01:09:55,920 --> 01:10:02,880
But the concentrated liquidity design is how you, what it allows you to do is it allows

1014
01:10:02,880 --> 01:10:05,840
you to do bigger tick sizes.

1015
01:10:05,840 --> 01:10:12,560
So let's say instead of like 0.1 cent ticks, it will be 1 cent ticks, but because intra

1016
01:10:12,560 --> 01:10:14,400
tick there is built in slippage.

1017
01:10:14,400 --> 01:10:20,440
So it'll basically is a way of making on chain order books more scalable.

1018
01:10:20,440 --> 01:10:23,680
So with that, would you have been able to protect yourself in some fashion from the

1019
01:10:23,680 --> 01:10:33,800
Terra Luna drop if you had said it such that if Terra goes from $90 to $85, you exit automatically?

1020
01:10:33,800 --> 01:10:38,080
Is that a potential thing you could?

1021
01:10:38,080 --> 01:10:39,560
That would actually be a little bit different.

1022
01:10:39,560 --> 01:10:44,360
That would be more like a stop order, not a limit order.

1023
01:10:44,360 --> 01:10:50,120
A limit order would be worse because you would have, let's say you, let's say you were a

1024
01:10:50,120 --> 01:10:57,280
limit order in the, let's say there was a USDC, USD pool, or let's say there was the

1025
01:10:57,280 --> 01:10:59,280
USD Euro pool, right?

1026
01:10:59,280 --> 01:11:03,360
You might have been on a much tighter bound and you could have actually lost more because

1027
01:11:03,360 --> 01:11:07,640
you were, you concentrated your liquidity more there.

1028
01:11:07,640 --> 01:11:12,120
Stop orders are slightly different, which there is a team building them on Osmosis right

1029
01:11:12,120 --> 01:11:14,480
now called autonomy.

1030
01:11:14,480 --> 01:11:18,360
And I think stop orders will get better, especially when you can start to put them, you can put

1031
01:11:18,360 --> 01:11:20,760
them on chain with like threshold encryption.

1032
01:11:20,760 --> 01:11:25,960
The problem with putting them on chain directly right now is there's people are going to go

1033
01:11:25,960 --> 01:11:30,040
stop order, stop order hunting where, you know, they're going to see the kind of like

1034
01:11:30,040 --> 01:11:33,280
what's happening on the theorem right now with all these like liquidation hunting.

1035
01:11:33,280 --> 01:11:38,680
It's going to be like similar with like the stop orders as well.

1036
01:11:38,680 --> 01:11:40,560
Okay.

1037
01:11:40,560 --> 01:11:44,680
And what's, what's beyond that, Sonny?

1038
01:11:44,680 --> 01:11:46,680
What's next after that?

1039
01:11:46,680 --> 01:11:47,920
Oh, yeah.

1040
01:11:47,920 --> 01:11:54,800
Some other stuff, you know, more like better UX features around like wallet and custody

1041
01:11:54,800 --> 01:12:03,280
basically, like, you know, things where, you know, session keys, for example, where you

1042
01:12:03,280 --> 01:12:07,080
should have like different keys that all for the same account, but they have like different

1043
01:12:07,080 --> 01:12:08,720
capabilities to them, right?

1044
01:12:08,720 --> 01:12:15,240
Where, and like all sort of like using off Z, but you can be like, Hey, this key has the,

1045
01:12:15,240 --> 01:12:20,160
you know, it can be in the browser rather than in the wallet, but it like, it can do

1046
01:12:20,160 --> 01:12:24,120
trades but only up to like 5% of your net portfolio.

1047
01:12:24,120 --> 01:12:28,320
Otherwise, it, you know, requires a signature from the wallet and that way, so you don't

1048
01:12:28,320 --> 01:12:31,840
have to like pop out your ledger every time you want to do a single trade or something

1049
01:12:31,840 --> 01:12:32,840
like that.

1050
01:12:32,840 --> 01:12:36,920
So I think that UX experience is like really important.

1051
01:12:36,920 --> 01:12:44,240
There's also going to be things like, you know, like better look to smart wallet integrations

1052
01:12:44,240 --> 01:12:47,440
like social recovery style stuff.

1053
01:12:47,440 --> 01:12:50,960
So yeah, I think that that's one.

1054
01:12:50,960 --> 01:12:58,520
And then also just like new user flows basically, like currently, Osmosis is very much like

1055
01:12:58,520 --> 01:13:03,080
the centralized exchange experience, which is like, Hey, you come deposit assets, you

1056
01:13:03,080 --> 01:13:05,360
do your trade and then you withdraw.

1057
01:13:05,360 --> 01:13:06,360
Yes.

1058
01:13:06,360 --> 01:13:09,840
But we want the native, we want, we also want like the shape shift style experience, which

1059
01:13:09,840 --> 01:13:16,920
is like, Hey, I have ETH on Ethereum, I want Avax on Avalanche.

1060
01:13:16,920 --> 01:13:19,400
How do I do that in a single click?

1061
01:13:19,400 --> 01:13:23,040
Not have to do like all these multiple hops, especially if these users don't even have

1062
01:13:23,040 --> 01:13:27,160
Kepler or something installed, they, all they have is like Metamask.

1063
01:13:27,160 --> 01:13:32,240
So that's something we're working on with the Axlar team of building that out as sort

1064
01:13:32,240 --> 01:13:35,360
of like a full joint project product together.

1065
01:13:35,360 --> 01:13:37,800
So would that also be within the Cosmos?

1066
01:13:37,800 --> 01:13:38,800
Like could you?

1067
01:13:38,800 --> 01:13:43,760
It would be the same where like, Oh, look, you know, you have Juno on Juno and you want

1068
01:13:43,760 --> 01:13:44,760
stars on Stargaze.

1069
01:13:44,760 --> 01:13:47,920
So, you know, that should all just be a single click.

1070
01:13:47,920 --> 01:13:51,480
Me trying to explain the difference between Juno's native chain and Juno on Osmosis to

1071
01:13:51,480 --> 01:13:54,720
my brother-in-law is like, that's like a four day conversation, right?

1072
01:13:54,720 --> 01:13:56,080
Like I'm depositing it.

1073
01:13:56,080 --> 01:13:57,080
I'm depositing it.

1074
01:13:57,080 --> 01:14:01,440
Like even in the same thing with I think another thing you were talking about before

1075
01:14:01,440 --> 01:14:05,920
was on Ramp, which is going through the whole process of getting into Adam and then bringing

1076
01:14:05,920 --> 01:14:06,920
that in.

1077
01:14:06,920 --> 01:14:07,920
What does it mean to deposit and everything else?

1078
01:14:07,920 --> 01:14:11,280
Like that's, you have to get over, there's some real mental hurdles there to get over.

1079
01:14:11,280 --> 01:14:16,440
I think lowering those barriers, I think opens up a giant swath of population, right?

1080
01:14:16,440 --> 01:14:21,880
I think that one of the things kind of holding back the communication there is just how cheap

1081
01:14:21,880 --> 01:14:22,880
it is to IBC.

1082
01:14:22,880 --> 01:14:27,280
I was trying to explain what depositing was someone and they just thought, you know, change

1083
01:14:27,280 --> 01:14:28,280
wallets.

1084
01:14:28,280 --> 01:14:33,720
Well, if you're talking about depositing from like Ethereum to Avax, then we're talking

1085
01:14:33,720 --> 01:14:34,720
$10.

1086
01:14:34,720 --> 01:14:36,640
Now suddenly there's like an impact, right?

1087
01:14:36,640 --> 01:14:38,000
Right, right.

1088
01:14:38,000 --> 01:14:41,760
It's just really, and just weird like dissonance.

1089
01:14:41,760 --> 01:14:45,920
We've been spoiled by how good the UX of IBC is where it's like, oh, okay, you know, every

1090
01:14:45,920 --> 01:14:49,200
time you have to produce a bridge thing, it's like, oh, it's so cheap and fast.

1091
01:14:49,200 --> 01:14:50,200
It doesn't really matter.

1092
01:14:50,200 --> 01:14:51,200
Right.

1093
01:14:51,200 --> 01:14:53,320
And then it's like, well, we're trying to like deposit from Ethereum.

1094
01:14:53,320 --> 01:14:56,000
It's like, oh man, I have to wait 20 minutes and like,

1095
01:14:56,000 --> 01:14:57,600
I gotta think about this.

1096
01:14:57,600 --> 01:14:58,600
Yeah.

1097
01:14:58,600 --> 01:14:59,600
I really gotta be planful.

1098
01:14:59,600 --> 01:15:03,960
Am I moving this or not?

1099
01:15:03,960 --> 01:15:10,680
So I guess, yeah, like definitely with IBC coins, the web of IBC coins is like just going

1100
01:15:10,680 --> 01:15:14,480
to get more and more confusing to people.

1101
01:15:14,480 --> 01:15:16,280
We're like unwinding.

1102
01:15:16,280 --> 01:15:21,080
So we've talked about this before, Sunny, where IBC is very much a thing where you need

1103
01:15:21,080 --> 01:15:23,960
to go back and forth across the same bridge between chains.

1104
01:15:23,960 --> 01:15:32,520
Otherwise, it really starts to get like convoluted in terms of if you send an IBC, say from Juno

1105
01:15:32,520 --> 01:15:39,520
to, so you send a Juno from Juno chain to Osmosis chain and there you've got an IBC

1106
01:15:39,520 --> 01:15:43,240
Juno coin on Osmosis specific to that channel.

1107
01:15:43,240 --> 01:15:49,320
And then you send it to like the Cosmos through another channel on another relayer, then you

1108
01:15:49,320 --> 01:15:52,760
start to end up with the thing that you need to unwind at some point, which I think has

1109
01:15:52,760 --> 01:16:04,360
been avoided like 100% to this point through UI's only really being able to withdraw a deposit

1110
01:16:04,360 --> 01:16:06,480
back through those original chains.

1111
01:16:06,480 --> 01:16:14,720
But so with your plan of making like improving the user experience and being able to, for

1112
01:16:14,720 --> 01:16:24,680
example, one click have a Juno come from Juno chain to become a star on Stargazerite.

1113
01:16:24,680 --> 01:16:30,200
To me, that actually sounds like quite a complex operation.

1114
01:16:30,200 --> 01:16:38,040
And would that be the kind of thing that you'd want to achieve through like ICA or is that

1115
01:16:38,040 --> 01:16:41,080
something that would be a chain of events?

1116
01:16:41,080 --> 01:16:46,040
Because approving a chain of events like that, if you use a ledger would probably be an enormous

1117
01:16:46,040 --> 01:16:47,240
pain in the arse.

1118
01:16:47,240 --> 01:16:52,960
And even if you're just using Kepler, you'd be sitting there pressing the friggin button

1119
01:16:52,960 --> 01:16:54,440
like 10 times.

1120
01:16:54,440 --> 01:16:55,440
Yeah.

1121
01:16:55,440 --> 01:16:56,440
No, no, no.

1122
01:16:56,440 --> 01:16:57,440
So this would be the idea.

1123
01:16:57,440 --> 01:17:02,240
It would be a single transaction that you make and then it like sort of encodes the

1124
01:17:02,240 --> 01:17:05,860
rest of the actions in that initial transaction.

1125
01:17:05,860 --> 01:17:11,600
So it would be like you make your first transaction on Juno and the entire transaction execution

1126
01:17:11,600 --> 01:17:17,960
path is like there where it's like, okay, IBCD Osmosis swap for stars, take however

1127
01:17:17,960 --> 01:17:21,160
much stars you get out and send it to this address on Stargazerite.

1128
01:17:21,160 --> 01:17:25,000
So it'll be like a full end to end sort of thing.

1129
01:17:25,000 --> 01:17:30,680
So just so my chicken-fillip brain can understand this, right?

1130
01:17:30,680 --> 01:17:38,360
So would this be a process whereby you give your custody, you give your token custody to

1131
01:17:38,360 --> 01:17:44,640
like a smart contract or something that would undertake those actions or is this some sort

1132
01:17:44,640 --> 01:17:46,600
of module that can now do that?

1133
01:17:46,600 --> 01:17:50,760
This would just be all the client side where we would just, so what it would do is we would

1134
01:17:50,760 --> 01:17:57,160
create a new ICS, a new interchange standard, which is for this.

1135
01:17:57,160 --> 01:18:05,000
So your website or front end you're interacting with, it will just generate the entire transaction

1136
01:18:05,000 --> 01:18:09,160
and it will get you to sign it once and then it will do the rest of the action.

1137
01:18:09,160 --> 01:18:14,520
So this shouldn't require a Cosmoisome or anything like that.

1138
01:18:14,520 --> 01:18:16,440
Yeah, okay.

1139
01:18:16,440 --> 01:18:17,440
That's interesting.

1140
01:18:17,440 --> 01:18:19,440
I'd very much like to like.

1141
01:18:19,440 --> 01:18:22,440
So have you already written a spec for that or?

1142
01:18:22,440 --> 01:18:26,480
No, this is something that I think the...

1143
01:18:26,480 --> 01:18:30,920
So right now we're not starting with the IBC version, we're starting with the Axelar version

1144
01:18:30,920 --> 01:18:37,320
just because the Axelar team is sort of building out a lot of that actual swap system because

1145
01:18:37,320 --> 01:18:41,680
they actually have a lot of that sort of, a lot of the prerequisites for that already

1146
01:18:41,680 --> 01:18:50,480
built because that's how they do their deposit addresses already where how it works is like,

1147
01:18:50,480 --> 01:18:56,640
you know, Axelar has this feature where you can say, hey, I want to send coins to like

1148
01:18:56,640 --> 01:19:02,640
this Osmosis address, but then it will generate an address and you just send coins to it.

1149
01:19:02,640 --> 01:19:08,160
And what it does is it maps the address that you send to with the user flow, the action

1150
01:19:08,160 --> 01:19:10,760
that you want, which is send to Osmosis.

1151
01:19:10,760 --> 01:19:15,360
But what they're able to do then is they can map that address to something even more complicated,

1152
01:19:15,360 --> 01:19:19,120
which is like do a swap and then send to some destination address.

1153
01:19:19,120 --> 01:19:23,400
So we're going to be sort of piggybacking off of their infrastructure that they've built

1154
01:19:23,400 --> 01:19:26,760
right now for the Axelar thing.

1155
01:19:26,760 --> 01:19:31,560
And then after that, we'll have it work on like native IBC stuff as well.

1156
01:19:31,560 --> 01:19:33,040
Cool, man.

1157
01:19:33,040 --> 01:19:39,760
It sounds like a very difficult and complex project to undertake.

1158
01:19:39,760 --> 01:19:40,760
Yeah.

1159
01:19:40,760 --> 01:19:44,040
We're excited to be doing it.

1160
01:19:44,040 --> 01:19:53,000
I think the Axelar team has built the right infrastructure to make it possible.

1161
01:19:53,000 --> 01:19:58,320
Unless someone else wants to jump in, I had like a brief question you touched on earlier,

1162
01:19:58,320 --> 01:20:09,320
Sonny, about the, I can't remember the term used exactly, but like anonymity in the mempool

1163
01:20:09,320 --> 01:20:10,640
so that you can't be front run.

1164
01:20:10,640 --> 01:20:14,160
Is that to do with bots?

1165
01:20:14,160 --> 01:20:15,160
Yes.

1166
01:20:15,160 --> 01:20:23,760
So you're like introducing some improvements to be able to try and stop the bot front running

1167
01:20:23,760 --> 01:20:25,520
that's going on at the moment.

1168
01:20:25,520 --> 01:20:26,520
Yep.

1169
01:20:26,520 --> 01:20:27,520
Has there been much bot front?

1170
01:20:27,520 --> 01:20:29,640
Have you noticed bot front running on Osmosis?

1171
01:20:29,640 --> 01:20:32,920
I'm curious to see if anyone's doing it.

1172
01:20:32,920 --> 01:20:34,640
I've heard about it.

1173
01:20:34,640 --> 01:20:37,200
I've heard complaints about it draining pools.

1174
01:20:37,200 --> 01:20:43,760
But, you know, I'm not, I don't look into the transactions enough to be able to verify

1175
01:20:43,760 --> 01:20:51,960
anything myself, but I've certainly heard some people complain about it draining pools.

1176
01:20:51,960 --> 01:20:53,800
So, yeah.

1177
01:20:53,800 --> 01:20:59,160
So I think that there probably is people doing bot stuff on Osmosis.

1178
01:20:59,160 --> 01:21:10,680
Oh, sorry.

1179
01:21:10,680 --> 01:21:16,040
So I think like wherever there's an opportunity to do bot stuff, people will do bot stuff.

1180
01:21:16,040 --> 01:21:19,920
And that's just, you know, where there's an opportunity to profit from something people

1181
01:21:19,920 --> 01:21:22,240
will be out there trying to profit from it.

1182
01:21:22,240 --> 01:21:32,280
So yeah, wallet is, there he goes again.

1183
01:21:32,280 --> 01:21:33,280
Freaking Australia.

1184
01:21:33,280 --> 01:21:37,960
The internet froze over there, you know, I think so.

1185
01:21:37,960 --> 01:21:38,960
Like that's it.

1186
01:21:38,960 --> 01:21:39,960
I think he's back.

1187
01:21:39,960 --> 01:21:40,960
He's back.

1188
01:21:40,960 --> 01:21:44,680
In general, I think I'm happy, you know, I'm, I think I'm fine for people to start running

1189
01:21:44,680 --> 01:21:49,800
these bots and stuff right now because, you know, we shouldn't rely on the altruism of

1190
01:21:49,800 --> 01:21:53,480
people to solve it, you know, we need to fix the stuff at the protocol layer through things

1191
01:21:53,480 --> 01:21:54,480
like threshold encryption.

1192
01:21:54,480 --> 01:21:59,120
And, you know, I think in a funny way, it might be good for people to do some front

1193
01:21:59,120 --> 01:22:00,120
running on Osmosis.

1194
01:22:00,120 --> 01:22:05,680
So that way, once we solve it with threshold encryption, people like the solution where,

1195
01:22:05,680 --> 01:22:09,360
you know, there's no pain, there's no point of pain killers.

1196
01:22:09,360 --> 01:22:13,960
So, you know, we need to show people that okay, this MEV issue is actually a big issue.

1197
01:22:13,960 --> 01:22:17,040
And then look, here's the solution.

1198
01:22:17,040 --> 01:22:23,560
Here's the name of the episode, usurper, pain killers for bot stuff.

1199
01:22:23,560 --> 01:22:24,560
Right.

1200
01:22:24,560 --> 01:22:28,400
The other thing that's kind of funny is I think it's a delay or something else, but

1201
01:22:28,400 --> 01:22:32,080
when you, when you say bot stuff, it sounds like butt stuff.

1202
01:22:32,080 --> 01:22:34,840
And so that's even, that's even, it's a little bit of accident there.

1203
01:22:34,840 --> 01:22:39,200
So pain killers for bot stuff might be, I don't know, we make it flag for that one,

1204
01:22:39,200 --> 01:22:40,200
though.

1205
01:22:40,200 --> 01:22:43,200
Now you may not have been on purpose.

1206
01:22:43,200 --> 01:22:44,200
All right.

1207
01:22:44,200 --> 01:22:45,440
Should we wrap up?

1208
01:22:45,440 --> 01:22:48,760
Yeah, so we're getting real close to where we want to be.

1209
01:22:48,760 --> 01:22:53,120
So, yeah, let's, let's wrap up, you sir, but you're good at this.

1210
01:22:53,120 --> 01:22:56,280
Well, is there, maybe we could do a, what are you guys excited about?

1211
01:22:56,280 --> 01:22:59,240
So one thing we kind of wrap up with is a simple question, like, what are you excited

1212
01:22:59,240 --> 01:23:01,800
about in the Cosmos ecosystem this week?

1213
01:23:01,800 --> 01:23:09,520
Are there any coming up in the next, here between now and the next Wednesday or so?

1214
01:23:09,520 --> 01:23:14,000
I'm excited about the pixels on Osmosis.

1215
01:23:14,000 --> 01:23:15,560
Yeah, if you guys have seen that.

1216
01:23:15,560 --> 01:23:17,560
Yeah, we didn't talk about it.

1217
01:23:17,560 --> 01:23:22,320
While I'm on this chat, I'm also like on side drawing a little wasming tin on the

1218
01:23:22,320 --> 01:23:27,440
pixels as well, like every 30, waiting for the, every minute of just like making one

1219
01:23:27,440 --> 01:23:28,440
dot.

1220
01:23:28,440 --> 01:23:32,680
It's, it's addicting and kind of fun.

1221
01:23:32,680 --> 01:23:35,280
So yeah, you know, it's always kind of fun.

1222
01:23:35,280 --> 01:23:38,680
And also just saying, you know, it was supposed to be like, you know, I mean, what, it was

1223
01:23:38,680 --> 01:23:40,840
our birthday surprise for Osmosis.

1224
01:23:40,840 --> 01:23:43,280
So, you know, it was our one year anniversary.

1225
01:23:43,280 --> 01:23:47,080
So that was really, you know, just exciting to see how far we've come in the last year

1226
01:23:47,080 --> 01:23:51,000
and just excited to be going further.

1227
01:23:51,000 --> 01:23:52,000
Yep.

1228
01:23:52,000 --> 01:23:57,680
So firstly, I'm disappointed that we have to end this because I've still got just like

1229
01:23:57,680 --> 01:24:01,600
probably a list of stuff that I could sit here and keep asking.

1230
01:24:01,600 --> 01:24:04,160
So damn it.

1231
01:24:04,160 --> 01:24:09,960
But so my, my thing that I'm excited about this week is it'll be close to the heart of

1232
01:24:09,960 --> 01:24:14,040
80% of the validators out there and I don't know if it's going to be done in the next

1233
01:24:14,040 --> 01:24:22,000
week, but our friend BlockPain is building TenderDuty V2 and that was funded, I believe,

1234
01:24:22,000 --> 01:24:27,200
from an Osmosis grant and whatever it was, it wasn't enough.

1235
01:24:27,200 --> 01:24:28,360
Yeah.

1236
01:24:28,360 --> 01:24:35,840
This is probably the one tool that I think is commonly used just across so many validators

1237
01:24:35,840 --> 01:24:38,440
across so much of Osmosis.

1238
01:24:38,440 --> 01:24:40,840
And that's sorry, of Cosmos.

1239
01:24:40,840 --> 01:24:43,280
And we saw a preview yesterday.

1240
01:24:43,280 --> 01:24:48,360
Shilty, you said for myself would have seen our little snippet of a preview from it yesterday

1241
01:24:48,360 --> 01:24:52,920
and it's looking real nice and I'm excited for that.

1242
01:24:52,920 --> 01:24:55,360
Yeah.

1243
01:24:55,360 --> 01:24:56,360
Really cool.

1244
01:24:56,360 --> 01:24:57,360
Shilty?

1245
01:24:57,360 --> 01:24:58,360
Yeah.

1246
01:24:58,360 --> 01:25:03,960
So I'm in the InterChain's Developer Academy right now and tomorrow is the completion of

1247
01:25:03,960 --> 01:25:04,960
it.

1248
01:25:04,960 --> 01:25:07,440
And so the final exam starts, but I don't know.

1249
01:25:07,440 --> 01:25:11,560
I guess I'm just really excited I've been a part of it because I've been having a lot

1250
01:25:11,560 --> 01:25:16,000
of really great developer discussions with people and potentially going out for grant

1251
01:25:16,000 --> 01:25:17,400
work or...

1252
01:25:17,400 --> 01:25:19,000
What is the InterChain Developers Academy?

1253
01:25:19,000 --> 01:25:20,600
I'm actually not too familiar.

1254
01:25:20,600 --> 01:25:21,600
Yeah.

1255
01:25:21,600 --> 01:25:25,720
So the ICF is funding, I think there's 150 developers to go through this course.

1256
01:25:25,720 --> 01:25:26,720
Oh.

1257
01:25:26,720 --> 01:25:34,480
I think it's academy.cosmos.network and they just provide a step-by-step way of building

1258
01:25:34,480 --> 01:25:37,520
your own chain, running Cosmos and messing with CosmJS.

1259
01:25:37,520 --> 01:25:41,200
There's tests, there's dedicated teachers and can you have a question?

1260
01:25:41,200 --> 01:25:44,160
You can just ask a question and dedicate chats.

1261
01:25:44,160 --> 01:25:45,160
Really fantastic.

1262
01:25:45,160 --> 01:25:47,040
I really enjoy it.

1263
01:25:47,040 --> 01:25:50,120
And this isn't really for next week, but I'm just really excited to have been a part

1264
01:25:50,120 --> 01:25:51,120
of it.

1265
01:25:51,120 --> 01:25:52,120
It was a really great experience.

1266
01:25:52,120 --> 01:25:53,120
Nice.

1267
01:25:53,120 --> 01:25:55,160
Can you flunk it?

1268
01:25:55,160 --> 01:25:56,160
You can flunk it.

1269
01:25:56,160 --> 01:25:57,160
So the first two weeks.

1270
01:25:57,160 --> 01:25:58,160
Really?

1271
01:25:58,160 --> 01:25:59,160
Yes.

1272
01:25:59,160 --> 01:26:02,760
So there's two tests in the beginning and then there is a final exam.

1273
01:26:02,760 --> 01:26:05,440
I think the final exam is the only one you can flunk.

1274
01:26:05,440 --> 01:26:11,920
And the first two are more of gates for whether you actually are engaged in the academy or

1275
01:26:11,920 --> 01:26:12,920
not.

1276
01:26:12,920 --> 01:26:16,680
There's also a pre-test to get in so you actually have to have some developer experience to

1277
01:26:16,680 --> 01:26:17,680
be accepted.

1278
01:26:17,680 --> 01:26:18,680
Wow.

1279
01:26:18,680 --> 01:26:19,680
That's a great job.

1280
01:26:19,680 --> 01:26:20,680
You can.

1281
01:26:20,680 --> 01:26:23,400
And part of that is because they'll help you get a job.

1282
01:26:23,400 --> 01:26:27,640
Once you've actually graduated, so if you pass the final exam, you do the final project,

1283
01:26:27,640 --> 01:26:29,160
then they're going to actively...

1284
01:26:29,160 --> 01:26:33,360
There's already job interviews going on and stuff.

1285
01:26:33,360 --> 01:26:34,360
Cool.

1286
01:26:34,360 --> 01:26:35,360
Very cool.

1287
01:26:35,360 --> 01:26:38,400
Well, if anyone from there is listening and wants to...

1288
01:26:38,400 --> 01:26:41,680
We're definitely still hiring at Osmo says so reach out.

1289
01:26:41,680 --> 01:26:43,400
Well, there might be some...

1290
01:26:43,400 --> 01:26:49,080
I think there's plenty of people hurting at the moment with busted financials.

1291
01:26:49,080 --> 01:26:52,240
So it could be a lot of people looking for jobs.

1292
01:26:52,240 --> 01:26:58,520
So just before we jump to you, Aserpa, I just want to touch on this from Adam Burke.

1293
01:26:58,520 --> 01:27:00,400
What does TenderJudy do?

1294
01:27:00,400 --> 01:27:05,480
So really quickly, TenderJudy is just a...

1295
01:27:05,480 --> 01:27:11,120
It's at the moment, it's a Docker container or just a daemon that runs and it will connect

1296
01:27:11,120 --> 01:27:14,240
to a RPC node somewhere.

1297
01:27:14,240 --> 01:27:20,000
So it'll just connect to the network and it'll basically just ask the network every single

1298
01:27:20,000 --> 01:27:25,360
block, did the validator sign that block and you give the program the validator address.

1299
01:27:25,360 --> 01:27:26,360
It's a really simple program.

1300
01:27:26,360 --> 01:27:30,080
It just asks every block, did he vote, did he vote, did he vote?

1301
01:27:30,080 --> 01:27:35,280
And if it doesn't, it returns and says he didn't vote, then it sends an alert through

1302
01:27:35,280 --> 01:27:40,600
a very commonly used alerting system called pager duty.

1303
01:27:40,600 --> 01:27:42,880
And you get that alert on your phone.

1304
01:27:42,880 --> 01:27:43,880
You can set a threshold.

1305
01:27:43,880 --> 01:27:48,280
So you can say, if I don't sign five blocks, send me an alert.

1306
01:27:48,280 --> 01:27:52,920
And it's a really good early warning system for validators if they start to not vote.

1307
01:27:52,920 --> 01:28:04,000
So a lot of the other systems that we use is more reactive later on where we might be

1308
01:28:04,000 --> 01:28:06,360
getting high memory usage or something like that.

1309
01:28:06,360 --> 01:28:10,320
Some of them, some of the other systems we use might give us early indicators.

1310
01:28:10,320 --> 01:28:15,400
Other things might be catastrophic indicators that are like, something's failed, but TenderJudy

1311
01:28:15,400 --> 01:28:18,640
specifically monitors your signing.

1312
01:28:18,640 --> 01:28:21,360
So as soon as you stop signing, you can be straight onto it.

1313
01:28:21,360 --> 01:28:27,720
And that might be that your node exploded or it might be that there's some other issue

1314
01:28:27,720 --> 01:28:31,680
with your sign or something like that, but it gives you an avenue to start getting there

1315
01:28:31,680 --> 01:28:36,640
straight away and start looking at the cause of the issue.

1316
01:28:36,640 --> 01:28:40,120
So you, Serpa, are you excited about it, brother?

1317
01:28:40,120 --> 01:28:42,520
You're going to rug me here, aren't you?

1318
01:28:42,520 --> 01:28:43,520
That's okay.

1319
01:28:43,520 --> 01:28:48,080
You're more than welcome to.

1320
01:28:48,080 --> 01:28:49,080
One more thing on the TenderJudy.

1321
01:28:49,080 --> 01:28:53,160
The one thing I think that everybody, at least who runs it, really appreciates about it is

1322
01:28:53,160 --> 01:28:57,920
that it's the lowest level you can get to having a notification that something is actually

1323
01:28:57,920 --> 01:28:58,920
wrong.

1324
01:28:58,920 --> 01:29:02,920
There's no other points of failures and other things like Grafana or Xabix or you have an

1325
01:29:02,920 --> 01:29:05,920
agent or you have all this kind of crap, you have a network outage and all this type

1326
01:29:05,920 --> 01:29:06,920
of stuff.

1327
01:29:06,920 --> 01:29:11,280
If you can run multiple of these as well, which I do, I run one in our colo and one outside

1328
01:29:11,280 --> 01:29:16,520
our colo, things like that where you get a pretty, if that thing is going off, something's

1329
01:29:16,520 --> 01:29:19,640
wrong, it's time to get off your butt.

1330
01:29:19,640 --> 01:29:21,520
That makes it extremely, extremely valuable.

1331
01:29:21,520 --> 01:29:29,040
So I'm really glad that Todd has received that from you guys at the Osmosis Foundation.

1332
01:29:29,040 --> 01:29:31,120
Is that right?

1333
01:29:31,120 --> 01:29:32,880
And it's going to be awesome.

1334
01:29:32,880 --> 01:29:33,880
So I'm really excited about it.

1335
01:29:33,880 --> 01:29:36,080
It's just going to help up time, I think, across the board.

1336
01:29:36,080 --> 01:29:39,440
Thank you from the Osmosis Grants Program, not from the Foundation.

1337
01:29:39,440 --> 01:29:40,880
I knew it was the wrong term.

1338
01:29:40,880 --> 01:29:41,880
I was just going to say that.

1339
01:29:41,880 --> 01:29:42,880
Yeah, please.

1340
01:29:42,880 --> 01:29:43,880
Oh, sorry.

1341
01:29:43,880 --> 01:29:44,880
Just on that, Grant.

1342
01:29:44,880 --> 01:29:51,960
I have to say that Todd is so honorable that when you put in for that grant, he said no

1343
01:29:51,960 --> 01:29:53,960
payment until delivery.

1344
01:29:53,960 --> 01:29:54,960
Yeah.

1345
01:29:54,960 --> 01:29:55,960
Yeah.

1346
01:29:55,960 --> 01:30:01,840
Almost every, well, I think every other grant I've seen in there is some upfront and then

1347
01:30:01,840 --> 01:30:03,280
some on delivery.

1348
01:30:03,280 --> 01:30:07,920
And this guy is so honorable that he said, nothing until I deliver the product.

1349
01:30:07,920 --> 01:30:11,640
So that's how it would have, like, and he's hurting at the moment and he's still happy

1350
01:30:11,640 --> 01:30:12,640
to do that.

1351
01:30:12,640 --> 01:30:13,640
So sorry to continue.

1352
01:30:13,640 --> 01:30:14,640
That's OK.

1353
01:30:14,640 --> 01:30:17,960
Plus, I gave him hell because he's building a $100,000 product for a 10K grant.

1354
01:30:17,960 --> 01:30:21,520
I was like, yeah, I've got to work in this over time.

1355
01:30:21,520 --> 01:30:25,360
Like, what he's building, I think it's going to be awesome.

1356
01:30:25,360 --> 01:30:29,640
So I don't have much in terms of test nets or the types of stuff that's going on in the

1357
01:30:29,640 --> 01:30:30,640
ecosystem.

1358
01:30:30,640 --> 01:30:34,200
I think everything's been moving pretty smoothly.

1359
01:30:34,200 --> 01:30:38,040
There's a lot of projects that are starting to kind of fire up new test nets and things

1360
01:30:38,040 --> 01:30:39,040
like that.

1361
01:30:39,040 --> 01:30:41,680
I think the only thing that's exciting about this week, I think we're kind of led the

1362
01:30:41,680 --> 01:30:44,760
conversation around with the governance piece of things and just starting to have better

1363
01:30:44,760 --> 01:30:50,960
conversations both with Jake at the Juno and Liz Validate, your comments saying and everything

1364
01:30:50,960 --> 01:30:51,960
else.

1365
01:30:51,960 --> 01:30:53,040
I think there's a lot of just conversation around it.

1366
01:30:53,040 --> 01:30:57,800
So I think this is a good topic for us to keep bringing up on gaming nodes with everybody

1367
01:30:57,800 --> 01:31:00,520
who comes out because I think there's so many valid viewpoints in here.

1368
01:31:00,520 --> 01:31:04,600
It's tough to even quantify the problem, much less talk about solutions.

1369
01:31:04,600 --> 01:31:08,480
But the more little solutions you hear, like what Sunny said earlier around the slashing

1370
01:31:08,480 --> 01:31:09,720
idea or other types of things.

1371
01:31:09,720 --> 01:31:14,560
Those are just good solutions to throw into the pot.

1372
01:31:14,560 --> 01:31:17,920
As a problem gets identified, I think start pulling those things up to say, okay, what

1373
01:31:17,920 --> 01:31:20,880
do we have from this bag that works?

1374
01:31:20,880 --> 01:31:21,880
That's cool.

1375
01:31:21,880 --> 01:31:23,600
I think it's really good.

1376
01:31:23,600 --> 01:31:31,960
So just finally, there is a couple of networks launching in the next week, I'm pretty sure.

1377
01:31:31,960 --> 01:31:35,680
So there's T-grade, which goes live, I think on the 27th.

1378
01:31:35,680 --> 01:31:38,720
I'm pretty excited about that actually.

1379
01:31:38,720 --> 01:31:43,560
And there is also, I think Kujira is going to be launching imminently.

1380
01:31:43,560 --> 01:31:46,360
I think it's maybe a week within the next week.

1381
01:31:46,360 --> 01:31:48,600
So two more that we're excited about.

1382
01:31:48,600 --> 01:31:52,480
So thanks everyone for coming on and thank you, Sunny, for joining us, mate, even though

1383
01:31:52,480 --> 01:31:53,480
you were late.

1384
01:31:53,480 --> 01:31:54,480
Thanks Sunny.

1385
01:31:54,480 --> 01:32:00,200
But it's been really good to be able to talk to you and pick your brain on various things.

1386
01:32:00,200 --> 01:32:05,040
And we'd love to have you back again sometime because I'm sure we've still got just thousands

1387
01:32:05,040 --> 01:32:06,040
of questions to ask.

1388
01:32:06,040 --> 01:32:07,040
Absolutely.

1389
01:32:07,040 --> 01:32:12,040
I'm sure, I'm afraid, we'll get into some deep philosophical, philosophical conversation

1390
01:32:12,040 --> 01:32:18,400
about some random guy from 2000 years ago that decided about something.

1391
01:32:18,400 --> 01:32:23,360
So thanks everyone for coming on and thanks everyone for watching.

1392
01:32:23,360 --> 01:32:38,680
And I'll see you all next week.

