This is epicenter episode 496 where the guests been defunct?
Chesco. Welcome to epicenter the show
which talks about the Technologies project and people
are driving decentralisation at the back chain Revolution.
I'm Tiffany can dance. And today, I'm speaking with any
Francesco who is the CEO of scope, lift and creative Umbra,
the Privacy layer for each raised token transfers, then if
the pattern of you on Yeah, thank you so much for having me.
Really appreciate it. Excited to chop shouldn't quit.
So, I think the very, very clear.
First question here is tell us about yourself.
Who are you? How did you get into this space?
And is it true? You are originally an aerospace
engineer. Yeah, sure absolutely.
Yes, I am originally an aerospace engineer.
So believe it or not. We are growing up.
I was kind of a nerd and so I was interested in.
I know really shocking unusual in this space very unusual but
but so I was interested in computers from a very early age.
I just kind of like, played around and started teaching
myself to program. I was also interested in like
Aviation and Aerospace. And, you know, Masa and all that
kind of stuff. And so I went to School for
aerospace engineering because I was very excited about that and
I really enjoyed kind of the coursework and the, you know,
the sort of like overall idea of doing aerospace engineering and
then when I got out of school, I went to work at a large
aerospace engineering firm here in the States.
And what I learned pretty quickly is that the reality of
aerospace engineering at least of these big firms is very
different from kind of the you know, idealistic view that I had
as a young kid going to study at.
So in reality you know, Aerospace Cheering for good
reason is very slow. Basically, you know, you can
work on a project in their craft project for for many years.
Before I can come to fruition. There are a lot of people
involved in any given project. And in general, especially
again, at these big firms. Things are very bureaucratic and
slow-moving and it also turns out that at these big firms
engineering firms, traditional engineering firms really, in
general, they desperately need more people to program because
there's all kinds of stuff that needs to be done software wise,
building software, but it's hard to get people.
People that have the knowledge to build the software but also
have the engineering side of things.
And So, within this large firm, I was doing all software
engineering work anyway. And what I realized was that I
wasn't loving my job. I loved, I really enjoyed the
programming side of things, the software side of things, but I
didn't like was the bureaucracy, the top heaviness, the
slow-moving side of things. And so I left a Boeing and went
into kind of, I basically started freelancing and then
eventually grew my company scope lift into a Something firm, add
up shop for lack of a better word and this was probably
around 2012 2013 at the time I was not doing work in crypto but
I was following crypto so I had found Bitcoin.
I had was really fascinated by it and I was following the
project I was doing stuff on the side you know for fun.
I like built a mining rig and I was mining Dogecoin believe it
or not like at probably at a loss in my house but like paying
more for the electricity than then the dose groan.
I was mining but but I was Following it there wasn't really
much of a crypto industry of the time except for like a few
companies out there. So it was really when aetherium
launched that I sort of got really excited about crypto
because I realized this was it went from like oh this is an
interesting kind of interesting. Kind of you know thing digital
scarcity that's been invented to do.
This is like a whole new platform.
And as a software engineer, I can build things on top of this.
And this is going to allow us to create all brand new kinds of
software that do things. We In previously do before.
And so that kind of when I learned about smart contracts
and saw aetherium coming together that like light bulb
kind of went off. And so, again, I continue to
sort of follow the projects, I've been tinkering with
etherium and smart contracts and then it really wasn't until 20,
the boom of 2017. It's a like 2018.
When I started picking up projects scope, which started
picking a project by this time, it was a small consultancy and
we started picking up actual crypto projects and by 2019 I
decided to really Shift The Firm 100% into focusing on crypto.
So we wound up our Legacy projects are web to and kind of
we were doing some native mobile work as well and decided to
focus 100% on crypto sort of having to start from the ground
up with business development and all that kind of stuff.
But but really it's been an awesome ride because as you
know, the space in, you know, since 2019, the space has
changed an enormous amount and we've had the opportunity in
that time to really contribute to a whole bunch of stuff in the
air. I am ecosystem in particular and
some other ecosystems as well. But mainly were focused in
aetherium and and that's been really gratifying and a lot of
fun. And yeah, that's kind of a
long-winded explanation to a question.
I didn't take any chance about some of the projects you've
contributed to and over the years.
Yeah absolutely. We've done a lot of work with a
lot of great projects. You've been lucky to get the
contribute to you know projects certainly the your audience
would have heard of optimism get coin.
We've done a ton of work with them, you know, swap endowments
mobile, a bunch of other really really cool projects.
And then of course, we also have done some of our own internal
projects over the years with varying degrees of success.
And the one that has a decent amount of has probably the most
traction of the internal stuff that we've built is.
Umbra. Umbra is also the project we
here to talk about today. And but maybe before we dive
into that, how is it kind of being a Hired Gun on some some
project in kind of scaring that with building your own?
I imagine that to really difficult line to toe Yeah, I
mean, yes and no. I mean I think me personally and
I think as a culture that company selects for this, we're
like we're a seven-person team. We're all Engineers, were all
very. We just like to build things
basically. I think would be the culture.
And so it's like, really a culture focused on on,
engineering excellence, and you come to us with hard problems
and we help you solve them is kind of the approach that that
we take and, you know, I think like, I just have fun.
We have fun doing that, right? So I think it's, I'm always
impressed when people Can you know find an idea that they're
so passionate about like a singular project that they're
willing to sort of grind on that for years and years and years,
my mind likes to kind of jump all over the place.
And so it's been awesome to get to contribute to a whole bunch
of different projects and to, you know, have a few things
going on at any given time. It also just gives us like a
really wide view of the space because there is so much going
on, right? And even with that wide view,
it's like it used to, you know, in 2017 is you could reasonably
Like have a sense of everything going on with you EMS one
person. If you were really paying
attention by, then it was starting to already get hard
now, it's like literally impossible.
You can barely keep an eye on a sliver of the activity that's
happening and ecosystem at any given time.
But you know, we get to we get to see a relative to maybe other
folks, we get to see a wide breadth of that.
So that's a lot of fun. Of course, there is some tension
with our client work and our own projects that we would like to
push forward, but we've been really lucky, especially with
Umbra to, you know, get funding in the Form of Grants from a lot
of different sources a number of different sources in the
ecosystem. And so we've been able to, you
know, push that forward. While at the same time, valuing
it, bouncing it with our client work in the ecosystem.
In a nutshell, what does Umbra set out to do?
Yeah, cool. So Umbra is a privacy tool, it's
a stealth address system and it's different from some of the
Privacy tools that maybe your audience would be used to.
So it's primarily about receiving payments or receiving
a transaction set sent to you by an unknown sender where the fact
that they've sent it to you isn't isn't immediately.
What is it? Legible on changes in obvious on
chain. So another way to say that is
it's about receiving payments. We're only The the sender and
the receiver know who the receiver is, right?
So the sender is visible, unchain the receiver is stealth,
that's the stuff where the stuff address side of things comes
into play. So unlike some other tools that
your audience may be familiar with, you know, like tornado
cash being the most prominent example, for example, would be,
it's not a mixer, right? So a mixer is, primarily about
taking funds that you control, but are, you know, doc, Boxed in
some way there, it's known that you control These funds in this
address and then moving them through the mixer and when they
come out the other side of the mixer there in an address that
you control, but it's no longer clear that you're the owner of
them. So it's breaking the link
between address a and address be both of which are controlled by
the same entity, right? That's not what I'm red dots.
That's what a mixer does and we're not a mixer.
So Umbra is about. I want to receive a payment, it
could be e-commerce. It could be you know you're
paying an invoice because I'm a business and we worked together
could be you're paying my salary you know whatever it is.
We have some economic relationship, you want to pay me
but we don't all want it to be obvious on chain that you have
sent this amount of money to me. So if you use unrwa basically
what it looks like, is you've sent some tokens or some ether
to an address that has never been seen before on chain.
Now behind the scenes, it turns out that I control that address
and The I control that address and as soon as you've sent those
funds they're essentially custody need by me and could not
you couldn't recover them. No one else could recover them?
Only. I have the ability to remove
them from that stealth address that they've been sent to.
But on chain who that address is controlled by is not visible or
legible at all. So, that's sort of a quick
summary of what I'm running Abel's.
So if I look at my regular saying meta mask and it, let me
derive a de facto unlimited number of addresses from a
single seat raised, right? So basically if we coordinate
ahead of time, what I could do is I could just ban, I could
just make a new address from the seed phrase that I've already
using and give you that. But what Umbra actually does it
actually lets you kind of. I mean Differently.
Where talk about how it works in just a bit, but if the name you
would generate a new address on my behalf, right?
Yeah, that's a great. That's exactly right.
That's a great way to think about it, right?
So yes, like the Privacy sort of trade-offs that you get from
Umbra are the same as if you if I you were going to pay me and I
generated a fresh address, you know, just went into metal mask
and clicked add new or created some some private keys and
imported It, Whatever generated a fresh address and then sent
that address to you and then you sent the funds that address,
that's that's the Privacy, the trait, the Privacy properties
that you would get from that. Interaction are the Privacy
properties that you get from Umbra.
The difference is that, it's a non-interactive protocol.
In other words, we don't have to do that.
Out-of-band coordination, in order for you to get a fresh
address. That only I control, you can as
you alluded to effectively generate a fresh address on my
behalf that only I can control but still looks completely
completely unused and new on chain and it basically looks
like a regular dress on chain. And if it 100% looks like
regular dress lunch and there's nothing there's nothing special
about it because it is a it is a special address just generated
using some cryptography. Okay, so waiting is saying, I
want to pay you say 15 died or whatever.
How do I go about creating the zebras and that you will end
only you and have the private key tool.
Cool. Yeah.
So do you want to dive into this from at the technical level at
like the user experience level like where you want to start
with this because yeah yeah I think that's a great question.
Let's let's get the maths straight first and then he can
go through the user experience after.
Okay, cool. So I'm going to describe the way
that it works in. I'm route today and the
principle is the same read. The underlying math principles,
the same, there are slightly different constructions like
ways that you could put it together and so like different
stealth address schemes might have slightly different
constructions, but I'm going to describe the one that we use in
Umbra and the underlying you know, principles are all the
same regardless of the exact implementation details.
So to do that, I'm gonna have to back up a little bit and talk
about elliptic curve cryptography.
Which is the kind of cryptography that underlies,
basically all of the cerium, right?
So elliptic curve, cryptography is asymmetric cryptography.
In other words, you have not just, you know, with symmetric
cryptography, you have a private key and you use that private key
to encrypt something, and then you use that key to decrypt
something. So the key is the secret and the
key lets you encrypt it. And decrypt it right?
In asymmetric asymmetric cryptography.
You have a private key and you have a public key, right?
And so that it and those Those two things are a pair, right?
So for every private key, there's an Associated, public
key and vice versa. And if you have the public key,
you can derive the private key. But you can use the public key
to encrypt something. So to take some text or data and
encrypt it, so that it can't be viewed.
And then once that's encrypted with the public key only the
owner of the private key can decrypt it, right?
So this is what we use and things like, you know, you know,
private chat apps, right? Like signal or whatever, right?
So eyes You know the app does this process where you can see
my public key and then you sent you take, you write a message,
the app and Crips it with my public key senses to me.
I'd decrypt it once on its on my device with my private key when
it went over the wire, nobody could read it, right?
So that's the same cryptography that underlies all of it cerium
and the private key and the public key in, these scenarios
are just a big numbers, right? So they're big integers and your
theory of address, the etherium address that you have in metal
mask, Is derived from the public key of the associate of the
private key, right? So it's actually the hash of
your of your public key just defines your etherium address.
And so when you send a transaction on the theorem, you
sign it with that private key with the private key and then
you broadcast it out and people running nodes, have to validate
that the signature is correct and then execute, whatever
actions. It has to include it in the
blockchain. Okay, sorry for that, that
background but I think it's important Established what I'm
going to talk about next, which is how getting back to how Umbro
works, right? So the way that it turns out,
right, and this is just a property of the math but it
turns out with in elliptic curve cryptography, you have this big
number for your private key in this big number for your public
key, and the math. That's going on isn't like
normal math, right? It's not like the math, where we
where we multiply numbers together, right?
The way that we really learned to do it and in grade school,
right? It's a different kind of math
called elliptic Curved math. Basically and I will get into
exactly what that is and how it works.
Because it's out, it's even further outside of the scope
than the stuff I've already described, but basically, it
turns out the way that it the way, the the properties of this
math. And the way that it works is if
you take the number, that is your private key and you pick
another number, a random number and you multiply it by that
random number. So private key times, random
number gives you another new number, right?
If you use that number, you can use that number.
Sir, private key and generate a new public key right with me so
far as I making sense. So private key times random
number nu nu number new private key, right?
So if it turns out, if you go back to that original private
key the associated public key, if you take that public key and
you multiply it by the same random number, right?
Then the public, the, the resulting number that you get
the resulting public key that you get, is the public key that,
Dates with or is paired with that private key that we got in
the first step, right? So in fact, the way that under
works is in the earth so what you as the sender do or what the
software does on your behalf behind the scenes, is it takes a
public key associated with the receiver in multiplies it by a
big random number and it generates a new public key from
that operation and again this is all elliptic curve math that's
going on. Not normal math and then what
the user on the other side, the receiver can do.
Take that same if you can communicate that same random
number to the user will talk about that in a second.
But if you if you somehow send that other that random number to
the user, they can take it, multiply it by their private key
and get the private key for the associated public key that we
that you calculated as the sender in the first step.
So, again, a little confusing but hopefully that sort of made
sense, I'll let you ask some questions.
Yes, absolutely. So, but that still leaves me to
get the random number two. You encrypt, right?
Because if I send it to you unencrypted, then anyone can
just try out, which public he belongs to it, right?
Right. Yeah.
So you might be wondering, this is exactly.
So you basically the question you're asking is okay, that
sounds that sounds neat but what good has it done?
Because I still have to send you that random number before.
You can figure out how to generate the new address, the
new public key, which Associates with the stealth and dress the
new Dress. So how do you, how do we do
that? I still have to send it to you
and I might, you might as well have just sent me an address,
right? So like what have we, what do we
gain by doing all this this math.
So what I'm Britt. So what Umbra does to make?
This non-interactive is remember, we talked about how
these public and private key pairs allow for this asymmetric
encryption, right? So effectively what we do then
is we take the public key and we use it to encrypt that random
number that we just created and we used Generate the new address
and then we once we've encrypted that random number, we take that
encrypted data that nobody can decrypt accept you as the holder
of the private key. And we announce it on chain
through an event in a smart contract, right?
So Umbra is a smart contract system.
There's an Associated smart contract, your funds flow
through that. So, our contract when you make
the payments and we make an announcement at event, that gets
broadcast on chain with that encrypted data.
Side of it. And so then what you do as the
receiver, when you use Umbra, is you come you log on and you look
at all the payments that have happened through Umbra.
Every event, that's occurred through Umbra since the last
time you use the app and then you basically tried to decrypt,
each one, and you're not going to be able to decrypt, most of
them, but you will be able to decrypt, the ones that are
payments to you and so when you decrypt them, you get that
random number that you need and you can use it along with your
private key to generate the private key for for the new
stealth address that received the funds.
And so we basically USE events on aetherium and indexing those
events processing those events locally on your computer because
we want to keep it privately obviously to enable the this
data to be communicated in a non-interactive way.
Okay, I think I found out so far, isn't it?
An awful lot of overhead for you to kind of look at every single
event not knowing whether this may be decrypted message for
you. So basically if this is
something that kind of is used at scale, is that even
computationally feasible? Yeah, yeah, really good
question. So in computer science terms,
this is like an O of n problem. So it's a linear it scales
linearly, right? So that's not terrible but it's
not great, right? What it means is every time
someone sends a transaction every other user of the system
is going to have to decrypt attempts to decrypt that
transaction when they go to receive their own payments.
So the way there are there are a couple kind of approaches that
you can use to deal with that. And I would kind of put them
into buckets. Right?
One bucket is like sort of like researchy sort of things, right?
So you can think of like gossip protocols and different things
that we can do like research that we can do to take this
linear problem and make it like an O log.
N problem again in computer science der terms, right?
So one that is more scalable and those are there is research
being done on that and we're very interested in that we're
kind of following and paying attention and would like to give
a percent really contribute to it in the future but then the
other bucket. Lesions and these are the ones
that we've pursued so far and there's still a bunch of more of
them that we can pursue to make things more efficient, are what
I would call, like, the engineering hack bucket of
solutions, right? And so, these are solutions that
don't make the, they don't, they don't solve the problem in that.
It's still a linear as still an O of n problem, but they can
take a lot. They can do a lot of things to
improve the user experience, basically, reduce the constant
time cost that comes With with with doing this, right?
So in the long run, you know, if we were going to scale this up
to every payment on Earth, which by the way, I don't think it
needs to, or should like there are there are a lot of different
privacy Solutions and different ones are appropriate for
different use cases, right? And so Umbra has a set of
trade-offs that are valuable in certain situations but not
necessarily everyone. But if we were to scale this up
to every payment on Earth, we need one of those sort of, like
research, you solutions to come through in order to make this
scalable, but we can get really far Far with what I would call,
the kind of like engineering hacks.
In terms of still providing a useful and acceptable user
experience in the sort of like short to medium term.
And so, that's kind of where we are today and and I can dive
into like, what some of those ours.
Some of the ones we've done already, some of the ones were
looking at in the future. But but yeah, that's kind of the
high level answer. So, and in my understanding of
what I clean for me, I answer is that the computation still needs
to be done in the background somewhere.
It's just done such that it doesn't bother the user so much.
Is that correct? Yeah, yeah.
So, so like, let me let me dive into like some of those
possibilities, right? So one of them is the one that
you may be alluded to, right? So when I described the system
earlier I said that we take the public key and we use that to
generate the style of the dress. And then we also So take the
public key and we use that to encrypt the data in reality and
Umbra. The way that we do it is we
actually have two separate public keys and when you set up
Umbra, as to be a receiver to receive payments, you generate
to private key to public, private key Pairs.
And you publish the public, the to public keys in a registry.
And one of those is a spending key, and the other is the
viewing P. So the first one is used to
generate the stealth addresses. The viewing key is used to do
the encryption and decryption of these.
And so, what that means is one option that you have and in
perfect option, for sure. But at least an option is, you
can give some third party that viewing key so that they can do
the monitoring and decrypting on your behalf and then just let
you know when you've received a payment, but that third-party is
not able to withdraw your funds. So obviously you've given up
your privacy to that third party but you haven't given up control
of your funds to that third party.
And there are a lot of there are now that that isn't perfect for
everyone. Right.
There are plenty of people who are going to say, well, that's
not a trade-off. I, I want to make but there are
plenty of people who might say that that actually does work for
them. So for example, if you're using
this for like receiving payments or you know, invoice payments or
salary payments or something like that, you know, just like
today, you're probably okay with your invoicing software company
or your bank or whatever, knowing about your about your
salary, payment or your invoice payment.
You, if you're okay with them knowing that you just don't want
it, like broadcast and legible to literally everyone who knows
how to go to eat. Right.
So it might be an acceptable privacy trade-off for you to
give a trusted third party, the ability to see what you've been
paid, but not withdraw the funds.
Right? In fact that's an improvement
over today. Where your bank literally kind
of sees. They're not really your funds
at. All right there the bank's until
you until you with Jala. So that's one sort of like
simple simple, low-tech solution to this problem, putting that
aside and talking about. Well what if I'm an individual
user who doesn't want to give up my privacy?
What options do I have? There's still a bunch of stuff
up there. So one of them obviously is just
like caching right? So once you've decrypted like
etherium is, you know, past blocks are immutable, right?
So once we've scanned an event, once we don't ever have to scan
that one again. And so if you use Umbra to
receive payments regularly like every week or two weeks or a
month, you're only going to have to scan the events from the last
time and decrypt the events from the last time that you actually
use them. Another obvious one is just
parallelization. Write these Are totally
independent things, right? And so computers are getting
more and more parallel like your MacBook, you know, these days
has like 32 cores or more. And so we can blast those across
all the processors on your phone, or your computer and
decrypt them in parallel, they're not contingent on each
other at all. And so that, that's a big help.
In reducing the time, there's another solution called view
tags. This is something that actually
comes from mineiro. We don't have this implemented
currently, but it's something that we're looking.
Looking into and I won't get into the details there.
But basically it's a it's a constant time speed up where you
can get as much as maybe like a 6X constant time speed up on the
decryption and the kind of short explanation of it is like
there's sort of like a two-step process, one of them is is
computationally inexpensive. And then the other is the actual
description, the process that we do today and you can do the
computationally, inexpensive step to basically rule out big
chunks of the Actions. Before, actually doing the full
computationally expensive, step to see if it's definitely one
for you. And so you can like rule out 56
of the transactions before you even do the expensive step.
And then only decrypt, the expect, the the six that are
left so you get a big speed up there.
So this is just like a, you know, a short sampling of some
of the things that are out there.
But there's a there's a lot of juice to squeeze in terms of
making this fast enough to work for users today.
Before we hit Hit the limit, you know, again, in the like
medium-term, these approaches can get us pretty far.
So, let me recap, and then kind of, let's go over the music.
So just to kind of reiterate how it works.
So I want to send you funds. So you have a, you have an
address, you have the public address and basic.
I generate a random number and multiply your address by that.
Random number, then I encrypt the random number to send it to
you and then you can generate The private key true that new
public key that I had generated with the random books and I can
send funds to that to that dress.
Yeah, that was a good good summary.
If the public key that you generate that, I go off of, I
said, just a standard etherium address.
So, basically, if I, if you give me your meta, Masky and can I
perform This, but where exactly does umbrella actually come in.
Yeah, yeah. Really good question.
So as we said earlier, as like elliptic curve, cryptography is
what underlies, all etherium, right?
So your address any address that you use in master whenever is,
is backed by a standard public key on like like the ones that
we use in Umbra. Now the the address itself is
actually the hash of that public key.
And so if you know anything about hash functions, You can
Traverse a hash function. You can verify it if you have
the plain text, but you can't take a hash and figure out what
the plain text was. Right?
So if I give you just an address that isn't actually enough
information for you to know what the public key of that adjusts
is so the public key has to be shared somewhere.
Now, it turns out when you sign a transaction and send it to the
ethereum network, you effectively at that point reveal
the public key of the address. Right.
And so once at least one transaction has been broadcast
just on the network for a given address, we can recover the
public key that underlies that address and then we can use it
in Umbra to do everything that we just described that is
possible in Umbra like that nothing about the way.
I'm roadworks prevents you from doing that.
And in fact, we even support it in our front end but we support
it behind a flag that we call like an advanced mode flag.
And we put like all kinds of friction in front of the user
before we allow them to do that. The reason is because As the
receiver, the only way for you to receive your funds is to take
the private key associated with your address and to then put put
that private key into a wallet or like the front end of unread
that supports looking for these transactions.
Right? That gives you all the
functionality and so obviously we don't want users pasting
their private Keys into like random front ends even our own,
right? It's just not a good security
practice that we want users getting in the habit of doing
and so we allow you to do it. If you know what, you're Doing
like our app is open source. You can pull it down locally,
run it locally, paste your private key in there.
If you want feeling better about that, we're not logging it or
something like that. If you know how to audit the
code yourself, Etc. But it's not something anybody
should do normally. And so, the way we have it set
up is when you come to the unwrapped as a as a default
user, if you don't go through the trouble of turning on this
advanced mode, you sign a very specific message, a
human-readable message, it says like, you know, this this
message is used to generate your Umbra Keys, you sign that
message and We use the signature to generate to public-private
key pairs the viewing key, and the spending key to be talked
about before, and what this allows you to do is we generate
those keys from the signature from your address.
And so only you as your as the wallet holder can generate those
keys. But, you know, you don't have to
back up any new key material, right?
So if your seat phrase is backed up somewhere, you know, in a
safe or wear it on a piece of Steel.
Then you know you're fine as long as you can recover that.
That address, you can sign that message and recover your a funds
as well. So, no new key material comes
into play, but it's still not actually the underlying key
that's used for all of your other aetherium stuff.
And then once we've generated that public-private keep those
two public-private key pairs. We publish the to public keys in
a registry. So it's just a really simple
contract that you store. You know, you take your address,
you associated with to public keys and then as a sender, you
would come and you would look up your the software looks up.
In that registry the address and pulls the public key for the
viewing p and the spending key, you know, uses the spending key
to generate the address uses the viewing key to encrypt it and
announce it on Umbra. So that's the, the kind of
scheme. And the approach that we've
taken for kind of like a user safety user safety reasons.
But Amber is only weapon, but can I download this as a desktop
app because that would kind of alleviate a lot of your security
concerns know. Yeah, really good question.
Right now, it's only a web app and we hosted in the front end
ourselves. We've explored before, maybe
packaging it up. You know like using some of
these Technologies like electronic or what not to like
packaged apps up so that they can run locally on the desktop.
That's probably something that we should look into more in the
future. We're also, actually, sometimes
soon, it's on our roadmap to deploy Umbra.
To like a decentralized storage solution, which you know,
doesn't really alleviate the exact problem that you were
describing, but is is something that I think is also useful.
The app is also open source, right?
So if you're a developer and you know, like the basics of you
know, and p.m. and stuff like that, you can pull the up down
and get and spin it up and run it locally.
But right now, we don't have a desktop app.
It's probably something that we should explore some time in the
future. Okay, so let's talk about the
uses again. So, the receiver and the sender,
do they both need to be Umbra uses at least in men in the non
Advanced note? Yeah, good question.
So just to back up real quick, I want to add something that I
should have also included. We hope in the future that like
this stealth address Tech like the stuff that underlies Umbra
will also be integrated in wallets so that users can use it
directly in the wallet. So I think in the long run
that's like the The ideal gold standard of how users would
interact with this. This could stuff.
It would just be like an option in your wallet.
So again, you wouldn't even have to worry about those private
Keys. All the keys existing anywhere
anywhere else. And that's sort of why we
develop Umbra as more of a protocol as opposed to like just
adapt. We have a front end, we have a
first-party front end, but it's really just a set of standards
that anybody can plug into and we should talk more about our
work to do in the future to talk about to make an EIP to
standardize the IP to push. For exactly that future.
But so getting back to the question that you asked, which
is what is the user experience like for the sender and the
receiver, do they both have to be like a user's so right now
the receiver in order to receive payments again if you're not
going to do this advanced mode thing which we again recommend
against the receiver has to do one transaction per Network to
publish their public-private key pair that is used in the rest of
the system. So if I want to receive payments
with um, First Step that I have to do is go to Umbra click setup
and it'll say, you know, sign this message, click sign in meta
mask and then it'll say submit this transaction.
It's a very low gas cost transaction, we've optimized it
as much as possible, compressing the public Keys Etc and then you
accept that you pay the network fee and it publishes those
public Keys as a one-time thing after that you can receive as
many payments as you want from Umbra.
And then what you would do as someone who wants to get paid
with Umbra is you would you would send you would tell your
sender. Hey, can you pay me via Umbra?
Just go to this. This dap go to this app, go to
app, that a DOT cash and pay me there.
And so, as a sender, you go to the website and you click on
send and you get a form that just has like to address token
amount, right? Very, very straightforward.
You don't have to do any set up. All you have to do is fill in
those fields and click Send and it sends the tokens right out
where the or The Ether underlying it via on Brett, you
don't need to know any of the details.
Of all the stuff that we just described the software is taking
care of all that for you automatically unchain, it looks
just like, well, yeah, we just talk a little bit more about
what it looks like on chain tokens versus ether Etc.
But for you as a user is just like another transaction.
Interacting with a contract, the gas fees are only slightly above
what the gas cost would be for a normal transaction.
Again like this is one of the advantages of Amro compared to
other privacy Solutions like zero knowledge proof.
Are super cool and awesome and have a lot of really cool use
cases. But currently, at least, they're
very expensive to validate on aetherium, right?
I'll maybe some pre compiles in the future, we'll make that
cheaper. But right now, you know,
validating, ZK piece at the Smart contract, level is
expensive. We're not using Z.
KP s. There's no you know,
zero-knowledge magic happening. And so the gas costs both for
sending and receiving are minimally minimal compared to
just sending and receiving in the clear.
So Yeah, that's that's a quick overview of the user experience
for the receivers in the sender's.
So if I do this via your web app, what's the information that
you can get us, ambra can glean from that.
So basically if if you say send funds to me and you say, send it
to F and studies obviously Umbra where know who's sending what to
whom, because the address is kind of generated some aside for
you, right? So the address is generated not
service, I'd know it's generated client-side, right?
So yeah, so the web app is doing all the generation now for
malicious and we published code in our front end.
That isn't doing what we say is doing or is logging things back
to our server or whatever. Then obviously we can we can get
that information but we're not and you don't have to trust us
on that. You can go look at the open
source version and run it locally yourself to validate
that but yeah, everything is done client side so as for us,
Us as Umbra, we can't. What's what's visible to us as
what's visible to everyone else? Which is you sent a transaction
to a stealth address at stealth? The dress looks like a brand-new
adjust on chain, we don't know who controls that stuff, the
dress, and we'll never know who controls that stuff, the dress
unless unless they intentionally docks themselves or do something
stupid on the withdrawal, side of things, which is something we
should. We should talk about about
preserving your privacy, as a receiver, but, but yeah, and
same with the description as a receiver.
All of that is happening client-side.
So, unless of course, like we talked about earlier, you
delegate your viewing key to a third party intentionally and as
far as I know, there's no service is doing that right now.
We've thought about building one ourselves and giving users that
option. But so far we haven't and not
sure if the demand is there for that, or not at this point.
But unless you tell unless you delegate that to someone else
intentionally, then everything is done client side.
So if you go to the app, like all the decryption is done on
our side, we don't know which stealth addresses, you control.
Or you don't okay? Say I haven't checked in for
like a month how long will it take me to kind of go through
all the transactions to see whether I actually received
anything? Yeah so it depends on the
network right? And Depends because it depends
on how many transactions other people have sent, right?
So like if we deployed to a new network tomorrow and do a couple
tests transactions it'll be like instinct because it's really
quick but I think the network that currently has the most
transactions that have gone through Is polygon.
I think it's on the order of low hundreds of thousands, so maybe
like, I don't know, maybe 100,000 200,000 something like
that in total on polygon, I think that's right.
I think that's roughly write something on that order of
magnitude. And right now, I was actually
just doing some testing with this yesterday because we are
tracking down a small Edge case bug.
And I think on my my computer, you know, like kind of a
middle-of-the-road, 8-core, whatever, developer machine, It
was taking me like three or four minutes to decrypt, everything,
you know, to fetch the fetch, the data that actually takes a
little bit of time as well. They've to fetch the
announcements and then you have to decrypt them and you know it
was like the total time was three or four minutes so that's
not ideal but obviously with like caching and stuff that gets
better and that's currently the worst-case scenario for polygon.
One thing that is yeah and one thing that's worth noting there
is that As he said like it gets worse as more people send
transactions. And so one thing that we also do
is there's a small toll associated with each send that
you do on a run. And the reason is we don't like
there's a griefing attack that you could do.
If you just you know, whatever. Wanted like it does it you can't
steal anything. It's not stealing funds or
anything but you could just make everyone's life Difficult by
like wash sending a bunch of, you know, transactions through
to yourself. You're not losing any money and
And but you're adding all these events to the sent history that
now become this sort of like, you know this sort of like a
challenge for everybody else to decrypt on their side, right?
And so there's a small toll that's associated with each
scent that you have to pay and that's purely as like a Spam
mitigation method, right? So if you have to pay a couple
of cents, which is basically what we haven't said to you
right now for each send, then you're going to be, you know,
discouraged from sending thousands and thousands of these
which is what it would take to make.
A noticeable difference in the decryption time and that's only
on low fee networks. By the way, on maenette, the gas
fees themselves are enough deterrent to do that.
But you know, on on roll ups or side chains like polygon, the
fees are low enough that someone who just felt like, you know,
felt like causing problems for everybody could do that for
pretty cheap. And so we want to make sure we
have a mechanism to prevent that Sure.
What happened to the fetus? Yeah, good question.
Right now, they are just custody by the contract.
We have an admin key is the only admin.
It's only privileged role in the system that we have right now,
that admin has the right to withdraw all those Feast.
But again it's on the order of like sense, her scent, you know,
and we've had a few hundred thousand transactions across all
of our networks over time, so you can kind of do the math on
how much that is. It's not a ton but it's there to
prevent spam now it is an interesting question because We
are working to try to develop an EIP standard to sort of make
this like a global standard that anybody could use.
And so then the question becomes, like, okay, well, what
that's fine for Umbra, which is developed by scope left.
But what happens when this is when we're trying to make this
into a totally decentralized, public good, where do those fees
go? Should be just burn them, but
part of the challenge to is that you want to be able to adjust
those overtime. Right to say, oh, you know, gas
has gone up on this roll-up Network.
So we actually even The fee anymore.
We want to set it to 0 well that's an admitted privilege as
well. So how do you who gets that?
If you're trying to play this as a totally decentralized protocol
which is the goal and so that becomes that is one of the
challenges that we have right now and we're trying to figure
out what the CIP You could also just reading from, right?
I mean there's no network effects play here, right?
So busy, you could just always worry deploy and kind of set it
set and reset the fees. Yes, that would be an option.
I guess the only like challenge with that is, you know, it just
makes the like client software more complicated, you know if
there's like multiple places that you have to check if
there's been payments and stuff like that so yeah there's like
an overhead costs associated with it but you're right there's
nothing where it's like there's not like a liquidity pool or
something. Like there might be with a defy
protocol where redeploying doesn't you know, a redeployment
has some disadvantage compared to the original good point.
So we've been talking about sending III but obviously you
could also send any y'all see, 20 token and and then in
principle, basically, if I understand for instance, you
five optimism tokens, you may be in a position where you cannot
withdraw them from the address without doxxing yourself because
you have no gas, no, even for gas on your dress.
How do you go about that? Yeah, really good question.
So, basically, there are two paths in a contract and one is
for sending the base asset so ether or like Matic, if you're
on polygon or whatever and then the other path is for sending
your see, 20 tokens and they're different for exactly this
reason. And so when you send ether
through Umbra, what we do is we actually take that ether and we
send it straight to the stealth address, right?
And then you as the receiver, you can withdraw from that stuff
to dress. But what that really means is
just sending a transaction As that felt address to send the
ether to wherever else, you want to send it to, and that's an
interesting question, we'd think we'll come back to in the future
but where to send it to but but that's that's a separate
question from the one. You asked as a if you receive
tokens and we did that with tokens, let's say we just want
the token straight to an address.
Like you said, you know, have to fund that address.
How do you do that without doxing yourself?
This becomes a challenge because you have to pay gas fees to
actually move the tokens. So the way that we solve that is
when you send tokens in a row, we custody the toe.
Ends in the address and the stealth address.
The stealth receiver is the only has to sign a message in order
to withdraw them, they can withdraw them directly.
So you're not completely relying on a real area, if you can fund
this doll to dress without dachshund yourself, that's the
route. You can, you can choose to go,
but by default. What's going to happen is you're
going to use a relaying service to to withdraw the funds from
from the contract. So you have to sign a message
with the stealth address that received them.
You have to agree when you send a message to pay us, Small fee
to the relayer to compensate them for the gas and then the
relayer will take your transaction and or take your
signed message and use that to submit a transaction on chain.
That the under contract will validate and say, okay, yes, the
stealth address agreed to let this relayer withdrawal for them
to pay this fee and send the tokens to this new to this other
address, while paying the fee to the real are.
So, that's the system that we have in place for Umbra for EOC
20 tokens. I mean that makes total sense.
How do you go about and receiving and ft's?
So basically obviously that works for fungible tokens
because you can just sell you know whatever portion of it but
if you receive an f t, how do you send it on?
Yeah, so the concept of stealth addresses work for nft is unlike
other privacy tools, right? Because you can send an mft to a
stealth address and the same properties apply in that as it
would be, if you were so many tokens.
Okay, I see that you've sent it to an address but I don't know
who actually controls that address.
So so unlike, you know, mixers or something that rely or choir
fungibility the Privacy properties that you get from
stealth addresses applied to n of T, is equally as they do to
findable tokens, which is pretty cool.
There are challenges with, like, the one that you described,
right? So currently today, the current
version of anger that we have in production does not support and
ftes. And this is one of the reasons
why it doesn't write there are solution.
There are things that you could do there the simplest and
easiest and we do hope to and plan to support n ftes in the
future in future versions of Umbra.
One of the easiest things that you could do.
There would be to give the sender the option to include
some, you know, base assets and East along with then of tea when
they sent it, right? So instead of it being a
transaction that just sends the end of T, the transaction could
go through the smart contracts and the end of tea and a small
amount of eith to the stuff, the dress such that the user.
On the other side could use that East to pay for gas to move the
nft in the future so that would probably be the simplest
solution if you don't want to do that, then you get into well
what basically mixing and matching privacy tools.
So how can I fund? How can I use some other privacy
tool to fund the stealth address in a non doxxed way?
Such that I can then remove the the nft without reeling myself?
You're new to this area, even after having received something
on on a new stuff address and there's a myriad of ways to kind
of still, give my identity away. So what should I do?
Maybe I can turn around. What shouldn't I do?
Good question. Yeah.
So so the obvious thing that you shouldn't do is just immediately
send the funds from yourself address to a doxxed wallet,
right? If you do that, it's going to be
pretty obvious that this, these were fun.
Ones that were sent to you. So, and that's actually like a
lot harder to communicate. Then you would think to users
and this is one of the challenges that we've had with
umbrella, which is the crypto Community as a whole has kind
of. Because it was basically, the
first privacy solution available mixers were that is the cryptic
Community has kind of anchored on mixers as like, they're their
mental model around what privacy tools mean in crypto.
And so, a lot of people think like, okay, well, if it Then and
then I take it out. Well, it's private or something
you know? Like as if like that's just
there's like some magic that happened in between the two
things but that's not the case, right?
You sent it to a new address and so if you want to preserve your
privacy you have to make choices that do that.
Right. Right now, there are not a ton
of great options. So one option would be, this is
probably I would say, the biggest challenge that stuff
Outdoors is still have and I think we're exploring a bunch of
possible ways to solve this but but there's a you know, there's
some it's still a challenge. So one option would be if you've
received funds to a stealth address you can either just
leave the funds in that stuff the dress or withdraw them to a
new brand new address and just continue using that address,
right? So if you receive like a big
payment of ether or something like that, that's like an easy
thing to do. You could then take that he's
and swap out and, you know, invest in defy or do whatever
and just continue using continue using that that address and no
one except the person who sent it.
You knows that you control it, right?
That's fine. If you have now that one obvious
question is well, even that solution doesn't work for
tokens, right? So what do you do with tokens
one of the things that we've built into the Umbra contracts?
Is this concept of a post withdrawal Hook.
And the post withdrawal hook basically, says, when you take
your funds out of Umbro, when you withdraw your funds from
Umbra, not only can you move the funds to some other location,
but you can take arbitrary actions as well.
So you can Basically do an arbitrary transaction on the
network, in addition to moving your fines at the same time and
you can submit that all through the relay as you can pay for the
relayer to do it. And so like one example of a
post withdrawal hook that we could build, we actually have
the contracts for this but we haven't integrated into the
front end yet, but it's a question as to whether the ux is
good or not and whether users really want it.
But one of the things we could build for example, would be if
you received, I say you're a sea of 10,000 die and you want to do
what I just described which is just keep using that without,
you know. And without dachshund yourself,
you could do a post withdrawal hook to swap some of that die
for each. So now you have, you know, 9900
died in a new address with $100 worth of eith to pay Cassidy's
and then you can, you know, deposited in Ava and Ernie old
or whatever else you want to do, right?
So the broader point is that this this idea of a post
withdrawal hook gives us the surface area to integrate and
the fact that, you know, etherium is a Composable chain
and has all these other things available gives us the surface
area to integrate with other things that allow you to make
privacy-preserving decisions. So, another obvious option would
be, you know, there's a bunch of other privacy tools out there
that do different things. Like just just one that we've
done some work with them, and we're interested in in their
tool as well as called railgun. I don't know if you're familiar
with with railgun at all, but it's an interesting privacy
solution, but you Aztec would be Other one that your, that your
users would be familiar with, right?
So what do you think about those kinds of solutions their
Solutions, where you kind of have to enter into a shielded
ecosystem, right? And so you could create a post
withdrawal hook where you withdraw your funds, and
immediately, Shield them into some other privacy-preserving
ecosystem, like, Aztec, or rail gun or any other that could that
is or could be developed in the future, right?
So that's another sort of like unchain native solution, The
truth is that on I think most of our users are doing today is a
lot less sexy, but is practical for a lot of use cases which is
they get paid with umbrella like so that we're doing some work
for a doubt, you know, we've talked to you as you're doing
this, they're getting paid by a dow, they don't want that
completely legible Unchained, the Dow paste them via Umbra and
then they withdraw their funds directly to an exchange, right?
And so they send the funds to an exchange and they cash out to
Fiat or send them back on chain somewhere else, you know,
effectively using the The Exchange as As a mixer,
obviously, not a very good mixer because the exchange, no, sir
you are, right? So, you have to be okay with
that, that privacy trade-off. But again, for a lot of use
cases that is acceptable. I mean, even if you okay, with
the exchange knowing who you are, these days exchanges only
give you one deposit, the mess. So if you use that trick and
it's like one one, one time like, yeah.
It depends different in different exchanges, do
different things. A lot of them do.
Do one positive dress per asset. Days.
You know, if you don't if you only ever use it for umbrella,
right then it allows you to consolidate the payment.
So you can say like, okay these different payments all must have
been going to the same entity but you still don't know who
that entity is what you're right.
It's a problem. So yeah, there are there, this
this is, I would say, the biggest challenge that stuff
address addresses have the Privacy properties are really
nice. In terms of receiving payments
in this non-interactive way, that aren't obvious on chain,
but then it's not necessarily easy to make privacy-preserving
decisions. After that after you've received
the payments, right? And so this is one of the things
that were working on as I alluded to there's this
possibility for Integrations via these withdrawal Hooks.
And I think it's one of the places where we can make a lot
of improvements in the future. And like I said before, like, I
don't think stealth addresses are like a are like the Silver
Bullet for privacy, like there. One tool that has a specific or
a set of specific use cases and, and properties that are useful
for certain things. And I think in the long term In
general for for the etherium ecosystem and for crypto
ecosystems in general. I think the there's not going to
be like one tool that like oh this is how you do privacy.
It's going to be more like there's a bunch of different
tools that give you different properties.
And you have to sort of know how to use them in conjunction with
each other, to get the level of privacy that you want and need
for whatever your kind of situation is.
And I think we can do a lot to make that the ux for doing that
easier. But I think that's sort of the
reality of privacy. In crypto is that there's always
going to be multiple tools and you'll have to understand the
properties of the different tools and make decisions to kind
of like, get the, the level of privacy you need.
Yeah. I mean, as a user I mean to us
it seems almost normal, but I mean, if you explain it to
anyone else it would seem crazy, right?
Basic? It's like, yeah.
So what actually happens is you have several wanted and in your
in your different pockets and you know, you can try and make
some kind of put like five dollars from one to the other.
Why everyone will know that they both belong to you.
And if you want to, if you want to kind of consolidate, you have
to trick, you have to get it. Really big pass.
Kind of like the ads tag already gun, and Allergy, and you have
to put it in the past and then in the pads, you can, you can
exchange money from one, what it, into a new word.
And then, basically, they have said not to abstract away here
for the average user, there is for sure.
And so, the ux, there's a ton of work to do to make the ux
better. You know.
I think like a couple things I would say to that one.
Is that? All that does sound insane and
any is to a certain extent like it'll get better, but it's never
going to be. If they were going to be like
it's never going to be zero friction right like all other
things being equal. A a solution that gives you more
privacy is probably going to have some additional friction
and some additional cost than a solution that doesn't write just
sort of logically that's the case.
And then so users have to decide the level of privacy that they
want and need and are willing to pay for.
I'm going to put It up for, with an additional amount of
friction, one of the things by the way, that is just a reality
of the Privacy space, in my opinion and learned this
firsthand of the Umbra is that privacy is one of those things
that everyone says they want. And everyone says that they're
willing to put up with some friction or additional cost to
get. But revealed preference has
seemed to be that a large chunk of the population.
The majority of large majority actually doesn't feel that way
because if you put In the smallest amount of friction or
additional cost in their way to achieve privacy, they just don't
do it. They choose not to do it.
And so yeah, that's just like, you know, for some of us like
myself, like it just is. That's insane.
Like, it just like we like why would you know?
But that does seem to be the reality.
That's okay. Like people can and should make
the decisions that they want, but we want these tools to exist
and to have the lowest friction and barriers as possible out
there. The other thing that I'll say
about some That makes building a privacy tool challenging is that
there are users out there who do care about privacy and care
about a quite a lot. And, for whatever reason, maybe
their circumstances, maybe just their disposition, really want
the maximum privacy that they can get and they are willing to
pay for it. It turns out though that it's
really hard to talk to those people because they value their
privacy and so doing user research for a privacy tool and
understanding the use case, The people care about and what
they're using, and what they're not is really hard because those
people don't want to talk to you for good reason, right?
So, this is just a general, structural problem with creating
privacy tools. It's really hard to understand.
Your user base is really understand hard to understand if
you have product Market fit or not.
And, you know, I don't have a great answer to that.
We kind of just have to like stumble forward.
I mean even something like a simple as like we write that the
Umbra app does not have any client side analytics in it at.
All right. And that's because we felt like
it doesn't really seem right to like, have a privacy tool and a
friend for our privacy tool and then be like logging every
single action that our user takes tied to their IP address.
Right? So we don't do that.
But that handicaps us, right? Because we don't know like, oh
like that feature that we shipped our people really using
that or not like we don't know and we can't tell easily right.
You know some things have like a footprint on chain that you can
follow. Like okay, we know that people
are sending this token because we can see the funds flowing
through. We don't know Assigning them to
but they're doing it. So obviously, like people wanted
T to send that token but we don't, you know, other than that
like more detailed intricate stuff, we don't know because we
choose not to, you know, invade our users privacy because it's a
privacy tool and that would be counterproductive, right?
So it's just it's just a structural.
Structural problem with developing privacy tools I would
say in general, I also find that people usually say they value
their privacy but no one actually runs their oh no.
Road. I mean in pure I'll seize
everything you do correct. Yes.
But it's not, it's not that difficult to run one but people
don't have, right? So basically then kind of needs
to be quick and same toilet sort of the same for desktop so I
think people should really use them.
Anyways, I have one more and one more area that I would kind of
like to explore and and that's smart wallets and account
attraction. So My understanding kind of
using the stealth address moderate, but Wendy wax for Eos,
right? Doesn't wipe for smart contract.
One it as it does. Okay, kinetic, I see you
nodding. So talk me through it.
So sort of like, so this scheme, the the scheme that we use today
that I described earlier as we have, you used your eoa to sign
a message to generate that public-private key pair.
We effectively do that as As a convenience layer thing, right?
Like, it's a because we want the, we want users to be able to
use the setup. They already have.
Which for most people is a while like metal mask or a while
connect Wild on their phone or whatever with a Neo, a right.
And and so that's sort of like the setup that we have today,
citing messages but there's no reason that that is the way that
the that you have to generate the public-private key pair in
that way, right? So like you can generate a
public/private key pair Anyway, that you would like and as long
as you publish it in the registry and don't lose the
associated private Keys then, and you're good.
And so, there's nothing that like prevents this from working
with a different wallet. And in fact, you know, these
accounting structure allowed some of the ones that exist.
I'm not gonna be able to remember the time I have, but
there's like a standard for how they do message signing.
Like how you sign a message with the gnosis say, for whatever
like, you know, maybe maybe you would know a bit more about that
actually. But, you know, the Yeah, there
are ways that you can do that now where it gets tricky is like
some of these wallets they have like the idea of like social
recovery and stuff like that right where it's like you if you
can completely lose your private keys and still like get all of
your assets back that part doesn't work with Umbra because
at the end of the day, there is a public and a private key.
There is a there is a public key published somewhere and that's
the public key that someone is using to generate the stealth of
dress that's receiving the funds.
And so there has to be a private key that you like Somewhere,
right and don't lose. And so if you you know use some
wallet that has count abstraction and social recovery
and you lose the private key that's associated with that and
the one that you use the private key that was used to like
generate the public key on Umbra and then someone sends you funds
just because you social recover, the rest of your app doesn't
mean you're going to be able to the rest of your your assets
that were stored in. That wallet doesn't mean you're
going to be able to go get your funds that haven't yet been
withdrawn from. Um, Run out of the system,
right? Because those funds were sent
using a specific public key. If you lose that private key,
there's nothing that we can do right.
So I wouldn't say it's not possible to use with these you
know smart wallets and whatnot. It just adds like a layer a
little bit of layer of complexity and it again at the
end of the day, you have to you have to retain this this key
material, right? And if you know today, if you're
using a Neo a we do that via the signature so it's not a big
deal. You already have to retain the
key material of your eoa, you're fine.
But when you get into these like social recovery mechanisms, So
what not it? It adds a layer of complexity
that you have to think about Maybe Switching gears a little
bit and how do you think we get to a world where people care
about privacy, right? Because with me, if you think on
it, there had been so many Revelations over say the last 20
years or so. Back in the day, people said,
you know, why would anyone spy on me?
And I'm boring? I have nothing to hide and so on
but it's become so apparent that This is not a blocker even if
you're reading boring, lots of things can still be learned from
you and and, and a dime from you.
And unless you are incredibly sophisticated and what do you
think it would take for people to win back their outrage and
kind of asked to take back their privacy or just take back that
and privacy. Do you think it's kind of a
little bit like you know, the analogy with then the Frog it's
being No, I didn't buy it. Right.
So what when's the point you kind of jump out is it going to
kind of make people care and about their own privacy?
I don't know if there if there was.
I wish I knew it, I don't know that I don't I don't know.
Is the short answer? I mean well I have a few
thoughts on it like in terms of like individuals like
quote-unquote, everyday people, whatever that that means
normies? Yeah.
Not meant pejoratively at all. Like I'm not sure the majority
of them are are ever going to care and less like thing.
Things get really bad in whatever jurisdiction or you
know particular Locale that they're in, right?
Like and and and they really are being targeted in an obvious and
visceral way that motivates them to, you know, really start
taking it seriously. I just, you know, I'm not sure
that and so maybe we can move the dial a little bit, get a
higher percentage of people to start caring but I'm not sure
that, you know, unless unless for you as an individual things
get really bad, your most people are going to care and you know
look at it to certain to part of the answer is like, Maybe that's
okay. Like if people want to make
those decisions like that's that's their prerogative
etcetera, etcetera, you know, to me, it's like self-evident that
you should want better privacy. But like, obviously it seems not
to be for everyone, right? That.
That's like a self-evidently good thing.
So, yeah, it's just an interesting interesting reality
and I'm not sure I have an answer on the individual level.
One thing that I will note it and this is like part of our
thesis with a as well, is that like whereas individual, you
know, people see Seem not to unmask care about privacy as
much as they quote, unquote should whatever that means,
right? Like it does seem it seems
self-evident that businesses and Commercial applications care
about some level of privacy, more than a more than maybe the
average user does, right? So if you're a business and
you're having some relationship with a vendor and you're paying
them some amount, right? That's not something that you're
trying to hide from like a nation state, but it isn't
something that you want blasted out in public for everyone.
Right? And same with maybe like, Things
like, paying for things on e-commerce, right?
Like I think that this is another example, where maybe you
can get like the average user to care at least a little bit,
right? Like, okay, would you want every
single e-commerce? Vendor that you used like, is
there anything that you buy that?
Maybe you don't want everyone know knowing that you're buying
that thing, right? Like like maybe it would be
better if there was some kind of privacy payment system, that
that kept, that at least not completely legible.
So, yeah. Yeah, I mean I don't know.
I don't have a silver bullet there.
I think certain people are just never going to Care.
People will care, maybe when it's things get really bad and
their particular situation, this is will care.
And then some percentage of the population does care.
And I think we just have to find ways to make these tools
available, so that when and if people need them or want them,
you know, they have have the option and make it as easy as
possible to adopt them. I think that's, that's a fair
assessment. So where can people learn more
about where can they look at the code?
Where can they join the community?
Absolutely. So you can go to app, dot Umbra,
dot cash to use the app. You can, you know, publish your
keys with one cheap transaction, and then you can receive
payments there. You can join our Discord, which
is linked on the site as well. And that is where we do
announcements and people chat. And you know, if there's ever
any tech support or anything needed, you can find it there.
The GitHub page is also linked on the app, but it's scope lift.
/ Umbra Dash protocol and it's a mono repo, that has the front
end, the smart contracts, and the SDK for interacting with
those contracts. All are hosted there and you can
check that out if you're a developer and then Ambrose on
Twitter at Umbra cash and you can follow us there for
announcements and whatnot as well.
Perfect. Thank you so much for coming on
been it's been a pleasant. Thank you very much.
It's really been a great conversation, appreciate it.
Thank you for joining us on this week's episode.
We release new episodes every week.
You can find And subscribe to the show on iTunes Spotify,
YouTube SoundCloud or wherever you listen to podcast.
And if you have a Google home or Alexa device, you can tell it to
listen to the latest episode of the epicenter podcast, go to
epicenter, .t V /, subscribe for a full list of places where you
can watch and listen, while you're there, be sure to sign up
for the newsletter so you get new episodes in your inbox as
they're released. If you want to interact with us
guests or other podcast listeners, you can follow Some
Twitter and please leave us a review on iTunes helps people
find the show and we're always happy to read them but thanks so
much and we look forward to being back next week.
Some Twitter and please leave us a review on iTunes helps people
find the show and we're always happy to read them but thanks so
much and we look forward to being back next week.