owned this note
owned this note
Published
Linked with GitHub
**protocol (b|t)rainstorm**
*I'd call it a brainstorm, but it happened on the train (again).*
Description of retrust protocol design - trust, reputation primitive, cryptoeconomic interaction design:
## Background on reputation protocols
* retrust is a protocol for the exchange of trust and the calculation of reputation attributes
* the protocol is essentially a mechanism for reputation
* reputation that can be used to enable marketplaces that otherwise would not be possible
* reputation is different to issuing a platform-specific token, as it has different economics of issuance/control
### Example use case of protocol: P2P SciHub
* SciHub allows you to get any academic paper through a search engine like Napster
* P2P version consists of two elements: paper index and live proxies
* Paper index: mapping of (DOI, title, ISBN) => PaperSource. Pretty easy to turn into a **Token Curated Registry**.
* `type PaperSource = (magnet: | ipfs:// | Live Proxy)`
* **Live proxies** route requests for papers through live academic credentials for institutions
* Necessary because not all papers are immediately available...
* Cannot be public because of simple ramifications of takedowns.
* Cannot be put on .onion network and then listed because of simple ease of correlation + complexity
How would we use reputation mechanisms to build this?
* Proxies generate reputation for providing correct papers
* Reputation mechanism operates similarly in Uber/AirBnB - used as gauge of proxy quality (price signalling)
* If the reputation of a proxy becomes too low, it is pruned/banned from list
What does this look like technically?
* User is finding paper 420.000.1337.
* `tcr_lookup(paper_index, doi='420.000.1337') == 'NOT_FOUND'`
* So they then query the live proxies:
* `tcr_lookup(live_proxies, doi='420.000.1337') => Proxy[A, B, C]`
* `type Proxy = (address: 0xABC123, url_tor, url_ens, url_https)`
* User generates a trust bond, staked in the proxy. `Bond(in=proxy, amount=20, signature=x)`
* They send a request to the proxy, with this bond included
* The proxy either: a) fulfills the request, and sends back a reciprocal trust bond or b) does not fulfill the request
* If the proxy did not serve the right PDF (ie, breach of trust), the trust bond is rescinded
* In either case, it is published on-chain, for use in calculaion of global reputation
## Protocol mechanics
* consumers of the protocol create bonds of a personal and dapp-specific ERC20 token
* users build reputation from interaction with other users through the protocol
* interaction takes the form of challenge-response staking of trust bonds
* trust bonds can be revoked, which produces more adverse affect on reputation than simply not reciprocated
* two-sided marketplaces: supply/demand price can be regulated by the reputation mechanism
* reputation can be used to improve dapp experience wherein users interact with re-liability (the idea of bonds) without the economic cost of issuing a token
* reputation convergence algorithm - evidence-based subjecive logic
* sybil-resistant notions of digital identity can be built on top of this reputation convergence algorithm
* for this, all trust bonds must be registered to a decentralised ledger.
##