foreign
[Music]
and I work as a software engineer with a
privacy and scanning Explorations team
so I'm going to talk about Anonymous
signaling on ethereum
and I would like to start with an
important question
why anonymity is important
I don't know why people are so Keen to
put the details of different life in
public they forget that invisibility is
a superpower
we cannot be sure if this quote is from
Banksy but even if it was Anonymous the
message is still very important
invisibility or anonymity is a
superpower because intercouples an idea
from the density of its owner because it
allows flowers to be thrown without the
identity of the thrower being known so
all talk ideas are intrinsically
connected to the hotel sometimes the
message is more important than the
messenger and sometimes preserving the
identity of the messenger is even more
important
so anonymity can therefore become an
important tool because it limits power
those with a lot of power derive much of
that power from Knowledge from
information
the more someone knows about us
the more power they can have over us
keeping our data or our identity private
decentralized that power
anonymity promotes freedom of speech
the first step in censoring an idea is
to attack its author and the fear of
suffering repercussions for what we say
or write also limits our thinking
so knowing that our data and identity
are safe encourages us to think freely
anonymity safeguards reputation it is
important that people are held
accountable for their actions and
especially for their mistakes
particularly when these people have a
lot of responsibility when they have an
important role but it is also important
that our ideas are not judged based on
who we are but either on what we have to
say anonymity allows an idea to be
shared regardless of its author's
reputation which allows people to
consider and evaluate ideas for a more
objective perspective most of us are
aware of the importance of anonymity and
privacy but what about our challenges
what are the main drawbacks right now
and how can we solve them
there are probably many reasons but two
of them deserve particular attention the
first one is complexity of Technology
in recent years
we have seen a constant growth in the
development and use of cryptographic
Technologies
data knowledge proofs for example are
now being used in many applications
proving you have a certain information
without revealing the information itself
is a really powerful concept by the way
these Technologies work is not trivial
for people without a background in
mathematics or cryptography
in addition the availability of simple
and practical development tools is still
Limited
well a lot of progress has been made
actually but I believe
one more step is needed in order to
further abstract some technical Concepts
so the second drawback is the
indifference of people
one of the reasons why some people don't
care enough about privacy
and anonymity might be that there is not
enough awareness and education about how
our data is used and why anonymity is
important in ielt society
so what can we do then
there are many solutions but I would
like to focus on free Solutions the
first one is privacy by default the
right to privacy is mentioned in most
natural constitutions but it has often
been neglected in the name of National
Security issues or to make the
applications we use every day smarter
and more efficient
privacy and cryptography should be the
backbone of the internet infrastructure
protocols and applications should be
supported all user data by default and
in addition users should be free to
change the settings not the opposite
another point is education explaining to
people why privacy is important and how
we can build privacy focused
applications are very valuable
challenges
it is important to choose the right
words build effective designs and convey
information as simply as possible
however simplify things is not enough
making people aware of the technological
and social complexity of the work we
live in is equally important because we
don't just want users to enjoy an
experience we want new friends helping
us build a new web free so the fear
point is the developer experience
the growth of our community and the
adoption of our technology depend
heavily on how clear the goals are and
how easily the main values and Concepts
can be conveyed however another
extremely important aspect is the
quality of the code
the call should be tested documented
formatted with Atmos care it is
extremely important to use the right
partners and to follow the best
practices like dry and kiss so
developers need to be able to rely on
robust easy to use tools that allow
applications to be built in a short time
while also allowing them to be extended
customized and adapted for the specific
uses so developer experience and
education is what we have focused on in
the last few months of work is some of
her but many of you may be wondering
summer for his semaphore is a zero
knowledge protocol that allow people to
join a group and then to send signals
such as messages endorsements or votes
without revealing the original identity
in addition it also provides a mechanism
to prevent double signaling which
basically means you cannot create the
same proof twice or the proof cannot be
verified so what makes them a powerful
tool is the Simplicity of the protocol
and the flexibility
it can be used to build many
applications like private voting
applications whistle borrower
applications or the knowledge dials
semaphore is made of three different
parts vehicle circuits solidity
contracts and JavaScript libraries my
work has focused more
JavaScript JavaScript libraries and
solidity contracts so I would like to
show you the main sum of our Concepts
and how our libraries and contracts
works and how they can be used to build
private applications
so creating a consumer for identity is
the first step to interact with the
protocol each identity is made up of two
secret values
trapdoor and nullifier and one public
value commitment so the positive hash of
the identity nullifier and tractor is
called the identity secret and the ash
of the identity secret is the identity
commitment so although in this case we
are not using asymmetric encryption an
identity commitment can be considered
something like an ethereum address
it is a public value used to represent
people in the protocol and in particular
commitments are used in some of our
groups to represent the identity of a
group member the secret values are like
ethereum private keys and they are used
to generate semaphore zero logic proofs
and authenticate signals
some of our identities can be generated
off chain with our JavaScript library
and
quite simple and you can generate it in
two ways randomly or deterministically
you can generate a random identity
without passing any parameters and a
deterministic identity passing a secret
message
like a password or a silent message
groups are an important concept when we
speak about privacy and zero knowledge
Technologies
they can be fought as anonymity sets and
they are a way to establish necessary
trust among participants
in semaphora group can be people who
have an account on some web tube
platforms with high reputation employees
of a specific company voters in an
election or people with specific sbts or
nfts essentially any set of individuals
who are eligible to participate
participate in something
so groups can can use several types of
data structures but Miracle trees are
particularly efficient since since they
can prove that a leaf belongs to a tree
by using just one portion of that tree
so some of our uses binary medical trees
in which the leaves are the identity
commitments and all the other nodes in
the three hard dashes of their child
nodes when a user join a group their
public identity is added to that group's
Miracle 3 which is therefore used to
allow users to generate proof of
membership and then send anonymous
signals so groups can be created off
chain with our JavaScript library
or Unchained without with our semaphore
Contours when a group is very large and
is updated very frequently and of chain
group might be a valuable alternative or
solution this solution is cheaper faster
but tended to be more centralized on the
other hand if you need correct execution
or sensitive resistance groups can also
be created on chain
for each unchain groups there is an
admin which can be an ethereum address a
smart contract or a modific world for
example if you want to create a fully
decentralized on chain group you could
create a group
um a group and send your contract as
admin or your E3 models which can which
called used to allow people to join that
group only if they own specific nfts or
sbts so after creating the identity and
joining a group users can anonymously
prove that they are members of that
group
and send signals
such as voice endorsements or any
message
signals are part of a zero knowledge
proof which must be generated by users
preferably in their home device as they
need to use their private identity so
secret values
and it's something like client-side
encryption in this case and it allows
proofs to be generated in a protected
environment locally so that proof can
then be made public and verified by
everyone on chain or off chain to
generate a valid proof we also need an
external amplifier and the ash of this
value and the identity nullifier is the
nullifier ash which can be used to avoid
double signaling so imagine you have a
group you are using to vote on some
proposals
and you want all members of that group
to vote only once you can use the ID of
the group as an externalifier
and when a user was the first time
you can save the ash of their identity
nullifier and your PD and afterwards
block any double votes by checking if
that Ash already exists also in this
case we have a JavaScript library
which can be used to generate proofs
proofs must be generated of chain
and those proofs can be verified on
chain or off chain off chain with our
JavaScript library the same library and
on chain with our smart contract also in
this case the way you use them depends
on your application on your use case
so verifying kind of chain proofs allows
the verifier your server or you to be
certain of the validity of the proof
so it's more centralized and verifying
it on chain on the other end allows
everyone to consider that proof value
because the smart contract is public so
semaphore is already being used by some
projects
like unirap
unirap is a protocol or a reputation
system built on top of semaphore where
users can anonymously give receive and
prove reputation
it is a great way to allow people to
build reputation over time
while giving them total control over how
much they reveal about themselves in a
given interaction so another interesting
project is the guitar which is an
anonymous social network where people
can post and chat without using their
real life reputation and
um
temporary Anonymous zone is like an
experiment
we have a booth on the first floor you
can try our applications and there is
like there are like two applications you
can use where you can
answer questions and ask questions
anonymously with one application and
make art anonymously with the other
application Collective art it's like an
experiment to allow people to learn more
about our Technologies and about
semaphore so stem of 4 is still in its
early stage and some of the ideas for
improving it are the following
create an infrastructure to manage
groups the idea is to have
a cloud or self-hosted dashboard where
people can create groups add members
remove members or update members and
they they can create many kind of groups
like permission at groups or
permissionless decentralized groups and
also reputational groups similar to prep
so another point is create attestations
contracts for decentralized groups
Lydia here is quite simple uh it is to
create on-chain contracts smart
contracts where people can join groups
directly without any external approval
based on Unchained attributes like sbts
or nfts or just the amount of money you
have we will investigate our zero
knowledge Technologies and public
systems of course and we will continue
improving the developer experience and
our documentation website the idea is to
create like an educational website
and last but not least we want to create
a strong community
we have many ideas here
one of them is our guns round so we are
launching a summer foreground round
um
you can scan the core code on the left
and uh yeah if you are interested in
building privacy preserving applications
with semaphore
um
you can scan that QR code we will we
will be really excited to know more
about your ideas and projects
whereas if you want more information
about semaphore or if you have any
questions please visit our website where
you can also find our disc the link of
our Discord server or come come to our
touch boot on the first floor
so I of my talk has been helpful and I
really want to thank you all for
listening
thank you
we have eight minutes for any question
that you have for cedor
no no questions okay
so you can go to those QR and continue
the conversation on the website and the
grants