Open liamzebedee opened 5 years ago
More thoughts
last thought, this is a design for reputation consensus I'm brewing over. Nodes perform work for some user U. The work is expensive/impossible to verify, so it is merely notarised onchain.
The mechanism we are desigining is so videos are transcoded correctly to some quality level.
We can reduce our exposure (function of event) to something without understanding the event itself.
We can reduce our exposure to encoding issues without understanding good quality encoding ourselves.
How do we determine correct quality level? It's a market.
As long as we can reduce the bad apples, we will be okay.
How do we know bad apples? By reputation
If a node transcodes poorly, they will receive poor reviews.
How do we know poor transcoding? 90% percentile.
You pay and you review. If the quality was bad, you can attest to it. Other nodes then adjudicate, by either voting or reproducing the work.
The node then is placed lower in the queue in terms of reputation, and incurs a penalty.
Realistically, reputation is a mechanism which insures against the group's subjectivity.
Reputation mechanics are different to POW consensus, because they rely on a subjectively valued work that can't be approximated with an objective function like POW.
Transcoding network =
proof of work = transcode a video
reward = reputation
payment = network token
objectives:
video is encoded to agreed standard
mechanism:
work is given to those who have reputation
adjudication can occur when work is disputed
the community can vote BASED on their reputation as to the outcome
mechanisms:
reputation is used for voting
users buy reputation from other members
they then pay the network for services
if there is adjudication necessary, those trust relationships are used
you buy TRANSCODE tokens from some node
they can mint these proportional to their reputation
you exchange them to another node for services
the node thus gains an endorsement from the node that sold them to you
however if the services are poor, then adjudication occurs
node's place votes on whether it was up to scratch
basically a way to scale trust
we record all bonds created between exchanges
so a transcoder performs transcoding for you, I give you a good recommendation
how does my reputation mean to another person?
the value of the transcoding is measured in x
but the risk of malfeasance is measured in y
y is reputation
we want the risk to be minimised
so if a validator is bad - this can be claimed
the node claims it, which puts their reputation on the line
their reputation is related to the node who gave them the original reputation
where does reputation initially come from?
how do we link that nodes reputation to the original node?
to become a node with reputation, you need to do work
you stake an initial amount of the network token
which then entitles you to entry
thereafter you can build up your reputation
in uber, if you fuck up, then you are banned
in uber, you undergo other things to get your reputation
or entry into the group
we can maybe just forgo this, and instead require an initial staked deposit from every member
so everyone stakes some amount
and then the trust is generated
from there on out
entry can be gained by endorsement
reputation is gained from doing good work
and whenever there is a claim, the arbitration takes place according to the members of the network
if the votes show that the claim is valid, then that reputation is lost
what stops members from colluding?
the fact that reputation is weighted
there is no single figure that attains massive status
forking is part of the process
then how do they coordinate?
if we have a globally weighted interest
then maybe we could require that to join the system
nodes stake some token amount
somewhere incorporate an exponential function
ie. for a node to do work, they stake reputation
they can get more reputation by staking the native token
side effects -
the reputation of the node remains
the payment from work is not refunded
what if -
reputation cant be transferred
big whales own lots of reputation, get lots of work
smaller party wants to challenge whale-
the whale cannot vote
but the influence must be proportional to the value of the community
such that the whale is not ousted, due to a smaller minority
there needs to be disincentive to simply oust other members
communities need to reproduce the work, stake their reputation, and risk ruin
They are also different to DAO voting, because they can't be plutocratic in nature.
Reputation is about the node's value within the group's notion of value.
The value = subjective criteria
"The greatest shortcoming of the human race is our inability to understand the exponential function."
reputation established initially through stake
if a node does something bad, they vote, and then their stake is slashed
they use reputation to vote on whether things conform to the system's value
reputation can be gained by endorsements from other peers
nodes gain more evidence for their reputation by the more successful work done
but the reputation is a relative value
occasionally to strengthen ties, the system asks nodes to perform verification by random sampling
this auditing is not without collusion
to combat this
reputation is only gained from valid work transactions
work transactions can only be filled in accordance with the marketplace
the marketplace specifies that reputation signals fulfillment
any tx is challengeable
users can vote to arbitrate
what happens when the arbitration is called just to oust a node?
ie. the quality is not the issue
where is the incentive to align quality with the voting period?
arbitration does wat?
if it's bad, burns the reputation in proportion to the transaction
slightly poor = slightly burnt
very poor = very burnt
the token is used for payment
how do we allow access by reputation into the system?
nodes can vouch for other nodes
they get paid in fees for doing this
the node then receives the reputation
say it's transcoding:
transcode video - get 1 TRN, 1 REP
now the node has lots, they decide to post a fake tx, and then arbitrate
there is an arbitration fee
the nodes with highest rep then get a say
how do we prevent collusion?
allow every node with good reputation to cast a vote
sybil-resistant reputation
every node can vote
if they don't agree with the arbitration, they can fork
the communities then split
the members benefit from the brand of the community
the arbitration services are charged at 3% or something
that's the stability fee
the uber driver gets reputation for doing their job
the user gets rep too
the user can downvote them
in which case arbitration can ensue
and the driver can seize the users stake if they are wrong
the reputation comes first in the community
before stake does
reputation is the value being created
stake is the collateral in case it doesnt exist
if you are doing work, you need to be collateralised
the collateralisation is determined by the community itself
you put in stake, you can become in the listings
there is some one-way bonding curve
what is the cost of a wrong job?
what is the cost of insurance?
ie. total insurance staked is blah
what is the price of a service
then we can do it in free market fomrat
bitcoin = blah
ethereum = blag
livepeer = noot
we just let reputation be generated
you can cast bets on nodes
everyone must vote
delegating is default
so if a node is entered into the system
we assume trust from the beginning
with some collateral as bond
if the node does bad, then the system absorbs her bond
reputation = (reliability in quality) = (repeat liability for quality)
quality = video transcoding
repeat = persistent quality
liability = reputation or stake OF the person
nodes perform work
work = video transcoding
transaction = work for money
review = judgement on work
reputation = reliability of quality of work
marketplace =
list of asks
fulfill based on best reputation
price =
| signal of actor quality (reputation)
| signal of ecosystem quality (token)
required in native tokens
minimum conditions for participation:
seller = reputation > 0.5 || stake = 50 TOKEN
buyer = 0
sybil attack = faking reputation through lots of endorsements
collusion attack = manipulating voting
sybil attack is mitigated by:
fixed ecosystem cost for reputation
fraud/risk is mitigated by:
order matching requiring equal stake to be escrowed
ie. buyer and seller lose access to reputation/stake for time being
the community can vote, arbitration is done by holocracy
how is the token limit decided?
some sort of % of reputation minted is the minimum
ebsl is really only useful for computing consensus
because it lets you figure out who has the biggest weight in trust
if you make sure the network is strongly connected (by a hub for example), that would be great
ie. every node trusts the hub with their stake and equally in return
consensus = economic security
the consensus is given by all node's reputation, and therefore stake
when a node tx's, then it is given reputation by whoever transacted with it
the transactor needs to buy into the network token to build reputation
the minimum of such token is some % of the total reputation
however reputation is rewarded after, ensuring that the system is somewhat resilient to plutocratic scenarios
PRESTO cryptoeconomic framework for system analysis.