foreign
[Music]
driving principles behind development
Road key
so let's start so who am I I have been
doing application development local
mobile and web since 2010 most of the
time of the most the time of this was
doing open source and have I have been
the erotic contributor since 2018
um handling parts of the front-end
infrastructure packaging so what you do
in startup pretty much touching all over
uh the code base
so let's start with the problem today
the problem today is that we don't have
enough decentralization
a lot of the software we use daily is uh
closers it runs some data centers
and there you don't have ownership or
control of your data they can use it to
train muscle learning algorithms
use it for whatever reason there is no
transparency and you have to trust
that they use it as they claim uh
they might claim that they have
encryption but you don't have any way to
verify that there is no master key and
there is no way to be sure that all the
claims are true then your data can leak
this can happen with different ways like
for example accidents and in turn go to
much success uh didn't know what they
were doing and all your private
information is public or hacks uh or
some companies just outright sell data
uh there was a nice John Oliver episode
about data Brokers that was really scary
on how much information they could get
about people even sensitive information
like healthcare and uh the exact point
where people uh were living
um then other problems are that
companies can go out of business and
then basically you lose access to all
your data another problem can be that
they come to platform you uh something
happens
your account is locked and then put for
your data is gone
uh we can see some examples
so for example uh deeper started
blocking all the Russian users so
basically they lost access to their
funds
then we had the case of snapshot where
employees were abusing uh data access to
justify on users
and as we saw like uber was hacked
recently by a teenager
so it's easy to you know if your public
information goes out then there is no
way back
uh then we had the leather hack like
people were receiving mail at their
homes which can be really scary because
their public addresses uh their private
addresses the home addresses were
outside in public
so let's talk about open source
uh what is open source like there are 10
10 criteria that uh Define open source
uh the main idea is that open source
software
is freely distributed along with the
source code and it doesn't limit the
usage
uh there is no discrimination against
people and guess against us
everyone can use a software uh
we also have cases of uh
software that has public available code
but it is endometristers uh some
examples uh include you know the delayed
open source lines license that a uniswap
another have
and uh maybe mongodb server-side public
license and uh in a lot of cases I can
understand the reason behind that
because it's really hard for open source
projects to fight against big companies
you know like uh the reason for the
server-side public license is that
AWS was taking all of
um
mongodb selling it as a service and then
the developers didn't have the funds and
they had to maintain and fix the issues
um
so why open source
there are some strong benefits Building
open source you can have a strong
Community involvement you can have
transparency reliability security and it
also makes it attracting Talent easier
and uh
it avoids also a vendor login
so like Community involvement uh there
are people around like someone needs a
feature we might be overwhelmed and
someone with technical Technologies can
come and contribute to the code base and
not their future that they want to use
so other people can also use it uh the
non-technical people can contribute with
translations uh making the app available
to bigger amount of people or
documentation or just open issues the
code is really transparent like you
don't have to trust what the developer
claims that the software does you can
easily read the code or other people can
read the code and verify that these
claims are actually true and uh open
source software tends to be more
reliable and secure it's pretty viewed
so anyone can read the code and it's
easier to spot flaws earlier
um run closed Source we have like a
software we always use that is really
robust like example for example Firefox
the Linux kernel uh ethereum clients and
Unix and this is highly Reliable
Software we use everywhere and it's all
open source uh then uh open source can
make attracting Talent really easy
because it's always easier to hire
someone that you have previously worked
with you had the good interaction and
then maybe you also text your code and
you can see in an easier way that
someone is a good fit for your culture
which is not always the case uh when
doing some small interviews and uh you
know like giving some kind of task and
then uh like I said you can avoid
ventral login uh you always have access
to the source code you always have
access to the application you can check
the data you can access the data so uh
in case you want to move and migrate
from the platform uh it becomes really
easy because you can access everything
so the biggest problem with open source
is funding because it's hard to want to
monetize the openness of software
um we had like some major incidents for
example there was the look for j-hack uh
or the opening system had bleed and we
what we found out out of this is that
you had a couple of overwhelmed software
developers maintaining infrastructure
critical software
and everyone using it but they were
always underfunded no one was paying for
that
and
these uh led to huge security problems
uh so there are different ways to fund
but it's always uh difficult uh for
example you can accept donations you can
have
as we do in Rocky uh we can get uh
grants for Integrations with other
protocols uh git concurrence is
something that help us a lot to build
the software and then we have premium
subscriptions but uh this doesn't really
work because it's hard to monetize
retail
and uh you know as a nice small software
it's hard for us
to actually have the amount of people uh
that we would need to uh have a
sustainable source of income
uh so let's talk about local first
software
uh in local first software you control
your data
everything happens on the machine you
control
uh
there are
three major principles so the network is
optional uh local data is the primary
data and security and privacy are really
fundamental
so by network is optional we don't mean
that you don't have access to the
network like you can use your Wi-Fi uh
you can use your local network to access
to access blockchain data maybe get some
uh your trades from centralized
exchanges what this means is that
all the processing of this data happens
locally on your machine
data is not pushed to a remote server
it's not pushed to a remote API
everything happens transparently on your
machine
uh so uh your local data is primary
unlike uh
you know all these clouds are like using
Google Drive the primary source of data
is Google Drive any copies if you have
are usually some kind of cars some
secondary copy
and
while it's unlikely in the the case of
Google Drive if your cloud provider goes
out of business then you might lose
everything
uh then
because everything is stored locally on
your machine
it's more secure and it's harder to leak
than if you had everything on a data
center because you are the owner you
control the machine
and you can actually
better protect them
so let's talk about large game that's a
nice project we are building rotkey is a
portfolio tracker an accounting tool
that is uh open source local first and
it's focused on privacy
and
and like what some people believe
the lucky team is not only Lefteris
like we know he's kind of superhumor but
he cannot do everything on his own uh
currently the rocky team consists of
seven people uh six Developers
and one person handling operations
uh from the developers uh who have lift
teres which most of you if not everyone
knows uh then I'm doing he does back-end
uh you know Business Development he does
a lot of stuff uh then I'm doing mostly
front-end back-end infrastructure like I
said then we have jabir that handles
also backend
uh lucky is working with me on front end
and his has been a really great help and
then we have Isaac and Alexi which are
our newest members
um that uh also do backend and finally
uh Selena left there is wife that really
helps us with uh you know the
non-technical stuff that the company
needs and we are really glad to have her
uh so
um
we are building the road key across some
uh like three basic principles
key is open source
local first and it uses encryption to
store the data
uh with this we can uh guarantee that
the functionality is transparent like
you don't have to actually trust us you
can verify on how we handle your data
and how the app works because it's a
local lab
is beyond the data we don't have access
to your data we don't know anything
about your data any address any account
anything you put on rotkey stays locally
encrypted in the database in your
machine
we don't have access to any of that
and also you have access to the code if
anything happens to us hopefully it will
not but if anything happens to us
someone can pick up the software and
keep providing value to the users
um so let's talk about terrific
architecture uh rodkey is split into
parts
one is the python backend and the other
is the front end the front is really
simple just calls the back end and it's
what you see when you open the app uh
the backend does all the data processing
it calls open apis uh open nodes or
maybe you can also add your local nodes
so if you run in your own ethereum node
uh a lot he can hit it and it will be
immensely faster than hitting public
notes
uh and then you have uh two databases
one is the encrypted user DB that uses
SQL Cipher to uh encrypt and this
is where your private data stays and
then we have the global DB that usually
has asset information
uh the way we package uh is the wa so we
have an electron app that is available
for Mac OS
Linux and windows and we now Support
also
um arms uh Apple silicon Max
um and then we have uh the Dockery mods
where you can deploy on a machine you
control and you can access it via web
although you should be careful there
because rotkey was foremostly designed
as a local app
so it would be better if you have a
proxy in the front uh for security
reasons uh and then there is another way
to bar and rotkey if you own the dub
node there is a top note packets and we
are in close collaboration with dubnod
which makes things really easier and we
want to improve the experience there so
for example we are working to make Auto
configuring your local nodes in rodkey
uh automatic uh so uh rodky does
portfolio tracking
at the moment we support ethereum kusama
polka dot Avalanche uh Bitcoin cast and
Bitcoin along with a number of
centralized extensions nd5 protocols
uh in the next release uh in this we are
doing work so that it makes it easier
for us to support multiple VM chains so
slowly we will start adding support for
multiple VM chains starting with
optimism
so uh indirectly you can see your
account history Lefteris had the token
uh Tuesday talking about how we do
transaction decoding here you can see
how this looks inside the app
in this example you can see me basically
migrating 400 side to die and then
selling them for 1.7 nif on kyber
uh then we have accounting uh
Accounting in red key is customizable uh
we try to be as general as we can so
that we can support as many
jurisdictions uh you can parameterize
how you generate your p l report
and then you can export the CSV that you
can pass to your accountant and do your
tax record
another great feature we have is uh
ethereum selecting you can see your
stickers performance you can see your
daily stats and you can see aggregated
information about everything and another
part of rotkey is insights um
so we have graphs for statistics uh
although they are a bit problematic
because you have to open the app every
day so that we don't rely at the moment
on uh tank history because that's quite
hard although we want to do that in the
future but at the moment we depend on
snapshots so you have to open the app
every day so that the app can uh collect
this snapshots
this is important like
if you value your privacy please run the
full node like it's really important for
us and you know like an easy way would
be to you know get your dub node uh have
your full node like running GIF or
rarely gone or never mind and then you
can use true blocks as an indexer
because
I mean look at the moment we have a
problem
uh because there is no easy way to get
an account transactions
we have to rely on either scan
and
this can be problematic from a privacy
perspective
because if there's the rate limits you
and you have to put an API key
and if you put an API key you basically
connect all your information like your
email address
your IP address your account and
probably they they have a good privacy
policy but you have to trust them for
that because they are closer software
so the best idea I would be to have
something like true blocks running uh
and true blocks can index the chain and
can detect a lot of these uh
transactions uh which content fit to
rotkey and this way you could do a
really privacy focused portfolio
tracking and accounting
just as a bonus
you can act if you run Road key on that
note
if you can access your portfolio through
the VPN locally in your mobile device
so that's uh you know like we met the
user using uh in such a way in efficacy
and it was a really happy moment because
we don't actually have any documentation
on how to do that
so it was really nice
I just went a bit fast
so yes so if you want to reach out
um
that you can already talk through
Discord
and please please really like we built
Rocky for the community we build it for
us and for other people so it would be
nice if you uh give it a try like
download the app uh run it test it give
us feedback we always hear feedback and
the way we build the app is based on the
user feedback
so uh please do and let us know uh then
you can follow the barot Gap account on
Twitter
most of the time since left is tweeting
from there
not always
and uh yeah you can also buy a premium
subscription it is a bit of support to
us doesn't help sustain the project but
it still helps helps us a lot and with
this you can actually unlock the full
Roti experience because the free free
version has some limitations
yes so it was a bit fast thank you
kelsos do we have questions in the
ambulance I'm liking a lot of these
small projects and I'm liking a lot of
them but I find them uh I have I
how do you finance radki that's my
question uh the funding yeah the funding
how how is your are you in are you in
Freedom to release the business model
because at the end of the day
you all have to eat I know you have to
eat yeah exactly exactly so funding is
really hard like I said uh
we currently have uh funding through
Bitcoin grants which is one of the our
biggest source of support
and then if there is
he's trying to find ways so that we can
get grants for integrating with
different protocols so these I think are
the our main ways of funding and paying
salaries of course you know it's as an
open source uh project we do it out of
fashion so our salaries are not the best
like we are below market rate
but uh you know it's something we love
to do so yeah it's hard it's hard and
then we have the premium subscription
but uh at the moment our premium
subscription is 10 euros per month
which you can imagine how many users you
would want to be able to sustain the
project out of this subscription model
hi
um this might have been covered in the
other presentation the left Terrace did
um you said you rely on etherscan for
transactions but you I assume you've
looked at things like the graph which is
like more decentralized what do you
think of that ah yeah so we use the
graph but in our use case it's not a
perfect fit because you know like there
is a no unified model of the subgraphs
so for every protocol we support we have
to add the new subgraph and this
actually gives us a huge maintenance
host because we have to go and you know
like Implement on our site the schema
handle every subject in a different way
and uh then like as soon as the sub
graph breaks
we have to fix it like communicate with
people that are limiting the subgraphs
and then we have to release the path
that's the release to fix that for our
users because the app is broken
and uh this is why we're trying to find
the way that is more unified and more
generic and that doesn't need the extra
maintenance cost because you know like
uh the way the ecosystem works new
protocols pop up and we have to support
them
because our users also want the want the
support for these protocols so it's uh
really hard for us to go and Implement
each subgraph for its protocol and it
becomes the maintenance help for uh our
small thing thank you again kelsos
thank you