I'm gonna give an update on whispers so
a quick reminder what is whisper it's a
peer-to-peer messaging system with
strong metadata privacy guarantee you
cannot like no one can read the content
of your message and they cannot know who
you're sending it to either so because
of the way it's implemented you need a
lot of bandwidth you cannot really do
video chat things like that the best use
case is really to distribute a message
to several recipients and so like what
would be a necessary or possible in
distributed exchanges but you have some
company like less like like status of
course who have who have implemented
that as a messaging system so so that's
really nice as a quick reminder of how
it works
imagining that those diamonds represent
nodes on the network and node on the far
left wants to send a message to notes on
the on the right so what they do they
just forward now you have forgot to say
the blue lines are the network here
links so the the node force the message
to their to its neighbors and those
neighbors in turn forward the message to
to their neighbors and you can already
see that the one at the bottom already
received two copies of the message and
the other thing is that one of the
recipients got the message but to not be
identified as the recipient they will
still keep forwarding the message to
their neighbors and you can see that one
of the nodes already received three
copies and that is a pretty simple
network so over the last year we
released version 6
I built a test net and I implemented a
leap p2p version of whisper right so the
leap p2p version last year in Cancun we
we had to talk with parity with a p2p
people and we agreed to try to use
whisper as a test bed for a p2p simply
because whisper is fairly independent
from the rest of the of the network so
so that was a nice experiment and I made
a couple a couple
article that a couple PRS one of them
one of those proof of concept of work so
it's available at this address I have a
test net of Lee p2p of whisper clients
talking to each other the problem is
that literally p2p at least the go
implementation is not exactly modular
yet so we have to bring in 400 files so
that's a bit of a problem so that's why
it's not it's not available yet so when
it comes to the development that is
going to take place this year first
status is starting a big documentation
effort so I'm joining in so kudos to
them for for helping with that there's
drive because parity has a slightly
different version of the protocol is not
compatible so I'm going to spend some
time trying to make them talk offer a PR
hopefully I'll get a t-shirt in in
response and the other the other two
things so there's the test net there are
examples on how to use it but people
keep asking questions so there's there's
a need to to improve the communication
on that so these are the easier things
now I want to have a little bit more
into the leap p2p changes so this is a
very contrived examples or
representation of the of the current
state with Def be to PD so on top in the
red boxes you've got the protocols you
have you have ETH you have whisper and
then just below it you have library
let's call it the libraries so the
server object the protocol object and
then you have def p2p proper and the
FPTP does all the heavy lifting it does
the discovery does all the connection
connection things and and really down at
the bottom you got the transport layer
which is called our lpx
it's got some sub security issues so
that's what's initially driving the
potential potential switch to to the p2p
now the pr that i that is available the
one I described earlier it's basically
just putting another server right next
to the DEF p2p server
and like you have some - almost
independent entities except whisper kind
of still relies on the library layer so
it's a bit of a hack but this is not
what we want to do for several reasons
well one of them is that we know a lot
of things about the deaf p2p felix has
invested a lot of time in in in that for
example we can't just chuck everything
and move to the next to something new
that we don't really understand the
other the other issue is that the p2p
itself I mean that's that's a big change
that's really an engineering problem
here lee p2p has we started discussion
with them recently it's got a lot of a
lot of modules that we don't need a lot
of redundant things so I'm really
positive really happy really
enthusiastic but the work that we can do
together but yeah the goal would be to
end up with this so we just keep testing
2p4 now to benefit from all the security
we have so far and we just slowly phase
out our lpx and we use the lip the
transport layer of flip p2p and over
time we slowly replace components of the
FPTP weasely p2p if that makes sense and
then they are on the horizon there are
more long-term improvements so one of
them is the proof of work so whisper
when you send a message you calculate
the proof of work on this message this
is to prevent spamming because if you
remember when you send one message it
gets duplicated and sent over several
times so you need to make sure that you
don't abuse the system the problem with
that is that status is complaining that
the proof of work is draining the
battery like calculation is draining the
batteries of mobile phones so I want to
spend some time trying to find
alternative proof of work algorithms
that will consume less power
and Daniel from from swarm has suggested
to use proof of burn which is great for
for preventing spam because it's your
own money however it's connected to your
a theorem account which means that when
it comes to privacy you are pretty much
identified so so yeah that needs to be
to be improved and then we want I want
to do some some simulations or I try to
not for forward the message to every
every single node try to have a bit more
feedback between the nodes to to not
forward so as once again a control the
example if you remember this slide at
the point where the node received two
messages if you see that the same
message keeps going it keeps coming from
two different peers well you simply
remove remove one of the peers so once
again this is a very controlled example
we need to make sure that you know
privacy is in metadata privacy privacy
is isn't sure if we do that but I think
it's it's a good it's a good experiment
to have in the coming year and the last
improvement I want to work on it was
them so I'm sure most of you have heard
of wisdom but just in case you've been
living under a rock so what some lets
you take whatever language you have a
program written in whatever language
compile it to a blob and that blob will
run in the virtual machine in your
browser or unknown and onesome has a lot
of nice properties because so far what
we use is the remote procedure call call
so if you have addy app it's running in
your browser it connects to one of the
nodes ask the node to create a private
key for you to encrypt your message and
to forward it which means you need to
trust the node and thanks to awesome now
you all you need to do is trust your
browser okay I thought I thought people
would think it's funny but ideally if
you can trust your browser then it's
it's much more secure because yet it's
much more secure but or if you run its
own note on your on your machine you
don't have to trust anybody the only
issue with a which was I'm at this stage
that to go for example to go compiler to
SM is pretty new a lot of a lot of the
dependencies don't compile so there's
some need to wait for the for the
ecosystem to mature so we're a bit yeah
we're waiting a bit for for that to
happen so I'll end up with a roadmap so
the easy stuff first documentation and
parity compatibility then around the
middle of next year I hope to be able to
publish some results about my networking
experiments maybe the collaboration with
wisly p2p will will be fruitful and we
can we can provide some some li p2p
enable enable guest and then next year
early next year was demand and the proof
of work experiments so that was pretty
much it if you have plenty of questions
you can hit me on any of those platforms
or you can catch me and hit me for real
and yes that's that was and it was all
for me
[Applause]
you