[Music]
hello yeah hello so I want to talk about
the colony reputation system just gonna
wait for the slides to appear here we go
so you may know colony as a platform for
organizing teams collaborating online
doing work and that's very much what
we're about it's to use the blockchain
to help us work together on projects
that we care about we like to think of
ourselves as the people layer of the
decentralized application stack meaning
that we're very much a blockchain
company but our view of the world is not
something like this with a blockchain
front and center and people sort of as
an afterthought of the periphery it it's
about having using the blockchain as a
foundation to help us coordinate and
really do projects that we care about
that teams care about helping them work
together to that end we want to create a
platform for self-governance without a
strict hierarchy that's flexible in in
who controls and who influences what
goes on and for this to to work we have
a reputation system that allows us to
wait our decisions
it's not about voting per se but it's
about people who put in a lot of work in
a lot of effort earn reputation and then
there's they have more say in the
project at hand so what is reputation
and reputation is fundamentally
something subjective it's sometimes hard
to pin down and we often talk about
reputation in terms of reputation scores
and so these here are not reputations
these are scores that might convey
reputation that tell you a little bit of
information so you might like a movie
with a high tomato rating tells you a
very specific thing and what that means
to you is still subjective because
you know you may trust IMDb rateing is
more than the tomato ratings and the
information in each one of these ratings
is very specific reputation really
doesn't translate so you know if you
have a high credit rating which is a
type of reputation score what does that
tell you about how good you are at
tuning pianos very little right
reputation requires context so it has to
be more than just a single number like
we cannot have you know it just doesn't
translate so the reputation system that
we're working on today is we're going to
talk about it's not just a number it has
to be more complicated it keeps track of
a lot of things your activity in the
colony is what determines your
reputation so keeps track of the work
you do but also in which domain so
domains are like departments or working
groups within our colony
it keeps track of what skills you used
what type of work it was how much you
earned as a proxy for how big the work
was you know was it a huge task or a
little tiny fix how well you did your
work but the other people thought about
your work and more and more and more so
it's very complicated it has to try to
keep track of all of these different
aspects so as an example suppose in our
colony there's this task called you know
give our great talk and in our interface
it might look somewhat like this so you
can see up there I've been selected to
do this task there's a bounty of a
hundred tokens for it and it's been
tagged with the public speaking skill
the communications domain which is our
communications department the DEFCON
three sub domain which is our working
group for preparing for DEFCON three and
if I do this task and I do it well then
I'm gonna earn a hundred tokens in our
colony but I also stand to earn
reputation and I will earn reputation in
the skill public speaking in the domain
communications in the DEFCON three
working group and so on and so on and
how much I earn still depends on how
well I do the hundred tokens give us a
proxy for how big the task is but if you
give me a standing ovation at the end of
this talk I can upload a video of that
and then I earn extra reputation points
for having done
really well so I'll get back to you on
that later the reputation that I earn
helps us in the collective
decision-making and what we want
why so this system is a civil resistant
decision-making mechanism you actually
have to actually do work to earn
reputation it's also meritocratic not
plutocratic I mean what we mean is you
have to do good work that your peers
like to earn reputation it's not
something you can buy so it's not the
person with the most funds who has the
most say within a colony on this level
and although I'm not going to go into it
too much I want to emphasize this is not
about repeated rounds of voting this is
more an implicit decision-making
mechanism and votes are just a last
resort so it's not bureaucratic and we
use this for almost all day-to-day
decision-making in a colony that
asterisk by the way is refers to our
last year's talk at DEFCON 2 about token
weighted decision-making which still has
a place for questions concerning tokens
so token holders must have a say when
you're deciding to dilute tokens but for
the day-to-day activity it's your
reputation that counts so you can get
reputation as I said by working on tasks
but also doing administrative work
administrating tasks evaluating other
people's work all of these things could
earn you reputation and also policing
the colony that is if you see people
abusing the system by trying creating
wasteful tasks if you go around flagging
those that might be valuable you can
earn reputation for doing that if you
abuse that system and somebody else
Flags your flags and essentially
initiates the dispute process they could
also earn reputation so we're trying to
balance all these different actors and
if you participate in the reputation
mining procedure and that's something I
will talk about later in this talk so
reputation is an amalgam of all these
inputs and it has to be this complex or
let's call it nuanced to be useful sorry
to be truly useful
we wanted to keep track of all these
different aspects so the question is is
this too complicated and what I mean by
too complicated is that on the one hand
we've got meaningful reputation scores
and they're competing with the gas cost
right the more complicated the
calculation is the more it's gonna cost
to interact with it on the theorem
blockchain and that might make it less
useful but even more so we're competing
with the gas limit right there's a
maximum cap for how complex our
reputation update calculation can be and
I'm gonna let you in on a secret what
we're trying to do far exceeds the gas
limit like this is not something we can
do on chain so does it really have to be
on chain does a reputation have to be on
chain the easy answer is yes of course
it does if you wanted to have any effect
on decision making in the decentralized
contacts on payouts anything of that
sort it has to be on chain because it's
that's where this consensus relevant but
our answer is it doesn't really have to
be on chain like it's not necessarily to
do the calculation on chain as long as
you can prove to the smart contract what
your reputation really is you don't have
to do the rest on chain and the system
I'm gonna describe scales nicely because
no matter how many colonies domain
skills or any other tweaks we put into
the update formula we're only going to
need 32 bytes to be stored on chain so
the way that works is the following we
have all of these reputations here so
maybe our zero down there might be my
reputation in our colony for the public
speaking skill and our three might be I
mean these are all the different
reputations if they were on the
blockchain the contract could read them
what we do instead is we hash them now
if those hashes are stored on the
blockchain and no count the contract of
course would not know what my reputation
is but if I supply my real reputation
are zero in a transaction the contract
could hash it check it against the store
hash and then it would also know that
what I'm saying is true and the next
step should come as no surprise in this
conference where Merkel trees are
mentioned five times a day we hash them
pairwise and pairwise and pair wise
until we get to a single hash and that's
the only thing we need to store on chain
and referencing that anyone can prove
what the real reputation is so the only
thing we left to do is figure out a way
to calculate the reputation route half
and to submit it to the blockchain so
how does it make it to the blockchain
and that's this reputation mining
procedure so anyone can calculate the
correct route hash everything that goes
into changing reputation happens on
chain completing a task administrating a
task you know taking part in the colony
so calculating it is not that hard but
we need to figure out who can submit it
to the chain and make sure that the
submission is correct so the first
ingredient is a little bit of game
theory you can earn funds by submitting
the hash and that you can get punished
for being wrong and for that to work we
need to be able to prove something wrong
so the key inside is you don't have to
be able to do the calculation on the
blockchain and figure out what the
correct hash is as long as you can prove
that our wrong hash is wrong and
penalize the submitter of the wrong hash
so suppose you want to take part in
reputation mining you just simply set up
your mining farm actually no you just
take your laptop all you need it's a
small calculation in the off trained
world it's only hard in the context of
aetherium you need to stake some tokens
our colony tokens are needed to become a
miner then you run the colony mining
client and the colony mining client will
monitor the etherium blockchain and
collect all of the little events that
happen that influence your reputation
apply that to the reputation tree figure
out the correct new route hash and then
submitted to the blockchain having said
that all miners of course want to be the
one to submit it to the blockchain and
we don't want to spam the network with
too many submissions so there's this
competition going on we're at the start
of a submission window very few miners
qualify and as the time goes on more and
more miners qualify until all the
submission slots are full and then a new
cycle will start yeah and then miners
earn token miners are in turn earning
tokens is the paradigm in this space so
that's no surprise that happens here as
well and so that's the
that's the overview of this mining
procedure and I want to say just a
little bit about this seal and why token
so that you don't get the wrong idea by
thinking this is all it does any colony
has a token to do its internal
accounting with and the seal and white
token is a token of a colony the
so-called common colony which it's a
special colony it's it's the one that's
responsible for managing the colony
network once we're launched in a fully
decentralized way it would we don't want
to be like us as a colony team want to
be responsible for maintaining the
network indefinitely we also want to
keep that decentralized and there is a
special colony whose role it is to
maintain the contracts and so forth and
it's the this colonies tokens that are
used in the mining procedure all other
colonies pay a small Network fee to the
common colony for the services provided
the maintenance of the software and also
the mining and if this network is
profitable if the common colony is
profitable people who hold tokens and
reputation could expect a payout so
there's an economics involved in this
entire network that's more detailed in
our white paper okay so let me talk
about what happens if someone tries to
cheat for our reputation mining to work
all we require is a single honest miner
which is good but if there are several
submissions then one of them all that
one of them we assume are wrong
and how do we determine that so if
there's two submissions all both parties
have to submit a justification for what
they've submitted which takes the form
of another hash the justification root
hash and these indices down here are all
root hashes of a reputation tree so our
h0 down there that's the root hash we
agreed on at the end of the last cycle
so we're all agreed on that and this one
down the other end is the one that the
miners submitted the one they claim is
the new root hash and each step from our
H I to arch I plus one represents a
single update of a single person's
reputation applied during the update
period so if you agree on the very left
and disagree on the very right at some
point there's a first step where we do
agree and what the contract does it
challenges parties to prove the
inclusion of a single specific
reputation update step which is small
enough to calculate on chain and by
looking at the Merkel proof it can
determine where the discrepancy is and
after a few iterations either one party
will have to stop responding because we
found out that they cheated or we
actually determined a mistake in the
calculation so the wrong hash gets
discarded and whatever is left in the
end is correct and this is fully
automated so if you run our mining
client you will never have to deal with
this this is all completely automatic
and it also doesn't require a challenge
response protocol of different actors
the challenges come from the smart
contract and is fully automated and
that's because the reputation update
while not being able to be done on chain
is completely deterministic based on
inputs from on chain events we released
our white paper recently in September
which just goes into this whole process
in far more detail and also describes
the economics of the network so why did
we spend so much time on this we spent
so much time on it because reputation
really allows us to fine-tune the
incentives we've heard a lot about
crypto economic incentive systems and
they often involve paying people to do
things or penalizing them financially to
do to try to get them to behave in a
certain way but the reputation system
also allows us to reward and penalize
people in a lot immediately financial
way and we can really fine-tune what we
mean by good behavior and bad behavior
and tweak that as we see fit and that's
especially important because in this
context of trying to avoid voting on
everything we want call needs to be very
fluid where for example if a task is
created and I say I want to do that task
if nobody objects it will happen there's
no need to ask my team members so if you
think of the teams you're working in
most the time you are agreed in
agreement amongst yourselves and if
every little action required a vote it
would be a or in this headache
so it's designed not to use that and if
somebody goes in and forces a vote all
the time they might they they might
actually lose reputation based on
abusing the system if they if you do it
in just those moments where it really
counts the system could pick up on that
and you could be rewarded so because the
calculation is off chain we can make it
as complicated as we need to really
fine-tune all the incentives of the
actors in the colony and it's much more
than we could ever do on chain and yeah
one of the aspects that we really can't
do on chain is the concept of reputation
decay so reputation in our colony is not
forever you earn reputation that means
you then have influence in the colony
but over time that influence decays away
and that's a protection against people
early on in the colony amassing massive
reputation they have a lot of influence
but it should not last forever so when
you join a colony later you can assume
that the people with the most influence
now are the ones who did the most work
in the recent past and that really evens
out the imbalances over time so we think
this is a key feature so back to the
task that I'm working on right now when
I upload the video of your standing
ovation I'll get points for that for the
talk last year at DEFCON 2 with Elena I
will have I still have some points
because that was relatively recent Jack
right here gave a talk at I've con won
his points have completely decayed away
if he wants something should really come
up here and tell us some more about
colony soon
thank you so in summary the points are
earned for doing good work and good is
something that we can tweak and
fine-tune to get the incentives right
and these the the reputation ways your
decisions all throughout the colony but
we try to keep them as local as possible
again in the call in the interest of
keeping making things as unbroke rata
k-- as possible keeping them within the
small team within a department and don't
always go to the full colony for every
little decision and maybe importantly i
haven't mentioned yet reputation doesn't
translate from one colony to another and
that's because there could be many
different colonies and we have no idea
what your there's no way to translate
from one to the other what it means to
do good work in one colony might have
nothing to do with another and it
relates to the various tokens so if one
colony has a great work and this token
is worth a lot the numerical values of
the reputation might be quite low
elsewhere they could be completely
inflated and meaningless so it's within
a colony but the reputation mining
process updates
everyone's reputation in all colonies in
all departments in all skills so that's
one global system within the colony
network this is our team our team has
grown quite considerably over the last
year and this photo was taken at our
last off-site and in fact it's already
out of date we've added more people
since then it's a great group of people
really glad a part of this team
so I want to leave you with our
advertisement for our blog the blog
Conan Doyle has a lot of good content
that goes beyond just colony we write
about regulatory aspects of token sales
of sharing equity agreements in in this
the central space there's a lot of good
content please do check it out
find us on twitter at join colony and
i'm now ready for that applause
innovation to prove that i've completed
my task
[Applause]
[Music]