Secret Spaces feat. @scrt_labs discussing Secret VRF!

Recorded: May 30, 2023 Duration: 1:00:09

Player

Snippets

Hey, how are you? Can you hear me? Well? Hey, what's up, man? I can hear you amazing
We'll wait just a few more minutes and let people come into the room. We're gonna put the announcement out on a couple different channels
All right, just waiting on one more guest speaker, we'll give it one more minute then we'll get started
All right, we'll go ahead and kick it off
Welcome to secret spaces everybody. Thanks for coming. Secret spaces is a weekly twitter space featuring secret network news and
contributors and
events from around the ecosystem
This week we're talking about secret vrf
Which if you haven't heard about it, it's a random number generation service
Which was included in the latest secret network upgrade just a couple of weeks ago
and it's available to either
developers building applications on secret or if you're building an application on another
IBC connected chain, you can also make use of it by connecting to secret network
and pulling those random numbers across an IBC and providing them to your application on another chain like juno or
osmosis or something like that
So very cool service
Before we dive into that let's just go ahead and introduce our speakers
We have leor from secret labs and shawn from secret agency leor you want to introduce yourself
Sure. So hi everyone. My name is uh leor bondaresky. It's
Kind of hard to pronounce but uh, it is what it is
Um, i'm 28 years old i've been working
In the past eight years in the cyber industry and then um
i've joined like uh
More than a year before a goal where i've joined the secret labs as a developer
Uh in the secret network
Awesome, thanks for being here
Hey everybody, my name is shawn rad. I am tydu dev rel for secret network
I started my web3 journey in ethereum doing a hackathon last summer eve new york
And then did another one called hack fs
And then found my way into the cosmos and started learning rust so that I could start building the cosmos and just yeah, I kept
Just finding my way to secret and so now i've been here since I think i've been building on secret since about august
And yeah, I built a decentralized business business card application on secret which kind of just
Brought me into the secret community
And now i'm doing dev relations for secret and I lead the the weekly developer call on mondays at 12 p.m
Eastern time. So if anyone's listening who's a developer or interested in developing on secret, definitely check that out
But i'm super excited to be here and to speak with everyone who's listening
Awesome thanks, man
Well before we really dive into secret vrf and how it works and what it is
I figured first we should start off with
Why randomness is needed in the first place?
and for people who
Are non-developers it may not be completely obvious why you need randomness, but there's actually a whole lot of
Use cases that require randomness in order for you to be able to build an application
Maybe leor. Do you want to start off with that? I'm also happy to provide some examples as well, but you know
With you being a developer. I would like to hear your perspective especially on what requires randomness to work
Yeah, sure. Uh, so
think that
When I like looking at in the past 10 years of development
I can't imagine
Not using random at all like
even in games which are trivial you use random for every little thing like generating the map or
Choosing the skin of the of the of the account everything using uses random
So games is a is a good example. Maybe another example is the whole world of
Gambling like imagine having a poker game without the ability to shuffle randomly the deck
And the other examples are of course
Things with that are handling money, right?
An easy example when handling money is by giving a reward to someone that is random and based on I don't know a
range of numbers and the other things are
I know adding some
noise to the transaction without others
And without the ability that others can see what what
What the exact amount that you sent and I can imagine a lot of things that are used random
Are using sorry random?
uh day to day
Yeah, when it comes to gaming
There are so many things that really need to be randomized in order to
Make the game both interesting and unpredictable so that the game is actually fair to players
So like you said the environments like uh, maybe
Pieces on a board if it's like a board game or if it's more of a 3d game
generating the environment itself
character attributes item attributes
randomized events
potentially loot drops or
Matchmaking to make sure that you get matched up with completely randomized people
Pretty much everything really that goes into a game needs to have some form of randomness
So that's a huge one. And then of course
gambling applications
you know lotteries raffles
Those things have to be unpredictable in order for
The players not to have an edge if you can predict the result then obviously you can guarantee or at least
increase your chances of winning
So those things have to be unpredictable
And then there are other use cases that are probably not as obvious but can also
Be interesting such as in dowels, maybe
if you have a dowel and you wanted to
randomize like a task selection if you
if you have something up for vote and
You have to select certain members that will be involved. You might want to randomize that process
Or if you have some kind of vote the results in a tie
Maybe you'd want to do like a tiebreaker
And you might want to guarantee that that's truly randomized
And even when it comes to nfts like if you're minting nfts
You want to make sure that the minting order is randomized so that
someone couldn't come along and
Try to grab the most valuable ones because they know which one's going to be minted next
So a lot of different things require randomness
But uh, john before I before I continue on did you want to add anything to that?
Um, no, I guess I think yeah, it's interesting to uh
Explore why?
It's difficult to achieve randomness on blockchains
And I guess the other solution the secret has found and implemented
That's what I was going to go into next actually
Yeah, so that's we've covered why randomness is needed but why?
Is randomness so hard to achieve on a blockchain, which is something else that might not be an abuse at first
Do you guys want to go into that?
I think there are two
I can start maybe sharing some light
on the dev perspective, so
When when you imagine blockchain, we all imagine a deterministic
way of computing
the same stuff on several computers
But when you imagine random, it's a non-deterministic number, right? You can't know beforehand
What what will be the number so?
This is the main the main difficulty like
You need to make all of those nodes to to calculate the same random the same random number
This is the first difficulty, but it's the main one and then when you have this achieved you need to keep it secret. So
what it basically means that
In order to to create random number you need to
have a seed
which is basically
a random number, but it's smaller than the the actual random number
And with this seed you actually generate all of these random numbers
So all of the nodes should have the same seed in the same status
So having this seed
Means that if you know what the seed is
You can actually know what will be the next random number without
Actually calculating it right so if I share with you for example the seed
So you can run it on your own computer and then understand what will be the next I don't know 10 10 random numbers
And this is the main thing that that we can achieve in secret network
Having the state encrypted having the state private
Let's us the opportunity to keep the seed to keep the seed private which is very important in this case
Don you want to add anything to that
I'm trying to think
how to explain this in like
so basically, it's just
A blockchain is just when you say a node
It's just all these different computers that have the same they're sharing the same information for what
This random number is and so the first problem that you're tackling is just making sure that all the computers that are saving
The state the history of the blockchain all have the same
Random number and also the same seed and by seed we mean the thing that is what generates the randomness
For the random number and then from there
Um figuring out how to keep that secure
And so that's like what is so unique to secret is that not only are we able to share
This seed amongst all these computers to have the same state synchronized across the network
But also we're able to leverage
The sgx technology on secret to keep that number secure until we want it to be revealed
And I would also say
the transparency of other blockchains
It makes that difficult to keep that secret because
If you can see the formula that's being used to come up with this random number
You know, there are some tricks
Developers can use to kind of make things
pseudo random
It can pull from different sources and
Try to make it complicated so that it's at least hard to predict but
If there's any possibility of a user seeing that formula and seeing
The sources of data that it's pulling from
There's often ways that they can predict the outcome of what that random number is going to be
Which is the problem you have to make sure that it's unpredictable
Secret vrf achieved that let's go ahead and move into what is secret vrf
leor you want to start us with that
Yeah, sure so
vrf is basically means the verifiable random function which shouldn't tell like
straightforward what it means but then
When looking at random we need to be sure that this random was generated by
Someone we can trust right?
We didn't discuss the the the main question. Why do we need on-chain random, right?
We can just have an oracle and we can get the random from the oracle. So
The real reason that we need on-chain random, uh is that
We want to trust this random this random might be
The main key to win the game and winning the game might mean having all of our of all of our money
right, so
In order to achieve a random that we can trust we want it to be on-chain
Having a random on-chain is not is not enough. We want it to be verifiable
We want some sort of
Cryptographic mechanism that can ensure for
100 percent that this random was generated on-chain and by a trusted node or by a trusted. I don't know provider
And this is what it's all about like we want it to be verified and trusted
Yep and secret vrf achieves that through the use of trusted enclaves, right?
So, uh, if you want we can dive into the like main things of the algorithm of how do we achieve?
Vrf it is very interesting
We can do it like high level if you want
Yeah, let's do that. I'd like to do that. Uh, we'll go high level at first. I think that would be good
Yeah, sure. So what we basically do is, uh having the proposer, which is the one who proposing the block obviously
Generating is generating a random number
inside of the enclave so
With all of the perspective of secret network
We have the enclave that is a trusted zone of ours that can be verified
and and cannot be manipulated and there we generate a random number like
When this random number is generated and of course encrypted and cannot be manipulated there from outside
And all of the other validators are signing this block with the random number
So what we basically have is a one node who generated the random number
Or one validator to be exact who is generating the random number
In a trusted zone and then all of the other validators can verify that the random number was generated in trusted zone
And then they sign the transaction sign the block
And once we have this we can actually achieve all we need because
then when we
Can receive the random number we can verify it, right?
We have it encrypted with our own key that is kept as part of the trusted execution service
and then we can just
Decrypt it see that the value is
Seems to be correct and then use the value as a random seed
So that's what is what is all about we have
trusted zone who generates numbers
All of the validators signing them and then of course validating it again when using it
How is um, like the node that generates the number chosen?
It's the proposer of the block the block proposer
Okay, and yeah, and so and for clarity this is all just happening as part of tendermint
Yeah, correct so we had to change some of the things in tendermint in order to
Use the trusted execution environment and generate the numbers it's correct
When the proposer node
Proposes the random number the other nodes
The first step is they're just verifying that
That the random number was generated within sgx within within a secure
Uh environment, right? They're not actually verifying the random number itself. Just the fact that it was generated
in the secure environment
Yeah, that's correct you you actually cannot verify a random number it's just a blob of binary data, but
The actual thing is to just to verify that this is what's generated by an sgx. Of course
Got it. And and how do you?
like counteract
That is not something else that was generated within sgx
If you can't actually see what it is if the other nodes don't have access to the information
How do they know that it's like the thing?
That the proposer says it is
Yeah, so it's the part of a protocol it it like
Depends on where on where exactly in the packet you can call it a packet, right?
So it depends on where exactly in the packet or in the block in our case
uh, the data is
Written and they all expect the data to be written in the in a in a specific
Uh in a specific place where they can
Be sure that the data there is the random
Random number that was generated by the proposer
Got it. Cool
Let's talk about who can use it then
The most one of the most interesting things about this is that
It's not only accessible by secret dapps, but can also be used over ibc
And there's a couple different ways
There's a couple different things to think about
Whether you're building it on secret or on another chain
Because if you're building it on secret you can actually
Keep the private the random number private if you would like to um, depending on the application you're building
Maybe the design would call for that for you to never rebuild a random number to the user at all
That can be done if you're building the application on secret
if you're building it on an ibc chain
And pulling this random number over ibc
In that situation the number does have to be revealed to the users because the data is going over to a public chain
But that's not always a bad thing a lot of times
It's not necessarily
That you need to keep it private the entire time. You just need to make sure that it's unpredictable
Up until the point that it's revealed
um, do you guys want to talk about how
I guess first you can talk about how a secret contract is able to
To access this random number. How can it call it?
And then after that, um talk about how an application on another
Ibc connected chain would make use of it
Yeah, sure, so
I will assume that uh part of you know how a secret contract or a contract on uh
cosmasm looks like but
If you imagine a function an execute function or an an init function
You can actually see that all of these functions has an environment that they receive
From the chain which is basically a structure that contains a lot of things
That are related to the block itself
One of the things that is uh written by us is actually the random number
so what this basically means is that you access the environment and then you can just
Simply get the random number
Which is generated for each block. So on every new block you can get a new random number
What is more interesting than that?
Every contract receives a different random number. So the way we create a random number
is by having the
Proposed seed that was proposed by the proposer and then we are we're adding to it
we are concurring the
A unique identifier of the contract and then hashing all up
So what you basically get is a unique random number for your contract
per block
So this is the aspect of a secret contract developer
and if we
Look a scale upper and we will
Imagine a contract that is written on in other
Cosmos chains, so in this case you will need to use ibc
the main thing that I would
note here is that
You don't want to receive a random number that will be used as your seed
Because if it is used as your seed, you will have the same problem of privacy
You will store it in your state and then everyone can predict the next random numbers. So the way to do it. I think
correctly is by
Asking a random number whenever you need a random number
And letting secret network do the manipulation of storing the seed
and having a new seed there for every block which is used on
Which is implemented of course on the secret network
What I think is the best practice of the ibc usage of random numbers
Can you repeat that one more time
Yeah for sure so
my suggestion
When you need a random number
Secret network, so there are I think two approaches two main approach that you can
You can choose from right for the first one is to get a random number
Store it in the in your store and then use it as a seed for all of the random numbers. You will need
Part of the lifetime of your of your contract, right?
This is the first approach
the other approach is by
Accessing secret network and asking for a random number whenever you need a random number without storing anything in your state
inspecting the first
first option
and we will see that the problem of having an
Sorry of having a predicted random
Is actually a problem that we can we can find out that is relevant to this situation because
If you store the seed of your random provider
It's part of your state and your state assuming i'm assuming that your state is public
So it basically means everyone can predict what will be the next random numbers to be generated
Right. So the first approach is relevant for those who don't
bother to like, you know who don't
Care of the transparency of the random generation
For those who need the random to be not predictable. It is very important to
Ask for a random number on every or or a random blow let's call it on every
On every call like whenever you need a random number
Got it makes a lot of sense
What is like the reason why you couldn't like
I say like let's say like have a vault of secret random numbers that only certain contracts
Have access to
Like rather than the random number being generated each time with a new block
Like could there be a way where there's like a finite amount of numbers that have already been generated
And then other contracts can query those random numbers if they have specific credentials
Yeah, it can it can be developed by by a contract developer for sure like we generate a random number for every block
actual logic of the contract can be done by
By the current developer however he wants he can create. I don't know generate thousands of
random numbers as part of its instantiation and then
Allow others to query with the pyramid and get these numbers
It's a thing that
Is relevant for those who want it, right?
There are some people who want a random number that is provided by the blockchain or every block
And it can back it can it can be accessed like the choice is by is done by the developer, right?
Yeah, so you just you created
An approach is extremely flexible to give developers the maximum amount of control over how they write their contracts
Yeah, that's correct
Someone that's developing an application on another IBC chain
Uh, they could
Build a proxy contract on secret that pulls from secret vrf
Uses that random number as just a seed and then within that proxy contract
It could use that seed to generate like a whole
Let's say a hundred different random numbers
I think that's what sean was saying that they could just have like a database of random numbers ready to go
Um, i'm not sure if that would be faster like if it had a hundred random numbers in that proxy contract would it be faster for?
The application and on the other ipz chain to pull directly from that contract
Or does it not really save much time and you might as well just
Use it directly from secret vrf every time
I'm not a developer. So I don't know if that made sense
Uh, let me know if you need me to clarify what i'm trying to say
Yeah, it's okay. So, um
Just to be exact just to be clear. Uh, we have a contract a proxy contract
That can provide random numbers, but it works like in our logic in our array
And people who need a different way or different logic can for sure
create one for themselves
and when talking about the
The performance it really depends on the
On your needs, right? Uh, it depends on how many random numbers do you need?
in what uh
I don't know in
in what uh
I forgot the word but you want it like a once per block or in what duration right?
Once per block or once per several blocks, so it really depends on on your needs and your logic
Yep makes sense
So secret developers can use it when they're building an application on secret
ABC chain developers can use it when they're building applications on other ibc connected chains
and something else that we haven't mentioned yet is that
secret vrf may eventually
let's say
It's extremely likely that it will eventually also be accessible to
evm chains
I believe from what I understand that
It would just require
Something to be added to the next secret network mainnet upgrade. Uh, ibc hooks
Is that right? We are
And then you can potentially
Well, then you could potentially use it over something
Yeah, yeah, that's correct. Well, it's okay. Sorry
We're planning to implement something that is called the ibc hooks which will basically give us the
the opportunity to
provide random numbers to evm chains
uh with uh
I know I don't know if all of you are familiar with but it's called the axelr gmp, which is
general message passing which is a general name that uh means that evm chains can access uh
Cosmos chains with axelr provided
Yep, that's what I was gonna say the axelr gmp that would be awesome
I've been looking forward to secret making use of that for a long time and
Axelr gmp just went live for cosmos chains. Uh, it's been a few weeks now, but pretty recently so
Definitely excited to see that put to use
Yeah, it's the future
We're very close to the future
And this is just the first
Privacy as a service application that secret labs has built
There will also be others that will likely make use of axelr gmp too, which was going to be huge. I think
But more to come on that
Yeah, let's go ahead and take some questions from the audience if anybody has questions about secret vrf go ahead and put your hands up
Is there anything else that we didn't cover that you guys would like to discuss leo or sean
Um two thoughts one is just that for anyone who's a developer who's listening
Secret has documentation for all of this which I linked in the chat below
So you can see there how to implement this like you just have to add
The feature random in your cargo tunnel file
And it shows an implementation with a coin flip example, and there's also a piece of the documentation that shows how one might do this
So definitely check that out if you're a developer who's interested in using
this, uh api
Leo i'm just curious like with your background being someone who's extremely technical, um, and someone who's primed and like working with cryptography
When people ask you or just ask the question like why?
blockchain, you know
People who are non-believers who aren't already part of this ecosystem
What what is your response to that as somebody who's been working in this space for a while?
And what what is like you think is like unique about this space that you think makes it special and
You know why you're working in it
Yeah, that's a great question actually I had to I had uh, like
many thoughts about it before I joined the secret labs and I think that
The main thing that is very important in blockchains that like it's the future
Decentralized so of course all of the people will say
it's it's very obvious but
one of the main concerns for me as a developer as a
person who
Had been in the cyber security industry
Both in the army in the israeli army and then uh in uh in a company that developed the antivirus
It amazed me that everything I decide to do as a developer
Is like a law right? All I do is create some code that decides
What is correct and what is incorrect?
And my code is the only decision of course my and my colleagues code, but it's the only decision
That makes it if I have a mistake or
Something that I want to I don't know a backdoor that I wanted to
to add to the to the antivirus
So for me, it's very easy, right?
When having a decentralized network where all of the nodes all of the computers should have the same result
For the same input. It's very hard to manipulate
For me, it's very easy to trust
right, um
Blockchains like the main thing that blockchains handle or handled until I don't know a few years ago
it was money
like people
Couldn't trust the the the government the government and they couldn't they couldn't trust the banks
keep the booking
bookkeeping correct
right, and when having a decentralized world when
A lot of computers calculate it and store the same data and do the same magic
It amazed me like this
the main goal for me
And the main reason I joined secret labs
That's awesome. Yeah
I know I don't know if you've been following just like this
Really high level AI fishing that's been coming out recently with people
Receiving phone calls from people who sound like family asking for bank information. It's things like this, but
I don't know. I wonder if like somehow a public
Ledger that is you know, um where there's consensus if if that will come into play in terms of like
combating
Really, uh complex fishing attempts in the future if blockchain will have a role
Yeah, the the complexity of attacking blockchains, uh, I think it's
Higher than attacking a centralized service
Uh, of course fishing attacks are are I don't know they're very clever and they can ask you for the mnemonic and that's it
having said that I think that
When you I don't know when when you need to
To attack all of those nodes and let them
I don't have them compute something that um that
Is not deterministic or something that is not correct. It's harder. It's it's way harder
So i'm just going off I could just ask leor questions all day because I think what he does is fascinating
But I don't want to if anyone else has questions who's listening, please ask your questions
And there are no bad questions, by the way anything
You're curious about with secret network with
What secret labs is building?
Any questions you have are good questions because if you have a question somebody else probably has the question too and they just
Are scared or intimidated to ask it because we have a genius like leor on the line
If I see a hand go up I will bring one stage but feel free to ask one more question sean if you have something else
Um, I guess just
I think something that a lot of people don't see who might be token holders, but not
Developers is they just see the price of the token and then the fact that we're in a bear market
Working in dev relay dev rel I get to really I guess see the cutting edge of
What you guys are working on every day at labs?
And just see how exciting it is and just see how much development is happening literally every day and how you guys are at the precipice kind of
Pushing us forwards and with privacy tech
So is there anything?
You're working on right now or like something on the horizon
You're excited about with secret that you just think like it might be exciting to people who might not know what's going on behind the scenes
So, I think that the last upgrade and the things we talked about which are
Vrf and all things that are upcoming next
Uh as part of the privacy as a service
And the communication with other chains is the
For me, it's very exciting, right?
I've joined secret labs when there were
no usages of
Like it was amazing that we have all of these things those things but uh, we knew there are applications that are running on other chains
that cannot use that so
the communication the
Communication between blockchains is amazing for me. Like I think uh
It I I said previously it's the future for sure
We're soon to be
Uh a multi multi blockchain them in a in a multi blockchain world
Uh, and uh, it's it's amazing
Yes, awesome
Yeah, I don't think we can fathom yet what this is gonna do
We're going from this like kind of it's almost like we're realizing the promise of the cosmos that we're becoming truly
truly interchanged and uh
It's exciting
Yeah, and we talked about gmps which like
having the like it giving us the ability to to communicate with with evms it's
It's amazing you guys need to you need to imagine like
Many opportunities there are when cosmos can communicate with other chains
And evm contracts can get random numbers from secret network contracts
It's amazing. It's it's like
Like a new world
Yes evm for anyone who's listening that's a the ethereum virtual machine
So they were saying the secret is going to be able to communicate with ethereum shortly
And so is the rest of the cosmos. So there's just going to be
Just I don't know a proliferation of technology probably possible with just
You know the more
Communication happening between blockchains the better
Not just ethereum but all evm-based chains, so things like avalanche and arbitrum polygon
A lot of the major networks out there are evm-based stuff. It's just a whole new world of possibilities
Well, if there are no more questions, we'll go ahead and start wrapping things up. I think
Leo and sean. Thanks for being here. Really appreciate your time
Uh to everyone listening. Thanks for being here as well
Make sure to come back next week. We will be here every tuesday 4 p.m. U. T. C.
Anything else you guys want to say before we wrap things up sean leaver
Uh, thanks so much for having me and for having us
It's always a pleasure
And everybody who's listening check out the secret documentation. It's linked below
Uh, if you have any questions, just ping me on twitter or discord or telegram and i'll be sure to help you out
Yeah, thank you so much for having us. Uh, it was amazing
It was nice to to talk about the new the new things we developed and uh, for sure
You can address me whenever whenever and wherever you want on telegram on twitter. Um on discord
I'm always available
Uh, it looks like I just got a dm from joe. Hey joe. Did you have a question that you wanted to ask?
Not sure if you're able to push your hand up
I think you have to be on the mobile twitter app, but if you are on there, you should be able to request to speak
And we'll bring you up on stage
Sorry guys, so joe said he's on desktop right now. That's why it's not working
I think he has a question if we can just give him one minute
We'll let him switch over to a mobile device and see if we can get him on stage
While we wait on joe looks like we have another request from fuzzy pizza
Hey patrick, uh figured if we had a few more minutes, um, I would ask a quick question
Um leor, uh, if you had three
Applications or three contracts that could use vrf
Uh in a in a ideal in a novel way
Um, what would be three applications that you see?
Um would be really cool to be developed on secret
Yeah, so uh
My personal personal perspective is uh
Is going straightforward to the gambling side? It's it's very like
I've been talking with all of my friends that are gambling on internet and uh
The main thing that is going on there is that no one there trusts the the
The casino no one there trusts the random number generator of the casino. They all think uh think uh, and I think they're right
Yeah, uh, they all think that uh, the casino all only tries to steal their money
Amazing thing of verified random number
And a random number that is generated by a chain
Uh that cannot be manipulated
I think gambling is like a magic a magical thing that can be done with random numbers
besides gambling I think that
Things that are uh, I don't know where
in dows as the product said
um all of the
toys and uh
and the loot box thing and everything that uh
That is relevant to the dows
And I think of course gaming right? Uh, um, I can imagine games that uh
Part of them is developed uh
in a centralized way and
The other part that is more the more interesting part is developed on chain
And then this interesting person is random, of course
And uh also an amazing thing
So my first three in the same order is uh, gambling then uh dolls and uh games
Uh, yeah, that's super cool gambling being able to trust that
The number random is actually is actually random. It's super cool. Uh, how do you verify that? Um, the random number is actually
Yeah, so you can verify the validity of the random and the strongness of the random number
Uh, but you can verify that the random number is created by the trusted environment. Um
And then when you can verify that the random random number is created by the trusted environment
So we basically just need to trust that
The code is running in the trusted environment is the code that we published, right?
And you can see the code and you can see how the the random number is generated and that's it, right?
We trust the trusted environment and by trusting and we trust the random number
I see. Thank you
We don't seem to be having any luck getting joe on stage but joe if you have a question
Uh, feel free to dm me and i'll make sure we get that answered
So you're so so just going back, um, I just bring some a couple of other things
so if you're saying uh, there's there may be a future where
Gambling projects that are across all networks including ethereum other uem compatible chains cosmos etc
If they wanted to build a decentralized gambling casino
Um secret would be a one option for
For enabling all these use cases for every application that would want to use gambling
Right, that's correct, uh
I would like imagine that it would be the main thing but uh, yeah
Basically one of the things for sure
Gotcha, I think currently i've noticed also on chain chain link a lot of people are using chain link for their vrms
That's uh, what an off-chain solution. So you would have to trust chain link for their random number
How do um, yeah, that's correct
So just trusting an off-chain off-chain solution
Uh, I guess the main risk there is that uh, the random number could be manipulated for certain scenarios
Yeah, that's right like
We need to imagine that even if they publish their code and we can see that this code is running there
They can always change the code, right? They judge the server that you are using for uh,
for retrieving these random numbers
They they're the leads they they have the lead to to change whatever they want whenever they want
So this is the old the old risk of having an off-chain random provider
Gotcha, that's a lot of good ideas. Thank you
Fuzzy pizza feed your cat
Yeah, my cat wants to go outside right now
So I did get a couple of questions from joe one of them is basically what uh fuzzy pizza just said, uh, how will
or how do
Applications that currently make use of oracles like chain link vrf. How is that different?
second one was
How do you guys see secret vrf being used in defi applications?
Which is something we didn't really cover but um, there are some potential
Use cases for randomness defi applications. Not sure if you guys want to
Uh, just discuss those if you have any off the top of your head
Nothing I can think of straightforward at the moment
But i'm sure there are uses cases that uh defies that will need that random for
and nothing uh, nothing at the moment, so
yeah, most core devi functionality doesn't really require randomness, but
uh, one that I had read about was
If you have a stable coin
sometimes, uh, you know if there's a
market condition that
Is risking a dpeg?
Sometimes they'll need to rebase the value of that
uh token and
If they do that in a predictable way
it can open up the
Situation where people can arbitrage and take advantage of that
upcoming known price difference
But if you that if they incorporate some randomness into that, uh rebasing strategy
Basically, it can stabilize that process and make it so that nobody's able to exploit the price difference
because they don't know what the uh
The exact calculation is going to be
Yeah, actually
actually, it sounds uh
very very correct like uh
Like I can imagine others using uh,
randoms for these purposes
The main thing I thought about and maybe nice to mention from the cyber security perspective
You know when when I imagine cyber security, I imagine a war right there are people who are trying to attack
systems for their own
Usages and then there are people who are trying to protect those systems
The main thing in a war is that you want to be on like you don't want to be productive predictable at all
Like if you can't be unpredictable
It's it's a game changer
And I think that a random number and a random provider
Was used in cyber security in a lot of things like
It people cannot imagine how random a simple number that cannot be predictable
Uh is solving the whole the whole game like it makes it
Unattackable or all or almost unattackable. So, uh
It's very nice to think of a small number that changes everything
And joe also said that he would like to see some low hanging fruit like
A roulette game or a blackjack game built using secret vrf
Yep, actually one of the first things i've done in secret labs was uh as part of our my training was uh
um a blackjack game and then uh
It's not on mainnet, unfortunately, but uh
One of the things I wanted to do is uh to use vrf as the solution of the random generation
Yep and a little alpha here, I think we may be seeing
Something involving a roulette game in the near future. So keep an eye out for that
We're at the top of the hour now, so i'm going to go ahead and wrap things up
Thanks for being here everybody and we'll see you on the next edition of secret spaces. Have a good week
Thanks, everyone
Thanks, everyone. Thanks for having us